github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/docs/content/faq.md (about) 1 --- 2 title: "FAQ" 3 description: "Rclone Frequently Asked Questions" 4 --- 5 6 Frequently Asked Questions 7 -------------------------- 8 9 ### Do all cloud storage systems support all rclone commands ### 10 11 Yes they do. All the rclone commands (eg `sync`, `copy` etc) will 12 work on all the remote storage systems. 13 14 ### Can I copy the config from one machine to another ### 15 16 Sure! Rclone stores all of its config in a single file. If you want 17 to find this file, run `rclone config file` which will tell you where 18 it is. 19 20 See the [remote setup docs](/remote_setup/) for more info. 21 22 ### How do I configure rclone on a remote / headless box with no browser? ### 23 24 This has now been documented in its own [remote setup page](/remote_setup/). 25 26 ### Can rclone sync directly from drive to s3 ### 27 28 Rclone can sync between two remote cloud storage systems just fine. 29 30 Note that it effectively downloads the file and uploads it again, so 31 the node running rclone would need to have lots of bandwidth. 32 33 The syncs would be incremental (on a file by file basis). 34 35 Eg 36 37 rclone sync drive:Folder s3:bucket 38 39 40 ### Using rclone from multiple locations at the same time ### 41 42 You can use rclone from multiple places at the same time if you choose 43 different subdirectory for the output, eg 44 45 ``` 46 Server A> rclone sync /tmp/whatever remote:ServerA 47 Server B> rclone sync /tmp/whatever remote:ServerB 48 ``` 49 50 If you sync to the same directory then you should use rclone copy 51 otherwise the two instances of rclone may delete each other's files, eg 52 53 ``` 54 Server A> rclone copy /tmp/whatever remote:Backup 55 Server B> rclone copy /tmp/whatever remote:Backup 56 ``` 57 58 The file names you upload from Server A and Server B should be 59 different in this case, otherwise some file systems (eg Drive) may 60 make duplicates. 61 62 ### Why doesn't rclone support partial transfers / binary diffs like rsync? ### 63 64 Rclone stores each file you transfer as a native object on the remote 65 cloud storage system. This means that you can see the files you 66 upload as expected using alternative access methods (eg using the 67 Google Drive web interface). There is a 1:1 mapping between files on 68 your hard disk and objects created in the cloud storage system. 69 70 Cloud storage systems (at least none I've come across yet) don't 71 support partially uploading an object. You can't take an existing 72 object, and change some bytes in the middle of it. 73 74 It would be possible to make a sync system which stored binary diffs 75 instead of whole objects like rclone does, but that would break the 76 1:1 mapping of files on your hard disk to objects in the remote cloud 77 storage system. 78 79 All the cloud storage systems support partial downloads of content, so 80 it would be possible to make partial downloads work. However to make 81 this work efficiently this would require storing a significant amount 82 of metadata, which breaks the desired 1:1 mapping of files to objects. 83 84 ### Can rclone do bi-directional sync? ### 85 86 No, not at present. rclone only does uni-directional sync from A -> 87 B. It may do in the future though since it has all the primitives - it 88 just requires writing the algorithm to do it. 89 90 ### Can I use rclone with an HTTP proxy? ### 91 92 Yes. rclone will follow the standard environment variables for 93 proxies, similar to cURL and other programs. 94 95 In general the variables are called `http_proxy` (for services reached 96 over `http`) and `https_proxy` (for services reached over `https`). Most 97 public services will be using `https`, but you may wish to set both. 98 99 The content of the variable is `protocol://server:port`. The protocol 100 value is the one used to talk to the proxy server, itself, and is commonly 101 either `http` or `socks5`. 102 103 Slightly annoyingly, there is no _standard_ for the name; some applications 104 may use `http_proxy` but another one `HTTP_PROXY`. The `Go` libraries 105 used by `rclone` will try both variations, but you may wish to set all 106 possibilities. So, on Linux, you may end up with code similar to 107 108 export http_proxy=http://proxyserver:12345 109 export https_proxy=$http_proxy 110 export HTTP_PROXY=$http_proxy 111 export HTTPS_PROXY=$http_proxy 112 113 The `NO_PROXY` allows you to disable the proxy for specific hosts. 114 Hosts must be comma separated, and can contain domains or parts. 115 For instance "foo.com" also matches "bar.foo.com". 116 117 e.g. 118 119 export no_proxy=localhost,127.0.0.0/8,my.host.name 120 export NO_PROXY=$no_proxy 121 122 Note that the ftp backend does not support `ftp_proxy` yet. 123 124 ### Rclone gives x509: failed to load system roots and no roots provided error ### 125 126 This means that `rclone` can't file the SSL root certificates. Likely 127 you are running `rclone` on a NAS with a cut-down Linux OS, or 128 possibly on Solaris. 129 130 Rclone (via the Go runtime) tries to load the root certificates from 131 these places on Linux. 132 133 "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc. 134 "/etc/pki/tls/certs/ca-bundle.crt", // Fedora/RHEL 135 "/etc/ssl/ca-bundle.pem", // OpenSUSE 136 "/etc/pki/tls/cacert.pem", // OpenELEC 137 138 So doing something like this should fix the problem. It also sets the 139 time which is important for SSL to work properly. 140 141 ``` 142 mkdir -p /etc/ssl/certs/ 143 curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt 144 ntpclient -s -h pool.ntp.org 145 ``` 146 147 The two environment variables `SSL_CERT_FILE` and `SSL_CERT_DIR`, mentioned in the [x509 package](https://godoc.org/crypto/x509), 148 provide an additional way to provide the SSL root certificates. 149 150 Note that you may need to add the `--insecure` option to the `curl` command line if it doesn't work without. 151 152 ``` 153 curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt 154 ``` 155 156 ### Rclone gives Failed to load config file: function not implemented error ### 157 158 Likely this means that you are running rclone on Linux version not 159 supported by the go runtime, ie earlier than version 2.6.23. 160 161 See the [system requirements section in the go install 162 docs](https://golang.org/doc/install) for full details. 163 164 ### All my uploaded docx/xlsx/pptx files appear as archive/zip ### 165 166 This is caused by uploading these files from a Windows computer which 167 hasn't got the Microsoft Office suite installed. The easiest way to 168 fix is to install the Word viewer and the Microsoft Office 169 Compatibility Pack for Word, Excel, and PowerPoint 2007 and later 170 versions' file formats 171 172 ### tcp lookup some.domain.com no such host ### 173 174 This happens when rclone cannot resolve a domain. Please check that 175 your DNS setup is generally working, e.g. 176 177 ``` 178 # both should print a long list of possible IP addresses 179 dig www.googleapis.com # resolve using your default DNS 180 dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server 181 ``` 182 183 If you are using `systemd-resolved` (default on Arch Linux), ensure it 184 is at version 233 or higher. Previous releases contain a bug which 185 causes not all domains to be resolved properly. 186 187 Additionally with the `GODEBUG=netdns=` environment variable the Go 188 resolver decision can be influenced. This also allows to resolve certain 189 issues with DNS resolution. See the [name resolution section in the go docs](https://golang.org/pkg/net/#hdr-Name_Resolution). 190 191 ### The total size reported in the stats for a sync is wrong and keeps changing 192 193 It is likely you have more than 10,000 files that need to be 194 synced. By default rclone only gets 10,000 files ahead in a sync so as 195 not to use up too much memory. You can change this default with the 196 [--max-backlog](/docs/#max-backlog-n) flag. 197 198 ### Rclone is using too much memory or appears to have a memory leak 199 200 Rclone is written in Go which uses a garbage collector. The default 201 settings for the garbage collector mean that it runs when the heap 202 size has doubled. 203 204 However it is possible to tune the garbage collector to use less 205 memory by [setting GOGC](https://dave.cheney.net/tag/gogc) to a lower 206 value, say `export GOGC=20`. This will make the garbage collector 207 work harder, reducing memory size at the expense of CPU usage. 208 209 The most common cause of rclone using lots of memory is a single 210 directory with thousands or millions of files in. Rclone has to load 211 this entirely into memory as rclone objects. Each rclone object takes 212 0.5k-1k of memory.