1rclone(1)                                                            rclone(1)
2
3
4

Rclone syncs your files to cloud storage

6       · About rclone
7
8       · What can rclone do for you?
9
10       · What features does rclone have?
11
12       · What providers does rclone support?
13
14       · Download (https://rclone.org/downloads/)
15
16       · Install (https://rclone.org/install/)
17
18       · Donate. (https://rclone.org/donate/)
19
20   About rclone
21       Rclone  is a command line program to manage files on cloud storage.  It
22       is a feature rich alternative to cloud vendors' web storage interfaces.
23       Over  40  cloud  storage  products  support  rclone including S3 object
24       stores, business & consumer file storage services, as well as  standard
25       transfer protocols.
26
27       Rclone  has  powerful cloud equivalents to the unix commands rsync, cp,
28       mv, mount, ls, ncdu, tree, rm, and cat.  Rclone's familiar  syntax  in‐
29       cludes shell pipeline support, and --dry-run protection.  It is used at
30       the command line, in scripts or via its API (/rc).
31
32       Users call rclone "The Swiss army knife of cloud storage",  and  "Tech‐
33       nology indistinguishable from magic".
34
35       Rclone really looks after your data.  It preserves timestamps and veri‐
36       fies checksums at all times.  Transfers over limited bandwidth;  inter‐
37       mittent  connections,  or  subject  to quota can be restarted, from the
38       last good file transferred.   You  can  check  (https://rclone.org/com
39       mands/rclone_check/)  the  integrity  of  your  files.  Where possible,
40       rclone employs server-side transfers to minimise  local  bandwidth  use
41       and transfers from one provider to another without using local disk.
42
43       Virtual  backends wrap local and cloud file systems to apply encryption
44       (https://rclone.org/crypt/), caching (https://rclone.org/cache/),  com‐
45       pression             (https://rclone.org/compress/)            chunking
46       (https://rclone.org/chunker/) and joining (https://rclone.org/union/).
47
48       Rclone mounts  (https://rclone.org/commands/rclone_mount/)  any  local,
49       cloud  or  virtual  filesystem  as  a disk on Windows, macOS, linux and
50       FreeBSD, and  also  serves  these  over  SFTP  (https://rclone.org/com
51       mands/rclone_serve_sftp/),         HTTP        (https://rclone.org/com
52       mands/rclone_serve_http/),       WebDAV        (https://rclone.org/com
53       mands/rclone_serve_webdav/),        FTP        (https://rclone.org/com
54       mands/rclone_serve_ftp/)     and     DLNA      (https://rclone.org/com
55       mands/rclone_serve_dlna/).
56
57       Rclone is mature, open source software originally inspired by rsync and
58       written in Go (https://golang.org).  The friendly support community are
59       familiar  with varied use cases.  Official Ubuntu, Debian, Fedora, Brew
60       and Chocolatey repos.  include rclone.  For the  latest  version  down‐
61       loading from rclone.org (https://rclone.org/downloads/) is recommended.
62
63       Rclone  is widely used on Linux, Windows and Mac.  Third party develop‐
64       ers create innovative backup, restore, GUI and business  process  solu‐
65       tions using the rclone command line or API.
66
67       Rclone does the heavy lifting of communicating with cloud storage.
68
69   What can rclone do for you?
70       Rclone helps you:
71
72       · Backup (and encrypt) files to cloud storage
73
74       · Restore (and decrypt) files from cloud storage
75
76       · Mirror cloud data to other cloud services or locally
77
78       · Migrate data to cloud, or between cloud storage vendors
79
80       · Mount multiple, encrypted, cached or diverse cloud storage as a disk
81
82       · Analyse  and  account  for  data  held  on  cloud  storage  using lsf
83         (https://rclone.org/commands/rclone_lsf/),                      ljson
84         (https://rclone.org/commands/rclone_lsjson/),                    size
85         (https://rclone.org/commands/rclone_size/),                      ncdu
86         (https://rclone.org/commands/rclone_ncdu/)
87
88       · Union  (https://rclone.org/union/)  file  systems together to present
89         multiple local and/or cloud file systems as one
90
91   Features
92       · Transfers
93
94         · MD5, SHA1 hashes are checked at all times for file integrity
95
96         · Timestamps are preserved on files
97
98         · Operations can be restarted at any time
99
100         · Can be to and from network, e.g.  two different cloud providers
101
102         · Can use multi-threaded downloads to local disk
103
104       · Copy (https://rclone.org/commands/rclone_copy/) new or changed  files
105         to cloud storage
106
107       · Sync  (https://rclone.org/commands/rclone_sync/)  (one way) to make a
108         directory identical
109
110       · Move (https://rclone.org/commands/rclone_move/) files to cloud  stor‐
111         age deleting the local after verification
112
113       · Check   (https://rclone.org/commands/rclone_check/)  hashes  and  for
114         missing/extra files
115
116       · Mount (https://rclone.org/commands/rclone_mount/) your cloud  storage
117         as a network disk
118
119       · Serve  (https://rclone.org/commands/rclone_serve/)  local  or  remote
120         files over HTTP (https://rclone.org/commands/rclone_serve_http/)/Web‐
121         Dav            (https://rclone.org/commands/rclone_serve_webdav/)/FTP
122         (https://rclone.org/commands/rclone_serve_ftp/)/SFTP
123         (https://rclone.org/commands/rclone_serve_sftp/)/dlna
124         (https://rclone.org/commands/rclone_serve_dlna/)
125
126       · Experimental Web based GUI (https://rclone.org/gui/)
127
128   Supported providers
129       (There are many others, built on standard protocols such as  WebDAV  or
130       S3, that work out of the box.)
131
132       · 1Fichier
133
134       · Alibaba Cloud (Aliyun) Object Storage System (OSS)
135
136       · Amazon Drive
137
138       · Amazon S3
139
140       · Backblaze B2
141
142       · Box
143
144       · Ceph
145
146       · Citrix ShareFile
147
148       · C14
149
150       · DigitalOcean Spaces
151
152       · Dreamhost
153
154       · Dropbox
155
156       · Enterprise File Fabric
157
158       · FTP
159
160       · Google Cloud Storage
161
162       · Google Drive
163
164       · Google Photos
165
166       · HDFS
167
168       · HTTP
169
170       · Hubic
171
172       · Jottacloud
173
174       · IBM COS S3
175
176       · Koofr
177
178       · Mail.ru Cloud
179
180       · Memset Memstore
181
182       · Mega
183
184       · Memory
185
186       · Microsoft Azure Blob Storage
187
188       · Microsoft OneDrive
189
190       · Minio
191
192       · Nextcloud
193
194       · OVH
195
196       · OpenDrive
197
198       · OpenStack Swift
199
200       · Oracle Cloud Storage
201
202       · ownCloud
203
204       · pCloud
205
206       · premiumize.me
207
208       · put.io
209
210       · QingStor
211
212       · Rackspace Cloud Files
213
214       · rsync.net
215
216       · Scaleway
217
218       · Seafile
219
220       · SFTP
221
222       · StackPath
223
224       · SugarSync
225
226       · Tardigrade
227
228       · Tencent Cloud Object Storage (COS)
229
230       · Wasabi
231
232       · WebDAV
233
234       · Yandex Disk
235
236       · Zoho WorkDrive
237
238       · The local filesystem
239
240       Links
241
242       · Home page (https://rclone.org/)
243
244       · GitHub     project     page    for    source    and    bug    tracker
245         (https://github.com/rclone/rclone)
246
247       · Rclone Forum (https://forum.rclone.org)
248
249       · Downloads (https://rclone.org/downloads/)
250

Install

252       Rclone is a Go program and comes as a single binary file.
253
254   Quickstart
255       · Download (https://rclone.org/downloads/) the relevant binary.
256
257       · Extract the rclone or rclone.exe binary from the archive
258
259       · Run   rclone   config   to   setup.    See   rclone    config    docs
260         (https://rclone.org/docs/) for more details.
261
262       See below for some expanded Linux / macOS instructions.
263
264       See  the Usage section (https://rclone.org/docs/#usage) of the docs for
265       how to use rclone, or run rclone -h.
266
267   Script installation
268       To install rclone on Linux/macOS/BSD systems, run:
269
270              curl https://rclone.org/install.sh | sudo bash
271
272       For beta installation, run:
273
274              curl https://rclone.org/install.sh | sudo bash -s beta
275
276       Note that this script checks the version of rclone installed first  and
277       won't re-download if not needed.
278
279   Linux installation from precompiled binary
280       Fetch and unpack
281
282              curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
283              unzip rclone-current-linux-amd64.zip
284              cd rclone-*-linux-amd64
285
286       Copy binary file
287
288              sudo cp rclone /usr/bin/
289              sudo chown root:root /usr/bin/rclone
290              sudo chmod 755 /usr/bin/rclone
291
292       Install manpage
293
294              sudo mkdir -p /usr/local/share/man/man1
295              sudo cp rclone.1 /usr/local/share/man/man1/
296              sudo mandb
297
298       Run    rclone    config    to    setup.    See   rclone   config   docs
299       (https://rclone.org/docs/) for more details.
300
301              rclone config
302
303   macOS installation with brew
304              brew install rclone
305
306   macOS installation from precompiled binary, using curl
307       To avoid problems with macOS gatekeeper  enforcing  the  binary  to  be
308       signed and notarized it is enough to download with curl.
309
310       Download the latest version of rclone.
311
312              cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
313
314       Unzip the download and cd to the extracted folder.
315
316              unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
317
318       Move rclone to your $PATH.  You will be prompted for your password.
319
320              sudo mkdir -p /usr/local/bin
321              sudo mv rclone /usr/local/bin/
322
323       (the  mkdir  command  is safe to run, even if the directory already ex‐
324       ists).
325
326       Remove the leftover files.
327
328              cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
329
330       Run   rclone   config   to   setup.     See    rclone    config    docs
331       (https://rclone.org/docs/) for more details.
332
333              rclone config
334
335   macOS installation from precompiled binary, using a web browser
336       When  downloading a binary with a web browser, the browser will set the
337       macOS gatekeeper quarantine attribute.  Starting  from  Catalina,  when
338       attempting to run rclone, a pop-up will appear saying:
339
340              “rclone” cannot be opened because the developer cannot be verified.
341              macOS cannot verify that this app is free from malware.
342
343       The simplest fix is to run
344
345              xattr -d com.apple.quarantine rclone
346
347   Install with docker
348       The  rclone  maintains  a  docker  image  for rclone (https://hub.dock
349       er.com/r/rclone/rclone).  These images are autobuilt by docker hub from
350       the rclone source based on a minimal Alpine linux image.
351
352       The  :latest  tag  will always point to the latest stable release.  You
353       can use the :beta tag to get the latest build from master.  You can al‐
354       so use version tags, e.g.  :1.49.1, :1.49 or :1.
355
356              $ docker pull rclone/rclone:latest
357              latest: Pulling from rclone/rclone
358              Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
359              ...
360              $ docker run --rm rclone/rclone:latest version
361              rclone v1.49.1
362              - os/arch: linux/amd64
363              - go version: go1.12.9
364
365       There  are  a  few  command  line  options to consider when starting an
366       rclone Docker container from the rclone image.
367
368       · You need to mount the host rclone config dir at  /config/rclone  into
369         the Docker container.  Due to the fact that rclone updates tokens in‐
370         side its config file, and that the update process involves a file re‐
371         name,  you  need  to mount the whole host rclone config dir, not just
372         the single host rclone config file.
373
374       · You need to mount a host data dir at /data into the Docker container.
375
376       · By default, the rclone binary inside a  Docker  container  runs  with
377         UID=0  (root).   As  a  result,  all files created in a run will have
378         UID=0.  If your config and data files  reside  on  the  host  with  a
379         non-root  UID:GID, you need to pass these on the container start com‐
380         mand line.
381
382       · If you want to access the RC interface (either via the API or the Web
383         UI), it is required to set the --rc-addr to :5572 in order to connect
384         to it from outside the container.  An explanation about why  this  is
385         necessary        is        present        here       (https://web.ar
386         chive.org/web/20200808071950/https://pythonspeed.com/articles/docker-
387         connection-refused/).
388
389         · NOTE:  Users  running this container with the docker network set to
390           host should probably set it  to  listen  to  localhost  only,  with
391           127.0.0.1:5572 as the value for --rc-addr
392
393       · It is possible to use rclone mount inside a userspace Docker contain‐
394         er, and expose the resulting fuse mount to the host.  The exact dock‐
395         er  run  options  to do that might vary slightly between hosts.  See,
396         e.g.  the discussion in this thread (https://github.com/moby/moby/is
397         sues/9448).
398
399         You  also  need to mount the host /etc/passwd and /etc/group for fuse
400         to work inside the container.
401
402       Here are some commands tested on an Ubuntu 18.04.3 host:
403
404              # config on host at ~/.config/rclone/rclone.conf
405              # data on host at ~/data
406
407              # make sure the config is ok by listing the remotes
408              docker run --rm \
409                  --volume ~/.config/rclone:/config/rclone \
410                  --volume ~/data:/data:shared \
411                  --user $(id -u):$(id -g) \
412                  rclone/rclone \
413                  listremotes
414
415              # perform mount inside Docker container, expose result to host
416              mkdir -p ~/data/mount
417              docker run --rm \
418                  --volume ~/.config/rclone:/config/rclone \
419                  --volume ~/data:/data:shared \
420                  --user $(id -u):$(id -g) \
421                  --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
422                  --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
423                  rclone/rclone \
424                  mount dropbox:Photos /data/mount &
425              ls ~/data/mount
426              kill %1
427
428   Install from source
429       Make sure you have at least Go  (https://golang.org/)  1.12  installed.
430       Download  go (https://golang.org/dl/) if necessary.  The latest release
431       is recommended.  Then
432
433              git clone https://github.com/rclone/rclone.git
434              cd rclone
435              go build
436              ./rclone version
437
438       This will leave you a checked out version of rclone you can modify  and
439       send  pull requests with.  If you use make instead of go build then the
440       rclone build will have the correct version information in it.
441
442       You can also build the latest stable rclone with:
443
444              go get github.com/rclone/rclone
445
446       or the latest version (equivalent to the beta) with
447
448              go get github.com/rclone/rclone@master
449
450       These will build the binary in $(go env GOPATH)/bin (~/go/bin/rclone by
451       default)  after  downloading the source to the go module cache.  Note -
452       do not use the -u flag here.  This causes go to try to update  the  de‐
453       pendencies  that  rclone  uses  and sometimes these don't work with the
454       current version of rclone.
455
456   Installation with Ansible
457       This   can   be   done   with   Stefan   Weichinger's   ansible    role
458       (https://github.com/stefangweichinger/ansible-rclone).
459
460       Instructions
461
462       1. git   clone  https://github.com/stefangweichinger/ansible-rclone.git
463          into your local roles-directory
464
465       2. add the role to the hosts you want rclone installed to:
466
467              - hosts: rclone-hosts
468                roles:
469                    - rclone
470
471   Configure
472       First, you'll need to configure rclone.  As the object storage  systems
473       have  quite complicated authentication these are kept in a config file.
474       (See the --config entry for how to find the config file and choose  its
475       location.)
476
477       The easiest way to make the config is to run rclone with the config op‐
478       tion:
479
480              rclone config
481
482       See the following for detailed instructions for
483
484       · 1Fichier (https://rclone.org/fichier/)
485
486       · Alias (https://rclone.org/alias/)
487
488       · Amazon Drive (https://rclone.org/amazonclouddrive/)
489
490       · Amazon S3 (https://rclone.org/s3/)
491
492       · Backblaze B2 (https://rclone.org/b2/)
493
494       · Box (https://rclone.org/box/)
495
496       · Cache (https://rclone.org/cache/)
497
498       · Chunker (https://rclone.org/chunker/) -  transparently  splits  large
499         files for other remotes
500
501       · Citrix ShareFile (https://rclone.org/sharefile/)
502
503       · Compress (https://rclone.org/compress/)
504
505       · Crypt (https://rclone.org/crypt/) - to encrypt other remotes
506
507       · DigitalOcean Spaces (https://rclone.org/s3/#digitalocean-spaces)
508
509       · Dropbox (https://rclone.org/dropbox/)
510
511       · Enterprise File Fabric (https://rclone.org/filefabric/)
512
513       · FTP (https://rclone.org/ftp/)
514
515       · Google Cloud Storage (https://rclone.org/googlecloudstorage/)
516
517       · Google Drive (https://rclone.org/drive/)
518
519       · Google Photos (https://rclone.org/googlephotos/)
520
521       · HDFS (https://rclone.org/hdfs/)
522
523       · HTTP (https://rclone.org/http/)
524
525       · Hubic (https://rclone.org/hubic/)
526
527       · Jottacloud / GetSky.no (https://rclone.org/jottacloud/)
528
529       · Koofr (https://rclone.org/koofr/)
530
531       · Mail.ru Cloud (https://rclone.org/mailru/)
532
533       · Mega (https://rclone.org/mega/)
534
535       · Memory (https://rclone.org/memory/)
536
537       · Microsoft Azure Blob Storage (https://rclone.org/azureblob/)
538
539       · Microsoft OneDrive (https://rclone.org/onedrive/)
540
541       · OpenStack   Swift   /   Rackspace   Cloudfiles   /   Memset  Memstore
542         (https://rclone.org/swift/)
543
544       · OpenDrive (https://rclone.org/opendrive/)
545
546       · Pcloud (https://rclone.org/pcloud/)
547
548       · premiumize.me (https://rclone.org/premiumizeme/)
549
550       · put.io (https://rclone.org/putio/)
551
552       · QingStor (https://rclone.org/qingstor/)
553
554       · Seafile (https://rclone.org/seafile/)
555
556       · SFTP (https://rclone.org/sftp/)
557
558       · SugarSync (https://rclone.org/sugarsync/)
559
560       · Tardigrade (https://rclone.org/tardigrade/)
561
562       · Union (https://rclone.org/union/)
563
564       · WebDAV (https://rclone.org/webdav/)
565
566       · Yandex Disk (https://rclone.org/yandex/)
567
568       · Zoho WorkDrive (https://rclone.org/zoho/)
569
570       · The local filesystem (https://rclone.org/local/)
571
572   Usage
573       Rclone syncs a directory tree from one storage system to another.
574
575       Its syntax is like this
576
577              Syntax: [options] subcommand <parameters> <parameters...>
578
579       Source and destination paths are specified by the  name  you  gave  the
580       storage  system  in the config file then the sub path, e.g.  "drive:my‐
581       folder" to look at "myfolder" in Google drive.
582
583       You can define as many storage paths as you like in the config file.
584
585       Please use the -i / --interactive flag while learning rclone  to  avoid
586       accidental data loss.
587
588   Subcommands
589       rclone uses a system of subcommands.  For example
590
591              rclone ls remote:path # lists a remote
592              rclone copy /local/path remote:path # copies /local/path to the remote
593              rclone sync -i /local/path remote:path # syncs /local/path to the remote
594

rclone config

596       Enter an interactive configuration session.
597
598   Synopsis
599       Enter  an interactive configuration session where you can setup new re‐
600       motes and manage existing ones.  You may also set or remove a  password
601       to protect your configuration.
602
603              rclone config [flags]
604
605   Options
606                -h, --help   help for config
607
608       See  the  global  flags page (https://rclone.org/flags/) for global op‐
609       tions not listed here.
610
611   SEE ALSO
612       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
613         commands, flags and backends.
614
615       · rclone  config create (https://rclone.org/commands/rclone_config_cre
616         ate/) - Create a new remote with name, type and options.
617
618       · rclone   config    delete    (https://rclone.org/commands/rclone_con
619         fig_delete/) - Delete an existing remote name.
620
621       · rclone   config  disconnect  (https://rclone.org/commands/rclone_con
622         fig_disconnect/) - Disconnects user from remote
623
624       · rclone config dump  (https://rclone.org/commands/rclone_config_dump/)
625         - Dump the config file as JSON.
626
627       · rclone  config edit (https://rclone.org/commands/rclone_config_edit/)
628         - Enter an interactive configuration session.
629
630       · rclone config file  (https://rclone.org/commands/rclone_config_file/)
631         - Show path of configuration file in use.
632
633       · rclone   config   password   (https://rclone.org/commands/rclone_con
634         fig_password/) - Update password in an existing remote.
635
636       · rclone  config   providers   (https://rclone.org/commands/rclone_con
637         fig_providers/) - List in JSON format all the providers and options.
638
639       · rclone   config   reconnect  (https://rclone.org/commands/rclone_con
640         fig_reconnect/) - Re-authenticates user with remote.
641
642       · rclone config show  (https://rclone.org/commands/rclone_config_show/)
643         - Print (decrypted) config file, or the config for a single remote.
644
645       · rclone  config  update (https://rclone.org/commands/rclone_config_up
646         date/) - Update options in an existing remote.
647
648       · rclone   config   userinfo   (https://rclone.org/commands/rclone_con
649         fig_userinfo/) - Prints info about logged in user of remote.
650

rclone copy

652       Copy files from source to dest, skipping already copied.
653
654   Synopsis
655       Copy  the source to the destination.  Doesn't transfer unchanged files,
656       testing by size and modification time or MD5SUM.  Doesn't delete  files
657       from the destination.
658
659       Note  that  it  is always the contents of the directory that is synced,
660       not the directory so when source:path is a directory, it's the contents
661       of source:path that are copied, not the directory name and contents.
662
663       If  dest:path doesn't exist, it is created and the source:path contents
664       go there.
665
666       For example
667
668              rclone copy source:sourcepath dest:destpath
669
670       Let's say there are two files in sourcepath
671
672              sourcepath/one.txt
673              sourcepath/two.txt
674
675       This copies them to
676
677              destpath/one.txt
678              destpath/two.txt
679
680       Not to
681
682              destpath/sourcepath/one.txt
683              destpath/sourcepath/two.txt
684
685       If you are familiar with rsync, rclone always works as if you had writ‐
686       ten a trailing / - meaning "copy the contents of this directory".  This
687       applies to all commands and whether you are talking about the source or
688       destination.
689
690       See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
691       controlling whether rclone lists  the  destination  directory  or  not.
692       Supplying this option when copying a small number of files into a large
693       destination can speed transfers up greatly.
694
695       For example, if you have many files in /path/to/src but only a  few  of
696       them  change  every  day, you can copy all the files which have changed
697       recently very efficiently like this:
698
699              rclone copy --max-age 24h --no-traverse /path/to/src remote:
700
701       Note: Use the -P/--progress flag to view real-time transfer statistics.
702
703       Note: Use the --dry-run or the --interactive/-i flag  to  test  without
704       copying anything.
705
706              rclone copy source:path dest:path [flags]
707
708   Options
709                    --create-empty-src-dirs   Create empty source dirs on destination after copy
710                -h, --help                    help for copy
711
712       See  the  global  flags page (https://rclone.org/flags/) for global op‐
713       tions not listed here.
714
715   SEE ALSO
716       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
717         commands, flags and backends.
718

rclone sync

720       Make source and dest identical, modifying destination only.
721
722   Synopsis
723       Sync  the  source  to  the  destination, changing the destination only.
724       Doesn't transfer unchanged files, testing by size and modification time
725       or  MD5SUM.  Destination is updated to match source, including deleting
726       files if necessary.
727
728       Important: Since  this  can  cause  data  loss,  test  first  with  the
729       --dry-run or the --interactive/-i flag.
730
731              rclone sync -i SOURCE remote:DESTINATION
732
733       Note  that  files in the destination won't be deleted if there were any
734       errors at any point.
735
736       It is always the contents of the directory that is synced, not the  di‐
737       rectory  so  when  source:path  is  a  directory,  it's the contents of
738       source:path that are copied, not the directory name and contents.   See
739       extended explanation in the copy command above if unsure.
740
741       If  dest:path doesn't exist, it is created and the source:path contents
742       go there.
743
744       Note: Use the -P/--progress flag to view real-time transfer statistics
745
746              rclone sync source:path dest:path [flags]
747
748   Options
749                    --create-empty-src-dirs   Create empty source dirs on destination after sync
750                -h, --help                    help for sync
751
752       See the global flags page (https://rclone.org/flags/)  for  global  op‐
753       tions not listed here.
754
755   SEE ALSO
756       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
757         commands, flags and backends.
758

rclone move

760       Move files from source to dest.
761
762   Synopsis
763       Moves the contents of the source directory to the destination  directo‐
764       ry.   Rclone  will  error if the source and destination overlap and the
765       remote does not support a server-side directory move operation.
766
767       If no filters are in use and if possible  this  will  server-side  move
768       source:path  into dest:path.  After this source:path will no longer ex‐
769       ist.
770
771       Otherwise for each file in source:path selected by the filters (if any)
772       this  will move it into dest:path.  If possible a server-side move will
773       be used, otherwise it will  copy  it  (server-side  if  possible)  into
774       dest:path   then  delete  the  original  (if  no  errors  on  copy)  in
775       source:path.
776
777       If you want to delete empty source  directories  after  move,  use  the
778       --delete-empty-src-dirs flag.
779
780       See the --no-traverse (https://rclone.org/docs/#no-traverse) option for
781       controlling whether rclone lists  the  destination  directory  or  not.
782       Supplying  this option when moving a small number of files into a large
783       destination can speed transfers up greatly.
784
785       Important: Since  this  can  cause  data  loss,  test  first  with  the
786       --dry-run or the --interactive/-i flag.
787
788       Note: Use the -P/--progress flag to view real-time transfer statistics.
789
790              rclone move source:path dest:path [flags]
791
792   Options
793                    --create-empty-src-dirs   Create empty source dirs on destination after move
794                    --delete-empty-src-dirs   Delete empty source dirs after move
795                -h, --help                    help for move
796
797       See  the  global  flags page (https://rclone.org/flags/) for global op‐
798       tions not listed here.
799
800   SEE ALSO
801       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
802         commands, flags and backends.
803

rclone delete

805       Remove the files in path.
806
807   Synopsis
808       Remove  the  files in path.  Unlike purge it obeys include/exclude fil‐
809       ters so can be used to selectively delete files.
810
811       rclone delete only deletes files but  leaves  the  directory  structure
812       alone.   If  you want to delete a directory and all of its contents use
813       the purge command.
814
815       If you supply the --rmdirs flag, it will remove all  empty  directories
816       along  with  it.  You can also use the separate command rmdir or rmdirs
817       to delete empty directories only.
818
819       For example, to delete all files bigger than 100MBytes, you  may  first
820       want to check what would be deleted (use either):
821
822              rclone --min-size 100M lsl remote:path
823              rclone --dry-run --min-size 100M delete remote:path
824
825       Then proceed with the actual delete:
826
827              rclone --min-size 100M delete remote:path
828
829       That  reads  "delete  everything  with a minimum size of 100 MB", hence
830       delete all files bigger than 100MBytes.
831
832       Important: Since  this  can  cause  data  loss,  test  first  with  the
833       --dry-run or the --interactive/-i flag.
834
835              rclone delete remote:path [flags]
836
837   Options
838                -h, --help     help for delete
839                    --rmdirs   rmdirs removes empty directories but leaves root intact
840
841       See  the  global  flags page (https://rclone.org/flags/) for global op‐
842       tions not listed here.
843
844   SEE ALSO
845       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
846         commands, flags and backends.
847

rclone purge

849       Remove the path and all of its contents.
850
851   Synopsis
852       Remove  the path and all of its contents.  Note that this does not obey
853       include/exclude filters - everything will be removed.  Use  the  delete
854       command  if  you want to selectively delete files.  To delete empty di‐
855       rectories only, use command rmdir or rmdirs.
856
857       Important: Since  this  can  cause  data  loss,  test  first  with  the
858       --dry-run or the --interactive/-i flag.
859
860              rclone purge remote:path [flags]
861
862   Options
863                -h, --help   help for purge
864
865       See  the  global  flags page (https://rclone.org/flags/) for global op‐
866       tions not listed here.
867
868   SEE ALSO
869       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
870         commands, flags and backends.
871

rclone mkdir

873       Make the path if it doesn't already exist.
874
875              rclone mkdir remote:path [flags]
876
877   Options
878                -h, --help   help for mkdir
879
880       See  the  global  flags page (https://rclone.org/flags/) for global op‐
881       tions not listed here.
882
883   SEE ALSO
884       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
885         commands, flags and backends.
886

rclone rmdir

888       Remove the empty directory at path.
889
890   Synopsis
891       This  removes  empty directory given by path.  Will not remove the path
892       if it has any objects in it, not even empty subdirectories.   Use  com‐
893       mand rmdirs (or delete with option --rmdirs) to do that.
894
895       To delete a path and any objects in it, use purge command.
896
897              rclone rmdir remote:path [flags]
898
899   Options
900                -h, --help   help for rmdir
901
902       See  the  global  flags page (https://rclone.org/flags/) for global op‐
903       tions not listed here.
904
905   SEE ALSO
906       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
907         commands, flags and backends.
908

rclone check

910       Checks the files in the source and destination match.
911
912   Synopsis
913       Checks  the  files  in  the  source and destination match.  It compares
914       sizes and hashes (MD5 or SHA1) and logs a report of files  which  don't
915       match.  It doesn't alter the source or destination.
916
917       If  you supply the --size-only flag, it will only compare the sizes not
918       the hashes as well.  Use this for a quick check.
919
920       If you supply the --download flag, it will download the data from  both
921       remotes and check them against each other on the fly.  This can be use‐
922       ful for remotes that don't support hashes or  if  you  really  want  to
923       check all the data.
924
925       If  you supply the --one-way flag, it will only check that files in the
926       source match the files in the destination, not the  other  way  around.
927       This  means  that  extra  files  in the destination that are not in the
928       source will not be detected.
929
930       The --differ, --missing-on-dst, --missing-on-src, --match  and  --error
931       flags  write  paths, one per line, to the file name (or stdout if it is
932       -) supplied.  What they write is described in the help below.  For  ex‐
933       ample  --differ  will  write  all  paths  which are present on both the
934       source and destination but different.
935
936       The --combined flag will write a file (or stdout)  which  contains  all
937       file paths with a symbol and then a space and then the path to tell you
938       what happened to it.  These are reminiscent of diff files.
939
940       · = path means path was found in source and destination and was identi‐
941         cal
942
943       · -  path means path was missing on the source, so only in the destina‐
944         tion
945
946       · + path means path was missing on the  destination,  so  only  in  the
947         source
948
949       · *  path  means path was present in source and destination but differ‐
950         ent.
951
952       · ! path means there was an error reading  or  hashing  the  source  or
953         dest.
954
955         rclone check source:path dest:path [flags]
956
957   Options
958                    --combined string         Make a combined report of changes to this file
959                    --differ string           Report all non-matching files to this file
960                    --download                Check by downloading rather than with hash.
961                    --error string            Report all files with errors (hashing or reading) to this file
962                -h, --help                    help for check
963                    --match string            Report all matching files to this file
964                    --missing-on-dst string   Report all files missing from the destination to this file
965                    --missing-on-src string   Report all files missing from the source to this file
966                    --one-way                 Check one way only, source files must exist on remote
967
968       See  the  global  flags page (https://rclone.org/flags/) for global op‐
969       tions not listed here.
970
971   SEE ALSO
972       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
973         commands, flags and backends.
974

rclone ls

976       List the objects in the path with size and path.
977
978   Synopsis
979       Lists  the  objects  in  the  source path to standard output in a human
980       readable format with size and path.  Recurses by default.
981
982       Eg
983
984              $ rclone ls swift:bucket
985                  60295 bevajer5jef
986                  90613 canole
987                  94467 diwogej7
988                  37600 fubuwic
989
990       Any of the filtering options can be applied to this command.
991
992       There are several related list commands
993
994       · ls to list size and path of objects only
995
996       · lsl to list modification time, size and path of objects only
997
998       · lsd to list directories only
999
1000       · lsf to list objects and directories in easy to parse format
1001
1002       · lsjson to list objects and directories in JSON format
1003
1004       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
1005       human and machine readable.  lsjson is designed to be machine readable.
1006
1007       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1008       recursion.
1009
1010       The other list commands lsd,lsf,lsjson do not recurse by default -  use
1011       -R to make them recurse.
1012
1013       Listing  a  non existent directory will produce an error except for re‐
1014       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1015       bucket based remotes).
1016
1017              rclone ls remote:path [flags]
1018
1019   Options
1020                -h, --help   help for ls
1021
1022       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1023       tions not listed here.
1024
1025   SEE ALSO
1026       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1027         commands, flags and backends.
1028

rclone lsd

1030       List all directories/containers/buckets in the path.
1031
1032   Synopsis
1033       Lists  the directories in the source path to standard output.  Does not
1034       recurse by default.  Use the -R flag to recurse.
1035
1036       This command lists the total size of the directory  (if  known,  -1  if
1037       not),  the  modification  time (if known, the current time if not), the
1038       number of objects in the directory (if known, -1 if not) and  the  name
1039       of the directory, Eg
1040
1041              $ rclone lsd swift:
1042                    494000 2018-04-26 08:43:20     10000 10000files
1043                        65 2018-04-26 08:43:20         1 1File
1044
1045       Or
1046
1047              $ rclone lsd drive:test
1048                        -1 2016-10-17 17:41:53        -1 1000files
1049                        -1 2017-01-03 14:40:54        -1 2500files
1050                        -1 2017-07-08 14:39:28        -1 4000files
1051
1052       If you just want the directory names use "rclone lsf --dirs-only".
1053
1054       Any of the filtering options can be applied to this command.
1055
1056       There are several related list commands
1057
1058       · ls to list size and path of objects only
1059
1060       · lsl to list modification time, size and path of objects only
1061
1062       · lsd to list directories only
1063
1064       · lsf to list objects and directories in easy to parse format
1065
1066       · lsjson to list objects and directories in JSON format
1067
1068       ls,lsl,lsd  are  designed  to be human readable.  lsf is designed to be
1069       human and machine readable.  lsjson is designed to be machine readable.
1070
1071       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1072       recursion.
1073
1074       The  other list commands lsd,lsf,lsjson do not recurse by default - use
1075       -R to make them recurse.
1076
1077       Listing a non existent directory will produce an error except  for  re‐
1078       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1079       bucket based remotes).
1080
1081              rclone lsd remote:path [flags]
1082
1083   Options
1084                -h, --help        help for lsd
1085                -R, --recursive   Recurse into the listing.
1086
1087       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1088       tions not listed here.
1089
1090   SEE ALSO
1091       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1092         commands, flags and backends.
1093

rclone lsl

1095       List the objects in path with modification time, size and path.
1096
1097   Synopsis
1098       Lists the objects in the source path to  standard  output  in  a  human
1099       readable format with modification time, size and path.  Recurses by de‐
1100       fault.
1101
1102       Eg
1103
1104              $ rclone lsl swift:bucket
1105                  60295 2016-06-25 18:55:41.062626927 bevajer5jef
1106                  90613 2016-06-25 18:55:43.302607074 canole
1107                  94467 2016-06-25 18:55:43.046609333 diwogej7
1108                  37600 2016-06-25 18:55:40.814629136 fubuwic
1109
1110       Any of the filtering options can be applied to this command.
1111
1112       There are several related list commands
1113
1114       · ls to list size and path of objects only
1115
1116       · lsl to list modification time, size and path of objects only
1117
1118       · lsd to list directories only
1119
1120       · lsf to list objects and directories in easy to parse format
1121
1122       · lsjson to list objects and directories in JSON format
1123
1124       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
1125       human and machine readable.  lsjson is designed to be machine readable.
1126
1127       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
1128       recursion.
1129
1130       The other list commands lsd,lsf,lsjson do not recurse by default -  use
1131       -R to make them recurse.
1132
1133       Listing  a  non existent directory will produce an error except for re‐
1134       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
1135       bucket based remotes).
1136
1137              rclone lsl remote:path [flags]
1138
1139   Options
1140                -h, --help   help for lsl
1141
1142       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1143       tions not listed here.
1144
1145   SEE ALSO
1146       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1147         commands, flags and backends.
1148

rclone md5sum

1150       Produces an md5sum file for all the objects in the path.
1151
1152   Synopsis
1153       Produces  an  md5sum  file for all the objects in the path.  This is in
1154       the same format as the standard md5sum tool produces.
1155
1156       By default, the hash is requested from the remote.  If MD5 is not  sup‐
1157       ported  by  the  remote,  no  hash will be returned.  With the download
1158       flag, the file will be downloaded from the remote  and  hashed  locally
1159       enabling MD5 for any remote.
1160
1161              rclone md5sum remote:path [flags]
1162
1163   Options
1164                    --base64               Output base64 encoded hashsum
1165                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
1166                -h, --help                 help for md5sum
1167                    --output-file string   Output hashsums to a file rather than the terminal
1168
1169       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1170       tions not listed here.
1171
1172   SEE ALSO
1173       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1174         commands, flags and backends.
1175

rclone sha1sum

1177       Produces an sha1sum file for all the objects in the path.
1178
1179   Synopsis
1180       Produces  an  sha1sum file for all the objects in the path.  This is in
1181       the same format as the standard sha1sum tool produces.
1182
1183       By default, the hash is requested from the remote.   If  SHA-1  is  not
1184       supported  by  the remote, no hash will be returned.  With the download
1185       flag, the file will be downloaded from the remote  and  hashed  locally
1186       enabling SHA-1 for any remote.
1187
1188              rclone sha1sum remote:path [flags]
1189
1190   Options
1191                    --base64               Output base64 encoded hashsum
1192                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
1193                -h, --help                 help for sha1sum
1194                    --output-file string   Output hashsums to a file rather than the terminal
1195
1196       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1197       tions not listed here.
1198
1199   SEE ALSO
1200       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1201         commands, flags and backends.
1202

rclone size

1204       Prints the total size and number of objects in remote:path.
1205
1206              rclone size remote:path [flags]
1207
1208   Options
1209                -h, --help   help for size
1210                    --json   format output as JSON
1211
1212       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1213       tions not listed here.
1214
1215   SEE ALSO
1216       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1217         commands, flags and backends.
1218

rclone version

1220       Show the version number.
1221
1222   Synopsis
1223       Show the version number, the go version and the architecture.
1224
1225       Eg
1226
1227              $ rclone version
1228              rclone v1.41
1229              - os/arch: linux/amd64
1230              - go version: go1.10
1231
1232       If you supply the --check flag, then it will do an online check to com‐
1233       pare your version with the latest release and the latest beta.
1234
1235              $ rclone version --check
1236              yours:  1.42.0.6
1237              latest: 1.42          (released 2018-06-16)
1238              beta:   1.42.0.5      (released 2018-06-17)
1239
1240       Or
1241
1242              $ rclone version --check
1243              yours:  1.41
1244              latest: 1.42          (released 2018-06-16)
1245                upgrade: https://downloads.rclone.org/v1.42
1246              beta:   1.42.0.5      (released 2018-06-17)
1247                upgrade: https://beta.rclone.org/v1.42-005-g56e1e820
1248
1249              rclone version [flags]
1250
1251   Options
1252                    --check   Check for new version.
1253                -h, --help    help for version
1254
1255       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1256       tions not listed here.
1257
1258   SEE ALSO
1259       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1260         commands, flags and backends.
1261

rclone cleanup

1263       Clean up the remote if possible.
1264
1265   Synopsis
1266       Clean up the remote if possible.  Empty the trash or  delete  old  file
1267       versions.  Not supported by all remotes.
1268
1269              rclone cleanup remote:path [flags]
1270
1271   Options
1272                -h, --help   help for cleanup
1273
1274       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1275       tions not listed here.
1276
1277   SEE ALSO
1278       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1279         commands, flags and backends.
1280

rclone dedupe

1282       Interactively find duplicate filenames and delete/rename them.
1283
1284   Synopsis
1285       By  default  dedupe  interactively finds files with duplicate names and
1286       offers to delete all but one or rename them to be different.   This  is
1287       known as deduping by name.
1288
1289       Deduping  by  name is only useful with backends like Google Drive which
1290       can have duplicate file names.  It can  be  run  on  wrapping  backends
1291       (e.g.   crypt)  if  they  wrap  a backend which supports duplicate file
1292       names.
1293
1294       However if --by-hash is passed in then dedupe will find files with  du‐
1295       plicate hashes instead which will work on any backend which supports at
1296       least one hash.  This can be used to find files with duplicate content.
1297       This is known as deduping by hash.
1298
1299       If  deduping by name, first rclone will merge directories with the same
1300       name.  It will do this iteratively until all the identically named  di‐
1301       rectories have been merged.
1302
1303       Next,  if  deduping  by name, for every group of duplicate file names /
1304       hashes, it will delete all but one identical  files  it  finds  without
1305       confirmation.   This  means  that  for most duplicated files the dedupe
1306       command will not be interactive.
1307
1308       dedupe considers files to be identical if they have the same file  path
1309       and the same hash.  If the backend does not support hashes (e.g.  crypt
1310       wrapping Google Drive) then they will never be found to  be  identical.
1311       If you use the --size-only flag then files will be considered identical
1312       if they have the same size (any hash will be  ignored).   This  can  be
1313       useful on crypt backends which do not support hashes.
1314
1315       Next  rclone  will resolve the remaining duplicates.  Exactly which ac‐
1316       tion is taken depends on the dedupe mode.  By default rclone  will  in‐
1317       teractively query the user for each one.
1318
1319       Important:  Since  this  can  cause  data  loss,  test  first  with the
1320       --dry-run or the --interactive/-i flag.
1321
1322       Here is an example run.
1323
1324       Before - with duplicates
1325
1326              $ rclone lsl drive:dupes
1327                6048320 2016-03-05 16:23:16.798000000 one.txt
1328                6048320 2016-03-05 16:23:11.775000000 one.txt
1329                 564374 2016-03-05 16:23:06.731000000 one.txt
1330                6048320 2016-03-05 16:18:26.092000000 one.txt
1331                6048320 2016-03-05 16:22:46.185000000 two.txt
1332                1744073 2016-03-05 16:22:38.104000000 two.txt
1333                 564374 2016-03-05 16:22:52.118000000 two.txt
1334
1335       Now the dedupe session
1336
1337              $ rclone dedupe drive:dupes
1338              2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
1339              one.txt: Found 4 files with duplicate names
1340              one.txt: Deleting 2/3 identical duplicates (MD5 "1eedaa9fe86fd4b8632e2ac549403b36")
1341              one.txt: 2 duplicates remain
1342                1:      6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
1343                2:       564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
1344              s) Skip and do nothing
1345              k) Keep just one (choose which in next step)
1346              r) Rename all to be different (by changing file.jpg to file-1.jpg)
1347              s/k/r> k
1348              Enter the number of the file to keep> 1
1349              one.txt: Deleted 1 extra copies
1350              two.txt: Found 3 files with duplicate names
1351              two.txt: 3 duplicates remain
1352                1:       564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81
1353                2:      6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36
1354                3:      1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802
1355              s) Skip and do nothing
1356              k) Keep just one (choose which in next step)
1357              r) Rename all to be different (by changing file.jpg to file-1.jpg)
1358              s/k/r> r
1359              two-1.txt: renamed from: two.txt
1360              two-2.txt: renamed from: two.txt
1361              two-3.txt: renamed from: two.txt
1362
1363       The result being
1364
1365              $ rclone lsl drive:dupes
1366                6048320 2016-03-05 16:23:16.798000000 one.txt
1367                 564374 2016-03-05 16:22:52.118000000 two-1.txt
1368                6048320 2016-03-05 16:22:46.185000000 two-2.txt
1369                1744073 2016-03-05 16:22:38.104000000 two-3.txt
1370
1371       Dedupe can be run non interactively using the --dedupe-mode flag or  by
1372       using an extra parameter with the same value
1373
1374       · --dedupe-mode interactive - interactive as above.
1375
1376       · --dedupe-mode  skip  -  removes  identical  files then skips anything
1377         left.
1378
1379       · --dedupe-mode first - removes identical files then  keeps  the  first
1380         one.
1381
1382       · --dedupe-mode  newest - removes identical files then keeps the newest
1383         one.
1384
1385       · --dedupe-mode oldest - removes identical files then keeps the  oldest
1386         one.
1387
1388       · --dedupe-mode  largest  -  removes  identical  files  then  keeps the
1389         largest one.
1390
1391       · --dedupe-mode smallest -  removes  identical  files  then  keeps  the
1392         smallest one.
1393
1394       · --dedupe-mode  rename - removes identical files then renames the rest
1395         to be different.
1396
1397       · --dedupe-mode list - lists duplicate dirs and files only and  changes
1398         nothing.
1399
1400       For  example  to rename all the identically named photos in your Google
1401       Photos directory, do
1402
1403              rclone dedupe --dedupe-mode rename "drive:Google Photos"
1404
1405       Or
1406
1407              rclone dedupe rename "drive:Google Photos"
1408
1409              rclone dedupe [mode] remote:path [flags]
1410
1411   Options
1412                    --by-hash              Find indentical hashes rather than names
1413                    --dedupe-mode string   Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename. (default "interactive")
1414                -h, --help                 help for dedupe
1415
1416       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1417       tions not listed here.
1418
1419   SEE ALSO
1420       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1421         commands, flags and backends.
1422

rclone about

1424       Get quota information from the remote.
1425
1426   Synopsis
1427       rclone aboutprints quota information about a remote to standard output.
1428       The output is typically used, free, quota and trash contents.
1429
1430       E.g.  Typical output fromrclone about remote:is:
1431
1432              Total:   17G
1433              Used:    7.444G
1434              Free:    1.315G
1435              Trashed: 100.000M
1436              Other:   8.241G
1437
1438       Where the fields are:
1439
1440       · Total: total size available.
1441
1442       · Used: total size used
1443
1444       · Free: total space available to this user.
1445
1446       · Trashed: total space used by trash
1447
1448       · Other: total amount in other storage (e.g.  Gmail, Google Photos)
1449
1450       · Objects: total number of objects in the storage
1451
1452       Not  all  backends print all fields.  Information is not included if it
1453       is not provided by a backend.  Where the value is unlimited it is omit‐
1454       ted.
1455
1456       Applying a --full flag to the command prints the bytes in full, e.g.
1457
1458              Total:   18253611008
1459              Used:    7993453766
1460              Free:    1411001220
1461              Trashed: 104857602
1462              Other:   8849156022
1463
1464       A --jsonflag generates conveniently computer readable output, e.g.
1465
1466              {
1467                  "total": 18253611008,
1468                  "used": 7993453766,
1469                  "trashed": 104857602,
1470                  "other": 8849156022,
1471                  "free": 1411001220
1472              }
1473
1474       Not all backends support the rclone about command.
1475
1476       See     List    of    backends    that    do    not    support    about
1477       (https://rclone.org/overview/#optional-features)
1478
1479              rclone about remote: [flags]
1480
1481   Options
1482                    --full   Full numbers instead of SI units
1483                -h, --help   help for about
1484                    --json   Format output as JSON
1485
1486       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1487       tions not listed here.
1488
1489   SEE ALSO
1490       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1491         commands, flags and backends.
1492

rclone authorize

1494       Remote authorization.
1495
1496   Synopsis
1497       Remote authorization.  Used to authorize a remote  or  headless  rclone
1498       from a machine with a browser - use as instructed by rclone config.
1499
1500       Use  the  --auth-no-open-browser to prevent rclone to open auth link in
1501       default browser automatically.
1502
1503              rclone authorize [flags]
1504
1505   Options
1506                    --auth-no-open-browser   Do not automatically open auth link in default browser
1507                -h, --help                   help for authorize
1508
1509       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1510       tions not listed here.
1511
1512   SEE ALSO
1513       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1514         commands, flags and backends.
1515

rclone backend

1517       Run a backend specific command.
1518
1519   Synopsis
1520       This runs a backend specific command.  The commands themselves  (except
1521       for  "help"  and "features") are defined by the backends and you should
1522       see the backend docs for definitions.
1523
1524       You can discover what commands a backend implements by using
1525
1526              rclone backend help remote:
1527              rclone backend help <backendname>
1528
1529       You can also discover information about the backend using  (see  opera‐
1530       tions/fsinfo  (https://rclone.org/rc/#operations/fsinfo)  in the remote
1531       control docs for more info).
1532
1533              rclone backend features remote:
1534
1535       Pass options to the backend command with -o.  This should be  key=value
1536       or key, e.g.:
1537
1538              rclone backend stats remote:path stats -o format=json -o long
1539
1540       Pass arguments to the backend by placing them on the end of the line
1541
1542              rclone backend cleanup remote:path file1 file2 file3
1543
1544       Note  to  run these commands on a running backend then see backend/com‐
1545       mand (https://rclone.org/rc/#backend/command) in the rc docs.
1546
1547              rclone backend <command> remote:path [opts] <args> [flags]
1548
1549   Options
1550                -h, --help                 help for backend
1551                    --json                 Always output in JSON format.
1552                -o, --option stringArray   Option in the form name=value or name.
1553
1554       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1555       tions not listed here.
1556
1557   SEE ALSO
1558       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
1559         commands, flags and backends.
1560

rclone cat

1562       Concatenates any files and sends them to stdout.
1563
1564   Synopsis
1565       rclone cat sends any files to standard output.
1566
1567       You can use it like this to output a single file
1568
1569              rclone cat remote:path/to/file
1570
1571       Or like this to output any file in dir or its subdirectories.
1572
1573              rclone cat remote:path/to/dir
1574
1575       Or like this to output any .txt files in dir or its subdirectories.
1576
1577              rclone --include "*.txt" cat remote:path/to/dir
1578
1579       Use the --head flag to print characters only at the start,  --tail  for
1580       the  end  and  --offset  and  --count to print a section in the middle.
1581       Note that if offset is negative it will count from the end, so --offset
1582       -1 --count 1 is equivalent to --tail 1.
1583
1584              rclone cat remote:path [flags]
1585
1586   Options
1587                    --count int    Only print N characters. (default -1)
1588                    --discard      Discard the output instead of printing.
1589                    --head int     Only print the first N characters.
1590                -h, --help         help for cat
1591                    --offset int   Start printing at offset N (or from end if -ve).
1592                    --tail int     Only print the last N characters.
1593
1594       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1595       tions not listed here.
1596
1597   SEE ALSO
1598       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1599         commands, flags and backends.
1600

rclone config create

1602       Create a new remote with name, type and options.
1603
1604   Synopsis
1605       Create  a new remote of name with type and options.  The options should
1606       be passed in pairs of key value.
1607
1608       For example to make a swift remote of name myremote using  auto  config
1609       you would do:
1610
1611              rclone config create myremote swift env_auth true
1612
1613       Note  that  if the config process would normally ask a question the de‐
1614       fault is taken.  Each time that happens rclone  will  print  a  message
1615       saying how to affect the value taken.
1616
1617       If  any  of the parameters passed is a password field, then rclone will
1618       automatically obscure them  if  they  aren't  already  obscured  before
1619       putting them in the config file.
1620
1621       NB  If  the  password parameter is 22 characters or longer and consists
1622       only of base64 characters then rclone can get  confused  about  whether
1623       the  password  is  already obscured or not and put unobscured passwords
1624       into the config file.  If you want to be 100% certain  that  the  pass‐
1625       words  get  obscured  then use the "--obscure" flag, or if you are 100%
1626       certain you are already passing obscured passwords then  use  "--no-ob‐
1627       scure".   You  can also set obscured passwords using the "rclone config
1628       password" command.
1629
1630       So for example if you wanted to configure a Google Drive remote but us‐
1631       ing remote authorization you would do this:
1632
1633              rclone config create mydrive drive config_is_local false
1634
1635              rclone config create `name` `type` [`key` `value`]* [flags]
1636
1637   Options
1638                -h, --help         help for create
1639                    --no-obscure   Force any passwords not to be obscured.
1640                    --obscure      Force any passwords to be obscured.
1641
1642       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1643       tions not listed here.
1644
1645   SEE ALSO
1646       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1647         interactive configuration session.
1648

rclone config delete

1650       Delete an existing remote name.
1651
1652              rclone config delete `name` [flags]
1653
1654   Options
1655                -h, --help   help for delete
1656
1657       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1658       tions not listed here.
1659
1660   SEE ALSO
1661       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1662         interactive configuration session.
1663

rclone config disconnect

1665       Disconnects user from remote
1666
1667   Synopsis
1668       This disconnects the remote: passed in to the cloud storage system.
1669
1670       This normally means revoking the oauth token.
1671
1672       To reconnect use "rclone config reconnect".
1673
1674              rclone config disconnect remote: [flags]
1675
1676   Options
1677                -h, --help   help for disconnect
1678
1679       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1680       tions not listed here.
1681
1682   SEE ALSO
1683       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1684         interactive configuration session.
1685

rclone config dump

1687       Dump the config file as JSON.
1688
1689              rclone config dump [flags]
1690
1691   Options
1692                -h, --help   help for dump
1693
1694       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1695       tions not listed here.
1696
1697   SEE ALSO
1698       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1699         interactive configuration session.
1700

rclone config edit

1702       Enter an interactive configuration session.
1703
1704   Synopsis
1705       Enter  an interactive configuration session where you can setup new re‐
1706       motes and manage existing ones.  You may also set or remove a  password
1707       to protect your configuration.
1708
1709              rclone config edit [flags]
1710
1711   Options
1712                -h, --help   help for edit
1713
1714       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1715       tions not listed here.
1716
1717   SEE ALSO
1718       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1719         interactive configuration session.
1720

rclone config file

1722       Show path of configuration file in use.
1723
1724              rclone config file [flags]
1725
1726   Options
1727                -h, --help   help for file
1728
1729       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1730       tions not listed here.
1731
1732   SEE ALSO
1733       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1734         interactive configuration session.
1735

rclone config password

1737       Update password in an existing remote.
1738
1739   Synopsis
1740       Update an existing remote's password.  The password should be passed in
1741       pairs of key value.
1742
1743       For example to set password of a remote of name myremote you would do:
1744
1745              rclone config password myremote fieldname mypassword
1746
1747       This command is obsolete now that "config update" and  "config  create"
1748       both support obscuring passwords directly.
1749
1750              rclone config password `name` [`key` `value`]+ [flags]
1751
1752   Options
1753                -h, --help   help for password
1754
1755       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1756       tions not listed here.
1757
1758   SEE ALSO
1759       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1760         interactive configuration session.
1761

rclone config providers

1763       List in JSON format all the providers and options.
1764
1765              rclone config providers [flags]
1766
1767   Options
1768                -h, --help   help for providers
1769
1770       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1771       tions not listed here.
1772
1773   SEE ALSO
1774       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1775         interactive configuration session.
1776

rclone config reconnect

1778       Re-authenticates user with remote.
1779
1780   Synopsis
1781       This reconnects remote: passed in to the cloud storage system.
1782
1783       To disconnect the remote use "rclone config disconnect".
1784
1785       This normally means going through the interactive oauth flow again.
1786
1787              rclone config reconnect remote: [flags]
1788
1789   Options
1790                -h, --help   help for reconnect
1791
1792       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1793       tions not listed here.
1794
1795   SEE ALSO
1796       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1797         interactive configuration session.
1798

rclone config show

1800       Print (decrypted) config file, or the config for a single remote.
1801
1802              rclone config show [<remote>] [flags]
1803
1804   Options
1805                -h, --help   help for show
1806
1807       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1808       tions not listed here.
1809
1810   SEE ALSO
1811       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1812         interactive configuration session.
1813

rclone config update

1815       Update options in an existing remote.
1816
1817   Synopsis
1818       Update  an  existing remote's options.  The options should be passed in
1819       in pairs of key value.
1820
1821       For example to update the env_auth field of a remote of  name  myremote
1822       you would do:
1823
1824              rclone config update myremote swift env_auth true
1825
1826       If  any  of the parameters passed is a password field, then rclone will
1827       automatically obscure them  if  they  aren't  already  obscured  before
1828       putting them in the config file.
1829
1830       NB  If  the  password parameter is 22 characters or longer and consists
1831       only of base64 characters then rclone can get  confused  about  whether
1832       the  password  is  already obscured or not and put unobscured passwords
1833       into the config file.  If you want to be 100% certain  that  the  pass‐
1834       words  get  obscured  then use the "--obscure" flag, or if you are 100%
1835       certain you are already passing obscured passwords then  use  "--no-ob‐
1836       scure".   You  can also set obscured passwords using the "rclone config
1837       password" command.
1838
1839       If the remote uses OAuth the token will be updated, if  you  don't  re‐
1840       quire this add an extra parameter thus:
1841
1842              rclone config update myremote swift env_auth true config_refresh_token false
1843
1844              rclone config update `name` [`key` `value`]+ [flags]
1845
1846   Options
1847                -h, --help         help for update
1848                    --no-obscure   Force any passwords not to be obscured.
1849                    --obscure      Force any passwords to be obscured.
1850
1851       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1852       tions not listed here.
1853
1854   SEE ALSO
1855       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1856         interactive configuration session.
1857

rclone config userinfo

1859       Prints info about logged in user of remote.
1860
1861   Synopsis
1862       This  prints  the  details of the person logged in to the cloud storage
1863       system.
1864
1865              rclone config userinfo remote: [flags]
1866
1867   Options
1868                -h, --help   help for userinfo
1869                    --json   Format output as JSON
1870
1871       See the global flags page (https://rclone.org/flags/)  for  global  op‐
1872       tions not listed here.
1873
1874   SEE ALSO
1875       · rclone config (https://rclone.org/commands/rclone_config/) - Enter an
1876         interactive configuration session.
1877

rclone copyto

1879       Copy files from source to dest, skipping already copied.
1880
1881   Synopsis
1882       If source:path is a file or directory then it copies it to  a  file  or
1883       directory named dest:path.
1884
1885       This  can  be  used  to upload single files to other than their current
1886       name.  If the source is a directory then it acts exactly like the  copy
1887       command.
1888
1889       So
1890
1891              rclone copyto src dst
1892
1893       where  src and dst are rclone paths, either remote:path or /path/to/lo‐
1894       cal or C:.
1895
1896       This will:
1897
1898              if src is file
1899                  copy it to dst, overwriting an existing file if it exists
1900              if src is directory
1901                  copy it to dst, overwriting existing files if they exist
1902                  see copy command for full details
1903
1904       This doesn't transfer unchanged files, testing by size and modification
1905       time or MD5SUM.  It doesn't delete files from the destination.
1906
1907       Note: Use the -P/--progress flag to view real-time transfer statistics
1908
1909              rclone copyto source:path dest:path [flags]
1910
1911   Options
1912                -h, --help   help for copyto
1913
1914       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1915       tions not listed here.
1916
1917   SEE ALSO
1918       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1919         commands, flags and backends.
1920

rclone copyurl

1922       Copy url content to dest.
1923
1924   Synopsis
1925       Download  a URL's content and copy it to the destination without saving
1926       it in temporary storage.
1927
1928       Setting --auto-filename will cause the file name to be  retrieved  from
1929       the from URL (after any redirections) and used in the destination path.
1930
1931       Setting  --no-clobber  will prevent overwriting file on the destination
1932       if there is one with the same name.
1933
1934       Setting --stdout or making the output file name "-" will cause the out‐
1935       put to be written to standard output.
1936
1937              rclone copyurl https://example.com dest:path [flags]
1938
1939   Options
1940                -a, --auto-filename   Get the file name from the URL and use it for destination file path
1941                -h, --help            help for copyurl
1942                    --no-clobber      Prevent overwriting file with same name
1943                    --stdout          Write the output to stdout rather than a file
1944
1945       See  the  global  flags page (https://rclone.org/flags/) for global op‐
1946       tions not listed here.
1947
1948   SEE ALSO
1949       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
1950         commands, flags and backends.
1951

rclone cryptcheck

1953       Cryptcheck checks the integrity of a crypted remote.
1954
1955   Synopsis
1956       rclone  cryptcheck  checks  a remote against a crypted remote.  This is
1957       the equivalent of running rclone check, but able to check the checksums
1958       of the crypted remote.
1959
1960       For  it to work the underlying remote of the cryptedremote must support
1961       some kind of checksum.
1962
1963       It works by reading the nonce from each file on the cryptedremote:  and
1964       using  that  to  encrypt  each file on the remote:.  It then checks the
1965       checksum of the underlying  file  on  the  cryptedremote:  against  the
1966       checksum of the file it has just encrypted.
1967
1968       Use it like this
1969
1970              rclone cryptcheck /path/to/files encryptedremote:path
1971
1972       You  can  use  it like this also, but that will involve downloading all
1973       the files in remote:path.
1974
1975              rclone cryptcheck remote:path encryptedremote:path
1976
1977       After it has run it will log the status of the encryptedremote:.
1978
1979       If you supply the --one-way flag, it will only check that files in  the
1980       source  match  the  files in the destination, not the other way around.
1981       This means that extra files in the destination  that  are  not  in  the
1982       source will not be detected.
1983
1984       The  --differ,  --missing-on-dst, --missing-on-src, --match and --error
1985       flags write paths, one per line, to the file name (or stdout if  it  is
1986       -)  supplied.  What they write is described in the help below.  For ex‐
1987       ample --differ will write all paths  which  are  present  on  both  the
1988       source and destination but different.
1989
1990       The  --combined  flag  will write a file (or stdout) which contains all
1991       file paths with a symbol and then a space and then the path to tell you
1992       what happened to it.  These are reminiscent of diff files.
1993
1994       · = path means path was found in source and destination and was identi‐
1995         cal
1996
1997       · - path means path was missing on the source, so only in the  destina‐
1998         tion
1999
2000       · +  path  means  path  was  missing on the destination, so only in the
2001         source
2002
2003       · * path means path was present in source and destination  but  differ‐
2004         ent.
2005
2006       · !  path  means  there  was  an error reading or hashing the source or
2007         dest.
2008
2009         rclone cryptcheck remote:path cryptedremote:path [flags]
2010
2011   Options
2012                    --combined string         Make a combined report of changes to this file
2013                    --differ string           Report all non-matching files to this file
2014                    --error string            Report all files with errors (hashing or reading) to this file
2015                -h, --help                    help for cryptcheck
2016                    --match string            Report all matching files to this file
2017                    --missing-on-dst string   Report all files missing from the destination to this file
2018                    --missing-on-src string   Report all files missing from the source to this file
2019                    --one-way                 Check one way only, source files must exist on remote
2020
2021       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2022       tions not listed here.
2023
2024   SEE ALSO
2025       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2026         commands, flags and backends.
2027

rclone cryptdecode

2029       Cryptdecode returns unencrypted file names.
2030
2031   Synopsis
2032       rclone cryptdecode returns unencrypted file names when provided with  a
2033       list of encrypted file names.  List limit is 10 items.
2034
2035       If you supply the --reverse flag, it will return encrypted file names.
2036
2037       use it like this
2038
2039              rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
2040
2041              rclone cryptdecode --reverse encryptedremote: filename1 filename2
2042
2043       Another  way  to  accomplish this is by using the rclone backend encode
2044       (or decode)command.  See the documentation on  the  crypt  overlay  for
2045       more info.
2046
2047              rclone cryptdecode encryptedremote: encryptedfilename [flags]
2048
2049   Options
2050                -h, --help      help for cryptdecode
2051                    --reverse   Reverse cryptdecode, encrypts filenames
2052
2053       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2054       tions not listed here.
2055
2056   SEE ALSO
2057       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2058         commands, flags and backends.
2059

rclone deletefile

2061       Remove a single file from remote.
2062
2063   Synopsis
2064       Remove  a  single file from remote.  Unlike delete it cannot be used to
2065       remove a directory and it doesn't obey include/exclude filters - if the
2066       specified file exists, it will always be removed.
2067
2068              rclone deletefile remote:path [flags]
2069
2070   Options
2071                -h, --help   help for deletefile
2072
2073       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2074       tions not listed here.
2075
2076   SEE ALSO
2077       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2078         commands, flags and backends.
2079

rclone genautocomplete

2081       Output completion script for a given shell.
2082
2083   Synopsis
2084       Generates  a  shell  completion  script for rclone.  Run with --help to
2085       list the supported shells.
2086
2087   Options
2088                -h, --help   help for genautocomplete
2089
2090       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2091       tions not listed here.
2092
2093   SEE ALSO
2094       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2095         commands, flags and backends.
2096
2097       · rclone genautocomplete  bash  (https://rclone.org/commands/rclone_ge
2098         nautocomplete_bash/) - Output bash completion script for rclone.
2099
2100       · rclone  genautocomplete  fish (https://rclone.org/commands/rclone_ge
2101         nautocomplete_fish/) - Output fish completion script for rclone.
2102
2103       · rclone genautocomplete zsh (https://rclone.org/commands/rclone_genau
2104         tocomplete_zsh/) - Output zsh completion script for rclone.
2105

rclone genautocomplete bash

2107       Output bash completion script for rclone.
2108
2109   Synopsis
2110       Generates a bash shell autocompletion script for rclone.
2111
2112       This  writes to /etc/bash_completion.d/rclone by default so will proba‐
2113       bly need to be run with sudo or as root, e.g.
2114
2115              sudo rclone genautocomplete bash
2116
2117       Logout and login again to use the  autocompletion  scripts,  or  source
2118       them directly
2119
2120              . /etc/bash_completion
2121
2122       If you supply a command line argument the script will be written there.
2123
2124       If output_file is "-", then the output will be written to stdout.
2125
2126              rclone genautocomplete bash [output_file] [flags]
2127
2128   Options
2129                -h, --help   help for bash
2130
2131       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2132       tions not listed here.
2133
2134   SEE ALSO
2135       · rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2136         complete/) - Output completion script for a given shell.
2137

rclone genautocomplete fish

2139       Output fish completion script for rclone.
2140
2141   Synopsis
2142       Generates a fish autocompletion script for rclone.
2143
2144       This  writes  to  /etc/fish/completions/rclone.fish  by default so will
2145       probably need to be run with sudo or as root, e.g.
2146
2147              sudo rclone genautocomplete fish
2148
2149       Logout and login again to use the  autocompletion  scripts,  or  source
2150       them directly
2151
2152              . /etc/fish/completions/rclone.fish
2153
2154       If you supply a command line argument the script will be written there.
2155
2156       If output_file is "-", then the output will be written to stdout.
2157
2158              rclone genautocomplete fish [output_file] [flags]
2159
2160   Options
2161                -h, --help   help for fish
2162
2163       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2164       tions not listed here.
2165
2166   SEE ALSO
2167       · rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2168         complete/) - Output completion script for a given shell.
2169

rclone genautocomplete zsh

2171       Output zsh completion script for rclone.
2172
2173   Synopsis
2174       Generates a zsh autocompletion script for rclone.
2175
2176       This  writes to /usr/share/zsh/vendor-completions/_rclone by default so
2177       will probably need to be run with sudo or as root, e.g.
2178
2179              sudo rclone genautocomplete zsh
2180
2181       Logout and login again to use the  autocompletion  scripts,  or  source
2182       them directly
2183
2184              autoload -U compinit && compinit
2185
2186       If you supply a command line argument the script will be written there.
2187
2188       If output_file is "-", then the output will be written to stdout.
2189
2190              rclone genautocomplete zsh [output_file] [flags]
2191
2192   Options
2193                -h, --help   help for zsh
2194
2195       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2196       tions not listed here.
2197
2198   SEE ALSO
2199       · rclone  genautocomplete  (https://rclone.org/commands/rclone_genauto
2200         complete/) - Output completion script for a given shell.
2201

rclone gendocs

2203       Output markdown docs for rclone to the directory supplied.
2204
2205   Synopsis
2206       This  produces  markdown  docs for the rclone commands to the directory
2207       supplied.  These are in a format suitable for hugo to render  into  the
2208       rclone.org website.
2209
2210              rclone gendocs output_directory [flags]
2211
2212   Options
2213                -h, --help   help for gendocs
2214
2215       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2216       tions not listed here.
2217
2218   SEE ALSO
2219       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2220         commands, flags and backends.
2221

rclone hashsum

2223       Produces a hashsum file for all the objects in the path.
2224
2225   Synopsis
2226       Produces  a  hash  file  for all the objects in the path using the hash
2227       named.  The output is in the same format as the standard md5sum/sha1sum
2228       tool.
2229
2230       By  default, the hash is requested from the remote.  If the hash is not
2231       supported by the remote, no hash will be returned.  With  the  download
2232       flag,  the  file  will be downloaded from the remote and hashed locally
2233       enabling any hash for any remote.
2234
2235       Run without a hash to see the list of all supported hashes, e.g.
2236
2237              $ rclone hashsum
2238              Supported hashes are:
2239                * MD5
2240                * SHA-1
2241                * DropboxHash
2242                * QuickXorHash
2243
2244       Then
2245
2246              $ rclone hashsum MD5 remote:path
2247
2248              rclone hashsum <hash> remote:path [flags]
2249
2250   Options
2251                    --base64               Output base64 encoded hashsum
2252                    --download             Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
2253                -h, --help                 help for hashsum
2254                    --output-file string   Output hashsums to a file rather than the terminal
2255
2256       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2257       tions not listed here.
2258
2259   SEE ALSO
2260       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2261         commands, flags and backends.
2262
2264       Generate public link to file/folder.
2265
2266   Synopsis
2267       rclone link will create, retrieve or remove a public link to the  given
2268       file or folder.
2269
2270              rclone link remote:path/to/file
2271              rclone link remote:path/to/folder/
2272              rclone link --unlink remote:path/to/folder/
2273              rclone link --expire 1d remote:path/to/file
2274
2275       If you supply the --expire flag, it will set the expiration time other‐
2276       wise it will use the default (100 years).  Note not all  backends  sup‐
2277       port  the  --expire  flag  - if the backend doesn't support it then the
2278       link returned won't expire.
2279
2280       Use the --unlink flag to remove existing public links to  the  file  or
2281       folder.   Note  not  all  backends support "--unlink" flag - those that
2282       don't will just ignore it.
2283
2284       If successful, the last line of the output will contain the link.   Ex‐
2285       act  capabilities depend on the remote, but the link will always by de‐
2286       fault be created with the least constraints – e.g.  no expiry, no pass‐
2287       word protection, accessible without account.
2288
2289              rclone link remote:path [flags]
2290
2291   Options
2292                    --expire Duration   The amount of time that the link will be valid (default 100y)
2293                -h, --help              help for link
2294                    --unlink            Remove existing public link to file/folder
2295
2296       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2297       tions not listed here.
2298
2299   SEE ALSO
2300       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2301         commands, flags and backends.
2302

rclone listremotes

2304       List all the remotes in the config file.
2305
2306   Synopsis
2307       rclone  listremotes  lists  all  the  available remotes from the config
2308       file.
2309
2310       When uses with the -l flag it lists the types too.
2311
2312              rclone listremotes [flags]
2313
2314   Options
2315                -h, --help   help for listremotes
2316                    --long   Show the type as well as names.
2317
2318       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2319       tions not listed here.
2320
2321   SEE ALSO
2322       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2323         commands, flags and backends.
2324

rclone lsf

2326       List directories and objects in remote:path formatted for parsing.
2327
2328   Synopsis
2329       List the contents of the source path (directories and objects) to stan‐
2330       dard  output  in  a form which is easy to parse by scripts.  By default
2331       this will just be the names of the objects  and  directories,  one  per
2332       line.  The directories will have a / suffix.
2333
2334       Eg
2335
2336              $ rclone lsf swift:bucket
2337              bevajer5jef
2338              canole
2339              diwogej7
2340              ferejej3gux/
2341              fubuwic
2342
2343       Use  the  --format option to control what gets listed.  By default this
2344       is just the path, but you can use these parameters to control the  out‐
2345       put:
2346
2347              p - path
2348              s - size
2349              t - modification time
2350              h - hash
2351              i - ID of object
2352              o - Original ID of underlying object
2353              m - MimeType of object if known
2354              e - encrypted name
2355              T - tier of storage if known, e.g. "Hot" or "Cool"
2356
2357       So  if  you  wanted the path, size and modification time, you would use
2358       --format "pst", or maybe --format "tsp" to put the path last.
2359
2360       Eg
2361
2362              $ rclone lsf  --format "tsp" swift:bucket
2363              2016-06-25 18:55:41;60295;bevajer5jef
2364              2016-06-25 18:55:43;90613;canole
2365              2016-06-25 18:55:43;94467;diwogej7
2366              2018-04-26 08:50:45;0;ferejej3gux/
2367              2016-06-25 18:55:40;37600;fubuwic
2368
2369       If you specify "h" in the format you will get the MD5 hash by  default,
2370       use  the  "--hash"  flag to change which hash you want.  Note that this
2371       can be returned as an empty string if it isn't available on the  object
2372       (and  for  directories),  "ERROR" if there was an error reading it from
2373       the object and "UNSUPPORTED" if that object does not support that  hash
2374       type.
2375
2376       For example to emulate the md5sum command you can use
2377
2378              rclone lsf -R --hash MD5 --format hp --separator "  " --files-only .
2379
2380       Eg
2381
2382              $ rclone lsf -R --hash MD5 --format hp --separator "  " --files-only swift:bucket
2383              7908e352297f0f530b84a756f188baa3  bevajer5jef
2384              cd65ac234e6fea5925974a51cdd865cc  canole
2385              03b5341b4f234b9d984d03ad076bae91  diwogej7
2386              8fd37c3810dd660778137ac3a66cc06d  fubuwic
2387              99713e14a4c4ff553acaf1930fad985b  gixacuh7ku
2388
2389       (Though "rclone md5sum ." is an easier way of typing this.)
2390
2391       By  default the separator is ";" this can be changed with the --separa‐
2392       tor flag.  Note that separators aren't escaped in the path  so  putting
2393       it last is a good strategy.
2394
2395       Eg
2396
2397              $ rclone lsf  --separator "," --format "tshp" swift:bucket
2398              2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
2399              2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole
2400              2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
2401              2018-04-26 08:52:53,0,,ferejej3gux/
2402              2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
2403
2404       You can output in CSV standard format.  This will escape things in " if
2405       they contain ,
2406
2407       Eg
2408
2409              $ rclone lsf --csv --files-only --format ps remote:path
2410              test.log,22355
2411              test.sh,449
2412              "this file contains a comma, in the file name.txt",6
2413
2414       Note that the --absolute parameter is useful for making lists of  files
2415       to pass to an rclone copy with the --files-from-raw flag.
2416
2417       For  example  to  find  all  the files modified within one day and copy
2418       those only (without traversing the whole directory structure):
2419
2420              rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
2421              rclone copy --files-from-raw new_files /path/to/local remote:path
2422
2423       Any of the filtering options can be applied to this command.
2424
2425       There are several related list commands
2426
2427       · ls to list size and path of objects only
2428
2429       · lsl to list modification time, size and path of objects only
2430
2431       · lsd to list directories only
2432
2433       · lsf to list objects and directories in easy to parse format
2434
2435       · lsjson to list objects and directories in JSON format
2436
2437       ls,lsl,lsd are designed to be human readable.  lsf is  designed  to  be
2438       human and machine readable.  lsjson is designed to be machine readable.
2439
2440       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
2441       recursion.
2442
2443       The other list commands lsd,lsf,lsjson do not recurse by default -  use
2444       -R to make them recurse.
2445
2446       Listing  a  non existent directory will produce an error except for re‐
2447       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
2448       bucket based remotes).
2449
2450              rclone lsf remote:path [flags]
2451
2452   Options
2453                    --absolute           Put a leading / in front of path names.
2454                    --csv                Output in CSV format.
2455                -d, --dir-slash          Append a slash to directory names. (default true)
2456                    --dirs-only          Only list directories.
2457                    --files-only         Only list files.
2458                -F, --format string      Output format - see  help for details (default "p")
2459                    --hash h             Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default "MD5")
2460                -h, --help               help for lsf
2461                -R, --recursive          Recurse into the listing.
2462                -s, --separator string   Separator for the items in the format. (default ";")
2463
2464       See  the  global  flags page (https://rclone.org/flags/) for global op‐
2465       tions not listed here.
2466
2467   SEE ALSO
2468       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
2469         commands, flags and backends.
2470

rclone lsjson

2472       List directories and objects in the path in JSON format.
2473
2474   Synopsis
2475       List directories and objects in the path in JSON format.
2476
2477       The output is an array of Items, where each Item looks like this
2478
2479       {  "Hashes"  :  { "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
2480       "MD5"    :    "b1946ac92492d2347c6235b4d2611184",    "DropboxHash"    :
2481       "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"   },
2482       "ID": "y2djkhiujf83u33", "OrigID":  "UYOJVTUW00Q1RzTDA",  "IsBucket"  :
2483       false,  "IsDir" : false, "MimeType" : "application/octet-stream", "Mod‐
2484       Time" :  "2017-05-31T16:15:57.034468261+01:00",  "Name"  :  "file.txt",
2485       "Encrypted"    :    "v0qpsdq8anpci8n929v3uu9338",   "EncryptedPath"   :
2486       "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",         "Path"         :
2487       "full/path/goes/here/file.txt", "Size" : 6, "Tier" : "hot", }
2488
2489       If  --hash  is not specified the Hashes property won't be emitted.  The
2490       types of hash can be specified with the  --hash-type  parameter  (which
2491       may be repeated).  If --hash-type is set then it implies --hash.
2492
2493       If  --no-modtime  is  specified  then  ModTime will be blank.  This can
2494       speed things up on remotes where reading the ModTime takes an extra re‐
2495       quest (e.g.  s3, swift).
2496
2497       If  --no-mimetype  is  specified then MimeType will be blank.  This can
2498       speed things up on remotes where reading the MimeType  takes  an  extra
2499       request (e.g.  s3, swift).
2500
2501       If --encrypted is not specified the Encrypted won't be emitted.
2502
2503       If  --dirs-only  is  not specified files in addition to directories are
2504       returned
2505
2506       If --files-only is not specified directories in addition to  the  files
2507       will be returned.
2508
2509       The Path field will only show folders below the remote path being list‐
2510       ed.  If "remote:path" contains the file "subfolder/file.txt", the  Path
2511       for  "file.txt" will be "subfolder/file.txt", not "remote:path/subfold‐
2512       er/file.txt".  When used without --recursive the Path  will  always  be
2513       the same as Name.
2514
2515       If the directory is a bucket in a bucket based backend, then "IsBucket"
2516       will be set to true.  This key won't be present unless it is "true".
2517
2518       The time is in RFC3339 format with up  to  nanosecond  precision.   The
2519       number  of  decimal  digits in the seconds will depend on the precision
2520       that the remote can hold the times, so if times  are  accurate  to  the
2521       nearest  millisecond  (e.g.  Google Drive) then 3 digits will always be
2522       shown ("2017-05-31T16:15:57.034+01:00") whereas if the times are  accu‐
2523       rate  to the nearest second (Dropbox, Box, WebDav, etc.) no digits will
2524       be shown ("2017-05-31T16:15:57+01:00").
2525
2526       The whole output can be processed as a JSON blob, or  alternatively  it
2527       can be processed line by line as each item is written one to a line.
2528
2529       Any of the filtering options can be applied to this command.
2530
2531       There are several related list commands
2532
2533       · ls to list size and path of objects only
2534
2535       · lsl to list modification time, size and path of objects only
2536
2537       · lsd to list directories only
2538
2539       · lsf to list objects and directories in easy to parse format
2540
2541       · lsjson to list objects and directories in JSON format
2542
2543       ls,lsl,lsd  are  designed  to be human readable.  lsf is designed to be
2544       human and machine readable.  lsjson is designed to be machine readable.
2545
2546       Note that ls and lsl recurse by default - use --max-depth 1 to stop the
2547       recursion.
2548
2549       The  other list commands lsd,lsf,lsjson do not recurse by default - use
2550       -R to make them recurse.
2551
2552       Listing a non existent directory will produce an error except  for  re‐
2553       motes which can't have empty directories (e.g.  s3, swift, or gcs - the
2554       bucket based remotes).
2555
2556              rclone lsjson remote:path [flags]
2557
2558   Options
2559                    --dirs-only               Show only directories in the listing.
2560                -M, --encrypted               Show the encrypted names.
2561                    --files-only              Show only files in the listing.
2562                    --hash                    Include hashes in the output (may take longer).
2563                    --hash-type stringArray   Show only this hash type (may be repeated).
2564                -h, --help                    help for lsjson
2565                    --no-mimetype             Don't read the mime type (can speed things up).
2566                    --no-modtime              Don't read the modification time (can speed things up).
2567                    --original                Show the ID of the underlying Object.
2568                -R, --recursive               Recurse into the listing.
2569
2570       See the global flags page (https://rclone.org/flags/)  for  global  op‐
2571       tions not listed here.
2572
2573   SEE ALSO
2574       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
2575         commands, flags and backends.
2576

rclone mount

2578       Mount the remote as file system on a mountpoint.
2579
2580   Synopsis
2581       rclone mount allows Linux, FreeBSD, macOS and Windows to mount  any  of
2582       Rclone's cloud storage systems as a file system with FUSE.
2583
2584       First  set  up  your  remote  using rclone config.  Check it works with
2585       rclone ls etc.
2586
2587       On Linux and OSX, you can either run mount in foreground mode or  back‐
2588       ground  (daemon)  mode.   Mount runs in foreground mode by default, use
2589       the --daemon flag to specify background mode.  You can only  run  mount
2590       in foreground mode on Windows.
2591
2592       On  Linux/macOS/FreeBSD  start  the mount like this, where /path/to/lo‐
2593       cal/mount is an empty existing directory:
2594
2595              rclone mount remote:path/to/files /path/to/local/mount
2596
2597       On Windows you can start a mount in different ways.  See below for  de‐
2598       tails.   The following examples will mount to an automatically assigned
2599       drive, to specific drive letter X:, to path  C:\path\to\nonexistent\di‐
2600       rectory  (which must be non-existent subdirectory of an existing parent
2601       directory or drive, and is not supported when  mounting  as  a  network
2602       drive), and the last example will mount as network share \\cloud\remote
2603       and map it to an automatically assigned drive:
2604
2605              rclone mount remote:path/to/files *
2606              rclone mount remote:path/to/files X:
2607              rclone mount remote:path/to/files C:\path\to\nonexistent\directory
2608              rclone mount remote:path/to/files \\cloud\remote
2609
2610       When the program ends while in foreground mode, either  via  Ctrl+C  or
2611       receiving a SIGINT or SIGTERM signal, the mount should be automatically
2612       stopped.
2613
2614       When running in background mode the user will have to  stop  the  mount
2615       manually:
2616
2617              # Linux
2618              fusermount -u /path/to/local/mount
2619              # OS X
2620              umount /path/to/local/mount
2621
2622       The umount operation can fail, for example when the mountpoint is busy.
2623       When that happens, it is the user's responsibility to  stop  the  mount
2624       manually.
2625
2626       The  size  of the mounted file system will be set according to informa‐
2627       tion retrieved from the remote, the same  as  returned  by  the  rclone
2628       about   (https://rclone.org/commands/rclone_about/)  command.   Remotes
2629       with unlimited storage may report the used size only, then an addition‐
2630       al  1PB  of  free  space  is  assumed.   If the remote does not support
2631       (https://rclone.org/overview/#optional-features) the about  feature  at
2632       all, then 1PB is set as both the total and the free size.
2633
2634       Note: As of rclone 1.52.2, rclone mount now requires Go version 1.13 or
2635       newer on some platforms depending on the  underlying  FUSE  library  in
2636       use.
2637
2638   Installing on Windows
2639       To  run  rclone mount on Windows, you will need to download and install
2640       WinFsp (http://www.secfs.net/winfsp/).
2641
2642       WinFsp (https://github.com/billziss-gh/winfsp) is an open  source  Win‐
2643       dows  File  System  Proxy  which makes it easy to write user space file
2644       systems for Windows.  It provides a FUSE emulation layer  which  rclone
2645       uses combination with cgofuse (https://github.com/billziss-gh/cgofuse).
2646       Both of these packages are by Bill Zissimopoulos who was  very  helpful
2647       during the implementation of rclone mount for Windows.
2648
2649   Mounting modes on windows
2650       Unlike  other operating systems, Microsoft Windows provides a different
2651       filesystem type for network and fixed drives.  It optimises  access  on
2652       the  assumption  fixed disk drives are fast and reliable, while network
2653       drives have relatively high latency and less  reliability.   Some  set‐
2654       tings  can  also  be  differentiated between the two types, for example
2655       that Windows Explorer should just display icons and not create  preview
2656       thumbnails for image and video files on network drives.
2657
2658       In  most  cases,  rclone  will mount the remote as a normal, fixed disk
2659       drive by default.  However, you can also choose to mount it as a remote
2660       network  drive,  often  described  as a network share.  If you mount an
2661       rclone remote using the default, fixed drive mode and experience  unex‐
2662       pected  program errors, freezes or other issues, consider mounting as a
2663       network drive instead.
2664
2665       When mounting as a fixed disk drive you can either mount to  an  unused
2666       drive letter, or to a path - which must be non-existent subdirectory of
2667       an existing parent directory or drive.  Using the special value *  will
2668       tell  rclone  to  automatically assign the next available drive letter,
2669       starting with Z: and moving backward.  Examples:
2670
2671              rclone mount remote:path/to/files *
2672              rclone mount remote:path/to/files X:
2673              rclone mount remote:path/to/files C:\path\to\nonexistent\directory
2674              rclone mount remote:path/to/files X:
2675
2676       Option --volname can be used to set a custom volume name for the mount‐
2677       ed file system.  The default is to use the remote name and path.
2678
2679       To  mount  as  network drive, you can add option --network-mode to your
2680       mount command.  Mounting to a directory path is not supported  in  this
2681       mode,  it  is  a limitation Windows imposes on junctions, so the remote
2682       must always be mounted to a drive letter.
2683
2684              rclone mount remote:path/to/files X: --network-mode
2685
2686       A volume name specified with --volname will be used to create the  net‐
2687       work  share path.  A complete UNC path, such as \\cloud\remote, option‐
2688       ally with path \\cloud\remote\madeup\path, will be  used  as  is.   Any
2689       other  string  will  be  used as the share part, after a default prefix
2690       \\server\.  If no volume name is specified then \\server\share will  be
2691       used.  You must make sure the volume name is unique when you are mount‐
2692       ing more than one drive, or else the  mount  command  will  fail.   The
2693       share name will treated as the volume label for the mapped drive, shown
2694       in Windows Explorer etc, while the complete \\server\share will be  re‐
2695       ported  as  the remote UNC path by net use etc, just like a normal net‐
2696       work drive mapping.
2697
2698       If you specify a full network share UNC path with --volname, this  will
2699       implicitely  set  the --network-mode option, so the following two exam‐
2700       ples have same result:
2701
2702              rclone mount remote:path/to/files X: --network-mode
2703              rclone mount remote:path/to/files X: --volname \\server\share
2704
2705       You may also specify the network share UNC path as the  mountpoint  it‐
2706       self.   Then  rclone  will automatically assign a drive letter, same as
2707       with * and use that as mountpoint, and instead use the UNC path  speci‐
2708       fied as the volume name, as if it were specified with the --volname op‐
2709       tion.  This will also implicitely set the --network-mode option.   This
2710       means the following two examples have same result:
2711
2712              rclone mount remote:path/to/files \\cloud\remote
2713              rclone mount remote:path/to/files * --volname \\cloud\remote
2714
2715       There  is  yet another way to enable network mode, and to set the share
2716       path, and that is to pass the "native" libfuse/WinFsp option  directly:
2717       --fuse-flag  --VolumePrefix=\server\share.   Note that the path must be
2718       with just a single backslash prefix in this case.
2719
2720       Note: In previous versions  of  rclone  this  was  the  only  supported
2721       method.
2722
2723       Read more about drive mapping (https://en.wikipedia.org/wiki/Drive_map
2724       ping)
2725
2726       See also Limitations section below.
2727
2728   Windows filesystem permissions
2729       The  FUSE  emulation  layer  on  Windows  must  convert   between   the
2730       POSIX-based  permission  model  used  in FUSE, and the permission model
2731       used in Windows, based on access-control lists (ACL).
2732
2733       The mounted filesystem will normally  get  three  entries  in  its  ac‐
2734       cess-control list (ACL), representing permissions for the POSIX permis‐
2735       sion scopes: Owner, group and others.  By default, the owner and  group
2736       will  be taken from the current user, and the built-in group "Everyone"
2737       will be used to represent others.  The  user/group  can  be  customized
2738       with FUSE options "UserName" and "GroupName", e.g.  -o UserName=user123
2739       -o GroupName="Authenticated Users".
2740
2741       The permissions  on  each  entry  will  be  set  according  to  options
2742       --dir-perms and --file-perms, which takes a value in traditional numer‐
2743       ic notation  (https://en.wikipedia.org/wiki/File-system_permissions#Nu‐
2744       meric_notation),  where  the  default  corresponds to --file-perms 0666
2745       --dir-perms 0777.
2746
2747       Note that the mapping of permissions is not always trivial, and the re‐
2748       sult  you see in Windows Explorer may not be exactly like you expected.
2749       For example, when setting a value that includes write access, this will
2750       be  mapped  to  individual permissions "write attributes", "write data"
2751       and "append data", but not "write extended attributes" (WinFsp does not
2752       support  extended  attributes,  see  this (https://github.com/billziss-
2753       gh/winfsp/wiki/NTFS-Compatibility)).  Windows will then  show  this  as
2754       basic permission "Special" instead of "Write", because "Write" includes
2755       the "write extended attributes" permission.
2756
2757   Windows caveats
2758       Note that drives created as Administrator are not visible by other  ac‐
2759       counts  (including the account that was elevated as Administrator).  So
2760       if you start a Windows drive from an Administrative Command Prompt  and
2761       then  try to access the same drive from Explorer (which does not run as
2762       Administrator), you will not be able to see the new drive.
2763
2764       The easiest way around this is to start the drive from a normal command
2765       prompt.   It  is also possible to start a drive from the SYSTEM account
2766       (using the WinFsp.Launcher infrastructure (https://github.com/billziss-
2767       gh/winfsp/wiki/WinFsp-Service-Architecture))  which  creates drives ac‐
2768       cessible for everyone on the system or  alternatively  using  the  nssm
2769       service manager (https://nssm.cc/usage).
2770
2771   Limitations
2772       Without  the  use of --vfs-cache-mode this can only write files sequen‐
2773       tially, it can only seek when reading.  This means that  many  applica‐
2774       tions   won't  work  with  their  files  on  an  rclone  mount  without
2775       --vfs-cache-mode writes or --vfs-cache-mode full.  See the File Caching
2776       section for more info.
2777
2778       The  bucket based remotes (e.g.  Swift, S3, Google Compute Storage, B2,
2779       Hubic) do not support the concept of empty directories, so empty direc‐
2780       tories  will have a tendency to disappear once they fall out of the di‐
2781       rectory cache.
2782
2783       Only supported on Linux, FreeBSD, OS X and Windows at the moment.
2784
2785   rclone mount vs rclone sync/copy
2786       File systems expect things to be 100% reliable, whereas  cloud  storage
2787       systems  are  a long way from 100% reliable.  The rclone sync/copy com‐
2788       mands cope with this with lots of retries.  However rclone mount  can't
2789       use retries in the same way without making local copies of the uploads.
2790       Look at the file caching for solutions to make mount more reliable.
2791
2792   Attribute caching
2793       You can use the flag --attr-timeout to set the time the  kernel  caches
2794       the attributes (size, modification time, etc.) for directory entries.
2795
2796       The default is 1s which caches files just long enough to avoid too many
2797       callbacks to rclone from the kernel.
2798
2799       In theory 0s should be the correct  value  for  filesystems  which  can
2800       change  outside the control of the kernel.  However this causes quite a
2801       few   problems   such    as    rclone    using    too    much    memory
2802       (https://github.com/rclone/rclone/issues/2157),   rclone   not  serving
2803       files to  samba  (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-
2804       issue/5112)      and     excessive     time     listing     directories
2805       (https://github.com/rclone/rclone/issues/2095#issuecomment-371141147).
2806
2807       The kernel can cache the info about a file for the time given by  --at‐
2808       tr-timeout.   You  may see corruption if the remote file changes length
2809       during this window.  It will show up as either a truncated  file  or  a
2810       file  with garbage on the end.  With --attr-timeout 1s this is very un‐
2811       likely but not impossible.  The higher you set --attr-timeout the  more
2812       likely  it is.  The default setting of "1s" is the lowest setting which
2813       mitigates the problems above.
2814
2815       If you set it higher (10s or 1m say) then the kernel will call back  to
2816       rclone  less  often  making  it  more  efficient, however there is more
2817       chance of the corruption issue above.
2818
2819       If files don't change on the remote outside of the  control  of  rclone
2820       then there is no chance of corruption.
2821
2822       This is the same as setting the attr_timeout option in mount.fuse.
2823
2824   Filters
2825       Note  that all the rclone filters can be used to select a subset of the
2826       files to be visible in the mount.
2827
2828   systemd
2829       When running rclone mount as a systemd service, it is possible  to  use
2830       Type=notify.  In this case the service will enter the started state af‐
2831       ter the mountpoint has been successfully  set  up.   Units  having  the
2832       rclone  mount service specified as a requirement will see all files and
2833       folders immediately in this mode.
2834
2835   chunked reading
2836       --vfs-read-chunk-size will enable reading the source objects in  parts.
2837       This  can reduce the used download quota for some remotes by requesting
2838       only chunks from the remote that are actually read at the  cost  of  an
2839       increased number of requests.
2840
2841       When  --vfs-read-chunk-size-limit  is  also  specified and greater than
2842       --vfs-read-chunk-size, the chunk size for each open file will get  dou‐
2843       bled for each chunk read, until the specified value is reached.  A val‐
2844       ue of -1 will disable the limit and the chunk size  will  grow  indefi‐
2845       nitely.
2846
2847       With  --vfs-read-chunk-size  100M and --vfs-read-chunk-size-limit 0 the
2848       following parts  will  be  downloaded:  0-100M,  100M-200M,  200M-300M,
2849       300M-400M  and  so on.  When --vfs-read-chunk-size-limit 500M is speci‐
2850       fied, the result would be  0-100M,  100M-300M,  300M-700M,  700M-1200M,
2851       1200M-1700M and so on.
2852
2853   VFS - Virtual File System
2854       This command uses the VFS layer.  This adapts the cloud storage objects
2855       that rclone uses into something which looks much more like a disk  fil‐
2856       ing system.
2857
2858       Cloud  storage  objects  have lots of properties which aren't like disk
2859       files - you can't extend them or write to the middle of  them,  so  the
2860       VFS  layer has to deal with that.  Because there is no one right way of
2861       doing this there are various options explained below.
2862
2863       The VFS layer also implements a directory  cache  -  this  caches  info
2864       about files and directories (but not the data) in memory.
2865
2866   VFS Directory Cache
2867       Using  the  --dir-cache-time flag, you can control how long a directory
2868       should be considered up to date and not  refreshed  from  the  backend.
2869       Changes  made  through  the mount will appear immediately or invalidate
2870       the cache.
2871
2872              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
2873              --poll-interval duration    Time to wait between polling for changes.
2874
2875       However, changes made directly on the cloud storage by the  web  inter‐
2876       face  or a different copy of rclone will only be picked up once the di‐
2877       rectory cache expires  if  the  backend  configured  does  not  support
2878       polling  for changes.  If the backend supports polling, changes will be
2879       picked up within the polling interval.
2880
2881       You can send a SIGHUP signal to rclone for it to  flush  all  directory
2882       caches,  regardless  of how old they are.  Assuming only one rclone in‐
2883       stance is running, you can reset the cache like this:
2884
2885              kill -SIGHUP $(pidof rclone)
2886
2887       If you configure rclone with a remote control (/rc) then  you  can  use
2888       rclone rc to flush the whole directory cache:
2889
2890              rclone rc vfs/forget
2891
2892       Or individual files or directories:
2893
2894              rclone rc vfs/forget file=path/to/file dir=path/to/dir
2895
2896   VFS File Buffering
2897       The  --buffer-size  flag  determines the amount of memory, that will be
2898       used to buffer data in advance.
2899
2900       Each open file will try to keep the specified amount of data in  memory
2901       at all times.  The buffered data is bound to one open file and won't be
2902       shared.
2903
2904       This flag is a upper limit for the used memory per open file.  The buf‐
2905       fer  will  only  use memory for data that is downloaded but not not yet
2906       read.  If the buffer is empty, only a small amount of  memory  will  be
2907       used.
2908
2909       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
2910       fer-size * open files.
2911
2912   VFS File Caching
2913       These flags control the VFS file caching options.  File caching is nec‐
2914       essary  to make the VFS layer appear compatible with a normal file sys‐
2915       tem.  It can be disabled at the cost of some compatibility.
2916
2917       For example you'll need to enable VFS caching if you want to  read  and
2918       write simultaneously to a file.  See below for more details.
2919
2920       Note  that the VFS cache is separate from the cache backend and you may
2921       find that you need one or the other or both.
2922
2923              --cache-dir string                   Directory rclone will use for caching.
2924              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
2925              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
2926              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
2927              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
2928              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
2929
2930       If run with -vv rclone will print the location of the file cache.   The
2931       files  are stored in the user cache file area which is OS dependent but
2932       can be controlled with --cache-dir or setting the appropriate  environ‐
2933       ment variable.
2934
2935       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
2936       higher the cache mode the more compatible rclone becomes at the cost of
2937       using disk space.
2938
2939       Note  that  files  are  written  back  to the remote only when they are
2940       closed and if they haven't been accessed for  --vfs-write-back  second.
2941       If  rclone is quit or dies with files that haven't been uploaded, these
2942       will be uploaded next time rclone is run with the same flags.
2943
2944       If using --vfs-cache-max-size note that the cache may exceed this  size
2945       for   two   reasons.    Firstly   because  it  is  only  checked  every
2946       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
2947       evicted from the cache.
2948
2949   --vfs-cache-mode off
2950       In this mode (the default) the cache will read directly from the remote
2951       and write directly to the remote without caching anything on disk.
2952
2953       This will mean some operations are not possible
2954
2955       · Files can't be opened for both read AND write
2956
2957       · Files opened for write can't be seeked
2958
2959       · Existing files opened for write must have O_TRUNC set
2960
2961       · Files open for read with O_TRUNC will be opened write only
2962
2963       · Files open for write only will behave as if O_TRUNC was supplied
2964
2965       · Open modes O_APPEND, O_TRUNC are ignored
2966
2967       · If an upload fails it can't be retried
2968
2969   --vfs-cache-mode minimal
2970       This is very similar to "off" except that files  opened  for  read  AND
2971       write will be buffered to disk.  This means that files opened for write
2972       will be a lot more compatible, but uses the minimal disk space.
2973
2974       These operations are not possible
2975
2976       · Files opened for write only can't be seeked
2977
2978       · Existing files opened for write must have O_TRUNC set
2979
2980       · Files opened for write only will ignore O_APPEND, O_TRUNC
2981
2982       · If an upload fails it can't be retried
2983
2984   --vfs-cache-mode writes
2985       In this mode files opened for read only are still  read  directly  from
2986       the remote, write only and read/write files are buffered to disk first.
2987
2988       This mode should support all normal file system operations.
2989
2990       If  an  upload fails it will be retried at exponentially increasing in‐
2991       tervals up to 1 minute.
2992
2993   --vfs-cache-mode full
2994       In this mode all reads and writes are buffered to and from disk.   When
2995       data is read from the remote this is buffered to disk as well.
2996
2997       In  this  mode  the  files in the cache will be sparse files and rclone
2998       will keep track of which bits of the files it has downloaded.
2999
3000       So if an application only reads the starts of each  file,  then  rclone
3001       will  only buffer the start of the file.  These files will appear to be
3002       their full size in the cache, but they will be sparse files  with  only
3003       the data that has been downloaded present in them.
3004
3005       This  mode should support all normal file system operations and is oth‐
3006       erwise identical to --vfs-cache-mode writes.
3007
3008       When   reading   a   file   rclone   will   read   --buffer-size   plus
3009       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
3010       whereas the --vfs-read-ahead is buffered on disk.
3011
3012       When using this mode it is recommended that --buffer-size  is  not  set
3013       too big and --vfs-read-ahead is set large if required.
3014
3015       IMPORTANT  not  all  file  systems support sparse files.  In particular
3016       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
3017       ry  is  on  a filesystem which doesn't support sparse files and it will
3018       log an ERROR message if one is detected.
3019
3020   VFS Performance
3021       These flags may be used to enable/disable features of the VFS for  per‐
3022       formance or other reasons.
3023
3024       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
3025       (or use --use-server-modtime for a slightly different effect)  as  each
3026       read of the modification time takes a transaction.
3027
3028              --no-checksum     Don't compare checksums on up/download.
3029              --no-modtime      Don't read/write the modification time (can speed things up).
3030              --no-seek         Don't allow seeking in files.
3031              --read-only       Mount read-only.
3032
3033       When  rclone  reads  files from a remote it reads them in chunks.  This
3034       means that rather than requesting the whole file rclone reads the chunk
3035       specified.   This  is advantageous because some cloud providers account
3036       for reads being all the data requested, not all the data delivered.
3037
3038       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
3039       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
3040       less it is set to "off" in which case there will be no limit.
3041
3042              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
3043              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
3044
3045       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
3046       than  seeking rclone will wait a short time for the in sequence read or
3047       write to come in.  These flags only come into effect when not using  an
3048       on disk cache file.
3049
3050              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
3051              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
3052
3053       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
3054       full), the global flag --transfers can be set to adjust the  number  of
3055       parallel  uploads of modified files from cache (the related global flag
3056       --checkers have no effect on mount).
3057
3058              --transfers int  Number of file transfers to run in parallel. (default 4)
3059
3060   VFS Case Sensitivity
3061       Linux file systems are case-sensitive: two files  can  differ  only  by
3062       case, and the exact case must be used when opening a file.
3063
3064       File  systems  in modern Windows are case-insensitive but case-preserv‐
3065       ing: although existing files can be opened using any  case,  the  exact
3066       case used to create the file is preserved and available for programs to
3067       query.  It is not allowed for two files in the same directory to differ
3068       only by case.
3069
3070       Usually  file systems on macOS are case-insensitive.  It is possible to
3071       make macOS file systems case-sensitive but that is not the default
3072
3073       The --vfs-case-insensitive mount flag controls how rclone handles these
3074       two  cases.   If  its value is "false", rclone passes file names to the
3075       mounted file system as-is.  If the flag is "true" (or appears without a
3076       value  on  command line), rclone may perform a "fixup" as explained be‐
3077       low.
3078
3079       The user may specify a file name to open/delete/rename/etc with a  case
3080       different  than  what is stored on mounted file system.  If an argument
3081       refers to an existing file with exactly the same name, then the case of
3082       the  existing  file  on the disk will be used.  However, if a file name
3083       with exactly the same name is not found but a name  differing  only  by
3084       case exists, rclone will transparently fixup the name.  This fixup hap‐
3085       pens only when an existing file is requested.  Case sensitivity of file
3086       names  created  anew  by  rclone is controlled by an underlying mounted
3087       file system.
3088
3089       Note that case sensitivity of the operating system running rclone  (the
3090       target)  may  differ  from case sensitivity of a file system mounted by
3091       rclone (the source).  The flag controls whether "fixup" is performed to
3092       satisfy the target.
3093
3094       If the flag is not provided on the command line, then its default value
3095       depends on the operating system where rclone runs:  "true"  on  Windows
3096       and macOS, "false" otherwise.  If the flag is provided without a value,
3097       then it is "true".
3098
3099              rclone mount remote:path /path/to/mountpoint [flags]
3100
3101   Options
3102                    --allow-non-empty                        Allow mounting over a non-empty directory. Not supported on Windows.
3103                    --allow-other                            Allow access to other users. Not supported on Windows.
3104                    --allow-root                             Allow access to root user. Not supported on Windows.
3105                    --async-read                             Use asynchronous reads. Not supported on Windows. (default true)
3106                    --attr-timeout duration                  Time for which file/directory attributes are cached. (default 1s)
3107                    --daemon                                 Run mount as a daemon (background mode). Not supported on Windows.
3108                    --daemon-timeout duration                Time limit for rclone to respond to kernel. Not supported on Windows.
3109                    --debug-fuse                             Debug the FUSE internals - needs -v.
3110                    --default-permissions                    Makes kernel enforce access control based on the file mode. Not supported on Windows.
3111                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
3112                    --dir-perms FileMode                     Directory permissions (default 0777)
3113                    --file-perms FileMode                    File permissions (default 0666)
3114                    --fuse-flag stringArray                  Flags or arguments to be passed direct to libfuse/WinFsp. Repeat if required.
3115                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
3116                -h, --help                                   help for mount
3117                    --max-read-ahead SizeSuffix              The number of bytes that can be prefetched for sequential reads. Not supported on Windows. (default 128k)
3118                    --network-mode                           Mount as remote network drive, instead of fixed disk drive. Supported on Windows only
3119                    --no-checksum                            Don't compare checksums on up/download.
3120                    --no-modtime                             Don't read/write the modification time (can speed things up).
3121                    --no-seek                                Don't allow seeking in files.
3122                    --noappledouble                          Ignore Apple Double (._) and .DS_Store files. Supported on OSX only. (default true)
3123                    --noapplexattr                           Ignore all "com.apple.*" extended attributes. Supported on OSX only.
3124                -o, --option stringArray                     Option for libfuse/WinFsp. Repeat if required.
3125                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
3126                    --read-only                              Mount read-only.
3127                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
3128                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows.
3129                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
3130                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
3131                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
3132                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
3133                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
3134                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
3135                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
3136                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
3137                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
3138                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
3139                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
3140                    --volname string                         Set the volume name. Supported on Windows and OSX only.
3141                    --write-back-cache                       Makes kernel buffer writes before sending them to rclone. Without this, writethrough caching is used. Not supported on Windows.
3142
3143       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3144       tions not listed here.
3145
3146   SEE ALSO
3147       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3148         commands, flags and backends.
3149

rclone moveto

3151       Move file or directory from source to dest.
3152
3153   Synopsis
3154       If source:path is a file or directory then it moves it to a file or di‐
3155       rectory named dest:path.
3156
3157       This  can  be used to rename files or upload single files to other than
3158       their existing name.  If the source is a directory then it acts exactly
3159       like the move command.
3160
3161       So
3162
3163              rclone moveto src dst
3164
3165       where  src and dst are rclone paths, either remote:path or /path/to/lo‐
3166       cal or C:.
3167
3168       This will:
3169
3170              if src is file
3171                  move it to dst, overwriting an existing file if it exists
3172              if src is directory
3173                  move it to dst, overwriting existing files if they exist
3174                  see move command for full details
3175
3176       This doesn't transfer unchanged files, testing by size and modification
3177       time or MD5SUM.  src will be deleted on successful transfer.
3178
3179       Important:  Since  this  can  cause  data  loss,  test  first  with the
3180       --dry-run or the --interactive/-i flag.
3181
3182       Note: Use the -P/--progress flag to view real-time transfer statistics.
3183
3184              rclone moveto source:path dest:path [flags]
3185
3186   Options
3187                -h, --help   help for moveto
3188
3189       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3190       tions not listed here.
3191
3192   SEE ALSO
3193       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3194         commands, flags and backends.
3195

rclone ncdu

3197       Explore a remote with a text based user interface.
3198
3199   Synopsis
3200       This displays a text based user interface allowing the navigation of  a
3201       remote.   It is most useful for answering the question - "What is using
3202       all my disk space?".
3203
3204       To make the user interface it first scans the entire remote  given  and
3205       builds  an  in  memory  representation.  rclone ncdu can be used during
3206       this scanning phase and you will  see  it  building  up  the  directory
3207       structure as it goes along.
3208
3209       Here are the keys - press '?' to toggle the help on and off
3210
3211               ↑,↓ or k,j to Move
3212               →,l to enter
3213               ←,h to return
3214               c toggle counts
3215               g toggle graph
3216               a toggle average size in directory
3217               n,s,C,A sort by name,size,count,average size
3218               d delete file/directory
3219               y copy current path to clipboard
3220               Y display current path
3221               ^L refresh screen
3222               ? to toggle help on and off
3223               q/ESC/c-C to quit
3224
3225       This  an  homage  to the ncdu tool (https://dev.yorhel.nl/ncdu) but for
3226       rclone remotes.  It is missing lots of features at the  moment  but  is
3227       useful as it stands.
3228
3229       Note  that it might take some time to delete big files/folders.  The UI
3230       won't respond in the meantime since the deletion is done synchronously.
3231
3232              rclone ncdu remote:path [flags]
3233
3234   Options
3235                -h, --help   help for ncdu
3236
3237       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3238       tions not listed here.
3239
3240   SEE ALSO
3241       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3242         commands, flags and backends.
3243

rclone obscure

3245       Obscure password for use in the rclone config file.
3246
3247   Synopsis
3248       In the rclone config file, human readable passwords are obscured.   Ob‐
3249       scuring them is done by encrypting them and writing them out in base64.
3250       This is not a secure way of encrypting these passwords  as  rclone  can
3251       decrypt them - it is to prevent "eyedropping" - namely someone seeing a
3252       password in the rclone config file by accident.
3253
3254       Many equally important things (like access tokens) are not obscured  in
3255       the config file.  However it is very hard to shoulder surf a 64 charac‐
3256       ter hex token.
3257
3258       This command can also accept a password through STDIN instead of an ar‐
3259       gument  by  passing  a  hyphen as an argument.  This will use the first
3260       line of STDIN as the password not including the trailing newline.
3261
3262       echo "secretpassword" | rclone obscure -
3263
3264       If there is no data on STDIN to read, rclone obscure  will  default  to
3265       obfuscating the hyphen itself.
3266
3267       If  you want to encrypt the config file then please use config file en‐
3268       cryption - see rclone  config  (https://rclone.org/commands/rclone_con
3269       fig/) for more info.
3270
3271              rclone obscure password [flags]
3272
3273   Options
3274                -h, --help   help for obscure
3275
3276       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3277       tions not listed here.
3278
3279   SEE ALSO
3280       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3281         commands, flags and backends.
3282

rclone rc

3284       Run a command against a running rclone.
3285
3286   Synopsis
3287       This  runs  a  command against a running rclone.  Use the --url flag to
3288       specify an non default URL to connect on.  This can be either a ":port"
3289       which  is  taken to mean "http://localhost:port" or a "host:port" which
3290       is taken to mean "http://host:port"
3291
3292       A username and password can be passed in with --user and --pass.
3293
3294       Note that --rc-addr, --rc-user, --rc-pass will be read also for  --url,
3295       --user, --pass.
3296
3297       Arguments should be passed in as parameter=value.
3298
3299       The result will be returned as a JSON object by default.
3300
3301       The --json parameter can be used to pass in a JSON blob as an input in‐
3302       stead of key=value arguments.  This is the only way of passing in  more
3303       complicated values.
3304
3305       The  -o/--opt option can be used to set a key "opt" with key, value op‐
3306       tions in the form "-o key=value" or "-o key".  It can  be  repeated  as
3307       many  times as required.  This is useful for rc commands which take the
3308       "opt" parameter which by convention is a dictionary of strings.
3309
3310              -o key=value -o key2
3311
3312       Will place this in the "opt" value
3313
3314              {"key":"value", "key2","")
3315
3316       The -a/--arg option can be used to set strings in the "arg" value.   It
3317       can  be repeated as many times as required.  This is useful for rc com‐
3318       mands which take the "arg" parameter which by convention is a  list  of
3319       strings.
3320
3321              -a value -a value2
3322
3323       Will place this in the "arg" value
3324
3325              ["value", "value2"]
3326
3327       Use  --loopback  to connect to the rclone instance running "rclone rc".
3328       This is very useful for testing  commands  without  having  to  run  an
3329       rclone rc server, e.g.:
3330
3331              rclone rc --loopback operations/about fs=/
3332
3333       Use "rclone rc" to see a list of all possible commands.
3334
3335              rclone rc commands parameter [flags]
3336
3337   Options
3338                -a, --arg stringArray   Argument placed in the "arg" array.
3339                -h, --help              help for rc
3340                    --json string       Input JSON - use instead of key=value args.
3341                    --loopback          If set connect to this rclone instance not via HTTP.
3342                    --no-output         If set, don't output the JSON result.
3343                -o, --opt stringArray   Option in the form name=value or name placed in the "opt" array.
3344                    --pass string       Password to use to connect to rclone remote control.
3345                    --url string        URL to connect to rclone remote control. (default "http://localhost:5572/")
3346                    --user string       Username to use to rclone remote control.
3347
3348       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3349       tions not listed here.
3350
3351   SEE ALSO
3352       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3353         commands, flags and backends.
3354

rclone rcat

3356       Copies standard input to file on remote.
3357
3358   Synopsis
3359       rclone rcat reads from standard input (stdin) and copies it to a single
3360       remote file.
3361
3362              echo "hello world" | rclone rcat remote:path/to/file
3363              ffmpeg - | rclone rcat remote:path/to/file
3364
3365       If the remote file already exists, it will be overwritten.
3366
3367       rcat will try to upload small files in a single request, which is  usu‐
3368       ally  more efficient than the streaming/chunked upload endpoints, which
3369       use multiple requests.  Exact behaviour depends on the remote.  What is
3370       considered  a  small file may be set through --streaming-upload-cutoff.
3371       Uploading only starts after the cutoff is reached or if the  file  ends
3372       before that.  The data must fit into RAM.  The cutoff needs to be small
3373       enough to adhere the limits of your remote, please see there.  General‐
3374       ly  speaking,  setting  this cutoff too high will decrease your perfor‐
3375       mance.
3376
3377       Note that the upload can also not be retried because the  data  is  not
3378       kept  around  until the upload succeeds.  If you need to transfer a lot
3379       of data, you're better off caching locally and then rclone move  it  to
3380       the destination.
3381
3382              rclone rcat remote:path [flags]
3383
3384   Options
3385                -h, --help   help for rcat
3386
3387       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3388       tions not listed here.
3389
3390   SEE ALSO
3391       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3392         commands, flags and backends.
3393

rclone rcd

3395       Run rclone listening to remote control commands only.
3396
3397   Synopsis
3398       This runs rclone so that it only listens to remote control commands.
3399
3400       This is useful if you are controlling rclone via the rc API.
3401
3402       If  you pass in a path to a directory, rclone will serve that directory
3403       for GET requests on the URL passed in.  It will also open  the  URL  in
3404       the browser when rclone is run.
3405
3406       See  the rc documentation (https://rclone.org/rc/) for more info on the
3407       rc flags.
3408
3409              rclone rcd <path to files to serve>* [flags]
3410
3411   Options
3412                -h, --help   help for rcd
3413
3414       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3415       tions not listed here.
3416
3417   SEE ALSO
3418       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3419         commands, flags and backends.
3420

rclone rmdirs

3422       Remove empty directories under the path.
3423
3424   Synopsis
3425       This recursively removes any empty directories  (including  directories
3426       that  only  contain  empty  directories), that it finds under the path.
3427       The root path itself will also be removed if it is  empty,  unless  you
3428       supply the --leave-root flag.
3429
3430       Use command rmdir to delete just the empty directory given by path, not
3431       recurse.
3432
3433       This is useful for tidying up remotes that rclone has  left  a  lot  of
3434       empty directories in.  For example the delete command will delete files
3435       but leave the directory structure (unless used with option --rmdirs).
3436
3437       To delete a path and any objects in it, use purge command.
3438
3439              rclone rmdirs remote:path [flags]
3440
3441   Options
3442                -h, --help         help for rmdirs
3443                    --leave-root   Do not remove root directory if empty
3444
3445       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3446       tions not listed here.
3447
3448   SEE ALSO
3449       · rclone  (https://rclone.org/commands/rclone/)  - Show help for rclone
3450         commands, flags and backends.
3451

rclone serve

3453       Serve a remote over a protocol.
3454
3455   Synopsis
3456       rclone serve is used to serve a remote over  a  given  protocol.   This
3457       command requires the use of a subcommand to specify the protocol, e.g.
3458
3459              rclone serve http remote:
3460
3461       Each subcommand has its own options which you can see in their help.
3462
3463              rclone serve <protocol> [opts] <remote> [flags]
3464
3465   Options
3466                -h, --help   help for serve
3467
3468       See  the  global  flags page (https://rclone.org/flags/) for global op‐
3469       tions not listed here.
3470
3471   SEE ALSO
3472       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
3473         commands, flags and backends.
3474
3475       · rclone  serve dlna (https://rclone.org/commands/rclone_serve_dlna/) -
3476         Serve remote:path over DLNA
3477
3478       · rclone serve  ftp  (https://rclone.org/commands/rclone_serve_ftp/)  -
3479         Serve remote:path over FTP.
3480
3481       · rclone  serve http (https://rclone.org/commands/rclone_serve_http/) -
3482         Serve the remote over HTTP.
3483
3484       · rclone         serve         restic          (https://rclone.org/com
3485         mands/rclone_serve_restic/) - Serve the remote for restic's REST API.
3486
3487       · rclone  serve sftp (https://rclone.org/commands/rclone_serve_sftp/) -
3488         Serve the remote over SFTP.
3489
3490       · rclone  serve  webdav  (https://rclone.org/commands/rclone_serve_web
3491         dav/) - Serve remote:path over webdav.
3492

rclone serve dlna

3494       Serve remote:path over DLNA
3495
3496   Synopsis
3497       rclone  serve dlna is a DLNA media server for media stored in an rclone
3498       remote.  Many devices, such as the Xbox and PlayStation, can  automati‐
3499       cally  discover  this  server  in the LAN and play audio/video from it.
3500       VLC is also supported.  Service discovery uses  UDP  multicast  packets
3501       (SSDP) and will thus only work on LANs.
3502
3503       Rclone  will  list  all  files present in the remote, without filtering
3504       based on media formats or file extensions.  Additionally, there  is  no
3505       media  transcoding  support.   This  means that some players might show
3506       files that they are not able to play back correctly.
3507
3508   Server options
3509       Use --addr to specify which IP address and port the server should  lis‐
3510       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
3511
3512       Use  --name  to  choose  the  friendly server name, which is by default
3513       "rclone (hostname)".
3514
3515       Use --log-trace in conjunction with -vv to enable additional debug log‐
3516       ging of all UPNP traffic.
3517
3518   VFS - Virtual File System
3519       This command uses the VFS layer.  This adapts the cloud storage objects
3520       that rclone uses into something which looks much more like a disk  fil‐
3521       ing system.
3522
3523       Cloud  storage  objects  have lots of properties which aren't like disk
3524       files - you can't extend them or write to the middle of  them,  so  the
3525       VFS  layer has to deal with that.  Because there is no one right way of
3526       doing this there are various options explained below.
3527
3528       The VFS layer also implements a directory  cache  -  this  caches  info
3529       about files and directories (but not the data) in memory.
3530
3531   VFS Directory Cache
3532       Using  the  --dir-cache-time flag, you can control how long a directory
3533       should be considered up to date and not  refreshed  from  the  backend.
3534       Changes  made  through  the mount will appear immediately or invalidate
3535       the cache.
3536
3537              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
3538              --poll-interval duration    Time to wait between polling for changes.
3539
3540       However, changes made directly on the cloud storage by the  web  inter‐
3541       face  or a different copy of rclone will only be picked up once the di‐
3542       rectory cache expires  if  the  backend  configured  does  not  support
3543       polling  for changes.  If the backend supports polling, changes will be
3544       picked up within the polling interval.
3545
3546       You can send a SIGHUP signal to rclone for it to  flush  all  directory
3547       caches,  regardless  of how old they are.  Assuming only one rclone in‐
3548       stance is running, you can reset the cache like this:
3549
3550              kill -SIGHUP $(pidof rclone)
3551
3552       If you configure rclone with a remote control (/rc) then  you  can  use
3553       rclone rc to flush the whole directory cache:
3554
3555              rclone rc vfs/forget
3556
3557       Or individual files or directories:
3558
3559              rclone rc vfs/forget file=path/to/file dir=path/to/dir
3560
3561   VFS File Buffering
3562       The  --buffer-size  flag  determines the amount of memory, that will be
3563       used to buffer data in advance.
3564
3565       Each open file will try to keep the specified amount of data in  memory
3566       at all times.  The buffered data is bound to one open file and won't be
3567       shared.
3568
3569       This flag is a upper limit for the used memory per open file.  The buf‐
3570       fer  will  only  use memory for data that is downloaded but not not yet
3571       read.  If the buffer is empty, only a small amount of  memory  will  be
3572       used.
3573
3574       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
3575       fer-size * open files.
3576
3577   VFS File Caching
3578       These flags control the VFS file caching options.  File caching is nec‐
3579       essary  to make the VFS layer appear compatible with a normal file sys‐
3580       tem.  It can be disabled at the cost of some compatibility.
3581
3582       For example you'll need to enable VFS caching if you want to  read  and
3583       write simultaneously to a file.  See below for more details.
3584
3585       Note  that the VFS cache is separate from the cache backend and you may
3586       find that you need one or the other or both.
3587
3588              --cache-dir string                   Directory rclone will use for caching.
3589              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
3590              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
3591              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
3592              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
3593              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
3594
3595       If run with -vv rclone will print the location of the file cache.   The
3596       files  are stored in the user cache file area which is OS dependent but
3597       can be controlled with --cache-dir or setting the appropriate  environ‐
3598       ment variable.
3599
3600       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
3601       higher the cache mode the more compatible rclone becomes at the cost of
3602       using disk space.
3603
3604       Note  that  files  are  written  back  to the remote only when they are
3605       closed and if they haven't been accessed for  --vfs-write-back  second.
3606       If  rclone is quit or dies with files that haven't been uploaded, these
3607       will be uploaded next time rclone is run with the same flags.
3608
3609       If using --vfs-cache-max-size note that the cache may exceed this  size
3610       for   two   reasons.    Firstly   because  it  is  only  checked  every
3611       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
3612       evicted from the cache.
3613
3614   --vfs-cache-mode off
3615       In this mode (the default) the cache will read directly from the remote
3616       and write directly to the remote without caching anything on disk.
3617
3618       This will mean some operations are not possible
3619
3620       · Files can't be opened for both read AND write
3621
3622       · Files opened for write can't be seeked
3623
3624       · Existing files opened for write must have O_TRUNC set
3625
3626       · Files open for read with O_TRUNC will be opened write only
3627
3628       · Files open for write only will behave as if O_TRUNC was supplied
3629
3630       · Open modes O_APPEND, O_TRUNC are ignored
3631
3632       · If an upload fails it can't be retried
3633
3634   --vfs-cache-mode minimal
3635       This is very similar to "off" except that files  opened  for  read  AND
3636       write will be buffered to disk.  This means that files opened for write
3637       will be a lot more compatible, but uses the minimal disk space.
3638
3639       These operations are not possible
3640
3641       · Files opened for write only can't be seeked
3642
3643       · Existing files opened for write must have O_TRUNC set
3644
3645       · Files opened for write only will ignore O_APPEND, O_TRUNC
3646
3647       · If an upload fails it can't be retried
3648
3649   --vfs-cache-mode writes
3650       In this mode files opened for read only are still  read  directly  from
3651       the remote, write only and read/write files are buffered to disk first.
3652
3653       This mode should support all normal file system operations.
3654
3655       If  an  upload fails it will be retried at exponentially increasing in‐
3656       tervals up to 1 minute.
3657
3658   --vfs-cache-mode full
3659       In this mode all reads and writes are buffered to and from disk.   When
3660       data is read from the remote this is buffered to disk as well.
3661
3662       In  this  mode  the  files in the cache will be sparse files and rclone
3663       will keep track of which bits of the files it has downloaded.
3664
3665       So if an application only reads the starts of each  file,  then  rclone
3666       will  only buffer the start of the file.  These files will appear to be
3667       their full size in the cache, but they will be sparse files  with  only
3668       the data that has been downloaded present in them.
3669
3670       This  mode should support all normal file system operations and is oth‐
3671       erwise identical to --vfs-cache-mode writes.
3672
3673       When   reading   a   file   rclone   will   read   --buffer-size   plus
3674       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
3675       whereas the --vfs-read-ahead is buffered on disk.
3676
3677       When using this mode it is recommended that --buffer-size  is  not  set
3678       too big and --vfs-read-ahead is set large if required.
3679
3680       IMPORTANT  not  all  file  systems support sparse files.  In particular
3681       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
3682       ry  is  on  a filesystem which doesn't support sparse files and it will
3683       log an ERROR message if one is detected.
3684
3685   VFS Performance
3686       These flags may be used to enable/disable features of the VFS for  per‐
3687       formance or other reasons.
3688
3689       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
3690       (or use --use-server-modtime for a slightly different effect)  as  each
3691       read of the modification time takes a transaction.
3692
3693              --no-checksum     Don't compare checksums on up/download.
3694              --no-modtime      Don't read/write the modification time (can speed things up).
3695              --no-seek         Don't allow seeking in files.
3696              --read-only       Mount read-only.
3697
3698       When  rclone  reads  files from a remote it reads them in chunks.  This
3699       means that rather than requesting the whole file rclone reads the chunk
3700       specified.   This  is advantageous because some cloud providers account
3701       for reads being all the data requested, not all the data delivered.
3702
3703       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
3704       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
3705       less it is set to "off" in which case there will be no limit.
3706
3707              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
3708              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
3709
3710       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
3711       than  seeking rclone will wait a short time for the in sequence read or
3712       write to come in.  These flags only come into effect when not using  an
3713       on disk cache file.
3714
3715              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
3716              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
3717
3718       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
3719       full), the global flag --transfers can be set to adjust the  number  of
3720       parallel  uploads of modified files from cache (the related global flag
3721       --checkers have no effect on mount).
3722
3723              --transfers int  Number of file transfers to run in parallel. (default 4)
3724
3725   VFS Case Sensitivity
3726       Linux file systems are case-sensitive: two files  can  differ  only  by
3727       case, and the exact case must be used when opening a file.
3728
3729       File  systems  in modern Windows are case-insensitive but case-preserv‐
3730       ing: although existing files can be opened using any  case,  the  exact
3731       case used to create the file is preserved and available for programs to
3732       query.  It is not allowed for two files in the same directory to differ
3733       only by case.
3734
3735       Usually  file systems on macOS are case-insensitive.  It is possible to
3736       make macOS file systems case-sensitive but that is not the default
3737
3738       The --vfs-case-insensitive mount flag controls how rclone handles these
3739       two  cases.   If  its value is "false", rclone passes file names to the
3740       mounted file system as-is.  If the flag is "true" (or appears without a
3741       value  on  command line), rclone may perform a "fixup" as explained be‐
3742       low.
3743
3744       The user may specify a file name to open/delete/rename/etc with a  case
3745       different  than  what is stored on mounted file system.  If an argument
3746       refers to an existing file with exactly the same name, then the case of
3747       the  existing  file  on the disk will be used.  However, if a file name
3748       with exactly the same name is not found but a name  differing  only  by
3749       case exists, rclone will transparently fixup the name.  This fixup hap‐
3750       pens only when an existing file is requested.  Case sensitivity of file
3751       names  created  anew  by  rclone is controlled by an underlying mounted
3752       file system.
3753
3754       Note that case sensitivity of the operating system running rclone  (the
3755       target)  may  differ  from case sensitivity of a file system mounted by
3756       rclone (the source).  The flag controls whether "fixup" is performed to
3757       satisfy the target.
3758
3759       If the flag is not provided on the command line, then its default value
3760       depends on the operating system where rclone runs:  "true"  on  Windows
3761       and macOS, "false" otherwise.  If the flag is provided without a value,
3762       then it is "true".
3763
3764              rclone serve dlna remote:path [flags]
3765
3766   Options
3767                    --addr string                            ip:port or :port to bind the DLNA http server to. (default ":7879")
3768                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
3769                    --dir-perms FileMode                     Directory permissions (default 0777)
3770                    --file-perms FileMode                    File permissions (default 0666)
3771                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
3772                -h, --help                                   help for dlna
3773                    --log-trace                              enable trace logging of SOAP traffic
3774                    --name string                            name of DLNA server
3775                    --no-checksum                            Don't compare checksums on up/download.
3776                    --no-modtime                             Don't read/write the modification time (can speed things up).
3777                    --no-seek                                Don't allow seeking in files.
3778                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
3779                    --read-only                              Mount read-only.
3780                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
3781                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
3782                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
3783                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
3784                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
3785                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
3786                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
3787                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
3788                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
3789                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
3790                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
3791                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
3792                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
3793
3794       See the global flags page (https://rclone.org/flags/)  for  global  op‐
3795       tions not listed here.
3796
3797   SEE ALSO
3798       · rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
3799         remote over a protocol.
3800

rclone serve ftp

3802       Serve remote:path over FTP.
3803
3804   Synopsis
3805       rclone serve ftp implements a basic ftp server to serve the remote over
3806       FTP  protocol.   This can be viewed with a ftp client or you can make a
3807       remote of type ftp to read and write it.
3808
3809   Server options
3810       Use --addr to specify which IP address and port the server should  lis‐
3811       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
3812       By default it only listens on localhost.  You can use port  :0  to  let
3813       the OS choose an available port.
3814
3815       If  you  set  --addr to listen on a public or LAN accessible IP address
3816       then using Authentication is advised - see the next section for info.
3817
3818   Authentication
3819       By default this will serve files without needing a login.
3820
3821       You can set a single username and password with the --user  and  --pass
3822       flags.
3823
3824   VFS - Virtual File System
3825       This command uses the VFS layer.  This adapts the cloud storage objects
3826       that rclone uses into something which looks much more like a disk  fil‐
3827       ing system.
3828
3829       Cloud  storage  objects  have lots of properties which aren't like disk
3830       files - you can't extend them or write to the middle of  them,  so  the
3831       VFS  layer has to deal with that.  Because there is no one right way of
3832       doing this there are various options explained below.
3833
3834       The VFS layer also implements a directory  cache  -  this  caches  info
3835       about files and directories (but not the data) in memory.
3836
3837   VFS Directory Cache
3838       Using  the  --dir-cache-time flag, you can control how long a directory
3839       should be considered up to date and not  refreshed  from  the  backend.
3840       Changes  made  through  the mount will appear immediately or invalidate
3841       the cache.
3842
3843              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
3844              --poll-interval duration    Time to wait between polling for changes.
3845
3846       However, changes made directly on the cloud storage by the  web  inter‐
3847       face  or a different copy of rclone will only be picked up once the di‐
3848       rectory cache expires  if  the  backend  configured  does  not  support
3849       polling  for changes.  If the backend supports polling, changes will be
3850       picked up within the polling interval.
3851
3852       You can send a SIGHUP signal to rclone for it to  flush  all  directory
3853       caches,  regardless  of how old they are.  Assuming only one rclone in‐
3854       stance is running, you can reset the cache like this:
3855
3856              kill -SIGHUP $(pidof rclone)
3857
3858       If you configure rclone with a remote control (/rc) then  you  can  use
3859       rclone rc to flush the whole directory cache:
3860
3861              rclone rc vfs/forget
3862
3863       Or individual files or directories:
3864
3865              rclone rc vfs/forget file=path/to/file dir=path/to/dir
3866
3867   VFS File Buffering
3868       The  --buffer-size  flag  determines the amount of memory, that will be
3869       used to buffer data in advance.
3870
3871       Each open file will try to keep the specified amount of data in  memory
3872       at all times.  The buffered data is bound to one open file and won't be
3873       shared.
3874
3875       This flag is a upper limit for the used memory per open file.  The buf‐
3876       fer  will  only  use memory for data that is downloaded but not not yet
3877       read.  If the buffer is empty, only a small amount of  memory  will  be
3878       used.
3879
3880       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
3881       fer-size * open files.
3882
3883   VFS File Caching
3884       These flags control the VFS file caching options.  File caching is nec‐
3885       essary  to make the VFS layer appear compatible with a normal file sys‐
3886       tem.  It can be disabled at the cost of some compatibility.
3887
3888       For example you'll need to enable VFS caching if you want to  read  and
3889       write simultaneously to a file.  See below for more details.
3890
3891       Note  that the VFS cache is separate from the cache backend and you may
3892       find that you need one or the other or both.
3893
3894              --cache-dir string                   Directory rclone will use for caching.
3895              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
3896              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
3897              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
3898              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
3899              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
3900
3901       If run with -vv rclone will print the location of the file cache.   The
3902       files  are stored in the user cache file area which is OS dependent but
3903       can be controlled with --cache-dir or setting the appropriate  environ‐
3904       ment variable.
3905
3906       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
3907       higher the cache mode the more compatible rclone becomes at the cost of
3908       using disk space.
3909
3910       Note  that  files  are  written  back  to the remote only when they are
3911       closed and if they haven't been accessed for  --vfs-write-back  second.
3912       If  rclone is quit or dies with files that haven't been uploaded, these
3913       will be uploaded next time rclone is run with the same flags.
3914
3915       If using --vfs-cache-max-size note that the cache may exceed this  size
3916       for   two   reasons.    Firstly   because  it  is  only  checked  every
3917       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
3918       evicted from the cache.
3919
3920   --vfs-cache-mode off
3921       In this mode (the default) the cache will read directly from the remote
3922       and write directly to the remote without caching anything on disk.
3923
3924       This will mean some operations are not possible
3925
3926       · Files can't be opened for both read AND write
3927
3928       · Files opened for write can't be seeked
3929
3930       · Existing files opened for write must have O_TRUNC set
3931
3932       · Files open for read with O_TRUNC will be opened write only
3933
3934       · Files open for write only will behave as if O_TRUNC was supplied
3935
3936       · Open modes O_APPEND, O_TRUNC are ignored
3937
3938       · If an upload fails it can't be retried
3939
3940   --vfs-cache-mode minimal
3941       This is very similar to "off" except that files  opened  for  read  AND
3942       write will be buffered to disk.  This means that files opened for write
3943       will be a lot more compatible, but uses the minimal disk space.
3944
3945       These operations are not possible
3946
3947       · Files opened for write only can't be seeked
3948
3949       · Existing files opened for write must have O_TRUNC set
3950
3951       · Files opened for write only will ignore O_APPEND, O_TRUNC
3952
3953       · If an upload fails it can't be retried
3954
3955   --vfs-cache-mode writes
3956       In this mode files opened for read only are still  read  directly  from
3957       the remote, write only and read/write files are buffered to disk first.
3958
3959       This mode should support all normal file system operations.
3960
3961       If  an  upload fails it will be retried at exponentially increasing in‐
3962       tervals up to 1 minute.
3963
3964   --vfs-cache-mode full
3965       In this mode all reads and writes are buffered to and from disk.   When
3966       data is read from the remote this is buffered to disk as well.
3967
3968       In  this  mode  the  files in the cache will be sparse files and rclone
3969       will keep track of which bits of the files it has downloaded.
3970
3971       So if an application only reads the starts of each  file,  then  rclone
3972       will  only buffer the start of the file.  These files will appear to be
3973       their full size in the cache, but they will be sparse files  with  only
3974       the data that has been downloaded present in them.
3975
3976       This  mode should support all normal file system operations and is oth‐
3977       erwise identical to --vfs-cache-mode writes.
3978
3979       When   reading   a   file   rclone   will   read   --buffer-size   plus
3980       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
3981       whereas the --vfs-read-ahead is buffered on disk.
3982
3983       When using this mode it is recommended that --buffer-size  is  not  set
3984       too big and --vfs-read-ahead is set large if required.
3985
3986       IMPORTANT  not  all  file  systems support sparse files.  In particular
3987       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
3988       ry  is  on  a filesystem which doesn't support sparse files and it will
3989       log an ERROR message if one is detected.
3990
3991   VFS Performance
3992       These flags may be used to enable/disable features of the VFS for  per‐
3993       formance or other reasons.
3994
3995       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
3996       (or use --use-server-modtime for a slightly different effect)  as  each
3997       read of the modification time takes a transaction.
3998
3999              --no-checksum     Don't compare checksums on up/download.
4000              --no-modtime      Don't read/write the modification time (can speed things up).
4001              --no-seek         Don't allow seeking in files.
4002              --read-only       Mount read-only.
4003
4004       When  rclone  reads  files from a remote it reads them in chunks.  This
4005       means that rather than requesting the whole file rclone reads the chunk
4006       specified.   This  is advantageous because some cloud providers account
4007       for reads being all the data requested, not all the data delivered.
4008
4009       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
4010       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
4011       less it is set to "off" in which case there will be no limit.
4012
4013              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
4014              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
4015
4016       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
4017       than  seeking rclone will wait a short time for the in sequence read or
4018       write to come in.  These flags only come into effect when not using  an
4019       on disk cache file.
4020
4021              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
4022              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
4023
4024       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
4025       full), the global flag --transfers can be set to adjust the  number  of
4026       parallel  uploads of modified files from cache (the related global flag
4027       --checkers have no effect on mount).
4028
4029              --transfers int  Number of file transfers to run in parallel. (default 4)
4030
4031   VFS Case Sensitivity
4032       Linux file systems are case-sensitive: two files  can  differ  only  by
4033       case, and the exact case must be used when opening a file.
4034
4035       File  systems  in modern Windows are case-insensitive but case-preserv‐
4036       ing: although existing files can be opened using any  case,  the  exact
4037       case used to create the file is preserved and available for programs to
4038       query.  It is not allowed for two files in the same directory to differ
4039       only by case.
4040
4041       Usually  file systems on macOS are case-insensitive.  It is possible to
4042       make macOS file systems case-sensitive but that is not the default
4043
4044       The --vfs-case-insensitive mount flag controls how rclone handles these
4045       two  cases.   If  its value is "false", rclone passes file names to the
4046       mounted file system as-is.  If the flag is "true" (or appears without a
4047       value  on  command line), rclone may perform a "fixup" as explained be‐
4048       low.
4049
4050       The user may specify a file name to open/delete/rename/etc with a  case
4051       different  than  what is stored on mounted file system.  If an argument
4052       refers to an existing file with exactly the same name, then the case of
4053       the  existing  file  on the disk will be used.  However, if a file name
4054       with exactly the same name is not found but a name  differing  only  by
4055       case exists, rclone will transparently fixup the name.  This fixup hap‐
4056       pens only when an existing file is requested.  Case sensitivity of file
4057       names  created  anew  by  rclone is controlled by an underlying mounted
4058       file system.
4059
4060       Note that case sensitivity of the operating system running rclone  (the
4061       target)  may  differ  from case sensitivity of a file system mounted by
4062       rclone (the source).  The flag controls whether "fixup" is performed to
4063       satisfy the target.
4064
4065       If the flag is not provided on the command line, then its default value
4066       depends on the operating system where rclone runs:  "true"  on  Windows
4067       and macOS, "false" otherwise.  If the flag is provided without a value,
4068       then it is "true".
4069
4070   Auth Proxy
4071       If you supply the parameter --auth-proxy /path/to/program  then  rclone
4072       will  use  that  program to generate backends on the fly which then are
4073       used to authenticate incoming requests.  This uses a simple JSON  based
4074       protocol with input on STDIN and output on STDOUT.
4075
4076       PLEASE  NOTE: --auth-proxy and --authorized-keys cannot be used togeth‐
4077       er, if --auth-proxy is set the authorized keys option will be ignored.
4078
4079       There      is      an      example      program       bin/test_proxy.py
4080       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
4081       rclone source code.
4082
4083       The program's job is to take a user and pass  on  the  input  and  turn
4084       those  into  the  config  for a backend on STDOUT in JSON format.  This
4085       config will have any default parameters for the backend added,  but  it
4086       won't  use configuration from environment variables or command line op‐
4087       tions - it is the job of the proxy program to make a complete config.
4088
4089       This config generated must have this extra parameter - _root - root  to
4090       use for the backend
4091
4092       And it may have this parameter - _obscure - comma separated strings for
4093       parameters to obscure
4094
4095       If password authentication was used by the client, input to  the  proxy
4096       process (on STDIN) would look similar to this:
4097
4098              {
4099                  "user": "me",
4100                  "pass": "mypassword"
4101              }
4102
4103       If public-key authentication was used by the client, input to the proxy
4104       process (on STDIN) would look similar to this:
4105
4106              {
4107                  "user": "me",
4108                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
4109              }
4110
4111       And as an example return this on STDOUT
4112
4113              {
4114                  "type": "sftp",
4115                  "_root": "",
4116                  "_obscure": "pass",
4117                  "user": "me",
4118                  "pass": "mypassword",
4119                  "host": "sftp.example.com"
4120              }
4121
4122       This would mean that an SFTP backend would be created on  the  fly  for
4123       the  user and pass/public_key returned in the output to the host given.
4124       Note that since _obscure is set to pass, rclone will obscure  the  pass
4125       parameter before creating the backend (which is required for sftp back‐
4126       ends).
4127
4128       The program can manipulate the supplied user in any way, for example to
4129       make  proxy to many different sftp backends, you could make the user be
4130       user@example.com and then set the host to example.com in the output and
4131       the  user  to  user.   For security you'd probably want to restrict the
4132       host to a limited list.
4133
4134       Note that an internal cache is keyed on user so only use that for  con‐
4135       figuration,  don't  use  pass or public_key.  This also means that if a
4136       user's password or public-key is changed the cache will need to  expire
4137       (which takes 5 mins) before it takes effect.
4138
4139       This  can be used to build general purpose proxies to any kind of back‐
4140       end that rclone supports.
4141
4142              rclone serve ftp remote:path [flags]
4143
4144   Options
4145                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:2121")
4146                    --auth-proxy string                      A program to use to create the backend from the auth.
4147                    --cert string                            TLS PEM key (concatenation of certificate and CA certificate)
4148                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
4149                    --dir-perms FileMode                     Directory permissions (default 0777)
4150                    --file-perms FileMode                    File permissions (default 0666)
4151                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
4152                -h, --help                                   help for ftp
4153                    --key string                             TLS PEM Private key
4154                    --no-checksum                            Don't compare checksums on up/download.
4155                    --no-modtime                             Don't read/write the modification time (can speed things up).
4156                    --no-seek                                Don't allow seeking in files.
4157                    --pass string                            Password for authentication. (empty value allow every password)
4158                    --passive-port string                    Passive port range to use. (default "30000-32000")
4159                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
4160                    --public-ip string                       Public IP address to advertise for passive connections.
4161                    --read-only                              Mount read-only.
4162                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
4163                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
4164                    --user string                            User name for authentication. (default "anonymous")
4165                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
4166                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
4167                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
4168                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
4169                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
4170                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
4171                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
4172                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
4173                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
4174                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
4175                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
4176
4177       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4178       tions not listed here.
4179
4180   SEE ALSO
4181       · rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
4182         remote over a protocol.
4183

rclone serve http

4185       Serve the remote over HTTP.
4186
4187   Synopsis
4188       rclone serve http implements a basic web server  to  serve  the  remote
4189       over  HTTP.   This can be viewed in a web browser or you can make a re‐
4190       mote of type http read from it.
4191
4192       You can use the filter flags (e.g.  --include,  --exclude)  to  control
4193       what is served.
4194
4195       The server will log errors.  Use -v to see access logs.
4196
4197       --bwlimit will be respected for file transfers.  Use --stats to control
4198       the stats printing.
4199
4200   Server options
4201       Use --addr to specify which IP address and port the server should  lis‐
4202       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
4203       By default it only listens on localhost.  You can use port  :0  to  let
4204       the OS choose an available port.
4205
4206       If  you  set  --addr to listen on a public or LAN accessible IP address
4207       then using Authentication is advised - see the next section for info.
4208
4209       --server-read-timeout and --server-write-timeout can be used to control
4210       the  timeouts  on  the  server.  Note that this is the total time for a
4211       transfer.
4212
4213       --max-header-bytes controls the maximum number of bytes the server will
4214       accept in the HTTP header.
4215
4216       --baseurl  controls the URL prefix that rclone serves from.  By default
4217       rclone will serve from the root.  If you used --baseurl "/rclone"  then
4218       rclone would serve from a URL starting with "/rclone/".  This is useful
4219       if you wish to proxy rclone serve.  Rclone automatically inserts  lead‐
4220       ing  and  trailing  "/"  on --baseurl, so --baseurl "rclone", --baseurl
4221       "/rclone" and --baseurl "/rclone/" are all treated identically.
4222
4223       --template allows a user to specify a custom markup template  for  http
4224       and webdav serve functions.  The server exports the following markup to
4225       be used within the template to server pages:
4226
4227       Parameter                             Description
4228       ──────────────────────────────────────────────────────────────────────────
4229       .Name                                 The full path of a file/directory.
4230       .Title                                Directory listing of .Name
4231       .Sort                                 The current  sort  used.   This  is
4232                                             changeable via ?sort= parameter
4233                                             Sort                       Options:
4234                                             namedirfirst,name,size,time    (de‐
4235                                             fault namedirfirst)
4236       .Order                                The current ordering used.  This is
4237                                             changeable via ?order= parameter
4238                                             Order  Options:  asc,desc  (default
4239                                             asc)
4240       .Query                                Currently unused.
4241       .Breadcrumb                           Allows for creating a relative nav‐
4242                                             igation
4243       -- .Link                              The relative to the  root  link  of
4244                                             the Text.
4245       -- .Text                              The Name of the directory.
4246       .Entries                              Information    about   a   specific
4247                                             file/directory.
4248       -- .URL                               The 'url' of an entry.
4249       -- .Leaf                              Currently same as 'URL' but intend‐
4250                                             ed to be 'just' the name.
4251       -- .IsDir                             Boolean for if an entry is a direc‐
4252                                             tory or not.
4253       -- .Size                              Size in Bytes of the entry.
4254       -- .ModTime                           The UTC timestamp of an entry.
4255
4256   Authentication
4257       By default this will serve files without needing a login.
4258
4259       You can either use an htpasswd file which can take lots  of  users,  or
4260       set a single username and password with the --user and --pass flags.
4261
4262       Use  --htpasswd /path/to/htpasswd to provide an htpasswd file.  This is
4263       in standard apache format and supports MD5, SHA1 and BCrypt  for  basic
4264       authentication.  Bcrypt is recommended.
4265
4266       To create an htpasswd file:
4267
4268              touch htpasswd
4269              htpasswd -B htpasswd user
4270              htpasswd -B htpasswd anotherUser
4271
4272       The password file can be updated while rclone is running.
4273
4274       Use --realm to set the authentication realm.
4275
4276   SSL/TLS
4277       By  default  this will serve over http.  If you want you can serve over
4278       https.  You will need to supply the --cert and  --key  flags.   If  you
4279       wish  to  do  client  side certificate validation then you will need to
4280       supply --client-ca also.
4281
4282       --cert should be either a PEM encoded certificate or a concatenation of
4283       that  with the CA certificate.  --key should be the PEM encoded private
4284       key and --client-ca should be the PEM encoded  client  certificate  au‐
4285       thority certificate.
4286
4287   VFS - Virtual File System
4288       This command uses the VFS layer.  This adapts the cloud storage objects
4289       that rclone uses into something which looks much more like a disk  fil‐
4290       ing system.
4291
4292       Cloud  storage  objects  have lots of properties which aren't like disk
4293       files - you can't extend them or write to the middle of  them,  so  the
4294       VFS  layer has to deal with that.  Because there is no one right way of
4295       doing this there are various options explained below.
4296
4297       The VFS layer also implements a directory  cache  -  this  caches  info
4298       about files and directories (but not the data) in memory.
4299
4300   VFS Directory Cache
4301       Using  the  --dir-cache-time flag, you can control how long a directory
4302       should be considered up to date and not  refreshed  from  the  backend.
4303       Changes  made  through  the mount will appear immediately or invalidate
4304       the cache.
4305
4306              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
4307              --poll-interval duration    Time to wait between polling for changes.
4308
4309       However, changes made directly on the cloud storage by the  web  inter‐
4310       face  or a different copy of rclone will only be picked up once the di‐
4311       rectory cache expires  if  the  backend  configured  does  not  support
4312       polling  for changes.  If the backend supports polling, changes will be
4313       picked up within the polling interval.
4314
4315       You can send a SIGHUP signal to rclone for it to  flush  all  directory
4316       caches,  regardless  of how old they are.  Assuming only one rclone in‐
4317       stance is running, you can reset the cache like this:
4318
4319              kill -SIGHUP $(pidof rclone)
4320
4321       If you configure rclone with a remote control (/rc) then  you  can  use
4322       rclone rc to flush the whole directory cache:
4323
4324              rclone rc vfs/forget
4325
4326       Or individual files or directories:
4327
4328              rclone rc vfs/forget file=path/to/file dir=path/to/dir
4329
4330   VFS File Buffering
4331       The  --buffer-size  flag  determines the amount of memory, that will be
4332       used to buffer data in advance.
4333
4334       Each open file will try to keep the specified amount of data in  memory
4335       at all times.  The buffered data is bound to one open file and won't be
4336       shared.
4337
4338       This flag is a upper limit for the used memory per open file.  The buf‐
4339       fer  will  only  use memory for data that is downloaded but not not yet
4340       read.  If the buffer is empty, only a small amount of  memory  will  be
4341       used.
4342
4343       The  maximum  memory  used  by rclone for buffering can be up to --buf‐
4344       fer-size * open files.
4345
4346   VFS File Caching
4347       These flags control the VFS file caching options.  File caching is nec‐
4348       essary  to make the VFS layer appear compatible with a normal file sys‐
4349       tem.  It can be disabled at the cost of some compatibility.
4350
4351       For example you'll need to enable VFS caching if you want to  read  and
4352       write simultaneously to a file.  See below for more details.
4353
4354       Note  that the VFS cache is separate from the cache backend and you may
4355       find that you need one or the other or both.
4356
4357              --cache-dir string                   Directory rclone will use for caching.
4358              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
4359              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
4360              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
4361              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
4362              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
4363
4364       If run with -vv rclone will print the location of the file cache.   The
4365       files  are stored in the user cache file area which is OS dependent but
4366       can be controlled with --cache-dir or setting the appropriate  environ‐
4367       ment variable.
4368
4369       The  cache  has  4  different  modes selected by --vfs-cache-mode.  The
4370       higher the cache mode the more compatible rclone becomes at the cost of
4371       using disk space.
4372
4373       Note  that  files  are  written  back  to the remote only when they are
4374       closed and if they haven't been accessed for  --vfs-write-back  second.
4375       If  rclone is quit or dies with files that haven't been uploaded, these
4376       will be uploaded next time rclone is run with the same flags.
4377
4378       If using --vfs-cache-max-size note that the cache may exceed this  size
4379       for   two   reasons.    Firstly   because  it  is  only  checked  every
4380       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
4381       evicted from the cache.
4382
4383   --vfs-cache-mode off
4384       In this mode (the default) the cache will read directly from the remote
4385       and write directly to the remote without caching anything on disk.
4386
4387       This will mean some operations are not possible
4388
4389       · Files can't be opened for both read AND write
4390
4391       · Files opened for write can't be seeked
4392
4393       · Existing files opened for write must have O_TRUNC set
4394
4395       · Files open for read with O_TRUNC will be opened write only
4396
4397       · Files open for write only will behave as if O_TRUNC was supplied
4398
4399       · Open modes O_APPEND, O_TRUNC are ignored
4400
4401       · If an upload fails it can't be retried
4402
4403   --vfs-cache-mode minimal
4404       This is very similar to "off" except that files  opened  for  read  AND
4405       write will be buffered to disk.  This means that files opened for write
4406       will be a lot more compatible, but uses the minimal disk space.
4407
4408       These operations are not possible
4409
4410       · Files opened for write only can't be seeked
4411
4412       · Existing files opened for write must have O_TRUNC set
4413
4414       · Files opened for write only will ignore O_APPEND, O_TRUNC
4415
4416       · If an upload fails it can't be retried
4417
4418   --vfs-cache-mode writes
4419       In this mode files opened for read only are still  read  directly  from
4420       the remote, write only and read/write files are buffered to disk first.
4421
4422       This mode should support all normal file system operations.
4423
4424       If  an  upload fails it will be retried at exponentially increasing in‐
4425       tervals up to 1 minute.
4426
4427   --vfs-cache-mode full
4428       In this mode all reads and writes are buffered to and from disk.   When
4429       data is read from the remote this is buffered to disk as well.
4430
4431       In  this  mode  the  files in the cache will be sparse files and rclone
4432       will keep track of which bits of the files it has downloaded.
4433
4434       So if an application only reads the starts of each  file,  then  rclone
4435       will  only buffer the start of the file.  These files will appear to be
4436       their full size in the cache, but they will be sparse files  with  only
4437       the data that has been downloaded present in them.
4438
4439       This  mode should support all normal file system operations and is oth‐
4440       erwise identical to --vfs-cache-mode writes.
4441
4442       When   reading   a   file   rclone   will   read   --buffer-size   plus
4443       --vfs-read-ahead  bytes ahead.  The --buffer-size is buffered in memory
4444       whereas the --vfs-read-ahead is buffered on disk.
4445
4446       When using this mode it is recommended that --buffer-size  is  not  set
4447       too big and --vfs-read-ahead is set large if required.
4448
4449       IMPORTANT  not  all  file  systems support sparse files.  In particular
4450       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
4451       ry  is  on  a filesystem which doesn't support sparse files and it will
4452       log an ERROR message if one is detected.
4453
4454   VFS Performance
4455       These flags may be used to enable/disable features of the VFS for  per‐
4456       formance or other reasons.
4457
4458       In  particular  S3  and Swift benefit hugely from the --no-modtime flag
4459       (or use --use-server-modtime for a slightly different effect)  as  each
4460       read of the modification time takes a transaction.
4461
4462              --no-checksum     Don't compare checksums on up/download.
4463              --no-modtime      Don't read/write the modification time (can speed things up).
4464              --no-seek         Don't allow seeking in files.
4465              --read-only       Mount read-only.
4466
4467       When  rclone  reads  files from a remote it reads them in chunks.  This
4468       means that rather than requesting the whole file rclone reads the chunk
4469       specified.   This  is advantageous because some cloud providers account
4470       for reads being all the data requested, not all the data delivered.
4471
4472       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
4473       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
4474       less it is set to "off" in which case there will be no limit.
4475
4476              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
4477              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
4478
4479       Sometimes rclone is delivered reads or writes  out  of  order.   Rather
4480       than  seeking rclone will wait a short time for the in sequence read or
4481       write to come in.  These flags only come into effect when not using  an
4482       on disk cache file.
4483
4484              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
4485              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
4486
4487       When  using  VFS  write  caching (--vfs-cache-mode with value writes or
4488       full), the global flag --transfers can be set to adjust the  number  of
4489       parallel  uploads of modified files from cache (the related global flag
4490       --checkers have no effect on mount).
4491
4492              --transfers int  Number of file transfers to run in parallel. (default 4)
4493
4494   VFS Case Sensitivity
4495       Linux file systems are case-sensitive: two files  can  differ  only  by
4496       case, and the exact case must be used when opening a file.
4497
4498       File  systems  in modern Windows are case-insensitive but case-preserv‐
4499       ing: although existing files can be opened using any  case,  the  exact
4500       case used to create the file is preserved and available for programs to
4501       query.  It is not allowed for two files in the same directory to differ
4502       only by case.
4503
4504       Usually  file systems on macOS are case-insensitive.  It is possible to
4505       make macOS file systems case-sensitive but that is not the default
4506
4507       The --vfs-case-insensitive mount flag controls how rclone handles these
4508       two  cases.   If  its value is "false", rclone passes file names to the
4509       mounted file system as-is.  If the flag is "true" (or appears without a
4510       value  on  command line), rclone may perform a "fixup" as explained be‐
4511       low.
4512
4513       The user may specify a file name to open/delete/rename/etc with a  case
4514       different  than  what is stored on mounted file system.  If an argument
4515       refers to an existing file with exactly the same name, then the case of
4516       the  existing  file  on the disk will be used.  However, if a file name
4517       with exactly the same name is not found but a name  differing  only  by
4518       case exists, rclone will transparently fixup the name.  This fixup hap‐
4519       pens only when an existing file is requested.  Case sensitivity of file
4520       names  created  anew  by  rclone is controlled by an underlying mounted
4521       file system.
4522
4523       Note that case sensitivity of the operating system running rclone  (the
4524       target)  may  differ  from case sensitivity of a file system mounted by
4525       rclone (the source).  The flag controls whether "fixup" is performed to
4526       satisfy the target.
4527
4528       If the flag is not provided on the command line, then its default value
4529       depends on the operating system where rclone runs:  "true"  on  Windows
4530       and macOS, "false" otherwise.  If the flag is provided without a value,
4531       then it is "true".
4532
4533              rclone serve http remote:path [flags]
4534
4535   Options
4536                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:8080")
4537                    --baseurl string                         Prefix for URLs - leave blank for root.
4538                    --cert string                            SSL PEM key (concatenation of certificate and CA certificate)
4539                    --client-ca string                       Client certificate authority to verify clients with
4540                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
4541                    --dir-perms FileMode                     Directory permissions (default 0777)
4542                    --file-perms FileMode                    File permissions (default 0666)
4543                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
4544                -h, --help                                   help for http
4545                    --htpasswd string                        htpasswd file - if not provided no authentication is done
4546                    --key string                             SSL PEM Private key
4547                    --max-header-bytes int                   Maximum size of request header (default 4096)
4548                    --no-checksum                            Don't compare checksums on up/download.
4549                    --no-modtime                             Don't read/write the modification time (can speed things up).
4550                    --no-seek                                Don't allow seeking in files.
4551                    --pass string                            Password for authentication.
4552                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
4553                    --read-only                              Mount read-only.
4554                    --realm string                           realm for authentication (default "rclone")
4555                    --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
4556                    --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
4557                    --template string                        User Specified Template.
4558                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
4559                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
4560                    --user string                            User name for authentication.
4561                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
4562                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
4563                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
4564                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
4565                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
4566                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
4567                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
4568                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
4569                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
4570                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
4571                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
4572
4573       See the global flags page (https://rclone.org/flags/)  for  global  op‐
4574       tions not listed here.
4575
4576   SEE ALSO
4577       · rclone  serve  (https://rclone.org/commands/rclone_serve/)  - Serve a
4578         remote over a protocol.
4579

rclone serve restic

4581       Serve the remote for restic's REST API.
4582
4583   Synopsis
4584       rclone serve restic implements restic's REST  backend  API  over  HTTP.
4585       This  allows restic to use rclone as a data storage mechanism for cloud
4586       providers that restic does not support directly.
4587
4588       Restic (https://restic.net/) is a command line program for doing  back‐
4589       ups.
4590
4591       The server will log errors.  Use -v to see access logs.
4592
4593       --bwlimit will be respected for file transfers.  Use --stats to control
4594       the stats printing.
4595
4596   Setting up rclone for use by restic
4597       First   set   up   a   remote   for   your   chosen   cloud    provider
4598       (https://rclone.org/docs/#configure).
4599
4600       Once  you have set up the remote, check it is working with, for example
4601       "rclone lsd remote:".  You may have called the remote  something  other
4602       than  "remote:" - just substitute whatever you called it in the follow‐
4603       ing instructions.
4604
4605       Now start the rclone restic server
4606
4607              rclone serve restic -v remote:backup
4608
4609       Where you can replace "backup" in the above by whatever path in the re‐
4610       mote you wish to use.
4611
4612       By default this will serve on "localhost:8080" you can change this with
4613       use of the "--addr" flag.
4614
4615       You might wish to start this server on boot.
4616
4617       Adding --cache-objects=false will cause rclone to stop caching  objects
4618       returned  from  the  List  call.   Caching  is normally desirable as it
4619       speeds up downloading objects, saves transactions and uses very  little
4620       memory.
4621
4622   Setting up restic to use rclone
4623       Now  you  can  follow the restic instructions (http://restic.readthedo
4624       cs.io/en/latest/030_preparing_a_new_repo.html#rest-server)  on  setting
4625       up restic.
4626
4627       Note  that  you  will  need  restic 0.8.2 or later to interoperate with
4628       rclone.
4629
4630       For the example above you will want to use "http://localhost:8080/"  as
4631       the URL for the REST server.
4632
4633       For example:
4634
4635              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/
4636              $ export RESTIC_PASSWORD=yourpassword
4637              $ restic init
4638              created restic backend 8b1a4b56ae at rest:http://localhost:8080/
4639
4640              Please note that knowledge of your password is required to access
4641              the repository. Losing your password means that your data is
4642              irrecoverably lost.
4643              $ restic backup /path/to/files/to/backup
4644              scan [/path/to/files/to/backup]
4645              scanned 189 directories, 312 files in 0:00
4646              [0:00] 100.00%  38.128 MiB / 38.128 MiB  501 / 501 items  0 errors  ETA 0:00
4647              duration: 0:00
4648              snapshot 45c8fdd8 saved
4649
4650   Multiple repositories
4651       Note  that  you can use the endpoint to host multiple repositories.  Do
4652       this by adding a directory name or path after the URL.  Note that these
4653       must end with /.  Eg
4654
4655              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/
4656              # backup user1 stuff
4657              $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/
4658              # backup user2 stuff
4659
4660   Private repositories
4661       The  "--private-repos"  flag can be used to limit users to repositories
4662       starting with a path of /<username>/.
4663
4664   Server options
4665       Use --addr to specify which IP address and port the server should  lis‐
4666       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
4667       By default it only listens on localhost.  You can use port  :0  to  let
4668       the OS choose an available port.
4669
4670       If  you  set  --addr to listen on a public or LAN accessible IP address
4671       then using Authentication is advised - see the next section for info.
4672
4673       --server-read-timeout and --server-write-timeout can be used to control
4674       the  timeouts  on  the  server.  Note that this is the total time for a
4675       transfer.
4676
4677       --max-header-bytes controls the maximum number of bytes the server will
4678       accept in the HTTP header.
4679
4680       --baseurl  controls the URL prefix that rclone serves from.  By default
4681       rclone will serve from the root.  If you used --baseurl "/rclone"  then
4682       rclone would serve from a URL starting with "/rclone/".  This is useful
4683       if you wish to proxy rclone serve.  Rclone automatically inserts  lead‐
4684       ing  and  trailing  "/"  on --baseurl, so --baseurl "rclone", --baseurl
4685       "/rclone" and --baseurl "/rclone/" are all treated identically.
4686
4687       --template allows a user to specify a custom markup template  for  http
4688       and webdav serve functions.  The server exports the following markup to
4689       be used within the template to server pages:
4690
4691       Parameter                             Description
4692       ──────────────────────────────────────────────────────────────────────────
4693       .Name                                 The full path of a file/directory.
4694       .Title                                Directory listing of .Name
4695       .Sort                                 The current  sort  used.   This  is
4696                                             changeable via ?sort= parameter
4697                                             Sort                       Options:
4698                                             namedirfirst,name,size,time    (de‐
4699                                             fault namedirfirst)
4700       .Order                                The current ordering used.  This is
4701                                             changeable via ?order= parameter
4702                                             Order  Options:  asc,desc  (default
4703                                             asc)
4704       .Query                                Currently unused.
4705       .Breadcrumb                           Allows for creating a relative nav‐
4706                                             igation
4707       -- .Link                              The relative to the  root  link  of
4708                                             the Text.
4709       -- .Text                              The Name of the directory.
4710       .Entries                              Information    about   a   specific
4711                                             file/directory.
4712       -- .URL                               The 'url' of an entry.
4713       -- .Leaf                              Currently same as 'URL' but intend‐
4714                                             ed to be 'just' the name.
4715       -- .IsDir                             Boolean for if an entry is a direc‐
4716                                             tory or not.
4717       -- .Size                              Size in Bytes of the entry.
4718       -- .ModTime                           The UTC timestamp of an entry.
4719
4720   Authentication
4721       By default this will serve files without needing a login.
4722
4723       You can either use an htpasswd file which can take lots  of  users,  or
4724       set a single username and password with the --user and --pass flags.
4725
4726       Use  --htpasswd /path/to/htpasswd to provide an htpasswd file.  This is
4727       in standard apache format and supports MD5, SHA1 and BCrypt  for  basic
4728       authentication.  Bcrypt is recommended.
4729
4730       To create an htpasswd file:
4731
4732              touch htpasswd
4733              htpasswd -B htpasswd user
4734              htpasswd -B htpasswd anotherUser
4735
4736       The password file can be updated while rclone is running.
4737
4738       Use --realm to set the authentication realm.
4739
4740   SSL/TLS
4741       By  default  this will serve over http.  If you want you can serve over
4742       https.  You will need to supply the --cert and  --key  flags.   If  you
4743       wish  to  do  client  side certificate validation then you will need to
4744       supply --client-ca also.
4745
4746       --cert should be either a PEM encoded certificate or a concatenation of
4747       that  with the CA certificate.  --key should be the PEM encoded private
4748       key and --client-ca should be the PEM encoded  client  certificate  au‐
4749       thority certificate.
4750
4751              rclone serve restic remote:path [flags]
4752
4753   Options
4754                    --addr string                     IPaddress:Port or :Port to bind server to. (default "localhost:8080")
4755                    --append-only                     disallow deletion of repository data
4756                    --baseurl string                  Prefix for URLs - leave blank for root.
4757                    --cache-objects                   cache listed objects (default true)
4758                    --cert string                     SSL PEM key (concatenation of certificate and CA certificate)
4759                    --client-ca string                Client certificate authority to verify clients with
4760                -h, --help                            help for restic
4761                    --htpasswd string                 htpasswd file - if not provided no authentication is done
4762                    --key string                      SSL PEM Private key
4763                    --max-header-bytes int            Maximum size of request header (default 4096)
4764                    --pass string                     Password for authentication.
4765                    --private-repos                   users can only access their private repo
4766                    --realm string                    realm for authentication (default "rclone")
4767                    --server-read-timeout duration    Timeout for server reading data (default 1h0m0s)
4768                    --server-write-timeout duration   Timeout for server writing data (default 1h0m0s)
4769                    --stdio                           run an HTTP2 server on stdin/stdout
4770                    --template string                 User Specified Template.
4771                    --user string                     User name for authentication.
4772
4773       See  the  global  flags page (https://rclone.org/flags/) for global op‐
4774       tions not listed here.
4775
4776   SEE ALSO
4777       · rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
4778         remote over a protocol.
4779

rclone serve sftp

4781       Serve the remote over SFTP.
4782
4783   Synopsis
4784       rclone  serve  sftp  implements an SFTP server to serve the remote over
4785       SFTP.  This can be used with an SFTP client or you can make a remote of
4786       type sftp to use with it.
4787
4788       You  can  use  the filter flags (e.g.  --include, --exclude) to control
4789       what is served.
4790
4791       The server will log errors.  Use -v to see access logs.
4792
4793       --bwlimit will be respected for file transfers.  Use --stats to control
4794       the stats printing.
4795
4796       You  must  provide  some  means  of  authentication,  either with --us‐
4797       er/--pass, an authorized keys  file  (specify  location  with  --autho‐
4798       rized-keys  -  the default is the same as ssh), an --auth-proxy, or set
4799       the --no-auth flag for no authentication when logging in.
4800
4801       Note that this also implements a small number of shell commands so that
4802       it  can provide md5sum/sha1sum/df information for the rclone sftp back‐
4803       end.  This means that is can support SHA1SUMs, MD5SUMs  and  the  about
4804       command when paired with the rclone sftp backend.
4805
4806       If  you don't supply a --key then rclone will generate one and cache it
4807       for later use.
4808
4809       By default the server binds to localhost:2022 - if you want  it  to  be
4810       reachable externally then supply "--addr :2022" for example.
4811
4812       Note  that the default of "--vfs-cache-mode off" is fine for the rclone
4813       sftp backend, but it may not be with other SFTP clients.
4814
4815   VFS - Virtual File System
4816       This command uses the VFS layer.  This adapts the cloud storage objects
4817       that  rclone uses into something which looks much more like a disk fil‐
4818       ing system.
4819
4820       Cloud storage objects have lots of properties which  aren't  like  disk
4821       files  -  you  can't extend them or write to the middle of them, so the
4822       VFS layer has to deal with that.  Because there is no one right way  of
4823       doing this there are various options explained below.
4824
4825       The  VFS  layer  also  implements  a directory cache - this caches info
4826       about files and directories (but not the data) in memory.
4827
4828   VFS Directory Cache
4829       Using the --dir-cache-time flag, you can control how long  a  directory
4830       should  be  considered  up  to date and not refreshed from the backend.
4831       Changes made through the mount will appear  immediately  or  invalidate
4832       the cache.
4833
4834              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
4835              --poll-interval duration    Time to wait between polling for changes.
4836
4837       However,  changes  made directly on the cloud storage by the web inter‐
4838       face or a different copy of rclone will only be picked up once the  di‐
4839       rectory  cache  expires  if  the  backend  configured  does not support
4840       polling for changes.  If the backend supports polling, changes will  be
4841       picked up within the polling interval.
4842
4843       You  can  send  a SIGHUP signal to rclone for it to flush all directory
4844       caches, regardless of how old they are.  Assuming only one  rclone  in‐
4845       stance is running, you can reset the cache like this:
4846
4847              kill -SIGHUP $(pidof rclone)
4848
4849       If  you  configure  rclone with a remote control (/rc) then you can use
4850       rclone rc to flush the whole directory cache:
4851
4852              rclone rc vfs/forget
4853
4854       Or individual files or directories:
4855
4856              rclone rc vfs/forget file=path/to/file dir=path/to/dir
4857
4858   VFS File Buffering
4859       The --buffer-size flag determines the amount of memory,  that  will  be
4860       used to buffer data in advance.
4861
4862       Each  open file will try to keep the specified amount of data in memory
4863       at all times.  The buffered data is bound to one open file and won't be
4864       shared.
4865
4866       This flag is a upper limit for the used memory per open file.  The buf‐
4867       fer will only use memory for data that is downloaded but  not  not  yet
4868       read.   If  the  buffer is empty, only a small amount of memory will be
4869       used.
4870
4871       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
4872       fer-size * open files.
4873
4874   VFS File Caching
4875       These flags control the VFS file caching options.  File caching is nec‐
4876       essary to make the VFS layer appear compatible with a normal file  sys‐
4877       tem.  It can be disabled at the cost of some compatibility.
4878
4879       For  example  you'll need to enable VFS caching if you want to read and
4880       write simultaneously to a file.  See below for more details.
4881
4882       Note that the VFS cache is separate from the cache backend and you  may
4883       find that you need one or the other or both.
4884
4885              --cache-dir string                   Directory rclone will use for caching.
4886              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
4887              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
4888              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
4889              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
4890              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
4891
4892       If  run with -vv rclone will print the location of the file cache.  The
4893       files are stored in the user cache file area which is OS dependent  but
4894       can  be controlled with --cache-dir or setting the appropriate environ‐
4895       ment variable.
4896
4897       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
4898       higher the cache mode the more compatible rclone becomes at the cost of
4899       using disk space.
4900
4901       Note that files are written back to  the  remote  only  when  they  are
4902       closed  and  if they haven't been accessed for --vfs-write-back second.
4903       If rclone is quit or dies with files that haven't been uploaded,  these
4904       will be uploaded next time rclone is run with the same flags.
4905
4906       If  using --vfs-cache-max-size note that the cache may exceed this size
4907       for  two  reasons.   Firstly  because  it   is   only   checked   every
4908       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
4909       evicted from the cache.
4910
4911   --vfs-cache-mode off
4912       In this mode (the default) the cache will read directly from the remote
4913       and write directly to the remote without caching anything on disk.
4914
4915       This will mean some operations are not possible
4916
4917       · Files can't be opened for both read AND write
4918
4919       · Files opened for write can't be seeked
4920
4921       · Existing files opened for write must have O_TRUNC set
4922
4923       · Files open for read with O_TRUNC will be opened write only
4924
4925       · Files open for write only will behave as if O_TRUNC was supplied
4926
4927       · Open modes O_APPEND, O_TRUNC are ignored
4928
4929       · If an upload fails it can't be retried
4930
4931   --vfs-cache-mode minimal
4932       This  is  very  similar  to "off" except that files opened for read AND
4933       write will be buffered to disk.  This means that files opened for write
4934       will be a lot more compatible, but uses the minimal disk space.
4935
4936       These operations are not possible
4937
4938       · Files opened for write only can't be seeked
4939
4940       · Existing files opened for write must have O_TRUNC set
4941
4942       · Files opened for write only will ignore O_APPEND, O_TRUNC
4943
4944       · If an upload fails it can't be retried
4945
4946   --vfs-cache-mode writes
4947       In  this  mode  files opened for read only are still read directly from
4948       the remote, write only and read/write files are buffered to disk first.
4949
4950       This mode should support all normal file system operations.
4951
4952       If an upload fails it will be retried at exponentially  increasing  in‐
4953       tervals up to 1 minute.
4954
4955   --vfs-cache-mode full
4956       In  this mode all reads and writes are buffered to and from disk.  When
4957       data is read from the remote this is buffered to disk as well.
4958
4959       In this mode the files in the cache will be  sparse  files  and  rclone
4960       will keep track of which bits of the files it has downloaded.
4961
4962       So  if  an  application only reads the starts of each file, then rclone
4963       will only buffer the start of the file.  These files will appear to  be
4964       their  full  size in the cache, but they will be sparse files with only
4965       the data that has been downloaded present in them.
4966
4967       This mode should support all normal file system operations and is  oth‐
4968       erwise identical to --vfs-cache-mode writes.
4969
4970       When   reading   a   file   rclone   will   read   --buffer-size   plus
4971       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
4972       whereas the --vfs-read-ahead is buffered on disk.
4973
4974       When  using  this  mode it is recommended that --buffer-size is not set
4975       too big and --vfs-read-ahead is set large if required.
4976
4977       IMPORTANT not all file systems support  sparse  files.   In  particular
4978       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
4979       ry is on a filesystem which doesn't support sparse files  and  it  will
4980       log an ERROR message if one is detected.
4981
4982   VFS Performance
4983       These  flags may be used to enable/disable features of the VFS for per‐
4984       formance or other reasons.
4985
4986       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
4987       (or  use  --use-server-modtime for a slightly different effect) as each
4988       read of the modification time takes a transaction.
4989
4990              --no-checksum     Don't compare checksums on up/download.
4991              --no-modtime      Don't read/write the modification time (can speed things up).
4992              --no-seek         Don't allow seeking in files.
4993              --read-only       Mount read-only.
4994
4995       When rclone reads files from a remote it reads them  in  chunks.   This
4996       means that rather than requesting the whole file rclone reads the chunk
4997       specified.  This is advantageous because some cloud  providers  account
4998       for reads being all the data requested, not all the data delivered.
4999
5000       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
5001       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
5002       less it is set to "off" in which case there will be no limit.
5003
5004              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
5005              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
5006
5007       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
5008       than seeking rclone will wait a short time for the in sequence read  or
5009       write  to come in.  These flags only come into effect when not using an
5010       on disk cache file.
5011
5012              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
5013              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
5014
5015       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
5016       full),  the  global flag --transfers can be set to adjust the number of
5017       parallel uploads of modified files from cache (the related global  flag
5018       --checkers have no effect on mount).
5019
5020              --transfers int  Number of file transfers to run in parallel. (default 4)
5021
5022   VFS Case Sensitivity
5023       Linux  file  systems  are  case-sensitive: two files can differ only by
5024       case, and the exact case must be used when opening a file.
5025
5026       File systems in modern Windows are case-insensitive  but  case-preserv‐
5027       ing:  although  existing  files can be opened using any case, the exact
5028       case used to create the file is preserved and available for programs to
5029       query.  It is not allowed for two files in the same directory to differ
5030       only by case.
5031
5032       Usually file systems on macOS are case-insensitive.  It is possible  to
5033       make macOS file systems case-sensitive but that is not the default
5034
5035       The --vfs-case-insensitive mount flag controls how rclone handles these
5036       two cases.  If its value is "false", rclone passes file  names  to  the
5037       mounted file system as-is.  If the flag is "true" (or appears without a
5038       value on command line), rclone may perform a "fixup" as  explained  be‐
5039       low.
5040
5041       The  user may specify a file name to open/delete/rename/etc with a case
5042       different than what is stored on mounted file system.  If  an  argument
5043       refers to an existing file with exactly the same name, then the case of
5044       the existing file on the disk will be used.  However, if  a  file  name
5045       with  exactly  the  same name is not found but a name differing only by
5046       case exists, rclone will transparently fixup the name.  This fixup hap‐
5047       pens only when an existing file is requested.  Case sensitivity of file
5048       names created anew by rclone is controlled  by  an  underlying  mounted
5049       file system.
5050
5051       Note  that case sensitivity of the operating system running rclone (the
5052       target) may differ from case sensitivity of a file  system  mounted  by
5053       rclone (the source).  The flag controls whether "fixup" is performed to
5054       satisfy the target.
5055
5056       If the flag is not provided on the command line, then its default value
5057       depends  on  the  operating system where rclone runs: "true" on Windows
5058       and macOS, "false" otherwise.  If the flag is provided without a value,
5059       then it is "true".
5060
5061   Auth Proxy
5062       If  you  supply the parameter --auth-proxy /path/to/program then rclone
5063       will use that program to generate backends on the fly  which  then  are
5064       used  to authenticate incoming requests.  This uses a simple JSON based
5065       protocol with input on STDIN and output on STDOUT.
5066
5067       PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used  togeth‐
5068       er, if --auth-proxy is set the authorized keys option will be ignored.
5069
5070       There       is      an      example      program      bin/test_proxy.py
5071       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
5072       rclone source code.
5073
5074       The  program's  job  is  to  take a user and pass on the input and turn
5075       those into the config for a backend on STDOUT  in  JSON  format.   This
5076       config  will  have any default parameters for the backend added, but it
5077       won't use configuration from environment variables or command line  op‐
5078       tions - it is the job of the proxy program to make a complete config.
5079
5080       This  config generated must have this extra parameter - _root - root to
5081       use for the backend
5082
5083       And it may have this parameter - _obscure - comma separated strings for
5084       parameters to obscure
5085
5086       If  password  authentication was used by the client, input to the proxy
5087       process (on STDIN) would look similar to this:
5088
5089              {
5090                  "user": "me",
5091                  "pass": "mypassword"
5092              }
5093
5094       If public-key authentication was used by the client, input to the proxy
5095       process (on STDIN) would look similar to this:
5096
5097              {
5098                  "user": "me",
5099                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
5100              }
5101
5102       And as an example return this on STDOUT
5103
5104              {
5105                  "type": "sftp",
5106                  "_root": "",
5107                  "_obscure": "pass",
5108                  "user": "me",
5109                  "pass": "mypassword",
5110                  "host": "sftp.example.com"
5111              }
5112
5113       This  would  mean  that an SFTP backend would be created on the fly for
5114       the user and pass/public_key returned in the output to the host  given.
5115       Note  that  since _obscure is set to pass, rclone will obscure the pass
5116       parameter before creating the backend (which is required for sftp back‐
5117       ends).
5118
5119       The program can manipulate the supplied user in any way, for example to
5120       make proxy to many different sftp backends, you could make the user  be
5121       user@example.com and then set the host to example.com in the output and
5122       the user to user.  For security you'd probably  want  to  restrict  the
5123       host to a limited list.
5124
5125       Note  that an internal cache is keyed on user so only use that for con‐
5126       figuration, don't use pass or public_key.  This also means  that  if  a
5127       user's  password or public-key is changed the cache will need to expire
5128       (which takes 5 mins) before it takes effect.
5129
5130       This can be used to build general purpose proxies to any kind of  back‐
5131       end that rclone supports.
5132
5133              rclone serve sftp remote:path [flags]
5134
5135   Options
5136                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:2022")
5137                    --auth-proxy string                      A program to use to create the backend from the auth.
5138                    --authorized-keys string                 Authorized keys file (default "~/.ssh/authorized_keys")
5139                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
5140                    --dir-perms FileMode                     Directory permissions (default 0777)
5141                    --file-perms FileMode                    File permissions (default 0666)
5142                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
5143                -h, --help                                   help for sftp
5144                    --key stringArray                        SSH private host key file (Can be multi-valued, leave blank to auto generate)
5145                    --no-auth                                Allow connections with no authentication if set.
5146                    --no-checksum                            Don't compare checksums on up/download.
5147                    --no-modtime                             Don't read/write the modification time (can speed things up).
5148                    --no-seek                                Don't allow seeking in files.
5149                    --pass string                            Password for authentication.
5150                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
5151                    --read-only                              Mount read-only.
5152                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
5153                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
5154                    --user string                            User name for authentication.
5155                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
5156                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
5157                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5158                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
5159                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
5160                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
5161                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
5162                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
5163                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
5164                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
5165                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
5166
5167       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5168       tions not listed here.
5169
5170   SEE ALSO
5171       · rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
5172         remote over a protocol.
5173

rclone serve webdav

5175       Serve remote:path over webdav.
5176
5177   Synopsis
5178       rclone  serve  webdav implements a basic webdav server to serve the re‐
5179       mote over HTTP via the webdav protocol.  This can be viewed with a web‐
5180       dav  client,  through  a  web browser, or you can make a remote of type
5181       webdav to read and write it.
5182
5183   Webdav options
5184   --etag-hash
5185       This controls the ETag header.  Without this  flag  the  ETag  will  be
5186       based on the ModTime and Size of the object.
5187
5188       If  this  flag  is set to "auto" then rclone will choose the first sup‐
5189       ported hash on the backend or you can use a named hash such as "MD5" or
5190       "SHA-1".
5191
5192       Use "rclone hashsum" to see the full list.
5193
5194   Server options
5195       Use  --addr to specify which IP address and port the server should lis‐
5196       ten on, e.g.  --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs.
5197       By  default  it  only listens on localhost.  You can use port :0 to let
5198       the OS choose an available port.
5199
5200       If you set --addr to listen on a public or LAN  accessible  IP  address
5201       then using Authentication is advised - see the next section for info.
5202
5203       --server-read-timeout and --server-write-timeout can be used to control
5204       the timeouts on the server.  Note that this is the  total  time  for  a
5205       transfer.
5206
5207       --max-header-bytes controls the maximum number of bytes the server will
5208       accept in the HTTP header.
5209
5210       --baseurl controls the URL prefix that rclone serves from.  By  default
5211       rclone  will serve from the root.  If you used --baseurl "/rclone" then
5212       rclone would serve from a URL starting with "/rclone/".  This is useful
5213       if  you wish to proxy rclone serve.  Rclone automatically inserts lead‐
5214       ing and trailing "/" on --baseurl,  so  --baseurl  "rclone",  --baseurl
5215       "/rclone" and --baseurl "/rclone/" are all treated identically.
5216
5217       --template  allows  a user to specify a custom markup template for http
5218       and webdav serve functions.  The server exports the following markup to
5219       be used within the template to server pages:
5220
5221       Parameter                             Description
5222       ──────────────────────────────────────────────────────────────────────────
5223       .Name                                 The full path of a file/directory.
5224       .Title                                Directory listing of .Name
5225       .Sort                                 The  current  sort  used.   This is
5226                                             changeable via ?sort= parameter
5227                                             Sort                       Options:
5228                                             namedirfirst,name,size,time    (de‐
5229                                             fault namedirfirst)
5230       .Order                                The current ordering used.  This is
5231                                             changeable via ?order= parameter
5232                                             Order  Options:  asc,desc  (default
5233                                             asc)
5234       .Query                                Currently unused.
5235       .Breadcrumb                           Allows for creating a relative nav‐
5236                                             igation
5237
5238       -- .Link                              The  relative  to  the root link of
5239                                             the Text.
5240       -- .Text                              The Name of the directory.
5241       .Entries                              Information   about   a    specific
5242                                             file/directory.
5243       -- .URL                               The 'url' of an entry.
5244       -- .Leaf                              Currently same as 'URL' but intend‐
5245                                             ed to be 'just' the name.
5246       -- .IsDir                             Boolean for if an entry is a direc‐
5247                                             tory or not.
5248       -- .Size                              Size in Bytes of the entry.
5249       -- .ModTime                           The UTC timestamp of an entry.
5250
5251   Authentication
5252       By default this will serve files without needing a login.
5253
5254       You  can  either  use an htpasswd file which can take lots of users, or
5255       set a single username and password with the --user and --pass flags.
5256
5257       Use --htpasswd /path/to/htpasswd to provide an htpasswd file.  This  is
5258       in  standard  apache format and supports MD5, SHA1 and BCrypt for basic
5259       authentication.  Bcrypt is recommended.
5260
5261       To create an htpasswd file:
5262
5263              touch htpasswd
5264              htpasswd -B htpasswd user
5265              htpasswd -B htpasswd anotherUser
5266
5267       The password file can be updated while rclone is running.
5268
5269       Use --realm to set the authentication realm.
5270
5271   SSL/TLS
5272       By default this will serve over http.  If you want you can  serve  over
5273       https.   You  will  need  to supply the --cert and --key flags.  If you
5274       wish to do client side certificate validation then  you  will  need  to
5275       supply --client-ca also.
5276
5277       --cert should be either a PEM encoded certificate or a concatenation of
5278       that with the CA certificate.  --key should be the PEM encoded  private
5279       key  and  --client-ca  should be the PEM encoded client certificate au‐
5280       thority certificate.
5281
5282   VFS - Virtual File System
5283       This command uses the VFS layer.  This adapts the cloud storage objects
5284       that  rclone uses into something which looks much more like a disk fil‐
5285       ing system.
5286
5287       Cloud storage objects have lots of properties which  aren't  like  disk
5288       files  -  you  can't extend them or write to the middle of them, so the
5289       VFS layer has to deal with that.  Because there is no one right way  of
5290       doing this there are various options explained below.
5291
5292       The  VFS  layer  also  implements  a directory cache - this caches info
5293       about files and directories (but not the data) in memory.
5294
5295   VFS Directory Cache
5296       Using the --dir-cache-time flag, you can control how long  a  directory
5297       should  be  considered  up  to date and not refreshed from the backend.
5298       Changes made through the mount will appear  immediately  or  invalidate
5299       the cache.
5300
5301              --dir-cache-time duration   Time to cache directory entries for. (default 5m0s)
5302              --poll-interval duration    Time to wait between polling for changes.
5303
5304       However,  changes  made directly on the cloud storage by the web inter‐
5305       face or a different copy of rclone will only be picked up once the  di‐
5306       rectory  cache  expires  if  the  backend  configured  does not support
5307       polling for changes.  If the backend supports polling, changes will  be
5308       picked up within the polling interval.
5309
5310       You  can  send  a SIGHUP signal to rclone for it to flush all directory
5311       caches, regardless of how old they are.  Assuming only one  rclone  in‐
5312       stance is running, you can reset the cache like this:
5313
5314              kill -SIGHUP $(pidof rclone)
5315
5316       If  you  configure  rclone with a remote control (/rc) then you can use
5317       rclone rc to flush the whole directory cache:
5318
5319              rclone rc vfs/forget
5320
5321       Or individual files or directories:
5322
5323              rclone rc vfs/forget file=path/to/file dir=path/to/dir
5324
5325   VFS File Buffering
5326       The --buffer-size flag determines the amount of memory,  that  will  be
5327       used to buffer data in advance.
5328
5329       Each  open file will try to keep the specified amount of data in memory
5330       at all times.  The buffered data is bound to one open file and won't be
5331       shared.
5332
5333       This flag is a upper limit for the used memory per open file.  The buf‐
5334       fer will only use memory for data that is downloaded but  not  not  yet
5335       read.   If  the  buffer is empty, only a small amount of memory will be
5336       used.
5337
5338       The maximum memory used by rclone for buffering can  be  up  to  --buf‐
5339       fer-size * open files.
5340
5341   VFS File Caching
5342       These flags control the VFS file caching options.  File caching is nec‐
5343       essary to make the VFS layer appear compatible with a normal file  sys‐
5344       tem.  It can be disabled at the cost of some compatibility.
5345
5346       For  example  you'll need to enable VFS caching if you want to read and
5347       write simultaneously to a file.  See below for more details.
5348
5349       Note that the VFS cache is separate from the cache backend and you  may
5350       find that you need one or the other or both.
5351
5352              --cache-dir string                   Directory rclone will use for caching.
5353              --vfs-cache-mode CacheMode           Cache mode off|minimal|writes|full (default off)
5354              --vfs-cache-max-age duration         Max age of objects in the cache. (default 1h0m0s)
5355              --vfs-cache-max-size SizeSuffix      Max total size of objects in the cache. (default off)
5356              --vfs-cache-poll-interval duration   Interval to poll the cache for stale objects. (default 1m0s)
5357              --vfs-write-back duration            Time to writeback files after last use when using cache. (default 5s)
5358
5359       If  run with -vv rclone will print the location of the file cache.  The
5360       files are stored in the user cache file area which is OS dependent  but
5361       can  be controlled with --cache-dir or setting the appropriate environ‐
5362       ment variable.
5363
5364       The cache has 4 different  modes  selected  by  --vfs-cache-mode.   The
5365       higher the cache mode the more compatible rclone becomes at the cost of
5366       using disk space.
5367
5368       Note that files are written back to  the  remote  only  when  they  are
5369       closed  and  if they haven't been accessed for --vfs-write-back second.
5370       If rclone is quit or dies with files that haven't been uploaded,  these
5371       will be uploaded next time rclone is run with the same flags.
5372
5373       If  using --vfs-cache-max-size note that the cache may exceed this size
5374       for  two  reasons.   Firstly  because  it   is   only   checked   every
5375       --vfs-cache-poll-interval.   Secondly  because  open  files  cannot  be
5376       evicted from the cache.
5377
5378   --vfs-cache-mode off
5379       In this mode (the default) the cache will read directly from the remote
5380       and write directly to the remote without caching anything on disk.
5381
5382       This will mean some operations are not possible
5383
5384       · Files can't be opened for both read AND write
5385
5386       · Files opened for write can't be seeked
5387
5388       · Existing files opened for write must have O_TRUNC set
5389
5390       · Files open for read with O_TRUNC will be opened write only
5391
5392       · Files open for write only will behave as if O_TRUNC was supplied
5393
5394       · Open modes O_APPEND, O_TRUNC are ignored
5395
5396       · If an upload fails it can't be retried
5397
5398   --vfs-cache-mode minimal
5399       This  is  very  similar  to "off" except that files opened for read AND
5400       write will be buffered to disk.  This means that files opened for write
5401       will be a lot more compatible, but uses the minimal disk space.
5402
5403       These operations are not possible
5404
5405       · Files opened for write only can't be seeked
5406
5407       · Existing files opened for write must have O_TRUNC set
5408
5409       · Files opened for write only will ignore O_APPEND, O_TRUNC
5410
5411       · If an upload fails it can't be retried
5412
5413   --vfs-cache-mode writes
5414       In  this  mode  files opened for read only are still read directly from
5415       the remote, write only and read/write files are buffered to disk first.
5416
5417       This mode should support all normal file system operations.
5418
5419       If an upload fails it will be retried at exponentially  increasing  in‐
5420       tervals up to 1 minute.
5421
5422   --vfs-cache-mode full
5423       In  this mode all reads and writes are buffered to and from disk.  When
5424       data is read from the remote this is buffered to disk as well.
5425
5426       In this mode the files in the cache will be  sparse  files  and  rclone
5427       will keep track of which bits of the files it has downloaded.
5428
5429       So  if  an  application only reads the starts of each file, then rclone
5430       will only buffer the start of the file.  These files will appear to  be
5431       their  full  size in the cache, but they will be sparse files with only
5432       the data that has been downloaded present in them.
5433
5434       This mode should support all normal file system operations and is  oth‐
5435       erwise identical to --vfs-cache-mode writes.
5436
5437       When   reading   a   file   rclone   will   read   --buffer-size   plus
5438       --vfs-read-ahead bytes ahead.  The --buffer-size is buffered in  memory
5439       whereas the --vfs-read-ahead is buffered on disk.
5440
5441       When  using  this  mode it is recommended that --buffer-size is not set
5442       too big and --vfs-read-ahead is set large if required.
5443
5444       IMPORTANT not all file systems support  sparse  files.   In  particular
5445       FAT/exFAT do not.  Rclone will perform very badly if the cache directo‐
5446       ry is on a filesystem which doesn't support sparse files  and  it  will
5447       log an ERROR message if one is detected.
5448
5449   VFS Performance
5450       These  flags may be used to enable/disable features of the VFS for per‐
5451       formance or other reasons.
5452
5453       In particular S3 and Swift benefit hugely from  the  --no-modtime  flag
5454       (or  use  --use-server-modtime for a slightly different effect) as each
5455       read of the modification time takes a transaction.
5456
5457              --no-checksum     Don't compare checksums on up/download.
5458              --no-modtime      Don't read/write the modification time (can speed things up).
5459              --no-seek         Don't allow seeking in files.
5460              --read-only       Mount read-only.
5461
5462       When rclone reads files from a remote it reads them  in  chunks.   This
5463       means that rather than requesting the whole file rclone reads the chunk
5464       specified.  This is advantageous because some cloud  providers  account
5465       for reads being all the data requested, not all the data delivered.
5466
5467       Rclone  will  keep  doubling  the  chunk  size  requested  starting  at
5468       --vfs-read-chunk-size with a maximum of --vfs-read-chunk-size-limit un‐
5469       less it is set to "off" in which case there will be no limit.
5470
5471              --vfs-read-chunk-size SizeSuffix        Read the source objects in chunks. (default 128M)
5472              --vfs-read-chunk-size-limit SizeSuffix  Max chunk doubling size (default "off")
5473
5474       Sometimes  rclone  is  delivered  reads or writes out of order.  Rather
5475       than seeking rclone will wait a short time for the in sequence read  or
5476       write  to come in.  These flags only come into effect when not using an
5477       on disk cache file.
5478
5479              --vfs-read-wait duration   Time to wait for in-sequence read before seeking. (default 20ms)
5480              --vfs-write-wait duration  Time to wait for in-sequence write before giving error. (default 1s)
5481
5482       When using VFS write caching (--vfs-cache-mode  with  value  writes  or
5483       full),  the  global flag --transfers can be set to adjust the number of
5484       parallel uploads of modified files from cache (the related global  flag
5485       --checkers have no effect on mount).
5486
5487              --transfers int  Number of file transfers to run in parallel. (default 4)
5488
5489   VFS Case Sensitivity
5490       Linux  file  systems  are  case-sensitive: two files can differ only by
5491       case, and the exact case must be used when opening a file.
5492
5493       File systems in modern Windows are case-insensitive  but  case-preserv‐
5494       ing:  although  existing  files can be opened using any case, the exact
5495       case used to create the file is preserved and available for programs to
5496       query.  It is not allowed for two files in the same directory to differ
5497       only by case.
5498
5499       Usually file systems on macOS are case-insensitive.  It is possible  to
5500       make macOS file systems case-sensitive but that is not the default
5501
5502       The --vfs-case-insensitive mount flag controls how rclone handles these
5503       two cases.  If its value is "false", rclone passes file  names  to  the
5504       mounted file system as-is.  If the flag is "true" (or appears without a
5505       value on command line), rclone may perform a "fixup" as  explained  be‐
5506       low.
5507
5508       The  user may specify a file name to open/delete/rename/etc with a case
5509       different than what is stored on mounted file system.  If  an  argument
5510       refers to an existing file with exactly the same name, then the case of
5511       the existing file on the disk will be used.  However, if  a  file  name
5512       with  exactly  the  same name is not found but a name differing only by
5513       case exists, rclone will transparently fixup the name.  This fixup hap‐
5514       pens only when an existing file is requested.  Case sensitivity of file
5515       names created anew by rclone is controlled  by  an  underlying  mounted
5516       file system.
5517
5518       Note  that case sensitivity of the operating system running rclone (the
5519       target) may differ from case sensitivity of a file  system  mounted  by
5520       rclone (the source).  The flag controls whether "fixup" is performed to
5521       satisfy the target.
5522
5523       If the flag is not provided on the command line, then its default value
5524       depends  on  the  operating system where rclone runs: "true" on Windows
5525       and macOS, "false" otherwise.  If the flag is provided without a value,
5526       then it is "true".
5527
5528   Auth Proxy
5529       If  you  supply the parameter --auth-proxy /path/to/program then rclone
5530       will use that program to generate backends on the fly  which  then  are
5531       used  to authenticate incoming requests.  This uses a simple JSON based
5532       protocol with input on STDIN and output on STDOUT.
5533
5534       PLEASE NOTE: --auth-proxy and --authorized-keys cannot be used  togeth‐
5535       er, if --auth-proxy is set the authorized keys option will be ignored.
5536
5537       There       is      an      example      program      bin/test_proxy.py
5538       (https://github.com/rclone/rclone/blob/master/test_proxy.py)   in   the
5539       rclone source code.
5540
5541       The  program's  job  is  to  take a user and pass on the input and turn
5542       those into the config for a backend on STDOUT  in  JSON  format.   This
5543       config  will  have any default parameters for the backend added, but it
5544       won't use configuration from environment variables or command line  op‐
5545       tions - it is the job of the proxy program to make a complete config.
5546
5547       This  config generated must have this extra parameter - _root - root to
5548       use for the backend
5549
5550       And it may have this parameter - _obscure - comma separated strings for
5551       parameters to obscure
5552
5553       If  password  authentication was used by the client, input to the proxy
5554       process (on STDIN) would look similar to this:
5555
5556              {
5557                  "user": "me",
5558                  "pass": "mypassword"
5559              }
5560
5561       If public-key authentication was used by the client, input to the proxy
5562       process (on STDIN) would look similar to this:
5563
5564              {
5565                  "user": "me",
5566                  "public_key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf"
5567              }
5568
5569       And as an example return this on STDOUT
5570
5571              {
5572                  "type": "sftp",
5573                  "_root": "",
5574                  "_obscure": "pass",
5575                  "user": "me",
5576                  "pass": "mypassword",
5577                  "host": "sftp.example.com"
5578              }
5579
5580       This  would  mean  that an SFTP backend would be created on the fly for
5581       the user and pass/public_key returned in the output to the host  given.
5582       Note  that  since _obscure is set to pass, rclone will obscure the pass
5583       parameter before creating the backend (which is required for sftp back‐
5584       ends).
5585
5586       The program can manipulate the supplied user in any way, for example to
5587       make proxy to many different sftp backends, you could make the user  be
5588       user@example.com and then set the host to example.com in the output and
5589       the user to user.  For security you'd probably  want  to  restrict  the
5590       host to a limited list.
5591
5592       Note  that an internal cache is keyed on user so only use that for con‐
5593       figuration, don't use pass or public_key.  This also means  that  if  a
5594       user's  password or public-key is changed the cache will need to expire
5595       (which takes 5 mins) before it takes effect.
5596
5597       This can be used to build general purpose proxies to any kind of  back‐
5598       end that rclone supports.
5599
5600              rclone serve webdav remote:path [flags]
5601
5602   Options
5603                    --addr string                            IPaddress:Port or :Port to bind server to. (default "localhost:8080")
5604                    --auth-proxy string                      A program to use to create the backend from the auth.
5605                    --baseurl string                         Prefix for URLs - leave blank for root.
5606                    --cert string                            SSL PEM key (concatenation of certificate and CA certificate)
5607                    --client-ca string                       Client certificate authority to verify clients with
5608                    --dir-cache-time duration                Time to cache directory entries for. (default 5m0s)
5609                    --dir-perms FileMode                     Directory permissions (default 0777)
5610                    --disable-dir-list                       Disable HTML directory list on GET request for a directory
5611                    --etag-hash string                       Which hash to use for the ETag, or auto or blank for off
5612                    --file-perms FileMode                    File permissions (default 0666)
5613                    --gid uint32                             Override the gid field set by the filesystem. Not supported on Windows. (default 1000)
5614                -h, --help                                   help for webdav
5615                    --htpasswd string                        htpasswd file - if not provided no authentication is done
5616                    --key string                             SSL PEM Private key
5617                    --max-header-bytes int                   Maximum size of request header (default 4096)
5618                    --no-checksum                            Don't compare checksums on up/download.
5619                    --no-modtime                             Don't read/write the modification time (can speed things up).
5620                    --no-seek                                Don't allow seeking in files.
5621                    --pass string                            Password for authentication.
5622                    --poll-interval duration                 Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable. (default 1m0s)
5623                    --read-only                              Mount read-only.
5624                    --realm string                           realm for authentication (default "rclone")
5625                    --server-read-timeout duration           Timeout for server reading data (default 1h0m0s)
5626                    --server-write-timeout duration          Timeout for server writing data (default 1h0m0s)
5627                    --template string                        User Specified Template.
5628                    --uid uint32                             Override the uid field set by the filesystem. Not supported on Windows. (default 1000)
5629                    --umask int                              Override the permission bits set by the filesystem. Not supported on Windows. (default 2)
5630                    --user string                            User name for authentication.
5631                    --vfs-cache-max-age duration             Max age of objects in the cache. (default 1h0m0s)
5632                    --vfs-cache-max-size SizeSuffix          Max total size of objects in the cache. (default off)
5633                    --vfs-cache-mode CacheMode               Cache mode off|minimal|writes|full (default off)
5634                    --vfs-cache-poll-interval duration       Interval to poll the cache for stale objects. (default 1m0s)
5635                    --vfs-case-insensitive                   If a file name not found, find a case insensitive match.
5636                    --vfs-read-ahead SizeSuffix              Extra read ahead over --buffer-size when using cache-mode full.
5637                    --vfs-read-chunk-size SizeSuffix         Read the source objects in chunks. (default 128M)
5638                    --vfs-read-chunk-size-limit SizeSuffix   If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited. (default off)
5639                    --vfs-read-wait duration                 Time to wait for in-sequence read before seeking. (default 20ms)
5640                    --vfs-write-back duration                Time to writeback files after last use when using cache. (default 5s)
5641                    --vfs-write-wait duration                Time to wait for in-sequence write before giving error. (default 1s)
5642
5643       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5644       tions not listed here.
5645
5646   SEE ALSO
5647       · rclone serve (https://rclone.org/commands/rclone_serve/)  -  Serve  a
5648         remote over a protocol.
5649

rclone settier

5651       Changes storage class/tier of objects in remote.
5652
5653   Synopsis
5654       rclone  settier  changes  storage tier or class at remote if supported.
5655       Few cloud storage services provides different storage  classes  on  ob‐
5656       jects,  for  example AWS S3 and Glacier, Azure Blob storage - Hot, Cool
5657       and Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline
5658       etc.
5659
5660       Note  that,  certain  tier changes make objects not available to access
5661       immediately.  For example tiering to  archive  in  azure  blob  storage
5662       makes  objects  in  frozen  state,  user can restore by setting tier to
5663       Hot/Cool, similarly S3 to Glacier makes object inaccessible.true
5664
5665       You can use it to tier single object
5666
5667              rclone settier Cool remote:path/file
5668
5669       Or use rclone filters to set tier on only specific files
5670
5671              rclone --include "*.txt" settier Hot remote:path/dir
5672
5673       Or just provide remote directory and all files  in  directory  will  be
5674       tiered
5675
5676              rclone settier tier remote:path/dir
5677
5678              rclone settier tier remote:path [flags]
5679
5680   Options
5681                -h, --help   help for settier
5682
5683       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5684       tions not listed here.
5685
5686   SEE ALSO
5687       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
5688         commands, flags and backends.
5689

rclone touch

5691       Create new file or change file modification time.
5692
5693   Synopsis
5694       Set  the  modification time on object(s) as specified by remote:path to
5695       have the current time.
5696
5697       If remote:path does not exist then a zero sized object will be  created
5698       unless the --no-create flag is provided.
5699
5700       If  --timestamp  is used then it will set the modification time to that
5701       time instead of the current time.  Times may be specified as one of:
5702
5703       · 'YYMMDD' - e.g.  17.10.30
5704
5705       · 'YYYY-MM-DDTHH:MM:SS' - e.g.  2006-01-02T15:04:05
5706
5707       · 'YYYY-MM-DDTHH:MM:SS.SSS' - e.g.  2006-01-02T15:04:05.123456789
5708
5709       Note that --timestamp is in UTC if you want local  time  then  add  the
5710       --localtime flag.
5711
5712              rclone touch remote:path [flags]
5713
5714   Options
5715                -h, --help               help for touch
5716                    --localtime          Use localtime for timestamp, not UTC.
5717                -C, --no-create          Do not create the file if it does not exist.
5718                -t, --timestamp string   Use specified time instead of the current time of day.
5719
5720       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5721       tions not listed here.
5722
5723   SEE ALSO
5724       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
5725         commands, flags and backends.
5726

rclone tree

5728       List the contents of the remote in a tree like fashion.
5729
5730   Synopsis
5731       rclone tree lists the contents of a remote in a similar way to the unix
5732       tree command.
5733
5734       For example
5735
5736              $ rclone tree remote:path
5737              /
5738              ├── file1
5739              ├── file2
5740              ├── file3
5741              └── subdir
5742                  ├── file4
5743                  └── file5
5744
5745              1 directories, 5 files
5746
5747       You can use any of the filtering options with the  tree  command  (e.g.
5748       --include and --exclude).  You can also use --fast-list.
5749
5750       The tree command has many options for controlling the listing which are
5751       compatible with the tree command.  Note that not all of them have short
5752       options as they conflict with rclone's short options.
5753
5754              rclone tree remote:path [flags]
5755
5756   Options
5757                -a, --all             All files are listed (list . files too).
5758                -C, --color           Turn colorization on always.
5759                -d, --dirs-only       List directories only.
5760                    --dirsfirst       List directories before files (-U disables).
5761                    --full-path       Print the full path prefix for each file.
5762                -h, --help            help for tree
5763                    --human           Print the size in a more human readable way.
5764                    --level int       Descend only level directories deep.
5765                -D, --modtime         Print the date of last modification.
5766                    --noindent        Don't print indentation lines.
5767                    --noreport        Turn off file/directory count at end of tree listing.
5768                -o, --output string   Output to file instead of stdout.
5769                -p, --protections     Print the protections for each file.
5770                -Q, --quote           Quote filenames with double quotes.
5771                -s, --size            Print the size in bytes of each file.
5772                    --sort string     Select sort: name,version,size,mtime,ctime.
5773                    --sort-ctime      Sort files by last status change time.
5774                -t, --sort-modtime    Sort files by last modification time.
5775                -r, --sort-reverse    Reverse the order of the sort.
5776                -U, --unsorted        Leave files unsorted.
5777                    --version         Sort files alphanumerically by version.
5778
5779       See  the  global  flags page (https://rclone.org/flags/) for global op‐
5780       tions not listed here.
5781
5782   SEE ALSO
5783       · rclone (https://rclone.org/commands/rclone/) - Show help  for  rclone
5784         commands, flags and backends.
5785
5786   Copying single files
5787       rclone  normally  syncs  or copies directories.  However, if the source
5788       remote points to a file, rclone will just copy that file.  The destina‐
5789       tion  remote  must  point  to  a directory - rclone will give the error
5790       Failed to create file system for "remote:file": is a file not a  direc‐
5791       tory if it isn't.
5792
5793       For  example, suppose you have a remote with a file in called test.jpg,
5794       then you could copy just that file like this
5795
5796              rclone copy remote:test.jpg /tmp/download
5797
5798       The file test.jpg will be placed inside /tmp/download.
5799
5800       This is equivalent to specifying
5801
5802              rclone copy --files-from /tmp/files remote: /tmp/download
5803
5804       Where /tmp/files contains the single line
5805
5806              test.jpg
5807
5808       It is recommended to use copy when copying individual files, not  sync.
5809       They have pretty much the same effect but copy will use a lot less mem‐
5810       ory.
5811
5812   Syntax of remote paths
5813       The syntax of the paths passed to the rclone command are as follows.
5814
5815   /path/to/dir
5816       This refers to the local file system.
5817
5818       On Windows only \ may be used instead of / in local paths only, non lo‐
5819       cal paths must use /.
5820
5821       These  paths  needn't  start with a leading / - if they don't then they
5822       will be relative to the current directory.
5823
5824   remote:path/to/dir
5825       This refers to a directory path/to/dir on remote:  as  defined  in  the
5826       config file (configured with rclone config).
5827
5828   remote:/path/to/dir
5829       On  most  backends  this  is  refers  to  the  same  directory  as  re‐
5830       mote:path/to/dir and that format should be preferred.  On a very  small
5831       number  of remotes (FTP, SFTP, Dropbox for business) this will refer to
5832       a different directory.  On these, paths without a leading / will  refer
5833       to  your  "home" directory and paths with a leading / will refer to the
5834       root.
5835
5836   :backend:path/to/dir
5837       This is an advanced form for creating  remotes  on  the  fly.   backend
5838       should be the name or prefix of a backend (the type in the config file)
5839       and all the configuration for the backend should  be  provided  on  the
5840       command line (or in environment variables).
5841
5842       Here are some examples:
5843
5844              rclone lsd --http-url https://pub.rclone.org :http:
5845
5846       To list all the directories in the root of https://pub.rclone.org/.
5847
5848              rclone lsf --http-url https://example.com :http:path/to/dir
5849
5850       To list files and directories in https://example.com/path/to/dir/
5851
5852              rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir
5853
5854       To  copy  files  and  directories in https://example.com/path/to/dir to
5855       /tmp/dir.
5856
5857              rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir
5858
5859       To copy files and directories from example.com in the relative directo‐
5860       ry path/to/dir to /tmp/dir using sftp.
5861
5862   Valid remote names
5863       · Remote names may only contain 0-9, A-Z ,a-z ,_ , - and space.
5864
5865       · Remote names may not start with -.
5866
5867   Quoting and the shell
5868       When  you  are typing commands to your computer you are using something
5869       called the command line shell.  This interprets various  characters  in
5870       an OS specific way.
5871
5872       Here  are  some  gotchas which may help users unfamiliar with the shell
5873       rules
5874
5875   Linux / OSX
5876       If your names have spaces or shell metacharacters (e.g.  *, ?, $, ', ",
5877       etc.) then you must quote them.  Use single quotes ' by default.
5878
5879              rclone copy 'Important files?' remote:backup
5880
5881       If you want to send a ' you will need to use ", e.g.
5882
5883              rclone copy "O'Reilly Reviews" remote:backup
5884
5885       The  rules  for  quoting metacharacters are complicated and if you want
5886       the full details you'll have to consult the manual page for your shell.
5887
5888   Windows
5889       If your names have spaces in you need to put them in ", e.g.
5890
5891              rclone copy "E:\folder name\folder name\folder name" remote:backup
5892
5893       If you are using the root directory on its own then don't quote it (see
5894       #464 (https://github.com/rclone/rclone/issues/464) for why), e.g.
5895
5896              rclone copy E:\ remote:backup
5897
5898   Copying files or directories with : in the names
5899       rclone  uses  : to mark a remote name.  This is, however, a valid file‐
5900       name component in non-Windows OSes.  The remote name parser  will  only
5901       search for a : up to the first / so if you need to act on a file or di‐
5902       rectory like this then use the full path starting with a /, or  use  ./
5903       as a current directory prefix.
5904
5905       So to sync a directory called sync:me to a remote called remote: use
5906
5907              rclone sync -i ./sync:me remote:path
5908
5909       or
5910
5911              rclone sync -i /full/path/to/sync:me remote:path
5912
5913   Server Side Copy
5914       Most  remotes (but not all - see the overview (https://rclone.org/over
5915       view/#optional-features)) support server-side copy.
5916
5917       This means if you want to copy one folder to another then rclone  won't
5918       download  all the files and re-upload them; it will instruct the server
5919       to copy them in place.
5920
5921       Eg
5922
5923              rclone copy s3:oldbucket s3:newbucket
5924
5925       Will copy the contents of oldbucket to  newbucket  without  downloading
5926       and re-uploading.
5927
5928       Remotes  which  don't support server-side copy will download and re-up‐
5929       load in this case.
5930
5931       Server side copies are used with sync and copy and will  be  identified
5932       in  the log when using the -v flag.  The move command may also use them
5933       if remote doesn't support server-side move directly.  This is  done  by
5934       issuing  a  server-side copy then a delete which is much quicker than a
5935       download and re-upload.
5936
5937       Server side copies will only be attempted if the remote names  are  the
5938       same.
5939
5940       This can be used when scripting to make aged backups efficiently, e.g.
5941
5942              rclone sync -i remote:current-backup remote:previous-backup
5943              rclone sync -i /path/to/files remote:current-backup
5944
5945   Options
5946       Rclone has a number of options to control its behaviour.
5947
5948       Options  that  take  parameters can have the values passed in two ways,
5949       --option=value or --option value.  However boolean (true/false) options
5950       behave slightly differently to the other options in that --boolean sets
5951       the option to true and the absence of the flag sets it to false.  It is
5952       also  possible to specify --boolean=false or --boolean=true.  Note that
5953       --boolean false is not valid - this is  parsed  as  --boolean  and  the
5954       false is parsed as an extra command line argument for rclone.
5955
5956       Options  which use TIME use the go time parser.  A duration string is a
5957       possibly signed sequence of decimal numbers, each with  optional  frac‐
5958       tion  and  a  unit  suffix, such as "300ms", "-1.5h" or "2h45m".  Valid
5959       time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
5960
5961       Options which use SIZE use kByte by default.  However, a  suffix  of  b
5962       for bytes, k for kBytes, M for MBytes, G for GBytes, T for TBytes and P
5963       for PBytes may be used.  These are the binary units,  e.g.   1,  2**10,
5964       2**20, 2**30 respectively.
5965
5966   --backup-dir=DIR
5967       When using sync, copy or move any files which would have been overwrit‐
5968       ten or deleted are moved in their original hierarchy into this directo‐
5969       ry.
5970
5971       If  --suffix is set, then the moved files will have the suffix added to
5972       them.  If there is a file with the same path (after the suffix has been
5973       added) in DIR, then it will be overwritten.
5974
5975       The  remote  in  use must support server-side move or copy and you must
5976       use the same remote as the destination of the sync.  The backup  direc‐
5977       tory must not overlap the destination directory.
5978
5979       For example
5980
5981              rclone sync -i /path/to/local remote:current --backup-dir remote:old
5982
5983       will  sync  /path/to/local  to  remote:current, but for any files which
5984       would have been updated or deleted will be stored in remote:old.
5985
5986       If running rclone from a script you might want to use today's  date  as
5987       the  directory  name  passed to --backup-dir to store the old files, or
5988       you might want to pass --suffix with today's date.
5989
5990       See --compare-dest and --copy-dest.
5991
5992   --bind string
5993       Local address to bind to for outgoing connections.  This can be an IPv4
5994       address  (1.2.3.4),  an IPv6 address (1234::789A) or host name.  If the
5995       host name doesn't resolve or resolves to more than one  IP  address  it
5996       will give an error.
5997
5998   --bwlimit=BANDWIDTH_SPEC
5999       This option controls the bandwidth limit.  For example
6000
6001              --bwlimit 10M
6002
6003       would  mean  limit the upload and download bandwidth to 10 Mbyte/s.  NB
6004       this is bytes per second not bits per second.  To use a  single  limit,
6005       specify  the  desired  bandwidth  in kBytes/s, or use a suffix b|k|M|G.
6006       The default is 0 which means to not limit bandwidth.
6007
6008       The upload and download  bandwidth  can  be  specified  seperately,  as
6009       --bwlimit UP:DOWN, so
6010
6011              --bwlimit 10M:100k
6012
6013       would  mean  limit  the upload bandwidth to 10 Mbyte/s and the download
6014       bandwidth to 100 kByte/s.  Either limit can be "off" meaning no  limit,
6015       so to just limit the upload bandwidth you would use
6016
6017              --bwlimit 10M:off
6018
6019       this  would  limit  the  upload bandwidth to 10MByte/s but the download
6020       bandwidth would be unlimited.
6021
6022       When specified as above the bandwidth limits last for the  duration  of
6023       run of the rclone binary.
6024
6025       It  is  also  possible  to  specify a "timetable" of limits, which will
6026       cause certain limits to be applied at  certain  times.   To  specify  a
6027       timetable,   format   your  entries  as  WEEKDAY-HH:MM,BANDWIDTH  WEEK‐
6028       DAY-HH:MM,BANDWIDTH... where: WEEKDAY is optional element.
6029
6030       · BANDWIDTH can be a single number, e.g.100k or a pair of  numbers  for
6031         upload:download, e.g.10M:1M.
6032
6033       · WEEKDAY  can  be  written as the whole word or only using the first 3
6034         characters.  It is optional.
6035
6036       · HH:MM is an hour from 00:00 to 23:59.
6037
6038       An example of a typical timetable to avoid link saturation during  day‐
6039       time working hours could be:
6040
6041       --bwlimit "08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off"
6042
6043       In this example, the transfer bandwidth will be set to 512kBytes/sec at
6044       8am every day.  At noon, it will rise to 10Mbytes/s, and drop  back  to
6045       512kBytes/sec  at  1pm.   At  6pm,  the  bandwidth limit will be set to
6046       30MBytes/s, and at 11pm it will be completely  disabled  (full  speed).
6047       Anything between 11pm and 8am will remain unlimited.
6048
6049       An example of timetable with WEEKDAY could be:
6050
6051       --bwlimit "Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off"
6052
6053       It  means  that, the transfer bandwidth will be set to 512kBytes/sec on
6054       Monday.  It will rise to 10Mbytes/s before the end of Friday.  At 10:00
6055       on  Saturday  it will be set to 1Mbyte/s.  From 20:00 on Sunday it will
6056       be unlimited.
6057
6058       Timeslots without WEEKDAY are extended to the whole week.  So this  ex‐
6059       ample:
6060
6061       --bwlimit "Mon-00:00,512 12:00,1M Sun-20:00,off"
6062
6063       Is equivalent to this:
6064
6065       --bwlimit    "Mon-00:00,512Mon-12:00,1M    Tue-12:00,1M    Wed-12:00,1M
6066       Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off"
6067
6068       Bandwidth limit apply to the data transfer for all backends.  For  most
6069       backends  the  directory listing bandwidth is also included (exceptions
6070       being the non HTTP backends, ftp, sftp and tardigrade).
6071
6072       Note that the units are Bytes/s, not Bits/s.  Typically connections are
6073       measured  in  Bits/s  - to convert divide by 8.  For example, let's say
6074       you have a 10 Mbit/s connection and you wish rclone to use half of it -
6075       5  Mbit/s.   This  is  5/8  = 0.625MByte/s so you would use a --bwlimit
6076       0.625M parameter for rclone.
6077
6078       On Unix systems (Linux, macOS, ...) the bandwidth limiter can  be  tog‐
6079       gled  by sending a SIGUSR2 signal to rclone.  This allows to remove the
6080       limitations of a long running rclone transfer and to restore it back to
6081       the value specified with --bwlimit quickly when needed.  Assuming there
6082       is only one rclone instance running, you can toggle  the  limiter  like
6083       this:
6084
6085              kill -SIGUSR2 $(pidof rclone)
6086
6087       If  you  configure  rclone with a remote control (/rc) then you can use
6088       change the bwlimit dynamically:
6089
6090              rclone rc core/bwlimit rate=1M
6091
6092   --bwlimit-file=BANDWIDTH_SPEC
6093       This option controls per file bandwidth limit.  For the options see the
6094       --bwlimit flag.
6095
6096       For example use this to allow no transfers to be faster than 1MByte/s
6097
6098              --bwlimit-file 1M
6099
6100       This can be used in conjunction with --bwlimit.
6101
6102       Note  that  if a schedule is provided the file will use the schedule in
6103       effect at the start of the transfer.
6104
6105   --buffer-size=SIZE
6106       Use this sized buffer to speed up file transfers.  Each --transfer will
6107       use this much memory for buffering.
6108
6109       When using mount or cmount each open file descriptor will use this much
6110       memory  for  buffering.    See   the   mount   (https://rclone.org/com
6111       mands/rclone_mount/#file-buffering) documentation for more details.
6112
6113       Set to 0 to disable the buffering for the minimum memory usage.
6114
6115       Note  that  the  memory  allocation of the buffers is influenced by the
6116       --use-mmap flag.
6117
6118   --check-first
6119       If this flag is set then in a sync, copy or move, rclone  will  do  all
6120       the checks to see whether files need to be transferred before doing any
6121       of the transfers.  Normally rclone would  start  running  transfers  as
6122       soon as possible.
6123
6124       This flag can be useful on IO limited systems where transfers interfere
6125       with checking.
6126
6127       It can also be useful to ensure perfect ordering when using --order-by.
6128
6129       Using this flag can use more memory as it effectively sets  --max-back‐
6130       log to infinite.  This means that all the info on the objects to trans‐
6131       fer is held in memory before the transfers start.
6132
6133   --checkers=N
6134       The number of checkers to run in parallel.  Checkers  do  the  equality
6135       checking  of  files during a sync.  For some storage systems (e.g.  S3,
6136       Swift, Dropbox) this can take a significant amount of time so they  are
6137       run in parallel.
6138
6139       The default is to run 8 checkers in parallel.
6140
6141   -c, --checksum
6142       Normally rclone will look at modification time and size of files to see
6143       if they are equal.  If you set this flag then  rclone  will  check  the
6144       file hash and size to determine if files are equal.
6145
6146       This  is  useful  when the remote doesn't support setting modified time
6147       and a more accurate sync is desired than just checking the file size.
6148
6149       This is very useful when transferring between remotes which  store  the
6150       same  hash  type  on the object, e.g.  Drive and Swift.  For details of
6151       which remotes support which hash type see the  table  in  the  overview
6152       section (https://rclone.org/overview/).
6153
6154       Eg  rclone  --checksum  sync  s3:/bucket  swift:/bucket  would run much
6155       quicker than without the --checksum flag.
6156
6157       When using this flag, rclone won't update mtimes  of  remote  files  if
6158       they are incorrect as it would normally.
6159
6160   --compare-dest=DIR
6161       When  using sync, copy or move DIR is checked in addition to the desti‐
6162       nation for files.  If a file identical to the source is found that file
6163       is NOT copied from source.  This is useful to copy just files that have
6164       changed since the last backup.
6165
6166       You must use the same remote as the destination of the sync.  The  com‐
6167       pare directory must not overlap the destination directory.
6168
6169       See --copy-dest and --backup-dir.
6170
6171   --config=CONFIG_FILE
6172       Specify the location of the rclone config file.
6173
6174       Normally  the  config  file  is in your home directory as a file called
6175       .config/rclone/rclone.conf (or .rclone.conf if created  with  an  older
6176       version).    If  $XDG_CONFIG_HOME  is  set  it  will  be  at  $XDG_CON‐
6177       FIG_HOME/rclone/rclone.conf.
6178
6179       If there is a file rclone.conf in the same directory as the rclone exe‐
6180       cutable  it  will be preferred.  This file must be created manually for
6181       Rclone to use it, it will never be created automatically.
6182
6183       If you run rclone config file you will see where the  default  location
6184       is for you.
6185
6186       Use  this  flag  to  override  the config location, e.g.  rclone --con‐
6187       fig=".myconfig" .config.
6188
6189   --contimeout=TIME
6190       Set the connection timeout.  This should be in  go  time  format  which
6191       looks like 5s for 5 seconds, 10m for 10 minutes, or 3h30m.
6192
6193       The  connection  timeout  is  the amount of time rclone will wait for a
6194       connection to go through to a remote object storage system.  It  is  1m
6195       by default.
6196
6197   --copy-dest=DIR
6198       When  using sync, copy or move DIR is checked in addition to the desti‐
6199       nation for files.  If a file identical to the source is found that file
6200       is  server-side copied from DIR to the destination.  This is useful for
6201       incremental backup.
6202
6203       The remote in use must support server-side copy and you  must  use  the
6204       same remote as the destination of the sync.  The compare directory must
6205       not overlap the destination directory.
6206
6207       See --compare-dest and --backup-dir.
6208
6209   --dedupe-mode MODE
6210       Mode to run dedupe command in.  One of interactive, skip,  first,  new‐
6211       est,  oldest, rename.  The default is interactive.  See the dedupe com‐
6212       mand for more information as to what these options mean.
6213
6214   --disable FEATURE,FEATURE,...
6215       This disables a comma separated list of optional features.  For example
6216       to disable server-side move and server-side copy use:
6217
6218              --disable move,copy
6219
6220       The features can be put in any case.
6221
6222       To see a list of which features can be disabled use:
6223
6224              --disable help
6225
6226       See  the  overview features (https://rclone.org/overview/#features) and
6227       optional features  (https://rclone.org/overview/#optional-features)  to
6228       get an idea of which feature does what.
6229
6230       This  flag can be useful for debugging and in exceptional circumstances
6231       (e.g.  Google Drive limiting the total volume of Server Side Copies  to
6232       100GB/day).
6233
6234   -n, --dry-run
6235       Do  a trial run with no permanent changes.  Use this to see what rclone
6236       would do without actually doing it.  Useful when setting  up  the  sync
6237       command which deletes files in the destination.
6238
6239   --expect-continue-timeout=TIME
6240       This specifies the amount of time to wait for a server's first response
6241       headers after fully writing the request headers if the request  has  an
6242       "Expect: 100-continue" header.  Not all backends support using this.
6243
6244       Zero means no timeout and causes the body to be sent immediately, with‐
6245       out waiting for the server to approve.  This time does not include  the
6246       time to send the request header.
6247
6248       The default is 1s.  Set to 0 to disable.
6249
6250   --error-on-no-transfer
6251       By  default,  rclone  will exit with return code 0 if there were no er‐
6252       rors.
6253
6254       This option allows rclone to return exit code 9 if no files were trans‐
6255       ferred between the source and destination.  This allows using rclone in
6256       scripts, and triggering follow-on actions if data was copied, or  skip‐
6257       ping if not.
6258
6259       NB:  Enabling this option turns a usually non-fatal error into a poten‐
6260       tially fatal one - please check and adjust your scripts accordingly!
6261
6262   --header
6263       Add an HTTP header for all transactions.  The flag can be  repeated  to
6264       add multiple headers.
6265
6266       If  you want to add headers only for uploads use --header-upload and if
6267       you want to add headers only for downloads use --header-download.
6268
6269       This flag is supported for all HTTP based backends even those not  sup‐
6270       ported  by  --header-upload  and  --header-download so may be used as a
6271       workaround for those with care.
6272
6273              rclone ls remote:test --header "X-Rclone: Foo" --header "X-LetMeIn: Yes"
6274
6275   --header-download
6276       Add an HTTP header for all download transactions.  The flag can be  re‐
6277       peated to add multiple headers.
6278
6279              rclone sync -i s3:test/src ~/dst --header-download "X-Amz-Meta-Test: Foo" --header-download "X-Amz-Meta-Test2: Bar"
6280
6281       See  the GitHub issue here (https://github.com/rclone/rclone/issues/59)
6282       for currently supported backends.
6283
6284   --header-upload
6285       Add an HTTP header for all upload transactions.  The flag  can  be  re‐
6286       peated to add multiple headers.
6287
6288              rclone sync -i ~/src s3:test/dst --header-upload "Content-Disposition: attachment; filename='cool.html'" --header-upload "X-Amz-Meta-Test: FooBar"
6289
6290       See  the GitHub issue here (https://github.com/rclone/rclone/issues/59)
6291       for currently supported backends.
6292
6293   --ignore-case-sync
6294       Using this option will cause rclone to ignore the  case  of  the  files
6295       when synchronizing so files will not be copied/synced when the existing
6296       filenames are the same, even if the casing is different.
6297
6298   --ignore-checksum
6299       Normally rclone will check that  the  checksums  of  transferred  files
6300       match, and give an error "corrupted on transfer" if they don't.
6301
6302       You  can use this option to skip that check.  You should only use it if
6303       you have had the "corrupted on transfer" error message and you are sure
6304       you might want to transfer potentially corrupted data.
6305
6306   --ignore-existing
6307       Using  this option will make rclone unconditionally skip all files that
6308       exist on the destination, no matter the content of these files.
6309
6310       While this isn't a generally recommended option, it can  be  useful  in
6311       cases  where  your  files change due to encryption.  However, it cannot
6312       correct partial transfers in case a transfer was interrupted.
6313
6314   --ignore-size
6315       Normally rclone will look at modification time and size of files to see
6316       if  they  are  equal.  If you set this flag then rclone will check only
6317       the modification time.  If --checksum is set then it  only  checks  the
6318       checksum.
6319
6320       It  will also cause rclone to skip verifying the sizes are the same af‐
6321       ter transfer.
6322
6323       This can be useful for transferring files to and  from  OneDrive  which
6324       occasionally   misreports   the   size   of   image   files  (see  #399
6325       (https://github.com/rclone/rclone/issues/399) for more info).
6326
6327   -I, --ignore-times
6328       Using this option will cause rclone to unconditionally upload all files
6329       regardless of the state of files on the destination.
6330
6331       Normally  rclone  would  skip any files that have the same modification
6332       time and are the same size (or have the same checksum if using --check‐
6333       sum).
6334
6335   --immutable
6336       Treat  source and destination files as immutable and disallow modifica‐
6337       tion.
6338
6339       With this option set, files will be created and deleted  as  requested,
6340       but existing files will never be updated.  If an existing file does not
6341       match between the source and destination, rclone will  give  the  error
6342       Source and destination exist but do not match: immutable file modified.
6343
6344       Note  that  only commands which transfer files (e.g.  sync, copy, move)
6345       are affected by this behavior, and  only  modification  is  disallowed.
6346       Files  may still be deleted explicitly (e.g.  delete, purge) or implic‐
6347       itly (e.g.  sync, move).  Use copy --immutable  if  it  is  desired  to
6348       avoid deletion as well as modification.
6349
6350       This  can  be useful as an additional layer of protection for immutable
6351       or append-only data sets (notably backup archives), where  modification
6352       implies corruption and should not be propagated.
6353
6354   -i / --interactive
6355       This  flag  can be used to tell rclone that you wish a manual confirma‐
6356       tion before destructive operations.
6357
6358       It is recommended that you use this flag while  learning  rclone  espe‐
6359       cially with rclone sync.
6360
6361       For example
6362
6363              $ rclone delete -i /tmp/dir
6364              rclone: delete "important-file.txt"?
6365              y) Yes, this is OK (default)
6366              n) No, skip this
6367              s) Skip all delete operations with no more questions
6368              !) Do all delete operations with no more questions
6369              q) Exit rclone now.
6370              y/n/s/!/q> n
6371
6372       The options mean
6373
6374       · y:  Yes,  this  operation should go ahead.  You can also press Return
6375         for this to happen.  You'll be asked every time unless you  choose  s
6376         or !.
6377
6378       · n:  No,  do not do this operation.  You'll be asked every time unless
6379         you choose s or !.
6380
6381       · s: Skip all the following operations of this type with no more  ques‐
6382         tions.   This takes effect until rclone exits.  If there are any dif‐
6383         ferent kind of operations you'll be prompted for them.
6384
6385       · !: Do all the following operations with no more questions.  Useful if
6386         you've  decided  that you don't mind rclone doing that kind of opera‐
6387         tion.  This takes effect until rclone exits .  If there are any  dif‐
6388         ferent kind of operations you'll be prompted for them.
6389
6390       · q: Quit rclone now, just in case!
6391
6392   --leave-root
6393       During rmdirs it will not remove root directory, even if it's empty.
6394
6395   --log-file=FILE
6396       Log  all  of  rclone's  output to FILE.  This is not active by default.
6397       This can be useful for tracking down problems with syncs in combination
6398       with the -v flag.  See the Logging section for more info.
6399
6400       If FILE exists then rclone will append to it.
6401
6402       Note  that  if  you  are using the logrotate program to manage rclone's
6403       logs, then you should use the copytruncate  option  as  rclone  doesn't
6404       have a signal to rotate logs.
6405
6406   --log-format LIST
6407       Comma  separated list of log format options.  date, time, microseconds,
6408       longfile, shortfile, UTC.  The default is "date,time".
6409
6410   --log-level LEVEL
6411       This sets the log level for rclone.  The default log level is NOTICE.
6412
6413       DEBUG is equivalent to -vv.  It outputs lots of debug info - useful for
6414       bug reports and really finding out what rclone is doing.
6415
6416       INFO  is  equivalent to -v.  It outputs information about each transfer
6417       and prints stats once a minute by default.
6418
6419       NOTICE is the default log level if no logging flags are  supplied.   It
6420       outputs very little when things are working normally.  It outputs warn‐
6421       ings and significant events.
6422
6423       ERROR is equivalent to -q.  It only outputs error messages.
6424
6425   --use-json-log
6426       This switches the log format to JSON for rclone.  The  fields  of  json
6427       log are level, msg, source, time.
6428
6429   --low-level-retries NUMBER
6430       This controls the number of low level retries rclone does.
6431
6432       A  low level retry is used to retry a failing operation - typically one
6433       HTTP request.  This might be uploading a chunk of a big file for  exam‐
6434       ple.  You will see low level retries in the log with the -v flag.
6435
6436       This  shouldn't  need  to  be changed from the default in normal opera‐
6437       tions.  However, if you get a lot of low level retries you may wish  to
6438       reduce  the  value  so  rclone  moves on to a high level retry (see the
6439       --retries flag) quicker.
6440
6441       Disable low level retries with --low-level-retries 1.
6442
6443   --max-backlog=N
6444       This is the maximum allowable backlog  of  files  in  a  sync/copy/move
6445       queued for being checked or transferred.
6446
6447       This  can  be  set arbitrarily large.  It will only use memory when the
6448       queue is in use.  Note that it will use in the order of N kB of  memory
6449       when the backlog is in use.
6450
6451       Setting  this large allows rclone to calculate how many files are pend‐
6452       ing more accurately, give a more accurate  estimated  finish  time  and
6453       make --order-by work more accurately.
6454
6455       Setting this small will make rclone more synchronous to the listings of
6456       the remote which may be desirable.
6457
6458       Setting this to a negative number will make the  backlog  as  large  as
6459       possible.
6460
6461   --max-delete=N
6462       This  tells  rclone  not to delete more than N files.  If that limit is
6463       exceeded then a fatal error will be generated and rclone will stop  the
6464       operation in progress.
6465
6466   --max-depth=N
6467       This modifies the recursion depth for all the commands except purge.
6468
6469       So  if you do rclone --max-depth 1 ls remote:path you will see only the
6470       files in the top level directory.  Using --max-depth 2 means  you  will
6471       see all the files in first two directory levels and so on.
6472
6473       For  historical reasons the lsd command defaults to using a --max-depth
6474       of 1 - you can override this with the command line flag.
6475
6476       You can use this command to disable recursion (with --max-depth 1).
6477
6478       Note that if you use this with sync and --delete-excluded the files not
6479       recursed  through  are  considered  excluded and will be deleted on the
6480       destination.  Test first with --dry-run if you are not sure  what  will
6481       happen.
6482
6483   --max-duration=TIME
6484       Rclone will stop scheduling new transfers when it has run for the dura‐
6485       tion specified.
6486
6487       Defaults to off.
6488
6489       When the limit is reached any existing transfers will complete.
6490
6491       Rclone won't exit with an error if the transfer limit is reached.
6492
6493   --max-transfer=SIZE
6494       Rclone will stop transferring when it has reached the  size  specified.
6495       Defaults to off.
6496
6497       When the limit is reached all transfers will stop immediately.
6498
6499       Rclone will exit with exit code 8 if the transfer limit is reached.
6500
6501   --cutoff-mode=hard|soft|cautious
6502       This  modifies  the  behavior  of  --max-transfer  Defaults  to  --cut‐
6503       off-mode=hard.
6504
6505       Specifying --cutoff-mode=hard will stop transferring  immediately  when
6506       Rclone reaches the limit.
6507
6508       Specifying  --cutoff-mode=soft  will  stop  starting new transfers when
6509       Rclone reaches the limit.
6510
6511       Specifying --cutoff-mode=cautious  will  try  to  prevent  Rclone  from
6512       reaching the limit.
6513
6514   --modify-window=TIME
6515       When checking whether a file has been modified, this is the maximum al‐
6516       lowed time difference that a file can  have  and  still  be  considered
6517       equivalent.
6518
6519       The  default is 1ns unless this is overridden by a remote.  For example
6520       OS X only stores modification times to the nearest second so if you are
6521       reading  and  writing  to  an OS X filing system this will be 1s by de‐
6522       fault.
6523
6524       This command line flag allows you to override that computed default.
6525
6526   --multi-thread-cutoff=SIZE
6527       When downloading files to the local backend  above  this  size,  rclone
6528       will use multiple threads to download the file (default 250M).
6529
6530       Rclone  preallocates  the file (using fallocate(FALLOC_FL_KEEP_SIZE) on
6531       unix or NTSetInformationFile on Windows both of which  takes  no  time)
6532       then  each  thread  writes directly into the file at the correct place.
6533       This means that rclone won't create  fragmented  or  sparse  files  and
6534       there won't be any assembly time at the end of the transfer.
6535
6536       The  number  of  threads  used  to  download  is  controlled  by --mul‐
6537       ti-thread-streams.
6538
6539       Use -vv if you wish to see info about the threads.
6540
6541       This will work with  the  sync/copy/move  commands  and  friends  copy‐
6542       to/moveto.   Multi  thread downloads will be used with rclone mount and
6543       rclone serve if --vfs-cache-mode is set to writes or above.
6544
6545       NB that this only works for a local destination but will work with  any
6546       source.
6547
6548       NB  that  multi thread copies are disabled for local to local copies as
6549       they are faster without unless --multi-thread-streams is set  explicit‐
6550       ly.
6551
6552       NB  on  Windows  using  multi-thread downloads will cause the resulting
6553       files to be  sparse  (https://en.wikipedia.org/wiki/Sparse_file).   Use
6554       --local-no-sparse  to disable sparse files (which may cause long delays
6555       at the start of  downloads)  or  disable  multi-thread  downloads  with
6556       --multi-thread-streams 0
6557
6558   --multi-thread-streams=N
6559       When  using  multi  thread  downloads (see above --multi-thread-cutoff)
6560       this sets the maximum number of streams to use.  Set to  0  to  disable
6561       multi thread downloads (Default 4).
6562
6563       Exactly  how  many  streams rclone uses for the download depends on the
6564       size of the file.  To calculate the number of download  streams  Rclone
6565       divides  the  size  of the file by the --multi-thread-cutoff and rounds
6566       up, up to the maximum set with --multi-thread-streams.
6567
6568       So if --multi-thread-cutoff 250MB and --multi-thread-streams 4  are  in
6569       effect (the defaults):
6570
6571       · 0MB..250MB files will be downloaded with 1 stream
6572
6573       · 250MB..500MB files will be downloaded with 2 streams
6574
6575       · 500MB..750MB files will be downloaded with 3 streams
6576
6577       · 750MB+ files will be downloaded with 4 streams
6578
6579   --no-check-dest
6580       The  --no-check-dest can be used with move or copy and it causes rclone
6581       not to check the destination at all when copying files.
6582
6583       This means that:
6584
6585       · the destination is not listed minimising the API calls
6586
6587       · files are always transferred
6588
6589       · this can cause duplicates on remotes which  allow  it  (e.g.   Google
6590         Drive)
6591
6592       · --retries 1 is recommended otherwise you'll transfer everything again
6593         on a retry
6594
6595       This flag is useful to minimise the transactions if you know that  none
6596       of the files are on the destination.
6597
6598       This is a specialized flag which should be ignored by most users!
6599
6600   --no-gzip-encoding
6601       Don't  set Accept-Encoding: gzip.  This means that rclone won't ask the
6602       server for compressed files automatically.  Useful if  you've  set  the
6603       server  to  return  files  with Content-Encoding: gzip but you uploaded
6604       compressed files.
6605
6606       There is no need to set this in normal operation, and doing so will de‐
6607       crease the network transfer efficiency of rclone.
6608
6609   --no-traverse
6610       The  --no-traverse flag controls whether the destination file system is
6611       traversed when using the copy or move commands.  --no-traverse  is  not
6612       compatible with sync and will be ignored if you supply it with sync.
6613
6614       If  you are only copying a small number of files (or are filtering most
6615       of the files) and/or have a large number of files  on  the  destination
6616       then  --no-traverse  will  stop rclone listing the destination and save
6617       time.
6618
6619       However, if you are copying a large number of files, especially if  you
6620       are  doing  a  copy where lots of the files under consideration haven't
6621       changed and won't need copying then you shouldn't use --no-traverse.
6622
6623       See rclone copy (https://rclone.org/commands/rclone_copy/) for an exam‐
6624       ple of how to use it.
6625
6626   --no-unicode-normalization
6627       Don't  normalize  unicode  characters in filenames during the sync rou‐
6628       tine.
6629
6630       Sometimes, an operating system will store filenames containing  unicode
6631       parts  in their decomposed form (particularly macOS).  Some cloud stor‐
6632       age systems will then recompose the  unicode,  resulting  in  duplicate
6633       files if the data is ever copied back to a local filesystem.
6634
6635       Using  this flag will disable that functionality, treating each unicode
6636       character as unique.  For example, by default é and é will be  normal‐
6637       ized  into  the  same  character.  With --no-unicode-normalization they
6638       will be treated as unique characters.
6639
6640   --no-update-modtime
6641       When using this flag, rclone won't update modification times of  remote
6642       files if they are incorrect as it would normally.
6643
6644       This  can  be used if the remote is being synced with another tool also
6645       (e.g.  the Google Drive client).
6646
6647   --order-by string
6648       The --order-by flag controls the order in which files  in  the  backlog
6649       are processed in rclone sync, rclone copy and rclone move.
6650
6651       The order by string is constructed like this.  The first part describes
6652       what aspect is being measured:
6653
6654       · size - order by the size of the files
6655
6656       · name - order by the full path of the files
6657
6658       · modtime - order by the modification date of the files
6659
6660       This can have a modifier appended with a comma:
6661
6662       · ascending or asc - order so that the smallest  (or  oldest)  is  pro‐
6663         cessed first
6664
6665       · descending  or  desc  - order so that the largest (or newest) is pro‐
6666         cessed first
6667
6668       · mixed - order so that  the  smallest  is  processed  first  for  some
6669         threads and the largest for others
6670
6671       If the modifier is mixed then it can have an optional percentage (which
6672       defaults to 50), e.g.   size,mixed,25  which  means  that  25%  of  the
6673       threads  should  be taking the smallest items and 75% the largest.  The
6674       threads which take the smallest first will  always  take  the  smallest
6675       first  and  likewise  the largest first threads.  The mixed mode can be
6676       useful to minimise the transfer time when you are transferring  a  mix‐
6677       ture  of  large and small files - the large files are guaranteed upload
6678       threads and bandwidth and the small files will be processed continuous‐
6679       ly.
6680
6681       If no modifier is supplied then the order is ascending.
6682
6683       For example
6684
6685       · --order-by size,desc - send the largest files first
6686
6687       · --order-by modtime,ascending - send the oldest files first
6688
6689       · --order-by name - send the files with alphabetically by path first
6690
6691       If  the --order-by flag is not supplied or it is supplied with an empty
6692       string then the default ordering will be  used  which  is  as  scanned.
6693       With --checkers 1 this is mostly alphabetical, however with the default
6694       --checkers 8 it is somewhat random.
6695
6696   Limitations
6697       The --order-by flag does not do a separate pass over  the  data.   This
6698       means that it may transfer some files out of the order specified if
6699
6700       · there  are  no  files in the backlog or the source has not been fully
6701         scanned yet
6702
6703       · there are more than --max-backlog files in the backlog
6704
6705       Rclone will do its best to transfer the best file it has so in practice
6706       this  should not cause a problem.  Think of --order-by as being more of
6707       a best efforts flag rather than a perfect ordering.
6708
6709       If  you  want  perfect  ordering  then  you  will   need   to   specify
6710       --check-first  which  will  find  all the files which need transferring
6711       first before transferring any.
6712
6713   --password-command SpaceSepList
6714       This flag supplies a program which should supply  the  config  password
6715       when  run.  This is an alternative to rclone prompting for the password
6716       or setting the RCLONE_CONFIG_PASS variable.
6717
6718       The argument to this should be a command with a space separated list of
6719       arguments.   If  one of the arguments has a space in then enclose it in
6720       ", if you want a literal " in an argument then enclose the argument  in
6721       "  and double the ".  See CSV encoding (https://godoc.org/encoding/csv)
6722       for more info.
6723
6724       Eg
6725
6726              --password-command echo hello
6727              --password-command echo "hello with space"
6728              --password-command echo "hello with ""quotes"" and space"
6729
6730       See the Configuration Encryption for more info.
6731
6732       See    a     Windows     PowerShell     example     on     the     Wiki
6733       (https://github.com/rclone/rclone/wiki/Windows-Powershell-use-rclone-
6734       password-command-for-Config-file-password).
6735
6736   -P, --progress
6737       This flag makes rclone update the stats in a static block in the termi‐
6738       nal providing a realtime overview of the transfer.
6739
6740       Any log messages will scroll above the static block.  Log messages will
6741       push the static block down to the bottom of the terminal where it  will
6742       stay.
6743
6744       Normally  this is updated every 500mS but this period can be overridden
6745       with the --stats flag.
6746
6747       This can be used with the --stats-one-line flag for a simpler display.
6748
6749       Note:  On  Windows  until  this  bug   (https://github.com/Azure/go-an
6750       siterm/issues/26)  is  fixed  all non-ASCII characters will be replaced
6751       with . when --progress is in use.
6752
6753   --progress-terminal-title
6754       This flag, when used with -P/--progress, will print the string ETA:  %s
6755       to the terminal title.
6756
6757   -q, --quiet
6758       This flag will limit rclone's output to error messages only.
6759
6760   --refresh-times
6761       The  --refresh-times  flag  can be used to update modification times of
6762       existing files when they are out of sync on backends which  don't  sup‐
6763       port hashes.
6764
6765       This  is useful if you uploaded files with the incorrect timestamps and
6766       you now wish to correct them.
6767
6768       This flag is only useful for destinations which  don't  support  hashes
6769       (e.g.  crypt).
6770
6771       This can be used any of the sync commands sync, copy or move.
6772
6773       To use this flag you will need to be doing a modification time sync (so
6774       not using --size-only or --checksum).  The flag  will  have  no  effect
6775       when using --size-only or --checksum.
6776
6777       If  this  flag is used when rclone comes to upload a file it will check
6778       to see if there is an existing file on the destination.  If  this  file
6779       matches the source with size (and checksum if available) but has a dif‐
6780       fering timestamp then instead of re-uploading it,  rclone  will  update
6781       the  timestamp on the destination file.  If the checksum does not match
6782       rclone will upload the new file.  If the checksum is absent (e.g.  on a
6783       crypt backend) then rclone will update the timestamp.
6784
6785       Note  that  some remotes can't set the modification time without re-up‐
6786       loading the file so this flag is less useful on them.
6787
6788       Normally if you are doing a modification time sync rclone  will  update
6789       modification  times  without  --refresh-times  provided that the remote
6790       supports checksums and the checksums match on the file.  However if the
6791       checksums  are absent then rclone will upload the file rather than set‐
6792       ting the timestamp as this is the safe behaviour.
6793
6794   --retries int
6795       Retry the entire sync if it fails this many times it fails (default 3).
6796
6797       Some remotes can be unreliable and a few retries help pick up the files
6798       which didn't get transferred because of errors.
6799
6800       Disable retries with --retries 1.
6801
6802   --retries-sleep=TIME
6803       This sets the interval between each retry specified by --retries
6804
6805       The default is 0.  Use 0 to disable.
6806
6807   --size-only
6808       Normally rclone will look at modification time and size of files to see
6809       if they are equal.  If you set this flag then rclone  will  check  only
6810       the size.
6811
6812       This can be useful transferring files from Dropbox which have been mod‐
6813       ified by the desktop sync client which doesn't set checksums of modifi‐
6814       cation times in the same way as rclone.
6815
6816   --stats=TIME
6817       Commands  which  transfer  data (sync, copy, copyto, move, moveto) will
6818       print data transfer stats at regular intervals to show their progress.
6819
6820       This sets the interval.
6821
6822       The default is 1m.  Use 0 to disable.
6823
6824       If you set the stats interval then all commands can show  stats.   This
6825       can be useful when running other commands, check or mount for example.
6826
6827       Stats  are  logged at INFO level by default which means they won't show
6828       at default log level NOTICE.  Use --stats-log-level  NOTICE  or  -v  to
6829       make them show.  See the Logging section for more info on log levels.
6830
6831       Note  that on macOS you can send a SIGINFO (which is normally ctrl-T in
6832       the terminal) to make the stats print immediately.
6833
6834   --stats-file-name-length integer
6835       By default, the --stats output  will  truncate  file  names  and  paths
6836       longer   than   40   characters.    This  is  equivalent  to  providing
6837       --stats-file-name-length 40.  Use --stats-file-name-length 0 to disable
6838       any truncation of file names printed by stats.
6839
6840   --stats-log-level string
6841       Log  level to show --stats output at.  This can be DEBUG, INFO, NOTICE,
6842       or ERROR.  The default is INFO.  This means at  the  default  level  of
6843       logging which is NOTICE the stats won't show - if you want them to then
6844       use --stats-log-level NOTICE.  See the Logging section for more info on
6845       log levels.
6846
6847   --stats-one-line
6848       When  this  is specified, rclone condenses the stats into a single line
6849       showing the most important stats only.
6850
6851   --stats-one-line-date
6852       When this is  specified,  rclone  enables  the  single-line  stats  and
6853       prepends  the  display  with  a date string.  The default is 2006/01/02
6854       15:04:05 -
6855
6856   --stats-one-line-date-format
6857       When this is  specified,  rclone  enables  the  single-line  stats  and
6858       prepends the display with a user-supplied date string.  The date string
6859       MUST    be    enclosed    in    quotes.     Follow     golang     specs
6860       (https://golang.org/pkg/time/#Time.Format) for date formatting syntax.
6861
6862   --stats-unit=bits|bytes
6863       By default, data transfer rates will be printed in bytes/second.
6864
6865       This option allows the data rate to be printed in bits/second.
6866
6867       Data transfer volume will still be reported in bytes.
6868
6869       The rate is reported as a binary unit, not SI unit.  So 1 Mbit/s equals
6870       1,048,576 bits/s and not 1,000,000 bits/s.
6871
6872       The default is bytes.
6873
6874   --suffix=SUFFIX
6875       When using sync, copy or move any files which would have been overwrit‐
6876       ten  or deleted will have the suffix added to them.  If there is a file
6877       with the same path (after the suffix has been added), then it  will  be
6878       overwritten.
6879
6880       The  remote  in  use must support server-side move or copy and you must
6881       use the same remote as the destination of the sync.
6882
6883       This is for use with files to add the suffix in the  current  directory
6884       or with --backup-dir.  See --backup-dir for more info.
6885
6886       For example
6887
6888              rclone copy -i /path/to/local/file remote:current --suffix .bak
6889
6890       will  copy  /path/to/local  to  remote:current, but for any files which
6891       would have been updated or deleted have .bak added.
6892
6893       If using rclone sync with --suffix and without --backup-dir then it  is
6894       recommended  to put a filter rule in excluding the suffix otherwise the
6895       sync will delete the backup files.
6896
6897              rclone sync -i /path/to/local/file remote:current --suffix .bak --exclude "*.bak"
6898
6899   --suffix-keep-extension
6900       When using --suffix, setting this causes rclone put the  SUFFIX  before
6901       the extension of the files that it backs up rather than after.
6902
6903       So  let's  say  we  had --suffix -2019-01-01, without the flag file.txt
6904       would be backed up to file.txt-2019-01-01 and with the flag it would be
6905       backed up to file-2019-01-01.txt.  This can be helpful to make sure the
6906       suffixed files can still be opened.
6907
6908   --syslog
6909       On capable OSes (not Windows or Plan9) send all log output to syslog.
6910
6911       This can be useful for running rclone in a script or rclone mount.
6912
6913   --syslog-facility string
6914       If using --syslog this sets the syslog  facility  (e.g.   KERN,  USER).
6915       See man syslog for a list of possible facilities.  The default facility
6916       is DAEMON.
6917
6918   --tpslimit float
6919       Limit transactions per second to this number.  Default is  0  which  is
6920       used to mean unlimited transactions per second.
6921
6922       A transaction is roughly defined as an API call; its exact meaning will
6923       depend on  the  backend.   For  HTTP  based  backends  it  is  an  HTTP
6924       PUT/GET/POST/etc  and  its  response.   For FTP/SFTP it is a round trip
6925       transaction over TCP.
6926
6927       For example to limit rclone to 10 transactions per second use --tpslim‐
6928       it 10, or to 1 transaction every 2 seconds use --tpslimit 0.5.
6929
6930       Use  this  when  the  number  of transactions per second from rclone is
6931       causing a problem with the cloud storage provider  (e.g.   getting  you
6932       banned or rate limited).
6933
6934       This  can  be  very useful for rclone mount to control the behaviour of
6935       applications using it.
6936
6937       This limit applies to all HTTP based backends and to the FTP  and  SFTP
6938       backends.   It  does  not  apply to the local backend or the Tardigrade
6939       backend.
6940
6941       See also --tpslimit-burst.
6942
6943   --tpslimit-burst int
6944       Max burst of transactions for --tpslimit (default 1).
6945
6946       Normally --tpslimit will do exactly the number of transaction per  sec‐
6947       ond  specified.  However if you supply --tps-burst then rclone can save
6948       up some transactions from when it was idle giving a burst of up to  the
6949       parameter supplied.
6950
6951       For  example if you provide --tpslimit-burst 10 then if rclone has been
6952       idle for more than 10*--tpslimit then it can do  10  transactions  very
6953       quickly before they are limited again.
6954
6955       This may be used to increase performance of --tpslimit without changing
6956       the long term average number of transactions per second.
6957
6958   --track-renames
6959       By default, rclone doesn't keep track of renamed files, so if  you  re‐
6960       name  a  file  locally then sync it to a remote, rclone will delete the
6961       old file on the remote and upload a new copy.
6962
6963       If you use this flag, and the remote supports server-side copy or serv‐
6964       er-side  move,  and  the source and destination have a compatible hash,
6965       then this will track renames during sync operations and perform  renam‐
6966       ing server-side.
6967
6968       Files  will  be  matched by size and hash - if both match then a rename
6969       will be considered.
6970
6971       If the destination does not support server-side copy  or  move,  rclone
6972       will  fall back to the default behaviour and log an error level message
6973       to the console.
6974
6975       Encrypted destinations are not currently supported  by  --track-renames
6976       if --track-renames-strategy includes hash.
6977
6978       Note  that  --track-renames is incompatible with --no-traverse and that
6979       it uses extra memory to keep track of all the rename candidates.
6980
6981       Note also that --track-renames is incompatible with --delete-before and
6982       will select --delete-after instead of --delete-during.
6983
6984   --track-renames-strategy (hash,modtime,leaf,size)
6985       This option changes the matching criteria for --track-renames.
6986
6987       The  matching is controlled by a comma separated selection of these to‐
6988       kens:
6989
6990       · modtime - the modification time of the file - not  supported  on  all
6991         backends
6992
6993       · hash - the hash of the file contents - not supported on all backends
6994
6995       · leaf - the name of the file not including its directory name
6996
6997       · size - the size of the file (this is always enabled)
6998
6999       So  using --track-renames-strategy modtime,leaf would match files based
7000       on modification time, the leaf of the file name and the size only.
7001
7002       Using --track-renames-strategy modtime or leaf can  enable  --track-re‐
7003       names support for encrypted destinations.
7004
7005       If nothing is specified, the default option is matching by hashes.
7006
7007       Note  that  the  hash strategy is not supported with encrypted destina‐
7008       tions.
7009
7010   --delete-(before,during,after)
7011       This option allows you to specify when files on  your  destination  are
7012       deleted when you sync folders.
7013
7014       Specifying  the  value --delete-before will delete all files present on
7015       the destination, but not on the source before starting the transfer  of
7016       any  new  or updated files.  This uses two passes through the file sys‐
7017       tems, one for the deletions and one for the copies.
7018
7019       Specifying --delete-during will delete files while checking and upload‐
7020       ing files.  This is the fastest option and uses the least memory.
7021
7022       Specifying  --delete-after  (the  default value) will delay deletion of
7023       files until all new/updated files have been  successfully  transferred.
7024       The files to be deleted are collected in the copy pass then deleted af‐
7025       ter the copy pass has completed successfully.  The files to be  deleted
7026       are  held  in  memory  so  this  mode may use more memory.  This is the
7027       safest mode as it will only delete files if there have been  no  errors
7028       subsequent  to  that.   If  there have been errors before the deletions
7029       start then you will get the message not deleting files as there were IO
7030       errors.
7031
7032   --fast-list
7033       When  doing  anything  which  involves a directory listing (e.g.  sync,
7034       copy, ls - in fact nearly every command), rclone normally lists  a  di‐
7035       rectory  and  processes it before using more directory lists to process
7036       any subdirectories.  This can be parallelised and  works  very  quickly
7037       using the least amount of memory.
7038
7039       However,  some remotes have a way of listing all files beneath a direc‐
7040       tory in one (or a small number) of transactions.  These tend to be  the
7041       bucket based remotes (e.g.  S3, B2, GCS, Swift, Hubic).
7042
7043       If  you  use  the --fast-list flag then rclone will use this method for
7044       listing directories.  This will have the following consequences for the
7045       listing:
7046
7047       · It will use fewer transactions (important if you pay for them)
7048
7049       · It  will  use more memory.  Rclone has to load the whole listing into
7050         memory.
7051
7052       · It may be faster because it uses fewer transactions
7053
7054       · It may be slower because it can't be parallelized
7055
7056       rclone  should  always  give  identical  results   with   and   without
7057       --fast-list.
7058
7059       If  you  pay for transactions and can fit your entire sync listing into
7060       memory then --fast-list is recommended.  If you have a very big sync to
7061       do then don't use --fast-list otherwise you will run out of memory.
7062
7063       If  you  use  --fast-list  on  a  remote which doesn't support it, then
7064       rclone will just ignore it.
7065
7066   --timeout=TIME
7067       This sets the IO idle timeout.  If a transfer has started but then  be‐
7068       comes idle for this long it is considered broken and disconnected.
7069
7070       The default is 5m.  Set to 0 to disable.
7071
7072   --transfers=N
7073       The  number  of file transfers to run in parallel.  It can sometimes be
7074       useful to set this to a smaller number if the remote is giving a lot of
7075       timeouts or bigger if you have lots of bandwidth and a fast remote.
7076
7077       The default is to run 4 file transfers in parallel.
7078
7079   -u, --update
7080       This forces rclone to skip any files which exist on the destination and
7081       have a modified time that is newer than the source file.
7082
7083       This can be useful when transferring to a remote which doesn't  support
7084       mod  times  directly (or when using --use-server-modtime to avoid extra
7085       API calls) as it is more accurate than a --size-only check  and  faster
7086       than using --checksum.
7087
7088       If  an  existing destination file has a modification time equal (within
7089       the computed modify window precision) to the source file's, it will  be
7090       updated  if  the sizes are different.  If --checksum is set then rclone
7091       will update the destination if the checksums differ too.
7092
7093       If an existing destination file is older than the source file  then  it
7094       will be updated if the size or checksum differs from the source file.
7095
7096       On  remotes  which  don't  support  mod  time  directly  (or when using
7097       --use-server-modtime) the time checked will be the uploaded time.  This
7098       means  that  if uploading to one of these remotes, rclone will skip any
7099       files which exist on the destination and have an uploaded time that  is
7100       newer than the modification time of the source file.
7101
7102   --use-mmap
7103       If  this flag is set then rclone will use anonymous memory allocated by
7104       mmap on Unix based platforms and VirtualAlloc on Windows for its trans‐
7105       fer  buffers (size controlled by --buffer-size).  Memory allocated like
7106       this does not go on the Go heap and can be returned to the  OS  immedi‐
7107       ately when it is finished with.
7108
7109       If  this flag is not set then rclone will allocate and free the buffers
7110       using the Go memory allocator which may use more memory as memory pages
7111       are returned less aggressively to the OS.
7112
7113       It  is  possible this does not work well on all platforms so it is dis‐
7114       abled by default; in the future it may be enabled by default.
7115
7116   --use-server-modtime
7117       Some object-store backends (e.g, Swift, S3) do not preserve file  modi‐
7118       fication  times (modtime).  On these backends, rclone stores the origi‐
7119       nal modtime as additional metadata on the object.  By default  it  will
7120       make an API call to retrieve the metadata when the modtime is needed by
7121       an operation.
7122
7123       Use this flag to disable the extra API call and  rely  instead  on  the
7124       server's  modified time.  In cases such as a local to remote sync using
7125       --update, knowing the local file is newer than the time it was last up‐
7126       loaded  to  the  remote  is  sufficient.  In those cases, this flag can
7127       speed up the process and reduce the number of API calls necessary.
7128
7129       Using this flag on a sync operation without also using  --update  would
7130       cause all files modified at any time other than the last upload time to
7131       be uploaded again, which is probably not what you want.
7132
7133   -v, -vv, --verbose
7134       With -v rclone will tell you about each file that is transferred and  a
7135       small number of significant events.
7136
7137       With  -vv  rclone will become very verbose telling you about every file
7138       it considers and transfers.  Please send bug reports with  a  log  with
7139       this setting.
7140
7141   -V, --version
7142       Prints the version number
7143
7144   SSL/TLS options
7145       The  outgoing  SSL/TLS  connections rclone makes can be controlled with
7146       these options.  For example this can be very useful with  the  HTTP  or
7147       WebDAV  backends.  Rclone HTTP servers have their own set of configura‐
7148       tion for SSL/TLS which you can find in their documentation.
7149
7150   --ca-cert string
7151       This loads the PEM encoded certificate authority certificate  and  uses
7152       it to verify the certificates of the servers rclone connects to.
7153
7154       If you have generated certificates signed with a local CA then you will
7155       need this flag to connect to servers using those certificates.
7156
7157   --client-cert string
7158       This loads the PEM encoded client side certificate.
7159
7160       This     is      used      for      mutual      TLS      authentication
7161       (https://en.wikipedia.org/wiki/Mutual_authentication).
7162
7163       The --client-key flag is required too when using this.
7164
7165   --client-key string
7166       This  loads the PEM encoded client side private key used for mutual TLS
7167       authentication.  Used in conjunction with --client-cert.
7168
7169   --no-check-certificate=true/false
7170       --no-check-certificate controls whether a client verifies the  server's
7171       certificate  chain  and  host name.  If --no-check-certificate is true,
7172       TLS accepts any certificate presented by the server and any  host  name
7173       in   that   certificate.    In   this   mode,  TLS  is  susceptible  to
7174       man-in-the-middle attacks.
7175
7176       This option defaults to false.
7177
7178       This should be used only for testing.
7179
7180   Configuration Encryption
7181       Your configuration file contains information for  logging  in  to  your
7182       cloud services.  This means that you should keep your .rclone.conf file
7183       in a secure location.
7184
7185       If you are in an environment where that isn't possible, you can  add  a
7186       password  to your configuration.  This means that you will have to sup‐
7187       ply the password every time you start rclone.
7188
7189       To add a password to your rclone configuration, execute rclone config.
7190
7191              >rclone config
7192              Current remotes:
7193
7194              e) Edit existing remote
7195              n) New remote
7196              d) Delete remote
7197              s) Set configuration password
7198              q) Quit config
7199              e/n/d/s/q>
7200
7201       Go into s, Set configuration password:
7202
7203              e/n/d/s/q> s
7204              Your configuration is not encrypted.
7205              If you add a password, you will protect your login information to cloud services.
7206              a) Add Password
7207              q) Quit to main menu
7208              a/q> a
7209              Enter NEW configuration password:
7210              password:
7211              Confirm NEW password:
7212              password:
7213              Password set
7214              Your configuration is encrypted.
7215              c) Change Password
7216              u) Unencrypt configuration
7217              q) Quit to main menu
7218              c/u/q>
7219
7220       Your configuration is now encrypted, and every time  you  start  rclone
7221       you  will  have to supply the password.  See below for details.  In the
7222       same menu, you can change the password or completely remove  encryption
7223       from your configuration.
7224
7225       There is no way to recover the configuration if you lose your password.
7226
7227       rclone  uses  nacl secretbox (https://godoc.org/golang.org/x/crypto/na
7228       cl/secretbox) which in turn uses XSalsa20 and Poly1305 to  encrypt  and
7229       authenticate  your  configuration  with  secret-key  cryptography.  The
7230       password is SHA-256 hashed, which produces the key for secretbox.   The
7231       hashed password is not stored.
7232
7233       While  this  provides  very  good security, we do not recommend storing
7234       your encrypted rclone configuration in public if it contains  sensitive
7235       information, maybe except if you use a very strong password.
7236
7237       If  it  is safe in your environment, you can set the RCLONE_CONFIG_PASS
7238       environment variable to contain your password, in which case it will be
7239       used for decrypting the configuration.
7240
7241       You  can  set  this for a session from a script.  For unix like systems
7242       save this to a file called set-rclone-password:
7243
7244              #!/bin/echo Source this file don't run it
7245
7246              read -s RCLONE_CONFIG_PASS
7247              export RCLONE_CONFIG_PASS
7248
7249       Then source the file when you want to use it.  From the shell you would
7250       do  source  set-rclone-password.  It will then ask you for the password
7251       and set it in the environment variable.
7252
7253       An alternate means of supplying the password is  to  provide  a  script
7254       which  will  retrieve  the password and print on standard output.  This
7255       script should have a fully specified path name and not rely on any  en‐
7256       vironment variables.  The script is supplied either via --password-com‐
7257       mand="..." command line argument or via the RCLONE_PASSWORD_COMMAND en‐
7258       vironment variable.
7259
7260       One  useful  example  of this is using the passwordstore application to
7261       retrieve the password:
7262
7263              export RCLONE_PASSWORD_COMMAND="pass rclone/config"
7264
7265       If the passwordstore password manager holds the password for the rclone
7266       configuration,  using the script method means the password is primarily
7267       protected by the passwordstore system, and is  never  embedded  in  the
7268       clear in scripts, nor available for examination using the standard com‐
7269       mands available.  It is quite possible with long  running  rclone  ses‐
7270       sions for copies of passwords to be innocently captured in log files or
7271       terminal scroll buffers, etc.  Using the script method of supplying the
7272       password enhances the security of the config password considerably.
7273
7274       If  you  are  running  rclone inside a script, unless you are using the
7275       --password-command method, you might want to disable password  prompts.
7276       To  do  that,  pass the parameter --ask-password=false to rclone.  This
7277       will make rclone fail instead of asking for a password  if  RCLONE_CON‐
7278       FIG_PASS  doesn't  contain a valid password, and --password-command has
7279       not been supplied.
7280
7281   Developer options
7282       These options are useful when developing or  debugging  rclone.   There
7283       are also some more remote specific options which aren't documented here
7284       which are  used  for  testing.   These  start  with  remote  name  e.g.
7285       --drive-test-option - see the docs for the remote in question.
7286
7287   --cpuprofile=FILE
7288       Write CPU profile to file.  This can be analysed with go tool pprof.
7289
7290   --dump flag,flag,flag
7291       The  --dump  flag  takes  a  comma separated list of flags to dump info
7292       about.
7293
7294       Note that some headers including Accept-Encoding as shown  may  not  be
7295       correct  in  the request and the response may not show Content-Encoding
7296       if the go standard libraries auto gzip encoding was in effect.  In this
7297       case the body of the request will be gunzipped before showing it.
7298
7299       The available flags are:
7300
7301   --dump headers
7302       Dump HTTP headers with Authorization: lines removed.  May still contain
7303       sensitive info.  Can be very verbose.  Useful for debugging only.
7304
7305       Use --dump auth if you do want the Authorization: headers.
7306
7307   --dump bodies
7308       Dump HTTP headers and bodies - may contain sensitive info.  Can be very
7309       verbose.  Useful for debugging only.
7310
7311       Note that the bodies are buffered in memory so don't use this for enor‐
7312       mous files.
7313
7314   --dump requests
7315       Like --dump bodies but dumps the request bodies and the response  head‐
7316       ers.  Useful for debugging download problems.
7317
7318   --dump responses
7319       Like  --dump bodies but dumps the response bodies and the request head‐
7320       ers.  Useful for debugging upload problems.
7321
7322   --dump auth
7323       Dump HTTP headers - will contain sensitive info such as  Authorization:
7324       headers  -  use  --dump headers to dump without Authorization: headers.
7325       Can be very verbose.  Useful for debugging only.
7326
7327   --dump filters
7328       Dump the filters to the output.  Useful to see exactly what include and
7329       exclude options are filtering on.
7330
7331   --dump goroutines
7332       This  dumps a list of the running go-routines at the end of the command
7333       to standard output.
7334
7335   --dump openfiles
7336       This dumps a list of the open files at the end of the command.  It uses
7337       the lsof command to do that so you'll need that installed to use it.
7338
7339   --memprofile=FILE
7340       Write memory profile to file.  This can be analysed with go tool pprof.
7341
7342   Filtering
7343       For the filtering options
7344
7345       · --delete-excluded
7346
7347       · --filter
7348
7349       · --filter-from
7350
7351       · --exclude
7352
7353       · --exclude-from
7354
7355       · --include
7356
7357       · --include-from
7358
7359       · --files-from
7360
7361       · --files-from-raw
7362
7363       · --min-size
7364
7365       · --max-size
7366
7367       · --min-age
7368
7369       · --max-age
7370
7371       · --dump filters
7372
7373       See the filtering section (https://rclone.org/filtering/).
7374
7375   Remote control
7376       For  the  remote  control options and for instructions on how to remote
7377       control rclone
7378
7379       · --rc
7380
7381       · and anything starting with --rc-
7382
7383       See the remote control section (https://rclone.org/rc/).
7384
7385   Logging
7386       rclone has 4 levels of logging, ERROR, NOTICE, INFO and DEBUG.
7387
7388       By default, rclone logs to standard error.  This means you can redirect
7389       standard error and still see the normal output of rclone commands (e.g.
7390       rclone ls).
7391
7392       By default, rclone will produce Error and Notice level messages.
7393
7394       If you use the -q flag, rclone will only produce Error messages.
7395
7396       If you use the -v flag, rclone will produce Error, Notice and Info mes‐
7397       sages.
7398
7399       If  you  use  the -vv flag, rclone will produce Error, Notice, Info and
7400       Debug messages.
7401
7402       You can also control the log levels with the --log-level flag.
7403
7404       If you use the --log-file=FILE option, rclone will redirect Error, Info
7405       and Debug messages along with standard error to FILE.
7406
7407       If  you  use  the  --syslog flag then rclone will log to syslog and the
7408       --syslog-facility control which facility it uses.
7409
7410       Rclone prefixes all log messages with their  level  in  capitals,  e.g.
7411       INFO  which  makes  it easy to grep the log file for different kinds of
7412       information.
7413
7414   Exit Code
7415       If any errors occur during the command execution, rclone will exit with
7416       a non-zero exit code.  This allows scripts to detect when rclone opera‐
7417       tions have failed.
7418
7419       During the startup phase, rclone will exit immediately if an  error  is
7420       detected  in the configuration.  There will always be a log message im‐
7421       mediately before exiting.
7422
7423       When rclone is running it will accumulate errors as it goes along,  and
7424       only exit with a non-zero exit code if (after retries) there were still
7425       failed transfers.  For every error counted there will be a high priori‐
7426       ty  log  message  (visible  with -q) showing the message and which file
7427       caused the problem.  A high priority message is also shown when  start‐
7428       ing  a  retry  so the user can see that any previous error messages may
7429       not be valid after the retry.  If rclone has done a retry it will log a
7430       high priority message if the retry was successful.
7431
7432   List of exit codes
7433       · 0 - success
7434
7435       · 1 - Syntax or usage error
7436
7437       · 2 - Error not otherwise categorised
7438
7439       · 3 - Directory not found
7440
7441       · 4 - File not found
7442
7443       · 5 - Temporary error (one that more retries might fix) (Retry errors)
7444
7445       · 6  -  Less serious errors (like 461 errors from dropbox) (NoRetry er‐
7446         rors)
7447
7448       · 7 - Fatal error (one that more retries won't fix, like  account  sus‐
7449         pended) (Fatal errors)
7450
7451       · 8 - Transfer exceeded - limit set by --max-transfer reached
7452
7453       · 9 - Operation successful, but no files transferred
7454
7455   Environment Variables
7456       Rclone  can  be configured entirely using environment variables.  These
7457       can be used to set defaults for options or config file entries.
7458
7459   Options
7460       Every option in rclone can have its default set  by  environment  vari‐
7461       able.
7462
7463       To  find the name of the environment variable, first, take the long op‐
7464       tion name, strip the leading --, change - to _,  make  upper  case  and
7465       prepend RCLONE_.
7466
7467       For  example,  to  always  set --stats 5s, set the environment variable
7468       RCLONE_STATS=5s.  If you set stats on the command line this will  over‐
7469       ride the environment variable setting.
7470
7471       Or   to   always   use   the  trash  in  drive  --drive-use-trash,  set
7472       RCLONE_DRIVE_USE_TRASH=true.
7473
7474       The same parser is used for the options and the  environment  variables
7475       so they take exactly the same form.
7476
7477   Config file
7478       You can set defaults for values in the config file on an individual re‐
7479       mote basis.  If you want to use this feature, you will need to discover
7480       the  name of the config items that you want.  The easiest way is to run
7481       through rclone config by hand, then look in the config file to see what
7482       the values are (the config file can be found by looking at the help for
7483       --config in rclone help).
7484
7485       To find the name of the environment variable, you  need  to  set,  take
7486       RCLONE_CONFIG_  +  name  of remote + _ + name of config file option and
7487       make it all uppercase.
7488
7489       For example, to configure an S3 remote named  mys3:  without  a  config
7490       file (using unix ways of setting environment variables):
7491
7492              $ export RCLONE_CONFIG_MYS3_TYPE=s3
7493              $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX
7494              $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX
7495              $ rclone lsd MYS3:
7496                        -1 2016-09-21 12:54:21        -1 my-bucket
7497              $ rclone listremotes | grep mys3
7498              mys3:
7499
7500       Note  that  if  you want to create a remote using environment variables
7501       you must create the ..._TYPE variable as above.
7502
7503   Precedence
7504       The various different methods of backend configuration are read in this
7505       order and the first one with a value is used.
7506
7507       · Flag values as supplied on the command line, e.g.  --drive-use-trash.
7508
7509       · Remote   specific   environment   vars,   e.g.    RCLONE_CONFIG_MYRE‐
7510         MOTE_USE_TRASH (see above).
7511
7512       · Backend specific environment vars, e.g.  RCLONE_DRIVE_USE_TRASH.
7513
7514       · Config file, e.g.  use_trash = false.
7515
7516       · Default values, e.g.  true - these can't be changed.
7517
7518       So if both --drive-use-trash is supplied on the config line and an  en‐
7519       vironment variable RCLONE_DRIVE_USE_TRASH is set, the command line flag
7520       will take preference.
7521
7522       For non backend configuration the order is as follows:
7523
7524       · Flag values as supplied on the command line, e.g.  --stats 5s.
7525
7526       · Environment vars, e.g.  RCLONE_STATS=5s.
7527
7528       · Default values, e.g.  1m - these can't be changed.
7529
7530   Other environment variables
7531       · RCLONE_CONFIG_PASS set to contain your config file password (see Con‐
7532         figuration Encryption section)
7533
7534       · HTTP_PROXY,  HTTPS_PROXY  and  NO_PROXY  (or  the  lowercase versions
7535         thereof).
7536
7537         · HTTPS_PROXY takes precedence over HTTP_PROXY for https requests.
7538
7539         · The  environment  values  may  be  either  a  complete  URL  or   a
7540           "host[:port]" for, in which case the "http" scheme is assumed.
7541
7542       · RCLONE_CONFIG_DIR - rclone sets this variable for use in config files
7543         and sub processes to point to the directory holding the config file.
7544

Configuring rclone on a remote / headless machine

7546       Some of the configurations (those involving oauth2) require an Internet
7547       connected web browser.
7548
7549       If  you are trying to set rclone up on a remote or headless box with no
7550       browser available on it (e.g.  a NAS or a server in a datacenter)  then
7551       you  will need to use an alternative means of configuration.  There are
7552       two ways of doing it, described below.
7553
7554   Configuring using rclone authorize
7555       On the headless box run rclone config but answer N to the Use auto con‐
7556       fig? question.
7557
7558              ...
7559              Remote config
7560              Use auto config?
7561               * Say Y if not sure
7562               * Say N if you are working on a remote or headless machine
7563              y) Yes (default)
7564              n) No
7565              y/n> n
7566              For this to work, you will need rclone available on a machine that has
7567              a web browser available.
7568
7569              For more help and alternate methods see: https://rclone.org/remote_setup/
7570
7571              Execute the following on the machine with the web browser (same rclone
7572              version recommended):
7573
7574                  rclone authorize "amazon cloud drive"
7575
7576              Then paste the result below:
7577              result>
7578
7579       Then on your main desktop machine
7580
7581              rclone authorize "amazon cloud drive"
7582              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
7583              Log in and authorize rclone for access
7584              Waiting for code...
7585              Got code
7586              Paste the following into your remote machine --->
7587              SECRET_TOKEN
7588              <---End paste
7589
7590       Then back to the headless box, paste in the code
7591
7592              result> SECRET_TOKEN
7593              --------------------
7594              [acd12]
7595              client_id =
7596              client_secret =
7597              token = SECRET_TOKEN
7598              --------------------
7599              y) Yes this is OK
7600              e) Edit this remote
7601              d) Delete this remote
7602              y/e/d>
7603
7604   Configuring by copying the config file
7605       Rclone  stores  all of its config in a single configuration file.  This
7606       can easily be copied to configure a remote rclone.
7607
7608       So first configure rclone on your desktop machine with
7609
7610              rclone config
7611
7612       to set up the config file.
7613
7614       Find the config file by running rclone config file, for example
7615
7616              $ rclone config file
7617              Configuration file is stored at:
7618              /home/user/.rclone.conf
7619
7620       Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and
7621       place it in the correct place (use rclone config file on the remote box
7622       to find out where).
7623

Filtering, includes and excludes

7625       Filter flags determine which files rclone sync, move, ls, lsl,  md5sum,
7626       sha1sum, size, delete, check and similar commands apply to.
7627
7628       They  are  specified  in  terms  of  path/file name patterns; path/file
7629       lists; file age and size, or presence of a file in a directory.  Bucket
7630       based  remotes without the concept of directory apply filters to object
7631       key, age and size in an analogous way.
7632
7633       Rclone purge does not obey filters.
7634
7635       To test filters without risk of damage to data, apply  them  to  rclone
7636       ls, or with the --dry-run and -vv flags.
7637
7638       Rclone filter patterns can only be used in filter command line options,
7639       not in the specification of a remote.
7640
7641       E.g.  rclone copy "remote:dir*.jpg" /path/to/dir does not have a filter
7642       effect.  rclone copy remote:dir /path/to/dir --include "*.jpg" does.
7643
7644       Important  Avoid mixing any two of --include..., --exclude... or --fil‐
7645       ter... flags in an rclone command.  The results may not be what you ex‐
7646       pect.  Instead use a --filter... flag.
7647
7648   Patterns for matching path/file names
7649   Pattern syntax
7650       Rclone matching rules follow a glob style:
7651
7652              `*`         matches any sequence of non-separator (`/`) characters
7653              `**`        matches any sequence of characters including `/` separators
7654              `?`         matches any single non-separator (`/`) character
7655              `[` [ `!` ] { character-range } `]`
7656                          character class (must be non-empty)
7657              `{` pattern-list `}`
7658                          pattern alternatives
7659              c           matches character c (c != `*`, `**`, `?`, `\`, `[`, `{`, `}`)
7660              `\` c       matches character c
7661
7662       character-range:
7663
7664              c           matches character c (c != `\\`, `-`, `]`)
7665              `\` c       matches character c
7666              lo `-` hi   matches character c for lo <= c <= hi
7667
7668       pattern-list:
7669
7670              pattern { `,` pattern }
7671                          comma-separated (without spaces) patterns
7672
7673       character    classes    (see    Go    regular    expression   reference
7674       (https://golang.org/pkg/regexp/syntax/)) include:
7675
7676              Named character classes (e.g. [\d], [^\d], [\D], [^\D])
7677              Perl character classes (e.g. \s, \S, \w, \W)
7678              ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]])
7679
7680       If the filter pattern starts with a / then it only matches at  the  top
7681       level  of  the  directory tree, relative to the root of the remote (not
7682       necessarily the root of the drive).  If it does not start with  /  then
7683       it  is  matched  starting  at the end of the path/file name but it only
7684       matches a complete path element - it must match from a /  separator  or
7685       the beginning of the path/file.
7686
7687              file.jpg   - matches "file.jpg"
7688                         - matches "directory/file.jpg"
7689                         - doesn't match "afile.jpg"
7690                         - doesn't match "directory/afile.jpg"
7691              /file.jpg  - matches "file.jpg" in the root directory of the remote
7692                         - doesn't match "afile.jpg"
7693                         - doesn't match "directory/file.jpg"
7694
7695       Important Use / in path/file name patterns and not \ even if running on
7696       Microsoft Windows.
7697
7698       Simple patterns are case sensitive unless  the  --ignore-case  flag  is
7699       used.
7700
7701       Without --ignore-case (default)
7702
7703              potato - matches "potato"
7704                     - doesn't match "POTATO"
7705
7706       With --ignore-case
7707
7708              potato - matches "potato"
7709                     - matches "POTATO"
7710
7711   How filter rules are applied to files
7712       Rclone  path / file name filters are made up of one or more of the fol‐
7713       lowing flags:
7714
7715       · --include
7716
7717       · --include-from
7718
7719       · --exclude
7720
7721       · --exclude-from
7722
7723       · --filter
7724
7725       · --filter-from
7726
7727       There can be more than one instance of individual flags.
7728
7729       Rclone internally uses a combined list of all the include  and  exclude
7730       rules.  The order in which rules are processed can influence the result
7731       of the filter.
7732
7733       All flags of the same type are processed together in the  order  above,
7734       regardless  of  what order the different types of flags are included on
7735       the command line.
7736
7737       Multiple instances of the same flag are processed from  left  to  right
7738       according to their position in the command line.
7739
7740       To mix up the order of processing includes and excludes use --filter...
7741       flags.
7742
7743       Within --include-from, --exclude-from and --filter-from flags rules are
7744       processed from top to bottom of the referenced file..
7745
7746       If  there  is an --include or --include-from flag specified, rclone im‐
7747       plies a - ** rule which it adds to the  bottom  of  the  internal  rule
7748       list.   Specifying a + rule with a --filter... flag does not imply that
7749       rule.
7750
7751       Each path/file name passed through rclone is matched against  the  com‐
7752       bined  filter list.  At first match to a rule the path/file name is in‐
7753       cluded or excluded and no further filter rules are processed  for  that
7754       path/file.
7755
7756       If  rclone  does not find a match, after testing against all rules (in‐
7757       cluding the implied rule if appropriate), the path/file name is includ‐
7758       ed.
7759
7760       Any  path/file  included  at that stage is processed by the rclone com‐
7761       mand.
7762
7763       --files-from and --files-from-raw flags over-ride and  cannot  be  com‐
7764       bined with other filter options.
7765
7766       To see the internal combined rule list, in regular expression form, for
7767       a command add the --dump filters flag.  Running an rclone command  with
7768       --dump  filters  and  -vv  flags lists the internal filter elements and
7769       shows how they are applied to each source path/file.  There is not cur‐
7770       rently  a means provided to pass regular expression filter options into
7771       rclone directly though character class filter rules  contain  character
7772       classes.   Go regular expression reference (https://golang.org/pkg/reg
7773       exp/syntax/)
7774
7775   How filter rules are applied to directories
7776       Rclone commands filter, and are applied to, path/file names not  direc‐
7777       tories.   The entire contents of a directory can be matched to a filter
7778       by the pattern directory/* or recursively by directory/**.
7779
7780       Directory filter rules are defined with a closing / separator.
7781
7782       E.g.  /directory/subdirectory/ is an rclone directory filter rule.
7783
7784       Rclone commands can use directory filter  rules  to  determine  whether
7785       they recurse into subdirectories.  This potentially optimises access to
7786       a remote by avoiding listing unnecessary directories.  Whether  optimi‐
7787       sation is desirable depends on the specific filter rules and source re‐
7788       mote content.
7789
7790       Optimisation occurs if either:
7791
7792       · A source remote does not support the rclone ListR primitive.   local,
7793         sftp,  Microsoft  OneDrive  and  WebDav do not support ListR.  Google
7794         Drive   and   most   bucket   type    storage    do.     Full    list
7795         (https://rclone.org/overview/#optional-features)
7796
7797       · On  other  remotes, if the rclone command is not naturally recursive,
7798         provided it is not run with the --fast-list flag.   ls,  lsf  -R  and
7799         size are recursive but sync, copy and move are not.
7800
7801       · Whenever the --disable ListR flag is applied to an rclone command.
7802
7803       Rclone  commands  imply  directory  filter  rules from path/file filter
7804       rules.  To view the directory filter rules rclone  has  implied  for  a
7805       command specify the --dump filters flag.
7806
7807       E.g.  for an include rule
7808
7809              /a/*.jpg
7810
7811       Rclone implies the directory include rule
7812
7813              /a/
7814
7815       Directory  filter  rules  specified  in an rclone command can limit the
7816       scope of an rclone command but path/file filters still have to be spec‐
7817       ified.
7818
7819       E.g.  rclone ls remote: --include /directory/ will not match any files.
7820       Because it is an --include option the --exclude ** rule is implied, and
7821       the \directory\ pattern serves only to optimise access to the remote by
7822       ignoring everything outside of that directory.
7823
7824       E.g.  rclone ls remote: --filter-from filter-list.txt with a file  fil‐
7825       ter-list.txt:
7826
7827              - /dir1/
7828              - /dir2/
7829              + *.pdf
7830              - **
7831
7832       All  files in directories dir1 or dir2 or their subdirectories are com‐
7833       pletely excluded from the listing.  Only files of suffix  'pdf  in  the
7834       root  of  remote: or its subdirectories are listed.  The - ** rule pre‐
7835       vents listing of any path/files not previously  matched  by  the  rules
7836       above.
7837
7838       Option exclude-if-present creates a directory exclude rule based on the
7839       presence of a file in a  directory  and  takes  precedence  over  other
7840       rclone directory filter rules.
7841
7842   --exclude - Exclude files matching pattern
7843       Excludes  path/file  names from an rclone command based on a single ex‐
7844       clude rule.
7845
7846       This flag can be repeated.  See above for the order  filter  flags  are
7847       processed in.
7848
7849       --exclude  should  not be used with --include, --include-from, --filter
7850       or --filter-from flags.
7851
7852       --exclude  has  no  effect   when   combined   with   --files-from   or
7853       --files-from-raw flags.
7854
7855       E.g.   rclone  ls  remote: --exclude *.bak excludes all .bak files from
7856       listing.
7857
7858       E.g.  rclone size remote: "--exclude /dir/**" returns the total size of
7859       all  files on remote: excluding those in root directory dir and sub di‐
7860       rectories.
7861
7862       E.g.    on   Microsoft   Windows   rclone    ls    remote:    --exclude
7863       "*\[{JP,KR,HK}\]*" lists the files in remote: with [JP] or [KR] or [HK]
7864       in their name.  The single quotes prevent the shell  from  interpreting
7865       the  \  characters.   The  \ characters escape the [ and ] so ran clone
7866       filter treats them literally rather than as a character-range.   The  {
7867       and  } define an rclone pattern list.  For other operating systems sin‐
7868       gle   quotes   are   required   ie   rclone   ls   remote:    --exclude
7869       '*\[{JP,KR,HK}\]*'
7870
7871   --exclude-from - Read exclude patterns from file
7872       Excludes  path/file  names  from  an rclone command based on rules in a
7873       named file.  The file contains a list of remarks and pattern rules.
7874
7875       For an example exclude-file.txt:
7876
7877              # a sample exclude rule file
7878              *.bak
7879              file2.jpg
7880
7881       rclone ls remote: --exclude-from exclude-file.txt lists  the  files  on
7882       remote:  except  those  named file2.jpg or with a suffix .bak.  That is
7883       equivalent to rclone ls remote: --exclude file2.jpg --exclude "*.bak".
7884
7885       This flag can be repeated.  See above for the order  filter  flags  are
7886       processed in.
7887
7888       The  --exclude-from  flag is useful where multiple exclude filter rules
7889       are applied to an rclone command.
7890
7891       --exclude-from should  not  be  used  with  --include,  --include-from,
7892       --filter or --filter-from flags.
7893
7894       --exclude-from  has  no  effect  when  combined  with  --files-from  or
7895       --files-from-raw flags.
7896
7897       --exclude-from followed by - reads filter rules from standard input.
7898
7899   --include - Include files matching pattern
7900       Adds a single include rule based on path/file names to an  rclone  com‐
7901       mand.
7902
7903       This  flag  can  be repeated.  See above for the order filter flags are
7904       processed in.
7905
7906       --include  has  no  effect   when   combined   with   --files-from   or
7907       --files-from-raw flags.
7908
7909       --include  implies --exclude ** at the end of an rclone internal filter
7910       list.  Therefore if you mix --include  and  --include-from  flags  with
7911       --exclude,  --exclude-from, --filter or --filter-from, you must use in‐
7912       clude rules for all the files you want in the include  statement.   For
7913       more flexibility use the --filter-from flag.
7914
7915       E.g.   rclone ls remote: --include "*.{png,jpg}" lists the files on re‐
7916       mote: with suffix .png and .jpg.  All other files are excluded.
7917
7918       E.g.  multiple rclone copy commands can be combined with --include  and
7919       a pattern-list.
7920
7921              rclone copy /vol1/A remote:A
7922              rclone copy /vol1/B remote:B
7923
7924       is equivalent to:
7925
7926              rclone copy /vol1 remote: --include "{A,B}/**"
7927
7928       E.g.   rclone  ls  remote:/wheat  --include "??[^[:punct:]]*" lists the
7929       files remote: directory wheat (and subdirectories) whose third  charac‐
7930       ter  is  not  punctuation.   This example uses an ASCII character class
7931       (https://golang.org/pkg/regexp/syntax/).
7932
7933   --include-from - Read include patterns from file
7934       Adds path/file names to an rclone command based on  rules  in  a  named
7935       file.  The file contains a list of remarks and pattern rules.
7936
7937       For an example include-file.txt:
7938
7939              # a sample include rule file
7940              *.jpg
7941              file2.avi
7942
7943       rclone  ls  remote:  --include-from include-file.txt lists the files on
7944       remote: with name file2.avi or suffix  .jpg.   That  is  equivalent  to
7945       rclone ls remote: --include file2.avi --include "*.jpg".
7946
7947       This  flag  can  be repeated.  See above for the order filter flags are
7948       processed in.
7949
7950       The --include-from flag is useful where multiple include  filter  rules
7951       are applied to an rclone command.
7952
7953       --include-from  implies  --exclude  ** at the end of an rclone internal
7954       filter list.  Therefore if you mix --include and  --include-from  flags
7955       with --exclude, --exclude-from, --filter or --filter-from, you must use
7956       include rules for all the files you want in the include statement.  For
7957       more flexibility use the --filter-from flag.
7958
7959       --exclude-from  has  no  effect  when  combined  with  --files-from  or
7960       --files-from-raw flags.
7961
7962       --exclude-from followed by - reads filter rules from standard input.
7963
7964   --filter - Add a file-filtering rule
7965       Specifies path/file names to an rclone command, based on a  single  in‐
7966       clude or exclude rule, in + or - format.
7967
7968       This  flag  can  be repeated.  See above for the order filter flags are
7969       processed in.
7970
7971       --filter + differs from --include.  In the case of --include rclone im‐
7972       plies  an  --exclude * rule which it adds to the bottom of the internal
7973       rule list.  --filter...+ does not imply that rule.
7974
7975       --filter  has  no   effect   when   combined   with   --files-from   or
7976       --files-from-raw flags.
7977
7978       --filter  should  not be used with --include, --include-from, --exclude
7979       or --exclude-from flags.
7980
7981       E.g.  rclone ls remote: --filter "- *.bak" excludes all .bak files from
7982       a list of remote:.
7983
7984   --filter-from - Read filtering patterns from a file
7985       Adds  path/file  names  to  an rclone command based on rules in a named
7986       file.  The file contains a list of remarks and pattern rules.   Include
7987       rules  start with + and exclude rules with -.  ! clears existing rules.
7988       Rules are processed in the order they are defined.
7989
7990       This flag can be repeated.  See above for the order  filter  flags  are
7991       processed in.
7992
7993       Arrange  the  order of filter rules with the most restrictive first and
7994       work down.
7995
7996       E.g.  For filter-file.txt:
7997
7998              # a sample filter rule file
7999              - secret*.jpg
8000              + *.jpg
8001              + *.png
8002              + file2.avi
8003              - /dir/Trash/**
8004              + /dir/**
8005              # exclude everything else
8006              - *
8007
8008       rclone ls remote: --filter-from filter-file.txt lists the path/files on
8009       remote:  including  all  jpg  and png files, excluding any matching se‐
8010       cret*.jpg and including file2.avi.  It also includes everything in  the
8011       directory  dir  at the root of remote, except remote:dir/Trash which it
8012       excludes.  Everything else is excluded.
8013
8014       E.g.  for an alternative filter-file.txt:
8015
8016              - secret*.jpg
8017              + *.jpg
8018              + *.png
8019              + file2.avi
8020              - *
8021
8022       Files file1.jpg, file3.png and file2.avi are listed whilst secret17.jpg
8023       and files without the suffix .jpgor.png` are excluded.
8024
8025       E.g.  for an alternative filter-file.txt:
8026
8027              + *.jpg
8028              + *.gif
8029              !
8030              + 42.doc
8031              - *
8032
8033       Only file 42.doc is listed.  Prior rules are cleared by the !.
8034
8035   --files-from - Read list of source-file names
8036       Adds  path/files  to  an  rclone  command  from a list in a named file.
8037       Rclone processes the path/file names in the order of the list,  and  no
8038       others.
8039
8040       Other   filter   flags  (--include,  --include-from,  --exclude,  --ex‐
8041       clude-from, --filter and --filter-from) are ignored  when  --files-from
8042       is used.
8043
8044       --files-from expects a list of files as its input.  Leading or trailing
8045       whitespace is stripped from the input lines.  Lines starting with #  or
8046       ; are ignored.
8047
8048       Rclone  commands with a --files-from flag traverse the remote, treating
8049       the names in --files-from as a set of filters.
8050
8051       If the --no-traverse and --files-from flags are used together an rclone
8052       command  does  not  traverse  the  remote.   Instead  it addresses each
8053       path/file named in the file individually.   For  each  path/file  name,
8054       that  requires typically 1 API call.  This can be efficient for a short
8055       --files-from list and a remote containing many files.
8056
8057       Rclone commands do not error if any names in the --files-from file  are
8058       missing from the source remote.
8059
8060       The  --files-from  flag  can  be repeated in a single rclone command to
8061       read path/file names from more than one file.  The files are read  from
8062       left to right along the command line.
8063
8064       Paths within the --files-from file are interpreted as starting with the
8065       root specified in the rclone command.  Leading  /  separators  are  ig‐
8066       nored.  See --files-from-raw if you need the input to be processed in a
8067       raw manner.
8068
8069       E.g.  for a file files-from.txt:
8070
8071              # comment
8072              file1.jpg
8073              subdir/file2.jpg
8074
8075       rclone  copy  --files-from  files-from.txt  /home/me/pics   remote:pics
8076       copies the following, if they exist, and only those files.
8077
8078              /home/me/pics/file1.jpg        → remote:pics/file1.jpg
8079              /home/me/pics/subdir/file2.jpg → remote:pics/subdir/file2.jpg
8080
8081       E.g.  to copy the following files referenced by their absolute paths:
8082
8083              /home/user1/42
8084              /home/user1/dir/ford
8085              /home/user2/prefect
8086
8087       First  find  a common subdirectory - in this case /home and put the re‐
8088       maining files in files-from.txt with or without leading /, e.g.
8089
8090              user1/42
8091              user1/dir/ford
8092              user2/prefect
8093
8094       Then copy these to a remote:
8095
8096              rclone copy --files-from files-from.txt /home remote:backup
8097
8098       The three files are transferred as follows:
8099
8100              /home/user1/42       → remote:backup/user1/important
8101              /home/user1/dir/ford → remote:backup/user1/dir/file
8102              /home/user2/prefect  → remote:backup/user2/stuff
8103
8104       Alternatively if / is chosen as root files-from.txt would be:
8105
8106              /home/user1/42
8107              /home/user1/dir/ford
8108              /home/user2/prefect
8109
8110       The copy command would be:
8111
8112              rclone copy --files-from files-from.txt / remote:backup
8113
8114       Then there will be an extra home directory on the remote:
8115
8116              /home/user1/42       → remote:backup/home/user1/42
8117              /home/user1/dir/ford → remote:backup/home/user1/dir/ford
8118              /home/user2/prefect  → remote:backup/home/user2/prefect
8119
8120   --files-from-raw - Read list of source-file names without any processing
8121       This flag is the same as --files-from except that input is  read  in  a
8122       raw manner.  Lines with leading / trailing whitespace, and lines start‐
8123       ing  with  ;  or  #  are  read  without  any  processing.   rclone  lsf
8124       (https://rclone.org/commands/rclone_lsf/)  has a compatible format that
8125       can  be  used  to  export  file  lists  from  remotes  for   input   to
8126       --files-from-raw.
8127
8128   --ignore-case - make searches case insensitive
8129       By  default  rclone  filter  patterns  are  case  sensitive.  The --ig‐
8130       nore-case flag makes all of the filters patterns on  the  command  line
8131       case insensitive.
8132
8133       E.g.   --include  "zaphod.txt"  does not match a file Zaphod.txt.  With
8134       --ignore-case a match is made.
8135
8136   Quoting shell metacharacters
8137       Rclone commands with filter patterns  containing  shell  metacharacters
8138       may not as work as expected in your shell and may require quoting.
8139
8140       E.g.  linux, OSX (* metacharacter)
8141
8142       · --include \*.jpg
8143
8144       · --include '*.jpg'
8145
8146       · --include='*.jpg'
8147
8148       Microsoft Windows expansion is done by the command, not shell, so --in‐
8149       clude *.jpg does not require quoting.
8150
8151       If the rclone error Command .... needs .... arguments maximum: you pro‐
8152       vided  ....  non  flag arguments: is encountered, the cause is commonly
8153       spaces within the name of a remote or flag value.  The fix then  is  to
8154       quote values containing spaces.
8155
8156   Other filters
8157   --min-size - Don't transfer any file smaller than this
8158       Controls  the  minimum size file within the scope of an rclone command.
8159       Default units are kBytes but abbreviations k, M, or G are valid.
8160
8161       E.g.  rclone ls remote:  --min-size  50k  lists  files  on  remote:  of
8162       50kByte size or larger.
8163
8164   --max-size - Don't transfer any file larger than this
8165       Controls  the  maximum size file within the scope of an rclone command.
8166       Default units are kBytes but abbreviations k, M, or G are valid.
8167
8168       E.g.  rclone ls remote: --max-size 1G lists files on remote: of  1GByte
8169       size or smaller.
8170
8171   --max-age - Don't transfer any file older than this
8172       Controls  the  maximum  age of files within the scope of an rclone com‐
8173       mand.  Default units are seconds or  the  following  abbreviations  are
8174       valid:
8175
8176       · ms - Milliseconds
8177
8178       · s - Seconds
8179
8180       · m - Minutes
8181
8182       · h - Hours
8183
8184       · d - Days
8185
8186       · w - Weeks
8187
8188       · M - Months
8189
8190       · y - Years
8191
8192       --max-age  can  also  be specified as an absolute time in the following
8193       formats:
8194
8195       · RFC3339 - e.g.  "2006-01-02T15:04:05Z07:00"
8196
8197       · ISO8601 Date and time, local timezone - "2006-01-02T15:04:05"
8198
8199       · ISO8601 Date and time, local timezone - "2006-01-02 15:04:05"
8200
8201       · ISO8601 Date - "2006-01-02" (YYYY-MM-DD)
8202
8203       --max-age applies only to files and not to directories.
8204
8205       E.g.  rclone ls remote: --max-age 2d lists files on remote: of  2  days
8206       old or less.
8207
8208   --min-age - Don't transfer any file younger than this
8209       Controls  the  minimum  age of files within the scope of an rclone com‐
8210       mand.  (see --max-age for valid formats)
8211
8212       --min-age applies only to files and not to directories.
8213
8214       E.g.  rclone ls remote: --min-age 2d lists files on remote: of  2  days
8215       old or more.
8216
8217   Other flags
8218   --delete-excluded - Delete files on dest excluded from sync
8219       Important  this flag is dangerous to your data - use with --dry-run and
8220       -v first.
8221
8222       In conjunction with rclone  sync  the  `--delete-excluded  deletes  any
8223       files on the destination which are excluded from the command.
8224
8225       E.g.  the scope of rclone sync -i A: B: can be restricted:
8226
8227              rclone --min-size 50k --delete-excluded sync A: B:
8228
8229       All  files on B: which are less than 50 kBytes are deleted because they
8230       are excluded from the rclone sync command.
8231
8232   --dump filters - dump the filters to the output
8233       Dumps the defined filters to standard output in regular expression for‐
8234       mat.
8235
8236       Useful for debugging.
8237
8238   Exclude directory based on a file
8239       The  --exclude-if-present  flag  controls whether a directory is within
8240       the scope of an rclone command based on the presence of  a  named  file
8241       within it.
8242
8243       This flag has a priority over other filter flags.
8244
8245       E.g.  for the following directory structure:
8246
8247              dir1/file1
8248              dir1/dir2/file2
8249              dir1/dir2/dir3/file3
8250              dir1/dir2/dir3/.ignore
8251
8252       The  command  rclone ls --exclude-if-present .ignore dir1 does not list
8253       dir3, file3 or .ignore.
8254
8255       --exclude-if-present can only be used once in an rclone command.
8256
8257   Common pitfalls
8258       The  most  frequent  filter  support  issues  on   the   rclone   forum
8259       (https://https://forum.rclone.org/) are:
8260
8261       · Not using paths relative to the root of the remote
8262
8263       · Not using / to match from the root of a remote
8264
8265       · Not using ** to match the contents of a directory
8266

GUI (Experimental)

8268       Rclone  can  serve a web based GUI (graphical user interface).  This is
8269       somewhat experimental at the moment so things may be subject to change.
8270
8271       Run this command in a terminal and rclone will download and  then  dis‐
8272       play the GUI in a web browser.
8273
8274              rclone rcd --rc-web-gui
8275
8276       This will produce logs like this and rclone needs to continue to run to
8277       serve the GUI:
8278
8279              2019/08/25 11:40:14 NOTICE: A new release for gui is present at https://github.com/rclone/rclone-webui-react/releases/download/v0.0.6/currentbuild.zip
8280              2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path :  /home/USER/.cache/rclone/webgui/v0.0.6.zip]
8281              2019/08/25 11:40:16 NOTICE: Unzipping
8282              2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/
8283
8284       This assumes you are running rclone locally on  your  machine.   It  is
8285       possible to separate the rclone and the GUI - see below for details.
8286
8287       If  you  wish to check for updates then you can add --rc-web-gui-update
8288       to the command line.
8289
8290       If you find your GUI  broken,  you  may  force  it  to  update  by  add
8291       --rc-web-gui-force-update.
8292
8293       By     default,     rclone     will    open    your    browser.     Add
8294       --rc-web-gui-no-open-browser to disable this feature.
8295
8296   Using the GUI
8297       Once the GUI opens, you will be looking at the dashboard which  has  an
8298       overall overview.
8299
8300       On  the  left  hand  side you will see a series of view buttons you can
8301       click on:
8302
8303       · Dashboard - main overview
8304
8305       · Configs - examine and create new configurations
8306
8307       · Explorer - view, download and upload files to the cloud storage  sys‐
8308         tems
8309
8310       · Backend - view or alter the backend config
8311
8312       · Log out
8313
8314       (More docs and walkthrough video to come!)
8315
8316   How it works
8317       When you run the rclone rcd --rc-web-gui this is what happens
8318
8319       · Rclone starts but only runs the remote control API ("rc").
8320
8321       · The  API  is  bound  to localhost with an auto generated username and
8322         password.
8323
8324       · If the API bundle is missing then rclone will download it.
8325
8326       · rclone will start serving the files from the API bundle over the same
8327         port as the API
8328
8329       · rclone  will  open  the  browser  with  a  login_token  so it can log
8330         straight in.
8331
8332   Advanced use
8333       The rclone rcd may use any of the  flags  documented  on  the  rc  page
8334       (https://rclone.org/rc/#supported-parameters).
8335
8336       The flag --rc-web-gui is shorthand for
8337
8338       · Download the web GUI if necessary
8339
8340       · Check we are using some authentication
8341
8342       · --rc-user gui
8343
8344       · --rc-pass <random password>
8345
8346       · --rc-serve
8347
8348       These flags can be overridden as desired.
8349
8350       See   also   the   rclone  rcd  documentation  (https://rclone.org/com
8351       mands/rclone_rcd/).
8352
8353   Example: Running a public GUI
8354       For example the GUI could be served on a public port over SSL using  an
8355       htpasswd file using the following flags:
8356
8357       · --rc-web-gui
8358
8359       · --rc-addr :443
8360
8361       · --rc-htpasswd /path/to/htpasswd
8362
8363       · --rc-cert /path/to/ssl.crt
8364
8365       · --rc-key /path/to/ssl.key
8366
8367   Example: Running a GUI behind a proxy
8368       If  you  want  to  run  the GUI behind a proxy at /rclone you could use
8369       these flags:
8370
8371       · --rc-web-gui
8372
8373       · --rc-baseurl rclone
8374
8375       · --rc-htpasswd /path/to/htpasswd
8376
8377       Or instead of htpasswd if you just want a single user and password:
8378
8379       · --rc-user me
8380
8381       · --rc-pass mypassword
8382
8383   Project
8384       The GUI is being developed in the: rclone/rclone-webui-react repository
8385       (https://github.com/rclone/rclone-webui-react).
8386
8387       Bug reports and contributions are very welcome :-)
8388
8389       If  you  have  questions  then  please  ask  them  on  the rclone forum
8390       (https://forum.rclone.org/).
8391

Remote controlling rclone with its API

8393       If rclone is run with the --rc flag then it starts an HTTP server which
8394       can be used to remote control rclone using its API.
8395
8396       You  can either use the rclone rc command to access the API or use HTTP
8397       directly.
8398
8399       If you just want to run a remote  control  then  see  the  rcd  command
8400       (https://rclone.org/commands/rclone_rcd/).
8401
8402   Supported parameters
8403   --rc
8404       Flag to start the http server listen on remote requests
8405
8406   --rc-addr=IP
8407       IPaddress:Port or :Port to bind server to.  (default "localhost:5572")
8408
8409   --rc-cert=KEY
8410       SSL PEM key (concatenation of certificate and CA certificate)
8411
8412   --rc-client-ca=PATH
8413       Client certificate authority to verify clients with
8414
8415   --rc-htpasswd=PATH
8416       htpasswd file - if not provided no authentication is done
8417
8418   --rc-key=PATH
8419       SSL PEM Private key
8420
8421   --rc-max-header-bytes=VALUE
8422       Maximum size of request header (default 4096)
8423
8424   --rc-user=VALUE
8425       User name for authentication.
8426
8427   --rc-pass=VALUE
8428       Password for authentication.
8429
8430   --rc-realm=VALUE
8431       Realm for authentication (default "rclone")
8432
8433   --rc-server-read-timeout=DURATION
8434       Timeout for server reading data (default 1h0m0s)
8435
8436   --rc-server-write-timeout=DURATION
8437       Timeout for server writing data (default 1h0m0s)
8438
8439   --rc-serve
8440       Enable  the  serving  of  remote  objects via the HTTP interface.  This
8441       means objects will be accessible at http://127.0.0.1:5572/ by  default,
8442       so  you can browse to http://127.0.0.1:5572/ or http://127.0.0.1:5572/*
8443       to see a listing of the remotes.  Objects may be requested from remotes
8444       using this syntax http://127.0.0.1:5572/[remote:path]/path/to/object
8445
8446       Default Off.
8447
8448   --rc-files /path/to/directory
8449       Path to local files to serve on the HTTP server.
8450
8451       If  this is set then rclone will serve the files in that directory.  It
8452       will also open the root in the web browser if specified.  This  is  for
8453       implementing browser based GUIs for rclone functions.
8454
8455       If  --rc-user or --rc-pass is set then the URL that is opened will have
8456       the authorization in the URL in the http://user:pass@localhost/ style.
8457
8458       Default Off.
8459
8460   --rc-enable-metrics
8461       Enable OpenMetrics/Prometheus compatible endpoint at /metrics.
8462
8463       Default Off.
8464
8465   --rc-web-gui
8466       Set this flag to serve the default web gui on the same port as rclone.
8467
8468       Default Off.
8469
8470   --rc-allow-origin
8471       Set the allowed Access-Control-Allow-Origin for rc requests.
8472
8473       Can be used with --rc-web-gui if the rclone is running on different  IP
8474       than the web-gui.
8475
8476       Default is IP address on which rc is running.
8477
8478   --rc-web-fetch-url
8479       Set the URL to fetch the rclone-web-gui files from.
8480
8481       Default  https://api.github.com/repos/rclone/rclone-webui-react/releas
8482       es/latest.
8483
8484   --rc-web-gui-update
8485       Set  this  flag  to  check  and  update  rclone-webui-react  from   the
8486       rc-web-fetch-url.
8487
8488       Default Off.
8489
8490   --rc-web-gui-force-update
8491       Set   this   flag   to   force   update   rclone-webui-react  from  the
8492       rc-web-fetch-url.
8493
8494       Default Off.
8495
8496   --rc-web-gui-no-open-browser
8497       Set this flag to  disable  opening  browser  automatically  when  using
8498       web-gui.
8499
8500       Default Off.
8501
8502   --rc-job-expire-duration=DURATION
8503       Expire finished async jobs older than DURATION (default 60s).
8504
8505   --rc-job-expire-interval=DURATION
8506       Interval duration to check for expired async jobs (default 10s).
8507
8508   --rc-no-auth
8509       By default rclone will require authorisation to have been set up on the
8510       rc interface in order to use any methods which access  any  rclone  re‐
8511       motes.   Eg  operations/list is denied as it involved creating a remote
8512       as is sync/copy.
8513
8514       If this is set then no authorisation will be required on the server  to
8515       use  these  methods.  The alternative is to use --rc-user and --rc-pass
8516       and use these credentials in the request.
8517
8518       Default Off.
8519
8520   Accessing the remote control via the rclone rc command
8521       Rclone itself implements the remote control protocol in its  rclone  rc
8522       command.
8523
8524       You can use it like this
8525
8526              $ rclone rc rc/noop param1=one param2=two
8527              {
8528                  "param1": "one",
8529                  "param2": "two"
8530              }
8531
8532       Run  rclone rc on its own to see the help for the installed remote con‐
8533       trol commands.
8534
8535   JSON input
8536       rclone rc also supports a --json flag which can be used  to  send  more
8537       complicated input parameters.
8538
8539              $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 } }' rc/noop
8540              {
8541                  "p1": [
8542                      1,
8543                      "2",
8544                      null,
8545                      4
8546                  ],
8547                  "p2": {
8548                      "a": 1,
8549                      "b": 2
8550                  }
8551              }
8552
8553       If  the  parameter being passed is an object then it can be passed as a
8554       JSON string rather than using the --json flag which simplifies the com‐
8555       mand line.
8556
8557              rclone rc operations/list fs=/tmp remote=test opt='{"showHash": true}'
8558
8559       Rather than
8560
8561              rclone rc operations/list --json '{"fs": "/tmp", "remote": "test", "opt": {"showHash": true}}'
8562
8563   Special parameters
8564       The  rc  interface  supports some special parameters which apply to all
8565       commands.  These start with _ to show they are different.
8566
8567   Running asynchronous jobs with _async = true
8568       Each rc call is classified as a job and it is assigned its own id.   By
8569       default  jobs  are  executed  immediately  as  they are created or syn‐
8570       chronously.
8571
8572       If _async has a true value when supplied to an rc call then it will re‐
8573       turn  immediately  with  a job id and the task will be run in the back‐
8574       ground.  The job/status call can be used  to  get  information  of  the
8575       background job.  The job can be queried for up to 1 minute after it has
8576       finished.
8577
8578       It is recommended that potentially long running jobs, e.g.   sync/sync,
8579       sync/copy,  sync/move, operations/purge are run with the _async flag to
8580       avoid any potential problems with the HTTP request and response  timing
8581       out.
8582
8583       Starting a job with the _async flag:
8584
8585              $ rclone rc --json '{ "p1": [1,"2",null,4], "p2": { "a":1, "b":2 }, "_async": true }' rc/noop
8586              {
8587                  "jobid": 2
8588              }
8589
8590       Query  the status to see if the job has finished.  For more information
8591       on the meaning of these return parameters see the job/status call.
8592
8593              $ rclone rc --json '{ "jobid":2 }' job/status
8594              {
8595                  "duration": 0.000124163,
8596                  "endTime": "2018-10-27T11:38:07.911245881+01:00",
8597                  "error": "",
8598                  "finished": true,
8599                  "id": 2,
8600                  "output": {
8601                      "_async": true,
8602                      "p1": [
8603                          1,
8604                          "2",
8605                          null,
8606                          4
8607                      ],
8608                      "p2": {
8609                          "a": 1,
8610                          "b": 2
8611                      }
8612                  },
8613                  "startTime": "2018-10-27T11:38:07.911121728+01:00",
8614                  "success": true
8615              }
8616
8617       job/list can be used to show the running or recently completed jobs
8618
8619              $ rclone rc job/list
8620              {
8621                  "jobids": [
8622                      2
8623                  ]
8624              }
8625
8626   Assigning operations to groups with _group = value
8627       Each rc call has its own stats group for tracking its metrics.  By  de‐
8628       fault grouping is done by the composite group name from prefix job/ and
8629       id of the job like so job/1.
8630
8631       If _group has a value then stats for that request will be grouped under
8632       that value.  This allows caller to group stats under their own name.
8633
8634       Stats   for  specific  group  can  be  accessed  by  passing  group  to
8635       core/stats:
8636
8637              $ rclone rc --json '{ "group": "job/1" }' core/stats
8638              {
8639                  "speed": 12345
8640                  ...
8641              }
8642
8643   Supported commands
8644   backend/command: Runs a backend command.
8645       This takes the following parameters
8646
8647       · command - a string with the command name
8648
8649       · fs - a remote name string e.g.  "drive:"
8650
8651       · arg - a list of arguments for the backend command
8652
8653       · opt - a map of string to string of options
8654
8655       Returns
8656
8657       · result - result from the backend command
8658
8659       For example
8660
8661              rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2
8662
8663       Returns
8664
8665              {
8666                  "result": {
8667                      "arg": [
8668                          "path1",
8669                          "path2"
8670                      ],
8671                      "name": "noop",
8672                      "opt": {
8673                          "blue": "",
8674                          "echo": "yes"
8675                      }
8676                  }
8677              }
8678
8679       Note that this is the direct equivalent of using  this  "backend"  com‐
8680       mand:
8681
8682              rclone backend noop . -o echo=yes -o blue path1 path2
8683
8684       Note that arguments must be preceded by the "-a" flag
8685
8686       See  the  backend (https://rclone.org/commands/rclone_backend/) command
8687       for more information.
8688
8689       Authentication is required for this call.
8690
8691   cache/expire: Purge a remote from cache
8692       Purge a remote from the cache backend.  Supports either a directory  or
8693       a  file.   Params:  -  remote  = path to remote (required) - withData =
8694       true/false to delete cached data (chunks) as well (optional)
8695
8696       Eg
8697
8698              rclone rc cache/expire remote=path/to/sub/folder/
8699              rclone rc cache/expire remote=/ withData=true
8700
8701   cache/fetch: Fetch file chunks
8702       Ensure the specified file chunks are cached on disk.
8703
8704       The chunks= parameter specifies the file chunks to check.  It  takes  a
8705       comma  separated  list  of  array slice indices.  The slice indices are
8706       similar to Python slices: start[:end]
8707
8708       start is the 0 based chunk number from the beginning  of  the  file  to
8709       fetch inclusive.  end is 0 based chunk number from the beginning of the
8710       file to fetch exclusive.  Both values can be negative,  in  which  case
8711       they  count  from the back of the file.  The value "-5:" represents the
8712       last 5 chunks of a file.
8713
8714       Some valid examples are: ":5,-5:" -> the first  and  last  five  chunks
8715       "0,-2"  ->  the first and the second last chunk "0:10" -> the first ten
8716       chunks
8717
8718       Any parameter with a key that starts with "file" can be used to specify
8719       files to fetch, e.g.
8720
8721              rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye
8722
8723       File  names  will automatically be encrypted when the a crypt remote is
8724       used on top of the cache.
8725
8726   cache/stats: Get cache stats
8727       Show statistics for the cache remote.
8728
8729   config/create: create the config for a remote.
8730       This takes the following parameters
8731
8732       · name - name of remote
8733
8734       · parameters - a map of { "key": "value" } pairs
8735
8736       · type - type of the new remote
8737
8738       · obscure - optional bool - forces obscuring of passwords
8739
8740       · noObscure - optional bool - forces passwords not to be obscured
8741
8742       See the config create command  (https://rclone.org/commands/rclone_con
8743       fig_create/) command for more information on the above.
8744
8745       Authentication is required for this call.
8746
8747   config/delete: Delete a remote in the config file.
8748       Parameters:
8749
8750       · name - name of remote to delete
8751
8752       See  the config delete command (https://rclone.org/commands/rclone_con
8753       fig_delete/) command for more information on the above.
8754
8755       Authentication is required for this call.
8756
8757   config/dump: Dumps the config file.
8758       Returns a JSON object: - key: value
8759
8760       Where keys are remote names and values are the config parameters.
8761
8762       See the config  dump  command  (https://rclone.org/commands/rclone_con
8763       fig_dump/) command for more information on the above.
8764
8765       Authentication is required for this call.
8766
8767   config/get: Get a remote in the config file.
8768       Parameters:
8769
8770       · name - name of remote to get
8771
8772       See  the  config  dump command (https://rclone.org/commands/rclone_con
8773       fig_dump/) command for more information on the above.
8774
8775       Authentication is required for this call.
8776
8777   config/listremotes: Lists the remotes in the config file.
8778       Returns - remotes - array of remote names
8779
8780       See     the      listremotes      command      (https://rclone.org/com
8781       mands/rclone_listremotes/) command for more information on the above.
8782
8783       Authentication is required for this call.
8784
8785   config/password: password the config for a remote.
8786       This takes the following parameters
8787
8788       · name - name of remote
8789
8790       · parameters - a map of { "key": "value" } pairs
8791
8792       See    the    config    password    command    (https://rclone.org/com
8793       mands/rclone_config_password/) command  for  more  information  on  the
8794       above.
8795
8796       Authentication is required for this call.
8797
8798   config/providers: Shows how providers are configured in the config file.
8799       Returns a JSON object: - providers - array of objects
8800
8801       See    the    config    providers    command   (https://rclone.org/com
8802       mands/rclone_config_providers/) command for  more  information  on  the
8803       above.
8804
8805       Authentication is required for this call.
8806
8807   config/update: update the config for a remote.
8808       This takes the following parameters
8809
8810       · name - name of remote
8811
8812       · parameters - a map of { "key": "value" } pairs
8813
8814       · obscure - optional bool - forces obscuring of passwords
8815
8816       · noObscure - optional bool - forces passwords not to be obscured
8817
8818       See  the config update command (https://rclone.org/commands/rclone_con
8819       fig_update/) command for more information on the above.
8820
8821       Authentication is required for this call.
8822
8823   core/bwlimit: Set the bandwidth limit.
8824       This sets the bandwidth limit to the string passed in.  This should  be
8825       a single bandwidth limit entry or a pair of upload:download bandwidth.
8826
8827       Eg
8828
8829              rclone rc core/bwlimit rate=off
8830              {
8831                  "bytesPerSecond": -1,
8832                  "bytesPerSecondTx": -1,
8833                  "bytesPerSecondRx": -1,
8834                  "rate": "off"
8835              }
8836              rclone rc core/bwlimit rate=1M
8837              {
8838                  "bytesPerSecond": 1048576,
8839                  "bytesPerSecondTx": 1048576,
8840                  "bytesPerSecondRx": 1048576,
8841                  "rate": "1M"
8842              }
8843              rclone rc core/bwlimit rate=1M:100k
8844              {
8845                  "bytesPerSecond": 1048576,
8846                  "bytesPerSecondTx": 1048576,
8847                  "bytesPerSecondRx": 131072,
8848                  "rate": "1M"
8849              }
8850
8851       If the rate parameter is not supplied then the bandwidth is queried
8852
8853              rclone rc core/bwlimit
8854              {
8855                  "bytesPerSecond": 1048576,
8856                  "bytesPerSecondTx": 1048576,
8857                  "bytesPerSecondRx": 1048576,
8858                  "rate": "1M"
8859              }
8860
8861       The  format of the parameter is exactly the same as passed to --bwlimit
8862       except only one bandwidth may be specified.
8863
8864       In either case "rate" is returned  as  a  human  readable  string,  and
8865       "bytesPerSecond" is returned as a number.
8866
8867   core/command: Run a rclone terminal command over rc.
8868       This takes the following parameters
8869
8870       · command - a string with the command name
8871
8872       · arg - a list of arguments for the backend command
8873
8874       · opt - a map of string to string of options
8875
8876       · returnType  -  one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STD‐
8877         OUT", "STREAM_ONLY_STDERR")
8878
8879         · defaults to "COMBINED_OUTPUT" if not set
8880
8881         · the STREAM returnTypes will write the output to  the  body  of  the
8882           HTTP message
8883
8884         · the COMBINED_OUTPUT will write the output to the "result" parameter
8885
8886       Returns
8887
8888       · result - result from the backend command
8889
8890         · only set when using returnType "COMBINED_OUTPUT"
8891
8892       · error - set if rclone exits with an error code
8893
8894       · returnType  -  one of ("COMBINED_OUTPUT", "STREAM", "STREAM_ONLY_STD‐
8895         OUT", "STREAM_ONLY_STDERR")
8896
8897       For example
8898
8899              rclone rc core/command command=ls -a mydrive:/ -o max-depth=1
8900              rclone rc core/command -a ls -a mydrive:/ -o max-depth=1
8901
8902       Returns
8903
8904              {
8905                  "error": false,
8906                  "result": "<Raw command line output>"
8907              }
8908
8909              OR
8910              {
8911                  "error": true,
8912                  "result": "<Raw command line output>"
8913              }
8914
8915       Authentication is required for this call.
8916
8917   core/gc: Runs a garbage collection.
8918       This tells the go runtime to do a garbage  collection  run.   It  isn't
8919       necessary  to  call  this  normally, but it can be useful for debugging
8920       memory problems.
8921
8922   core/group-list: Returns list of stats.
8923       This returns list of stats groups currently in memory.
8924
8925       Returns the following values:
8926
8927              {
8928                  "groups":  an array of group names:
8929                      [
8930                          "group1",
8931                          "group2",
8932                          ...
8933                      ]
8934              }
8935
8936   core/memstats: Returns the memory statistics
8937       This returns the memory statistics of the running  program.   What  the
8938       values  mean  are explained in the go docs: https://golang.org/pkg/run
8939       time/#MemStats
8940
8941       The most interesting values for most people are:
8942
8943       · HeapAlloc: This is the amount of memory rclone is actually using
8944
8945       · HeapSys: This is the amount of memory rclone has obtained from the OS
8946
8947       · Sys: this is the total amount of memory requested from the OS
8948
8949         · It is virtual memory so may include unused memory
8950
8951   core/obscure: Obscures a string passed in.
8952       Pass a clear string and rclone will obscure it for the config  file:  -
8953       clear - string
8954
8955       Returns - obscured - string
8956
8957   core/pid: Return PID of current process
8958       This  returns  PID  of  current  process.   Useful  for stopping rclone
8959       process.
8960
8961   core/quit: Terminates the app.
8962       (optional) Pass an exit code to be used for terminating the app: -  ex‐
8963       itCode - int
8964
8965   core/stats: Returns stats about current transfers.
8966       This returns all available stats:
8967
8968              rclone rc core/stats
8969
8970       If  group  is  not provided then summed up stats for all groups will be
8971       returned.
8972
8973       Parameters
8974
8975       · group - name of the stats group (string)
8976
8977       Returns the following values:
8978
8979              {
8980                  "speed": average speed in bytes/sec since start of the process,
8981                  "bytes": total transferred bytes since the start of the process,
8982                  "errors": number of errors,
8983                  "fatalError": whether there has been at least one FatalError,
8984                  "retryError": whether there has been at least one non-NoRetryError,
8985                  "checks": number of checked files,
8986                  "transfers": number of transferred files,
8987                  "deletes" : number of deleted files,
8988                  "renames" : number of renamed files,
8989                  "transferTime" : total time spent on running jobs,
8990                  "elapsedTime": time in seconds since the start of the process,
8991                  "lastError": last occurred error,
8992                  "transferring": an array of currently active file transfers:
8993                      [
8994                          {
8995                              "bytes": total transferred bytes for this file,
8996                              "eta": estimated time in seconds until file transfer completion
8997                              "name": name of the file,
8998                              "percentage": progress of the file transfer in percent,
8999                              "speed": average speed over the whole transfer in bytes/sec,
9000                              "speedAvg": current speed in bytes/sec as an exponentially weighted moving average,
9001                              "size": size of the file in bytes
9002                          }
9003                      ],
9004                  "checking": an array of names of currently active file checks
9005                      []
9006              }
9007
9008       Values for "transferring", "checking" and "lastError" are only assigned
9009       if  data is available.  The value for "eta" is null if an eta cannot be
9010       determined.
9011
9012   core/stats-delete: Delete stats group.
9013       This deletes entire stats group
9014
9015       Parameters
9016
9017       · group - name of the stats group (string)
9018
9019   core/stats-reset: Reset stats.
9020       This clears counters, errors and finished transfers for  all  stats  or
9021       specific stats group if group is provided.
9022
9023       Parameters
9024
9025       · group - name of the stats group (string)
9026
9027   core/transferred: Returns stats about completed transfers.
9028       This returns stats about completed transfers:
9029
9030              rclone rc core/transferred
9031
9032       If  group  is not provided then completed transfers for all groups will
9033       be returned.
9034
9035       Note only the last 100 completed transfers are returned.
9036
9037       Parameters
9038
9039       · group - name of the stats group (string)
9040
9041       Returns the following values:
9042
9043              {
9044                  "transferred":  an array of completed transfers (including failed ones):
9045                      [
9046                          {
9047                              "name": name of the file,
9048                              "size": size of the file in bytes,
9049                              "bytes": total transferred bytes for this file,
9050                              "checked": if the transfer is only checked (skipped, deleted),
9051                              "timestamp": integer representing millisecond unix epoch,
9052                              "error": string description of the error (empty if successful),
9053                              "jobid": id of the job that this transfer belongs to
9054                          }
9055                      ]
9056              }
9057
9058   core/version: Shows the current version of rclone and the go runtime.
9059       This shows the current version of go and the go runtime
9060
9061       · version - rclone version, e.g.  "v1.53.0"
9062
9063       · decomposed - version number as [major, minor, patch]
9064
9065       · isGit - boolean - true if this was compiled from the git version
9066
9067       · isBeta - boolean - true if this is a beta version
9068
9069       · os - OS in use as according to Go
9070
9071       · arch - cpu architecture in use according to Go
9072
9073       · goVersion - version of Go runtime in use
9074
9075   debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for  blocking
9076       profiling.
9077       SetBlockProfileRate  controls the fraction of goroutine blocking events
9078       that are reported in the blocking profile.  The profiler aims to sample
9079       an average of one blocking event per rate nanoseconds spent blocked.
9080
9081       To include every blocking event in the profile, pass rate = 1.  To turn
9082       off profiling entirely, pass rate <= 0.
9083
9084       After calling this you can use this to see the blocking profile:
9085
9086              go tool pprof http://localhost:5572/debug/pprof/block
9087
9088       Parameters
9089
9090       · rate - int
9091
9092   debug/set-mutex-profile-fraction: Set  runtime.SetMutexProfileFraction  for
9093       mutex profiling.
9094       SetMutexProfileFraction  controls  the  fraction  of  mutex  contention
9095       events that are reported in  the  mutex  profile.   On  average  1/rate
9096       events are reported.  The previous rate is returned.
9097
9098       To  turn off profiling entirely, pass rate 0.  To just read the current
9099       rate, pass rate < 0.  (For n>1 the details of sampling may change.)
9100
9101       Once this is set you can look use this to profile the mutex contention:
9102
9103              go tool pprof http://localhost:5572/debug/pprof/mutex
9104
9105       Parameters
9106
9107       · rate - int
9108
9109       Results
9110
9111       · previousRate - int
9112
9113   job/list: Lists the IDs of the running jobs
9114       Parameters - None
9115
9116       Results
9117
9118       · jobids - array of integer job ids
9119
9120   job/status: Reads the status of the job ID
9121       Parameters
9122
9123       · jobid - id of the job (integer)
9124
9125       Results
9126
9127       · finished - boolean
9128
9129       · duration - time in seconds that the job ran for
9130
9131       · endTime      -      time      the      job       finished       (e.g.
9132         "2018-10-26T18:50:20.528746884+01:00")
9133
9134       · error - error from the job or empty string for no error
9135
9136       · finished - boolean whether the job has finished or not
9137
9138       · id - as passed in above
9139
9140       · startTime       -      time      the      job      started      (e.g.
9141         "2018-10-26T18:50:20.528336039+01:00")
9142
9143       · success - boolean - true for success false otherwise
9144
9145       · output - output of the job as would have been returned if called syn‐
9146         chronously
9147
9148       · progress - output of the progress related to the underlying job
9149
9150   job/stop: Stop the running job
9151       Parameters
9152
9153       · jobid - id of the job (integer)
9154
9155   mount/listmounts: Show current mount points
9156       This  shows  currently mounted points, which can be used for performing
9157       an unmount
9158
9159       This takes no parameters and returns
9160
9161       · mountPoints: list of current mount points
9162
9163       Eg
9164
9165              rclone rc mount/listmounts
9166
9167       Authentication is required for this call.
9168
9169   mount/mount: Create a new mount point
9170       rclone allows Linux,  FreeBSD,  macOS  and  Windows  to  mount  any  of
9171       Rclone's cloud storage systems as a file system with FUSE.
9172
9173       If  no  mountType  is  provided,  the  priority is given as follows: 1.
9174       mount 2.cmount 3.mount2
9175
9176       This takes the following parameters
9177
9178       · fs - a remote path to be mounted (required)
9179
9180       · mountPoint: valid path on the local machine (required)
9181
9182       · mountType: One of the values (mount, cmount,  mount2)  specifies  the
9183         mount implementation to use
9184
9185       · mountOpt: a JSON object with Mount options in.
9186
9187       · vfsOpt: a JSON object with VFS options in.
9188
9189       Eg
9190
9191              rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint
9192              rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount
9193              rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt='{"CacheMode": 2}' mountOpt='{"AllowOther": true}'
9194
9195       The  vfsOpt  are as described in options/get and can be seen in the the
9196       "vfs" section when running and the mountOpt can be seen in the  "mount"
9197       section.
9198
9199              rclone rc options/get
9200
9201       Authentication is required for this call.
9202
9203   mount/types: Show all possible mount types
9204       This shows all possible mount types and returns them as a list.
9205
9206       This takes no parameters and returns
9207
9208       · mountTypes: list of mount types
9209
9210       The mount types are strings like "mount", "mount2", "cmount" and can be
9211       passed to mount/mount as the mountType parameter.
9212
9213       Eg
9214
9215              rclone rc mount/types
9216
9217       Authentication is required for this call.
9218
9219   mount/unmount: Unmount selected active mount
9220       rclone allows Linux,  FreeBSD,  macOS  and  Windows  to  mount  any  of
9221       Rclone's cloud storage systems as a file system with FUSE.
9222
9223       This takes the following parameters
9224
9225       · mountPoint:  valid path on the local machine where the mount was cre‐
9226         ated (required)
9227
9228       Eg
9229
9230              rclone rc mount/unmount mountPoint=/home/<user>/mountPoint
9231
9232       Authentication is required for this call.
9233
9234   mount/unmountall: Show current mount points
9235       This shows currently mounted points, which can be used  for  performing
9236       an unmount
9237
9238       This takes no parameters and returns error if unmount does not succeed.
9239
9240       Eg
9241
9242              rclone rc mount/unmountall
9243
9244       Authentication is required for this call.
9245
9246   operations/about: Return the space used on the remote
9247       This takes the following parameters
9248
9249       · fs - a remote name string e.g.  "drive:"
9250
9251       The result is as returned from rclone about --json
9252
9253       See  the  about command (https://rclone.org/commands/rclone_size/) com‐
9254       mand for more information on the above.
9255
9256       Authentication is required for this call.
9257
9258   operations/cleanup: Remove trashed files in the remote or path
9259       This takes the following parameters
9260
9261       · fs - a remote name string e.g.  "drive:"
9262
9263       See the cleanup  command  (https://rclone.org/commands/rclone_cleanup/)
9264       command for more information on the above.
9265
9266       Authentication is required for this call.
9267
9268   operations/copyfile: Copy a file from source remote to destination remote
9269       This takes the following parameters
9270
9271       · srcFs - a remote name string e.g.  "drive:" for the source
9272
9273       · srcRemote - a path within that remote e.g.  "file.txt" for the source
9274
9275       · dstFs - a remote name string e.g.  "drive2:" for the destination
9276
9277       · dstRemote  - a path within that remote e.g.  "file2.txt" for the des‐
9278         tination
9279
9280       Authentication is required for this call.
9281
9282   operations/copyurl: Copy the URL to the object
9283       This takes the following parameters
9284
9285       · fs - a remote name string e.g.  "drive:"
9286
9287       · remote - a path within that remote e.g.  "dir"
9288
9289       · url - string, URL to read from
9290
9291       · autoFilename - boolean, set to true to retrieve destination file name
9292         from   url   See   the   copyurl   command   (https://rclone.org/com
9293         mands/rclone_copyurl/) command for more information on the above.
9294
9295       Authentication is required for this call.
9296
9297   operations/delete: Remove files in the path
9298       This takes the following parameters
9299
9300       · fs - a remote name string e.g.  "drive:"
9301
9302       See  the  delete  command  (https://rclone.org/commands/rclone_delete/)
9303       command for more information on the above.
9304
9305       Authentication is required for this call.
9306
9307   operations/deletefile: Remove the single file pointed to
9308       This takes the following parameters
9309
9310       · fs - a remote name string e.g.  "drive:"
9311
9312       · remote - a path within that remote e.g.  "dir"
9313
9314       See  the deletefile command (https://rclone.org/commands/rclone_delete
9315       file/) command for more information on the above.
9316
9317       Authentication is required for this call.
9318
9319   operations/fsinfo: Return information about the remote
9320       This takes the following parameters
9321
9322       · fs - a remote name string e.g.  "drive:"
9323
9324       This returns info about the remote passed in;
9325
9326              {
9327                  // optional features and whether they are available or not
9328                  "Features": {
9329                      "About": true,
9330                      "BucketBased": false,
9331                      "CanHaveEmptyDirectories": true,
9332                      "CaseInsensitive": false,
9333                      "ChangeNotify": false,
9334                      "CleanUp": false,
9335                      "Copy": false,
9336                      "DirCacheFlush": false,
9337                      "DirMove": true,
9338                      "DuplicateFiles": false,
9339                      "GetTier": false,
9340                      "ListR": false,
9341                      "MergeDirs": false,
9342                      "Move": true,
9343                      "OpenWriterAt": true,
9344                      "PublicLink": false,
9345                      "Purge": true,
9346                      "PutStream": true,
9347                      "PutUnchecked": false,
9348                      "ReadMimeType": false,
9349                      "ServerSideAcrossConfigs": false,
9350                      "SetTier": false,
9351                      "SetWrapper": false,
9352                      "UnWrap": false,
9353                      "WrapFs": false,
9354                      "WriteMimeType": false
9355                  },
9356                  // Names of hashes available
9357                  "Hashes": [
9358                      "MD5",
9359                      "SHA-1",
9360                      "DropboxHash",
9361                      "QuickXorHash"
9362                  ],
9363                  "Name": "local",    // Name as created
9364                  "Precision": 1,     // Precision of timestamps in ns
9365                  "Root": "/",        // Path as created
9366                  "String": "Local file system at /" // how the remote will appear in logs
9367              }
9368
9369       This command does not have a command line equivalent so  use  this  in‐
9370       stead:
9371
9372              rclone rc --loopback operations/fsinfo fs=remote:
9373
9374   operations/list: List the given remote and path in JSON format
9375       This takes the following parameters
9376
9377       · fs - a remote name string e.g.  "drive:"
9378
9379       · remote - a path within that remote e.g.  "dir"
9380
9381       · opt - a dictionary of options to control the listing (optional)
9382
9383         · recurse - If set recurse directories
9384
9385         · noModTime - If set return modification time
9386
9387         · showEncrypted - If set show decrypted names
9388
9389         · showOrigIDs - If set show the IDs for each item if known
9390
9391         · showHash - If set return a dictionary of hashes
9392
9393       The result is
9394
9395       · list
9396
9397         · This is an array of objects as described in the lsjson command
9398
9399       See the lsjson command (https://rclone.org/commands/rclone_lsjson/) for
9400       more information on the above and examples.
9401
9402       Authentication is required for this call.
9403
9404   operations/mkdir: Make a destination directory or container
9405       This takes the following parameters
9406
9407       · fs - a remote name string e.g.  "drive:"
9408
9409       · remote - a path within that remote e.g.  "dir"
9410
9411       See the mkdir command (https://rclone.org/commands/rclone_mkdir/)  com‐
9412       mand for more information on the above.
9413
9414       Authentication is required for this call.
9415
9416   operations/movefile: Move a file from source remote to destination remote
9417       This takes the following parameters
9418
9419       · srcFs - a remote name string e.g.  "drive:" for the source
9420
9421       · srcRemote - a path within that remote e.g.  "file.txt" for the source
9422
9423       · dstFs - a remote name string e.g.  "drive2:" for the destination
9424
9425       · dstRemote  - a path within that remote e.g.  "file2.txt" for the des‐
9426         tination
9427
9428       Authentication is required for this call.
9429
9430   operations/publiclink: Create or retrieve a public link to the  given  file
9431       or folder.
9432       This takes the following parameters
9433
9434       · fs - a remote name string e.g.  "drive:"
9435
9436       · remote - a path within that remote e.g.  "dir"
9437
9438       · unlink - boolean - if set removes the link rather than adding it (op‐
9439         tional)
9440
9441       · expire - string - the expiry time of the link e.g.  "1d" (optional)
9442
9443       Returns
9444
9445       · url - URL of the resource
9446
9447       See the link command (https://rclone.org/commands/rclone_link/) command
9448       for more information on the above.
9449
9450       Authentication is required for this call.
9451
9452   operations/purge: Remove a directory or container and all of its contents
9453       This takes the following parameters
9454
9455       · fs - a remote name string e.g.  "drive:"
9456
9457       · remote - a path within that remote e.g.  "dir"
9458
9459       See  the purge command (https://rclone.org/commands/rclone_purge/) com‐
9460       mand for more information on the above.
9461
9462       Authentication is required for this call.
9463
9464   operations/rmdir: Remove an empty directory or container
9465       This takes the following parameters
9466
9467       · fs - a remote name string e.g.  "drive:"
9468
9469       · remote - a path within that remote e.g.  "dir"
9470
9471       See the rmdir command (https://rclone.org/commands/rclone_rmdir/)  com‐
9472       mand for more information on the above.
9473
9474       Authentication is required for this call.
9475
9476   operations/rmdirs: Remove all the empty directories in the path
9477       This takes the following parameters
9478
9479       · fs - a remote name string e.g.  "drive:"
9480
9481       · remote - a path within that remote e.g.  "dir"
9482
9483       · leaveRoot - boolean, set to true not to delete the root
9484
9485       See  the  rmdirs  command  (https://rclone.org/commands/rclone_rmdirs/)
9486       command for more information on the above.
9487
9488       Authentication is required for this call.
9489
9490   operations/size: Count the number of bytes and files in remote
9491       This takes the following parameters
9492
9493       · fs - a remote name string e.g.  "drive:path/to/dir"
9494
9495       Returns
9496
9497       · count - number of files
9498
9499       · bytes - number of bytes in those files
9500
9501       See the size command (https://rclone.org/commands/rclone_size/) command
9502       for more information on the above.
9503
9504       Authentication is required for this call.
9505
9506   operations/uploadfile: Upload file using multiform/form-data
9507       This takes the following parameters
9508
9509       · fs - a remote name string e.g.  "drive:"
9510
9511       · remote - a path within that remote e.g.  "dir"
9512
9513       · each part in body represents a file to be uploaded See the uploadfile
9514         command (https://rclone.org/commands/rclone_uploadfile/) command  for
9515         more information on the above.
9516
9517       Authentication is required for this call.
9518
9519   options/blocks: List all the option blocks
9520       Returns - options - a list of the options block names
9521
9522   options/get: Get all the options
9523       Returns  an  object where keys are option block names and values are an
9524       object with the current option values in.
9525
9526       This shows the internal names of the option within rclone which  should
9527       map to the external options very easily with a few exceptions.
9528
9529   options/set: Set an option
9530       Parameters
9531
9532       · option block name containing an object with
9533
9534         · key: value
9535
9536       Repeated as often as required.
9537
9538       Only supply the options you wish to change.  If an option is unknown it
9539       will be silently ignored.  Not all options will  have  an  effect  when
9540       changed like this.
9541
9542       For example:
9543
9544       This sets DEBUG level logs (-vv)
9545
9546              rclone rc options/set --json '{"main": {"LogLevel": 8}}'
9547
9548       And this sets INFO level logs (-v)
9549
9550              rclone rc options/set --json '{"main": {"LogLevel": 7}}'
9551
9552       And this sets NOTICE level logs (normal without -v)
9553
9554              rclone rc options/set --json '{"main": {"LogLevel": 6}}'
9555
9556   pluginsctl/addPlugin: Add a plugin using url
9557       used for adding a plugin to the webgui
9558
9559       This takes the following parameters
9560
9561       · url:  http  url  of  the  github  repo  where  the  plugin  is hosted
9562         (http://github.com/rclone/rclone-webui-react)
9563
9564       Eg
9565
9566       rclone rc pluginsctl/addPlugin
9567
9568       Authentication is required for this call.
9569
9570   pluginsctl/getPluginsForType: Get plugins with type criteria
9571       This shows all possible plugins by a mime type
9572
9573       This takes the following parameters
9574
9575       · type: supported mime type by a loaded plugin  e.g.   (video/mp4,  au‐
9576         dio/mp3)
9577
9578       · pluginType:  filter  plugins  based  on  their type e.g.  (DASHBOARD,
9579         FILE_HANDLER, TERMINAL)
9580
9581       and returns
9582
9583       · loadedPlugins: list of current production plugins
9584
9585       · testPlugins: list of temporarily loaded development plugins,  usually
9586         running on a different server.
9587
9588       Eg
9589
9590       rclone rc pluginsctl/getPluginsForType type=video/mp4
9591
9592       Authentication is required for this call.
9593
9594   pluginsctl/listPlugins: Get the list of currently loaded plugins
9595       This allows you to get the currently enabled plugins and their details.
9596
9597       This takes no parameters and returns
9598
9599       · loadedPlugins: list of current production plugins
9600
9601       · testPlugins:  list of temporarily loaded development plugins, usually
9602         running on a different server.
9603
9604       Eg
9605
9606       rclone rc pluginsctl/listPlugins
9607
9608       Authentication is required for this call.
9609
9610   pluginsctl/listTestPlugins: Show currently loaded test plugins
9611       allows listing of test plugins with the  rclone.test  set  to  true  in
9612       package.json of the plugin
9613
9614       This takes no parameters and returns
9615
9616       · loadedTestPlugins: list of currently available test plugins
9617
9618       Eg
9619
9620              rclone rc pluginsctl/listTestPlugins
9621
9622       Authentication is required for this call.
9623
9624   pluginsctl/removePlugin: Remove a loaded plugin
9625       This allows you to remove a plugin using it's name
9626
9627       This takes parameters
9628
9629       · name: name of the plugin in the format author/plugin_name
9630
9631       Eg
9632
9633       rclone rc pluginsctl/removePlugin name=rclone/video-plugin
9634
9635       Authentication is required for this call.
9636
9637   pluginsctl/removeTestPlugin: Remove a test plugin
9638       This allows you to remove a plugin using it's name
9639
9640       This takes the following parameters
9641
9642       · name: name of the plugin in the format author/plugin_name
9643
9644       Eg
9645
9646              rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react
9647
9648       Authentication is required for this call.
9649
9650   rc/error: This returns an error
9651       This returns an error with the input as part of its error string.  Use‐
9652       ful for testing error handling.
9653
9654   rc/list: List all the registered remote control commands
9655       This lists all the registered remote control commands as a JSON map  in
9656       the commands response.
9657
9658   rc/noop: Echo the input to the output parameters
9659       This  echoes  the input parameters to the output parameters for testing
9660       purposes.  It can be used to check that rclone is still  alive  and  to
9661       check that parameter passing is working properly.
9662
9663   rc/noopauth: Echo the input to the output parameters requiring auth
9664       This  echoes  the input parameters to the output parameters for testing
9665       purposes.  It can be used to check that rclone is still  alive  and  to
9666       check that parameter passing is working properly.
9667
9668       Authentication is required for this call.
9669
9670   sync/copy: copy a directory from source remote to destination remote
9671       This takes the following parameters
9672
9673       · srcFs - a remote name string e.g.  "drive:src" for the source
9674
9675       · dstFs - a remote name string e.g.  "drive:dst" for the destination
9676
9677       See the copy command (https://rclone.org/commands/rclone_copy/) command
9678       for more information on the above.
9679
9680       Authentication is required for this call.
9681
9682   sync/move: move a directory from source remote to destination remote
9683       This takes the following parameters
9684
9685       · srcFs - a remote name string e.g.  "drive:src" for the source
9686
9687       · dstFs - a remote name string e.g.  "drive:dst" for the destination
9688
9689       · deleteEmptySrcDirs - delete empty src directories if set
9690
9691       See the move command (https://rclone.org/commands/rclone_move/) command
9692       for more information on the above.
9693
9694       Authentication is required for this call.
9695
9696   sync/sync: sync a directory from source remote to destination remote
9697       This takes the following parameters
9698
9699       · srcFs - a remote name string e.g.  "drive:src" for the source
9700
9701       · dstFs - a remote name string e.g.  "drive:dst" for the destination
9702
9703       See the sync command (https://rclone.org/commands/rclone_sync/) command
9704       for more information on the above.
9705
9706       Authentication is required for this call.
9707
9708   vfs/forget: Forget files or directories in the directory cache.
9709       This forgets the paths in  the  directory  cache  causing  them  to  be
9710       re-read from the remote when needed.
9711
9712       If  no paths are passed in then it will forget all the paths in the di‐
9713       rectory cache.
9714
9715              rclone rc vfs/forget
9716
9717       Otherwise pass files or dirs in as file=path or dir=path.  Any  parame‐
9718       ter  key starting with file will forget that file and any starting with
9719       dir will forget that dir, e.g.
9720
9721              rclone rc vfs/forget file=hello file2=goodbye dir=home/junk
9722
9723       This command takes an "fs" parameter.  If this parameter  is  not  sup‐
9724       plied  and  if there is only one VFS in use then that VFS will be used.
9725       If there is more than one VFS in use then the "fs"  parameter  must  be
9726       supplied.
9727
9728   vfs/list: List active VFSes.
9729       This lists the active VFSes.
9730
9731       It  returns  a  list under the key "vfses" where the values are the VFS
9732       names that could be passed to the other VFS commands in the "fs" param‐
9733       eter.
9734
9735   vfs/poll-interval:  Get the status or update the value of the poll-interval
9736       option.
9737       Without any parameter given this returns  the  current  status  of  the
9738       poll-interval setting.
9739
9740       When the interval=duration parameter is set, the poll-interval value is
9741       updated and the polling function is notified.  Setting interval=0  dis‐
9742       ables poll-interval.
9743
9744              rclone rc vfs/poll-interval interval=5m
9745
9746       The  timeout=duration  parameter  can be used to specify a time to wait
9747       for the current poll function to apply the new value.   If  timeout  is
9748       less or equal 0, which is the default, wait indefinitely.
9749
9750       The new poll-interval value will only be active when the timeout is not
9751       reached.
9752
9753       If poll-interval is updated or disabled temporarily, some changes might
9754       not  get  picked  up by the polling function, depending on the used re‐
9755       mote.
9756
9757       This command takes an "fs" parameter.  If this parameter  is  not  sup‐
9758       plied  and  if there is only one VFS in use then that VFS will be used.
9759       If there is more than one VFS in use then the "fs"  parameter  must  be
9760       supplied.
9761
9762   vfs/refresh: Refresh the directory cache.
9763       This reads the directories for the specified paths and freshens the di‐
9764       rectory cache.
9765
9766       If no paths are passed in then it will refresh the root directory.
9767
9768              rclone rc vfs/refresh
9769
9770       Otherwise pass directories in as dir=path.  Any parameter key  starting
9771       with dir will refresh that directory, e.g.
9772
9773              rclone rc vfs/refresh dir=home/junk dir2=data/misc
9774
9775       If  the parameter recursive=true is given the whole directory tree will
9776       get refreshed.  This refresh will use --fast-list if enabled.
9777
9778       This command takes an "fs" parameter.  If this parameter  is  not  sup‐
9779       plied  and  if there is only one VFS in use then that VFS will be used.
9780       If there is more than one VFS in use then the "fs"  parameter  must  be
9781       supplied.
9782
9783   Accessing the remote control via HTTP
9784       Rclone implements a simple HTTP based protocol.
9785
9786       Each  endpoint takes an JSON object and returns a JSON object or an er‐
9787       ror.  The JSON objects are essentially a map of string names to values.
9788
9789       All calls must made using POST.
9790
9791       The input objects can be supplied using URL parameters, POST parameters
9792       or by supplying "Content-Type: application/json" and a JSON blob in the
9793       body.  There are examples of these below using curl.
9794
9795       The response will be a JSON blob in the body of the response.  This  is
9796       formatted to be reasonably human readable.
9797
9798   Error returns
9799       If  an error occurs then there will be an HTTP error status (e.g.  500)
9800       and the body of the response will contain a JSON encoded error  object,
9801       e.g.
9802
9803              {
9804                  "error": "Expecting string value for key \"remote\" (was float64)",
9805                  "input": {
9806                      "fs": "/tmp",
9807                      "remote": 3
9808                  },
9809                  "status": 400
9810                  "path": "operations/rmdir",
9811              }
9812
9813       The keys in the error response are - error - error string - input - the
9814       input parameters to the call - status - the HTTP status code -  path  -
9815       the path of the call
9816
9817   CORS
9818       The  sever  implements  basic  CORS  support and allows all origins for
9819       that.  The response to a preflight OPTIONS request will  echo  the  re‐
9820       quested "Access-Control-Request-Headers" back.
9821
9822   Using POST with URL parameters only
9823              curl -X POST 'http://localhost:5572/rc/noop?potato=1&sausage=2'
9824
9825       Response
9826
9827              {
9828                  "potato": "1",
9829                  "sausage": "2"
9830              }
9831
9832       Here is what an error response looks like:
9833
9834              curl -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
9835
9836              {
9837                  "error": "arbitrary error on input map[potato:1 sausage:2]",
9838                  "input": {
9839                      "potato": "1",
9840                      "sausage": "2"
9841                  }
9842              }
9843
9844       Note that curl doesn't return errors to the shell unless you use the -f
9845       option
9846
9847              $ curl -f -X POST 'http://localhost:5572/rc/error?potato=1&sausage=2'
9848              curl: (22) The requested URL returned error: 400 Bad Request
9849              $ echo $?
9850              22
9851
9852   Using POST with a form
9853              curl --data "potato=1" --data "sausage=2" http://localhost:5572/rc/noop
9854
9855       Response
9856
9857              {
9858                  "potato": "1",
9859                  "sausage": "2"
9860              }
9861
9862       Note that you can combine these with URL parameters too with  the  POST
9863       parameters taking precedence.
9864
9865              curl --data "potato=1" --data "sausage=2" "http://localhost:5572/rc/noop?rutabaga=3&sausage=4"
9866
9867       Response
9868
9869              {
9870                  "potato": "1",
9871                  "rutabaga": "3",
9872                  "sausage": "4"
9873              }
9874
9875   Using POST with a JSON blob
9876              curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' http://localhost:5572/rc/noop
9877
9878       response
9879
9880              {
9881                  "password": "xyz",
9882                  "username": "xyz"
9883              }
9884
9885       This  can  be  combined  with URL parameters too if required.  The JSON
9886       blob takes precedence.
9887
9888              curl -H "Content-Type: application/json" -X POST -d '{"potato":2,"sausage":1}' 'http://localhost:5572/rc/noop?rutabaga=3&potato=4'
9889
9890              {
9891                  "potato": 2,
9892                  "rutabaga": "3",
9893                  "sausage": 1
9894              }
9895
9896   Debugging rclone with pprof
9897       If you use the --rc flag this will also enable the use of the  go  pro‐
9898       filing tools on the same port.
9899
9900       To use these, first install go (https://golang.org/doc/install).
9901
9902   Debugging memory use
9903       To profile rclone's memory use you can run:
9904
9905              go tool pprof -web http://localhost:5572/debug/pprof/heap
9906
9907       This should open a page in your browser showing what is using what mem‐
9908       ory.
9909
9910       You can also use the -text flag to produce a textual summary
9911
9912              $ go tool pprof -text http://localhost:5572/debug/pprof/heap
9913              Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
9914                    flat  flat%   sum%        cum   cum%
9915               1024.03kB 66.62% 66.62%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
9916                   513kB 33.38%   100%      513kB 33.38%  net/http.newBufioWriterSize
9917                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/all.init
9918                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/serve.init
9919                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/cmd/serve/restic.init
9920                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2.init
9921                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init
9922                       0     0%   100%  1024.03kB 66.62%  github.com/rclone/rclone/vendor/golang.org/x/net/http2/hpack.init.0
9923                       0     0%   100%  1024.03kB 66.62%  main.init
9924                       0     0%   100%      513kB 33.38%  net/http.(*conn).readRequest
9925                       0     0%   100%      513kB 33.38%  net/http.(*conn).serve
9926                       0     0%   100%  1024.03kB 66.62%  runtime.main
9927
9928   Debugging go routine leaks
9929       Memory leaks are most often caused by go routine leaks  keeping  memory
9930       alive which should have been garbage collected.
9931
9932       See all active go routines using
9933
9934              curl http://localhost:5572/debug/pprof/goroutine?debug=1
9935
9936       Or  go  to  http://localhost:5572/debug/pprof/goroutine?debug=1 in your
9937       browser.
9938
9939   Other profiles to look at
9940       You  can  see  a  summary  of  profiles  available   at   http://local
9941       host:5572/debug/pprof/
9942
9943       Here is how to use some of them:
9944
9945       · Memory: go tool pprof http://localhost:5572/debug/pprof/heap
9946
9947       · Go routines: curl http://localhost:5572/debug/pprof/goroutine?debug=1
9948
9949       · 30-second   CPU  profile:  go  tool  pprof  http://localhost:5572/de‐
9950         bug/pprof/profile
9951
9952       · 5-second    execution    trace:    wget     http://localhost:5572/de‐
9953         bug/pprof/trace?seconds=5
9954
9955       · Goroutine blocking profile
9956
9957         · Enable  first  with:  rclone rc debug/set-block-profile-rate rate=1
9958           (docs)
9959
9960         · go tool pprof http://localhost:5572/debug/pprof/block
9961
9962       · Contended mutexes:
9963
9964         · Enable  first  with:  rclone  rc   debug/set-mutex-profile-fraction
9965           rate=1 (docs)
9966
9967         · go tool pprof http://localhost:5572/debug/pprof/mutex
9968
9969       See  the  net/http/pprof  docs (https://golang.org/pkg/net/http/pprof/)
9970       for more info on how to use the profiling and for  a  general  overview
9971       see    the   Go   team's   blog   post   on   profiling   go   programs
9972       (https://blog.golang.org/profiling-go-programs).
9973
9974       The profiling hook is zero overhead unless it is  used  (https://stack
9975       overflow.com/q/26545159/164234).
9976

Overview of cloud storage systems

9978       Each  cloud  storage  system is slightly different.  Rclone attempts to
9979       provide a unified interface to them, but  some  underlying  differences
9980       show through.
9981
9982   Features
9983       Here is an overview of the major features of each cloud storage system.
9984
9985       Name             Hash       ModTime   Case Insen‐   Duplicate   MIME Type
9986                                             sitive        Files
9987       ──────────────────────────────────────────────────────────────────────────
9988       1Fichier       Whirlpool      No          No           Yes          R
9989       Amazon            MD5         No          Yes          No           R
9990       Drive
9991       Amazon S3         MD5         Yes         No           No          R/W
9992       Backblaze        SHA1         Yes         No           No          R/W
9993       B2
9994       Box              SHA1         Yes         Yes          No           -
9995       Citrix            MD5         Yes         Yes          No           -
9996       ShareFile
9997       Dropbox        DBHASH ¹       Yes         Yes          No           -
9998       Enterprise         -          Yes         Yes          No          R/W
9999       File Fabric
10000       FTP                -          No          No           No           -
10001       Google            MD5         Yes         No           No          R/W
10002       Cloud Stor‐
10003       age
10004       Google            MD5         Yes         No           Yes         R/W
10005       Drive
10006       Google Pho‐        -          No          No           Yes          R
10007       tos
10008       HDFS               -          Yes         No           No           -
10009       HTTP               -          No          No           No           R
10010       Hubic             MD5         Yes         No           No          R/W
10011       Jottacloud        MD5         Yes         Yes          No           R
10012       Koofr             MD5         No          Yes          No           -
10013       Mail.ru        Mailru ⁶       Yes         Yes          No           -
10014       Cloud
10015       Mega               -          No          No           Yes          -
10016       Memory            MD5         Yes         No           No           -
10017       Microsoft         MD5         Yes         No           No          R/W
10018       Azure  Blob
10019       Storage
10020       Microsoft       SHA1 ⁵        Yes         Yes          No           R
10021       OneDrive
10022       OpenDrive         MD5         Yes         Yes       Partial ⁸       -
10023       OpenStack         MD5         Yes         No           No          R/W
10024       Swift
10025       pCloud        MD5, SHA1 ⁷     Yes         No           No           W
10026       premiu‐            -          No          Yes          No           R
10027       mize.me
10028       put.io          CRC-32        Yes         No           Yes          R
10029       QingStor          MD5         No          No           No          R/W
10030       Seafile            -          No          No           No           -
10031       SFTP          MD5, SHA1 ²     Yes       Depends        No           -
10032       SugarSync          -          No          No           No           -
10033       Tardigrade         -          Yes         No           No           -
10034
10035       WebDAV        MD5, SHA1 ³    Yes ⁴      Depends        No           -
10036       Yandex Disk       MD5         Yes         No           No           R
10037       Zoho  Work‐        -          No          No           No           -
10038       Drive
10039       The   local       All         Yes       Depends        No           -
10040       filesystem
10041
10042   Notes
10043       ¹  Dropbox supports its own custom hash (https://www.dropbox.com/devel
10044       opers/reference/content-hash).  This is an SHA256 sum of  all  the  4MB
10045       block SHA256s.
10046
10047       ² SFTP supports checksums if the same login has shell access and md5sum
10048       or sha1sum as well as echo are in the remote's PATH.
10049
10050       ³ WebDAV supports hashes when used with Owncloud and Nextcloud only.
10051
10052       ⁴ WebDAV supports modtimes when used with Owncloud and Nextcloud only.
10053
10054       ⁵ Microsoft OneDrive Personal supports SHA1  hashes,  whereas  OneDrive
10055       for business and SharePoint server support Microsoft's own QuickXorHash
10056       (https://docs.microsoft.com/en-us/onedrive/developer/code-snip
10057       pets/quickxorhash).
10058
10059       ⁶ Mail.ru uses its own modified SHA1 hash
10060
10061       ⁷ pCloud only supports SHA1 (not MD5) in its EU region
10062
10063       ⁸  Opendrive  does  not support creation of duplicate files using their
10064       web client interface or other stock clients, but the underlying storage
10065       platform has been determined to allow duplicate files, and it is possi‐
10066       ble to create them with rclone.  It may be that this is a mistake or an
10067       unsupported feature.
10068
10069   Hash
10070       The  cloud  storage  system supports various hash types of the objects.
10071       The hashes are used when transferring data as an  integrity  check  and
10072       can  be  specifically used with the --checksum flag in syncs and in the
10073       check command.
10074
10075       To use the verify checksums when  transferring  between  cloud  storage
10076       systems they must support a common hash type.
10077
10078   ModTime
10079       The  cloud  storage  system  supports setting modification times on ob‐
10080       jects.  If it does then this enables a using the modification times  as
10081       part  of  the  sync.   If not then only the size will be checked by de‐
10082       fault, though the MD5SUM can be checked with the --checksum flag.
10083
10084       All cloud storage systems support some kind of date on the  object  and
10085       these will be set when transferring from the cloud storage system.
10086
10087   Case Insensitive
10088       If  a  cloud  storage  systems is case sensitive then it is possible to
10089       have two files which differ only in case, e.g.  file.txt and  FILE.txt.
10090       If a cloud storage system is case insensitive then that isn't possible.
10091
10092       This  can cause problems when syncing between a case insensitive system
10093       and a case sensitive system.  The symptom of this is that no matter how
10094       many times you run the sync it never completes fully.
10095
10096       The  local filesystem and SFTP may or may not be case sensitive depend‐
10097       ing on OS.
10098
10099       · Windows - usually case insensitive, though case is preserved
10100
10101       · OSX - usually case insensitive, though it is possible to format  case
10102         sensitive
10103
10104       · Linux  -  usually case sensitive, but there are case insensitive file
10105         systems (e.g.  FAT formatted USB keys)
10106
10107       Most of the time this doesn't cause any  problems  as  people  tend  to
10108       avoid files whose name differs only by case even on case sensitive sys‐
10109       tems.
10110
10111   Duplicate files
10112       If a cloud storage system allows duplicate files then it can  have  two
10113       objects with the same name.
10114
10115       This  confuses rclone greatly when syncing - use the rclone dedupe com‐
10116       mand to rename or remove duplicates.
10117
10118   Restricted filenames
10119       Some cloud storage systems might have restrictions  on  the  characters
10120       that are usable in file or directory names.  When rclone detects such a
10121       name during a file upload, it will transparently replace the restricted
10122       characters with similar looking Unicode characters.
10123
10124       This  process is designed to avoid ambiguous file names as much as pos‐
10125       sible and allow to move files between many cloud storage systems trans‐
10126       parently.
10127
10128       The  name  shown  by  rclone to the user or during log output will only
10129       contain a minimal set of replaced characters to ensure correct  format‐
10130       ting and not necessarily the actual name used on the cloud storage.
10131
10132       This  transformation  is  reversed  when  downloading a file or parsing
10133       rclone  arguments.   For  example,  when  uploading  a  file  named  my
10134       file?.txt to Onedrive will be displayed as my file?.txt on the console,
10135       but stored as my file?.txt (the ? gets replaced by the similar looking
10136       ? character) to Onedrive.  The reverse transformation allows to read a
10137       fileunusual/name.txt from Google Drive,  by  passing  the  name  unusu‐
10138       al/name.txt  (the  /  needs  to  be replaced by the similar looking /
10139       character) on the command line.
10140
10141   Default restricted characters
10142       The table below shows the characters that are replaced by default.
10143
10144       When a replacement character is found in  a  filename,  this  character
10145       will  be  escaped  with  the ‛ character to avoid ambiguous file names.
10146       (e.g.  a file named ␀.txt would shown as ‛␀.txt)
10147
10148       Each cloud storage backend can use a different set of characters, which
10149       will be specified in the documentation for each backend.
10150
10151       Character   Value   Replacement
10152       ────────────────────────────────
10153       NUL         0x00         ␀
10154       SOH         0x01         ␁
10155       STX         0x02         ␂
10156       ETX         0x03         ␃
10157       EOT         0x04         ␄
10158       ENQ         0x05         ␅
10159       ACK         0x06         ␆
10160       BEL         0x07         ␇
10161       BS          0x08         ␈
10162       HT          0x09         ␉
10163       LF          0x0A         ␊
10164       VT          0x0B         ␋
10165       FF          0x0C         ␌
10166       CR          0x0D         ␍
10167       SO          0x0E         ␎
10168       SI          0x0F         ␏
10169       DLE         0x10         ␐
10170       DC1         0x11         ␑
10171       DC2         0x12         ␒
10172       DC3         0x13         ␓
10173       DC4         0x14         ␔
10174       NAK         0x15         ␕
10175       SYN         0x16         ␖
10176       ETB         0x17         ␗
10177       CAN         0x18         ␘
10178       EM          0x19         ␙
10179       SUB         0x1A         ␚
10180       ESC         0x1B         ␛
10181       FS          0x1C         ␜
10182       GS          0x1D         ␝
10183       RS          0x1E         ␞
10184       US          0x1F         ␟
10185       /           0x2F        /
10186       DEL         0x7F         ␡
10187
10188       The  default  encoding  will  also  encode these file names as they are
10189       problematic with many cloud storage systems.
10190
10191       File name   Replacement
10192       ────────────────────────
10193       .               .
10194       ..             ..
10195
10196   Invalid UTF-8 bytes
10197       Some backends only support a sequence of well  formed  UTF-8  bytes  as
10198       file or directory names.
10199
10200       In  this  case  all  invalid UTF-8 bytes will be replaced with a quoted
10201       representation of the byte value to allow uploading a file  to  such  a
10202       backend.  For example, the invalid byte 0xFE will be encoded as ‛FE.
10203
10204       A  common  source  of  invalid  UTF-8 bytes are local filesystems, that
10205       store names in a different encoding than UTF-8 or UTF-16, like  latin1.
10206       See  the  local filenames (https://rclone.org/local/#filenames) section
10207       for details.
10208
10209   Encoding option
10210       Most backends have an encoding options, specified  as  a  flag  --back‐
10211       end-encoding  where  backend is the name of the backend, or as a config
10212       parameter encoding (you'll need to select the Advanced config in rclone
10213       config to see it).
10214
10215       This  will  have  default value which encodes and decodes characters in
10216       such a way as to preserve the maximum number of characters (see above).
10217
10218       However this can be incorrect in some scenarios,  for  example  if  you
10219       have  a  Windows file system with characters such as * and ? that you
10220       want to remain as those characters on  the  remote  rather  than  being
10221       translated to * and ?.
10222
10223       The --backend-encoding flags allow you to change that.  You can disable
10224       the encoding completely with --backend-encoding None or set encoding  =
10225       None in the config file.
10226
10227       Encoding  takes  a  comma separated list of encodings.  You can see the
10228       list of all available characters by passing an invalid  value  to  this
10229       flag, e.g.  --local-encoding "help" and rclone help flags encoding will
10230       show you the defaults for the backends.
10231
10232       Encoding        Characters
10233       ───────────────────────────────────────────
10234       Asterisk        *
10235       BackQuote       `
10236       BackSlash       \
10237       Colon           :
10238       CrLf            CR 0x0D, LF 0x0A
10239       Ctl             All   control   characters
10240                       0x00-0x1F
10241       Del             DEL 0x7F
10242
10243       Dollar          $
10244       Dot             .
10245       DoubleQuote     "
10246       Hash            #
10247       InvalidUtf8     An invalid UTF-8 character
10248                       (e.g.  latin1)
10249       LeftCrLfHtVt    CR 0x0D, LF 0x0A,HT  0x09,
10250                       VT  0x0B  on the left of a
10251                       string
10252       LeftPeriod      . on the left of a string
10253       LeftSpace       SPACE on  the  left  of  a
10254                       string
10255       LeftTilde       ~ on the left of a string
10256       LtGt            <, >
10257       None            No characters are encoded
10258       Percent         %
10259       Pipe            |
10260       Question        ?
10261       RightCrLfHtVt   CR 0x0D, LF 0x0A, HT 0x09,
10262                       VT 0x0B on the right of  a
10263                       string
10264       RightPeriod     . on the right of a string
10265       RightSpace      SPACE  on  the  right of a
10266                       string
10267       SingleQuote     '
10268       Slash           /
10269
10270       To take a specific example, the FTP backend's default encoding is
10271
10272              --ftp-encoding "Slash,Del,Ctl,RightSpace,Dot"
10273
10274       However, let's say the FTP server is running on Windows and can't  have
10275       any  of  the invalid Windows characters in file names.  You are backing
10276       up Linux servers to this FTP server which do have those  characters  in
10277       file names.  So you would add the Windows set which are
10278
10279              Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
10280
10281       to the existing ones, giving:
10282
10283              Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace
10284
10285       This  can be specified using the --ftp-encoding flag or using an encod‐
10286       ing parameter in the config file.
10287
10288       Or let's say you have a Windows server but you want to preserve *  and
10289       ?,  you would then have this as the encoding (the Windows encoding mi‐
10290       nus Asterisk and Question).
10291
10292              Slash,LtGt,DoubleQuote,Colon,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot
10293
10294       This can be specified using the --local-encoding flag or using  an  en‐
10295       coding parameter in the config file.
10296
10297   MIME Type
10298       MIME  types (also known as media types) classify types of documents us‐
10299       ing a simple text classification, e.g.  text/html or application/pdf.
10300
10301       Some cloud storage systems support reading (R) the MIME type of objects
10302       and some support writing (W) the MIME type of objects.
10303
10304       The  MIME  type  can  be important if you are serving files directly to
10305       HTTP from the storage system.
10306
10307       If you are copying from a remote which supports reading (R) to a remote
10308       which  supports  writing  (W) then rclone will preserve the MIME types.
10309       Otherwise they will be guessed from the extension, or the remote itself
10310       may assign the MIME type.
10311
10312   Optional Features
10313       All  rclone  remotes support a base command set.  Other features depend
10314       upon backend specific capabilities.
10315
10316       Name       Purge   Copy   Move   DirMove                  CleanUp                  ListR   StreamU‐                 LinkShar‐                 About   Empty‐
10317                                                                                                  pload                    ing                               Dir
10318       ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
10319       1Fichi‐     No      No     No      No                       No                      No        No                       No                      No      Yes
10320       er
10321       Amazon      Yes     No    Yes      Yes     No #575                                  No        No      No  #2178                                No      Yes
10322       Drive                                      (https://github.com/rclone/rclone/is‐                      (https://github.com/rclone/rclone/is
10323                                                  sues/575)                                                  sues/2178)
10324       Amazon      No     Yes     No      No                       Yes                     Yes      Yes      No                              #2178    No       No
10325       S3                                                                                                    (https://github.com/rclone/rclone/is
10326                                                                                                             sues/2178)
10327       Back‐       No     Yes     No      No                       Yes                     Yes      Yes                       Yes                     No       No
10328       blaze
10329       B2
10330       Box         Yes    Yes    Yes      Yes                    Yes ‡‡                    No       Yes                       Yes                     No      Yes
10331       Citrix      Yes    Yes    Yes      Yes                      No                      No       Yes                       No                      No      Yes
10332       Share‐
10333       File
10334       Dropbox     Yes    Yes    Yes      Yes     No                               #575    No       Yes                       Yes                     Yes     Yes
10335                                                  (https://github.com/rclone/rclone/is
10336                                                  sues/575)
10337       Enter‐      Yes    Yes    Yes      Yes                      No                      No        No                       No                      No      Yes
10338       prise
10339       File
10340       Fabric
10341       FTP         No      No    Yes      Yes                      No                      No       Yes      No                              #2178    No      Yes
10342                                                                                                             (https://github.com/rclone/rclone/is
10343                                                                                                             sues/2178)
10344
10345
10346
10347       Google      Yes    Yes     No      No                       No                      Yes      Yes      No                              #2178    No       No
10348       Cloud                                                                                                 (https://github.com/rclone/rclone/is
10349       Storage                                                                                               sues/2178)
10350       Google      Yes    Yes    Yes      Yes                      Yes                     Yes      Yes                       Yes                     Yes     Yes
10351       Drive
10352       Google      No      No     No      No                       No                      No        No                       No                      No       No
10353       Photos
10354       HDFS        Yes     No     No      No                       No                      No       Yes                       No                      Yes     Yes
10355       HTTP        No      No     No      No                       No                      No        No      No                              #2178    No      Yes
10356                                                                                                             (https://github.com/rclone/rclone/is
10357                                                                                                             sues/2178)
10358       Hubic      Yes †   Yes     No      No                       No                      Yes      Yes      No                              #2178    Yes      No
10359                                                                                                             (https://github.com/rclone/rclone/is
10360                                                                                                             sues/2178)
10361       Jotta‐      Yes    Yes    Yes      Yes                      Yes                     Yes       No                       Yes                     Yes     Yes
10362       cloud
10363       Mail.ru     Yes    Yes    Yes      Yes                      Yes                     No        No                       Yes                     Yes     Yes
10364       Cloud
10365       Mega        Yes     No    Yes      Yes                      Yes                     No        No      No                              #2178    Yes     Yes
10366                                                                                                             (https://github.com/rclone/rclone/is
10367                                                                                                             sues/2178)
10368       Memory      No     Yes     No      No                       No                      Yes      Yes                       No                      No       No
10369       Micro‐      Yes    Yes     No      No                       No                      Yes      Yes      No                              #2178    No       No
10370       soft                                                                                                  (https://github.com/rclone/rclone/is
10371       Azure                                                                                                 sues/2178)
10372       Blob
10373       Storage
10374       Micro‐      Yes    Yes    Yes      Yes                      Yes                     No        No                       Yes                     Yes     Yes
10375       soft
10376       OneDrive
10377       Open‐       Yes    Yes    Yes      Yes                      No                      No        No                       No                      No      Yes
10378       Drive
10379       Open‐      Yes †   Yes     No      No                       No                      Yes      Yes      No                              #2178    Yes      No
10380       Stack                                                                                                 (https://github.com/rclone/rclone/is
10381       Swift                                                                                                 sues/2178)
10382       pCloud      Yes    Yes    Yes      Yes                      Yes                     No        No                       Yes                     Yes     Yes
10383       premiu‐     Yes     No    Yes      Yes                      No                      No        No                       Yes                     Yes     Yes
10384       mize.me
10385       put.io      Yes     No    Yes      Yes                      Yes                     No       Yes      No                              #2178    Yes     Yes
10386                                                                                                             (https://github.com/rclone/rclone/is
10387                                                                                                             sues/2178)
10388       QingStor    No     Yes     No      No                       Yes                     Yes       No      No                              #2178    No       No
10389                                                                                                             (https://github.com/rclone/rclone/is
10390                                                                                                             sues/2178)
10391       Seafile     Yes    Yes    Yes      Yes                      Yes                     Yes      Yes                       Yes                     Yes     Yes
10392       SFTP        No      No    Yes      Yes                      No                      No       Yes      No                              #2178    Yes     Yes
10393                                                                                                             (https://github.com/rclone/rclone/is
10394                                                                                                             sues/2178)
10395       Sug‐        Yes    Yes    Yes      Yes                      No                      No       Yes                       Yes                     No      Yes
10396       arSync
10397       Tardi‐     Yes †    No     No      No                       No                      Yes      Yes                       No                      No       No
10398       grade
10399       WebDAV      Yes    Yes    Yes      Yes                      No                      No      Yes ‡     No                              #2178    Yes     Yes
10400                                                                                                             (https://github.com/rclone/rclone/is
10401                                                                                                             sues/2178)
10402       Yandex      Yes    Yes    Yes      Yes                      Yes                     No       Yes                       Yes                     Yes     Yes
10403       Disk
10404       Zoho        Yes    Yes    Yes      Yes                      No                      No        No                       No                      Yes     Yes
10405       Work‐
10406       Drive
10407       The  lo‐    Yes     No    Yes      Yes                      No                      No       Yes                       No                      Yes     Yes
10408       cal
10409       filesys‐
10410       tem
10411
10412   Purge
10413       This deletes a directory quicker than just deleting all  the  files  in
10414       the directory.
10415
10416       †  Note  Swift, Hubic, and Tardigrade implement this in order to delete
10417       directory markers but they don't actually have a quicker way of  delet‐
10418       ing files other than deleting them individually.
10419
10420       ‡ StreamUpload is not supported with Nextcloud
10421
10422   Copy
10423       Used when copying an object to and from the same remote.  This known as
10424       a server-side copy so you can copy a file without  downloading  it  and
10425       uploading  it  again.  It is used if you use rclone copy or rclone move
10426       if the remote doesn't support Move directly.
10427
10428       If the server doesn't support Copy directly then  for  copy  operations
10429       the file is downloaded then re-uploaded.
10430
10431   Move
10432       Used  when moving/renaming an object on the same remote.  This is known
10433       as a server-side move of a file.  This is used in rclone  move  if  the
10434       server doesn't support DirMove.
10435
10436       If  the server isn't capable of Move then rclone simulates it with Copy
10437       then delete.  If the server doesn't support Copy then rclone will down‐
10438       load the file and re-upload it.
10439
10440   DirMove
10441       This  is used to implement rclone move to move a directory if possible.
10442       If it isn't then it will use Move on each file  (which  falls  back  to
10443       Copy then download and upload - see Move section).
10444
10445   CleanUp
10446       This is used for emptying the trash for a remote by rclone cleanup.
10447
10448       If  the  server can't do CleanUp then rclone cleanup will return an er‐
10449       ror.
10450
10451       ‡‡ Note that while Box implements this it has to delete every file  in‐
10452       dividually so it will be slower than emptying the trash via the WebUI
10453
10454   ListR
10455       The remote supports a recursive list to list all the contents beneath a
10456       directory quickly.  This enables the --fast-list flag to work.  See the
10457       rclone docs (https://rclone.org/docs/#fast-list) for more details.
10458
10459   StreamUpload
10460       Some  remotes  allow files to be uploaded without knowing the file size
10461       in advance.  This allows certain operations to  work  without  spooling
10462       the file to local disk first, e.g.  rclone rcat.
10463
10464   LinkSharing
10465       Sets  the  necessary  permissions on a file or folder and prints a link
10466       that allows others to access them, even if they don't have  an  account
10467       on the particular cloud provider.
10468
10469   About
10470       Rclone about prints quota information for a remote.  Typical output in‐
10471       cludes bytes used, free, quota and in trash.
10472
10473       If a remote lacks about capability rclone about remote:returns  an  er‐
10474       ror.
10475
10476       Backends  without  about  capability cannot determine free space for an
10477       rclone mount, or use policy mfs (most free space) as  a  member  of  an
10478       rclone union remote.
10479
10480       See rclone about command (https://rclone.org/commands/rclone_about/)
10481
10482   EmptyDir
10483       The    remote    supports    empty    directories.    See   Limitations
10484       (https://rclone.org/bugs/#limitations) for details.  Most Object/Bucket
10485       based remotes do not support this.
10486

Global Flags

10488       This describes the global flags available to every rclone command split
10489       into two groups, non backend and backend flags.
10490
10491   Non Backend Flags
10492       These flags are available for every command.
10493
10494                    --ask-password                         Allow prompt for password for encrypted configuration. (default true)
10495                    --auto-confirm                         If enabled, do not request console confirmation.
10496                    --backup-dir string                    Make backups into hierarchy based in DIR.
10497                    --bind string                          Local address to bind to for outgoing connections, IPv4, IPv6 or name.
10498                    --buffer-size SizeSuffix               In memory buffer size when reading files for each --transfer. (default 16M)
10499                    --bwlimit BwTimetable                  Bandwidth limit in kBytes/s, or use suffix b|k|M|G or a full timetable.
10500                    --bwlimit-file BwTimetable             Bandwidth limit per file in kBytes/s, or use suffix b|k|M|G or a full timetable.
10501                    --ca-cert string                       CA certificate used to verify servers
10502                    --cache-dir string                     Directory rclone will use for caching. (default "$HOME/.cache/rclone")
10503                    --check-first                          Do all the checks before starting transfers.
10504                    --checkers int                         Number of checkers to run in parallel. (default 8)
10505                -c, --checksum                             Skip based on checksum (if available) & size, not mod-time & size
10506                    --client-cert string                   Client SSL certificate (PEM) for mutual TLS auth
10507                    --client-key string                    Client SSL private key (PEM) for mutual TLS auth
10508                    --compare-dest string                  Include additional server-side path during comparison.
10509                    --config string                        Config file. (default "$HOME/.config/rclone/rclone.conf")
10510                    --contimeout duration                  Connect timeout (default 1m0s)
10511                    --copy-dest string                     Implies --compare-dest but also copies files from path into destination.
10512                    --cpuprofile string                    Write cpu profile to file
10513                    --cutoff-mode string                   Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default "HARD")
10514                    --delete-after                         When synchronizing, delete files on destination after transferring (default)
10515                    --delete-before                        When synchronizing, delete files on destination before transferring
10516                    --delete-during                        When synchronizing, delete files during transfer
10517                    --delete-excluded                      Delete files on dest excluded from sync
10518                    --disable string                       Disable a comma separated list of features.  Use help to see a list.
10519                -n, --dry-run                              Do a trial run with no permanent changes
10520                    --dump DumpFlags                       List of items to dump from: headers,bodies,requests,responses,auth,filters,goroutines,openfiles
10521                    --dump-bodies                          Dump HTTP headers and bodies - may contain sensitive info
10522                    --dump-headers                         Dump HTTP headers - may contain sensitive info
10523                    --error-on-no-transfer                 Sets exit code 9 if no files are transferred, useful in scripts
10524                    --exclude stringArray                  Exclude files matching pattern
10525                    --exclude-from stringArray             Read exclude patterns from file (use - to read from stdin)
10526                    --exclude-if-present string            Exclude directories if filename is present
10527                    --expect-continue-timeout duration     Timeout when using expect / 100-continue in HTTP (default 1s)
10528                    --fast-list                            Use recursive list if available. Uses more memory but fewer transactions.
10529                    --files-from stringArray               Read list of source-file names from file (use - to read from stdin)
10530                    --files-from-raw stringArray           Read list of source-file names from file without any processing of lines (use - to read from stdin)
10531                -f, --filter stringArray                   Add a file-filtering rule
10532                    --filter-from stringArray              Read filtering patterns from a file (use - to read from stdin)
10533                    --header stringArray                   Set HTTP header for all transactions
10534                    --header-download stringArray          Set HTTP header for download transactions
10535                    --header-upload stringArray            Set HTTP header for upload transactions
10536                    --ignore-case                          Ignore case in filters (case insensitive)
10537                    --ignore-case-sync                     Ignore case when synchronizing
10538                    --ignore-checksum                      Skip post copy check of checksums.
10539                    --ignore-errors                        delete even if there are I/O errors
10540                    --ignore-existing                      Skip all files that exist on destination
10541                    --ignore-size                          Ignore size when skipping use mod-time or checksum.
10542                -I, --ignore-times                         Don't skip files that match size and time - transfer all files
10543                    --immutable                            Do not modify files. Fail if existing files have been modified.
10544                    --include stringArray                  Include files matching pattern
10545                    --include-from stringArray             Read include patterns from file (use - to read from stdin)
10546                -i, --interactive                          Enable interactive mode
10547                    --log-file string                      Log everything to this file
10548                    --log-format string                    Comma separated list of log format options (default "date,time")
10549                    --log-level string                     Log level DEBUG|INFO|NOTICE|ERROR (default "NOTICE")
10550                    --log-systemd                          Activate systemd integration for the logger.
10551                    --low-level-retries int                Number of low level retries to do. (default 10)
10552                    --max-age Duration                     Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off)
10553                    --max-backlog int                      Maximum number of objects in sync or check backlog. (default 10000)
10554                    --max-delete int                       When synchronizing, limit the number of deletes (default -1)
10555                    --max-depth int                        If set limits the recursion depth to this. (default -1)
10556                    --max-duration duration                Maximum duration rclone will transfer data for.
10557                    --max-size SizeSuffix                  Only transfer files smaller than this in k or suffix b|k|M|G (default off)
10558                    --max-stats-groups int                 Maximum number of stats groups to keep in memory. On max oldest is discarded. (default 1000)
10559                    --max-transfer SizeSuffix              Maximum size of data to transfer. (default off)
10560                    --memprofile string                    Write memory profile to file
10561                    --min-age Duration                     Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
10562                    --min-size SizeSuffix                  Only transfer files bigger than this in k or suffix b|k|M|G (default off)
10563                    --modify-window duration               Max time diff to be considered the same (default 1ns)
10564                    --multi-thread-cutoff SizeSuffix       Use multi-thread downloads for files above this size. (default 250M)
10565                    --multi-thread-streams int             Max number of streams to use for multi-thread downloads. (default 4)
10566                    --no-check-certificate                 Do not verify the server SSL certificate. Insecure.
10567                    --no-check-dest                        Don't check the destination, copy regardless.
10568                    --no-console                           Hide console window. Supported on Windows only.
10569                    --no-gzip-encoding                     Don't set Accept-Encoding: gzip.
10570                    --no-traverse                          Don't traverse destination file system on copy.
10571                    --no-unicode-normalization             Don't normalize unicode characters in filenames.
10572                    --no-update-modtime                    Don't update destination mod-time if files identical.
10573                    --order-by string                      Instructions on how to order the transfers, e.g. 'size,descending'
10574                    --password-command SpaceSepList        Command for supplying password for encrypted configuration.
10575                -P, --progress                             Show progress during transfer.
10576                    --progress-terminal-title              Show progress on the terminal title. Requires -P/--progress.
10577                -q, --quiet                                Print as little stuff as possible
10578                    --rc                                   Enable the remote control server.
10579                    --rc-addr string                       IPaddress:Port or :Port to bind server to. (default "localhost:5572")
10580                    --rc-allow-origin string               Set the allowed origin for CORS.
10581                    --rc-baseurl string                    Prefix for URLs - leave blank for root.
10582                    --rc-cert string                       SSL PEM key (concatenation of certificate and CA certificate)
10583                    --rc-client-ca string                  Client certificate authority to verify clients with
10584                    --rc-enable-metrics                    Enable prometheus metrics on /metrics
10585                    --rc-files string                      Path to local files to serve on the HTTP server.
10586                    --rc-htpasswd string                   htpasswd file - if not provided no authentication is done
10587                    --rc-job-expire-duration duration      expire finished async jobs older than this value (default 1m0s)
10588                    --rc-job-expire-interval duration      interval to check for expired async jobs (default 10s)
10589                    --rc-key string                        SSL PEM Private key
10590                    --rc-max-header-bytes int              Maximum size of request header (default 4096)
10591                    --rc-no-auth                           Don't require auth for certain methods.
10592                    --rc-pass string                       Password for authentication.
10593                    --rc-realm string                      realm for authentication (default "rclone")
10594                    --rc-serve                             Enable the serving of remote objects.
10595                    --rc-server-read-timeout duration      Timeout for server reading data (default 1h0m0s)
10596                    --rc-server-write-timeout duration     Timeout for server writing data (default 1h0m0s)
10597                    --rc-template string                   User Specified Template.
10598                    --rc-user string                       User name for authentication.
10599                    --rc-web-fetch-url string              URL to fetch the releases for webgui. (default "https://api.github.com/repos/rclone/rclone-webui-react/releases/latest")
10600                    --rc-web-gui                           Launch WebGUI on localhost
10601                    --rc-web-gui-force-update              Force update to latest version of web gui
10602                    --rc-web-gui-no-open-browser           Don't open the browser automatically
10603                    --rc-web-gui-update                    Check and update to latest version of web gui
10604                    --refresh-times                        Refresh the modtime of remote files.
10605                    --retries int                          Retry operations this many times if they fail (default 3)
10606                    --retries-sleep duration               Interval between retrying operations if they fail, e.g 500ms, 60s, 5m. (0 to disable)
10607                    --size-only                            Skip based on size only, not mod-time or checksum
10608                    --stats duration                       Interval between printing stats, e.g 500ms, 60s, 5m. (0 to disable) (default 1m0s)
10609                    --stats-file-name-length int           Max file name length in stats. 0 for no limit (default 45)
10610                    --stats-log-level string               Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default "INFO")
10611                    --stats-one-line                       Make the stats fit on one line.
10612                    --stats-one-line-date                  Enables --stats-one-line and add current date/time prefix.
10613                    --stats-one-line-date-format string    Enables --stats-one-line-date and uses custom formatted date. Enclose date string in double quotes ("). See https://golang.org/pkg/time/#Time.Format
10614                    --stats-unit string                    Show data rate in stats as either 'bits' or 'bytes'/s (default "bytes")
10615                    --streaming-upload-cutoff SizeSuffix   Cutoff for switching to chunked upload if file size is unknown. Upload starts after reaching cutoff or when file ends. (default 100k)
10616                    --suffix string                        Suffix to add to changed files.
10617                    --suffix-keep-extension                Preserve the extension when using --suffix.
10618                    --syslog                               Use Syslog for logging
10619                    --syslog-facility string               Facility for syslog, e.g. KERN,USER,... (default "DAEMON")
10620                    --timeout duration                     IO idle timeout (default 5m0s)
10621                    --tpslimit float                       Limit HTTP transactions per second to this.
10622                    --tpslimit-burst int                   Max burst of transactions for --tpslimit. (default 1)
10623                    --track-renames                        When synchronizing, track file renames and do a server-side move if possible
10624                    --track-renames-strategy string        Strategies to use when synchronizing using track-renames hash|modtime|leaf (default "hash")
10625                    --transfers int                        Number of file transfers to run in parallel. (default 4)
10626                -u, --update                               Skip files that are newer on the destination.
10627                    --use-cookies                          Enable session cookiejar.
10628                    --use-json-log                         Use json log format.
10629                    --use-mmap                             Use mmap allocator (see docs).
10630                    --use-server-modtime                   Use server modified time instead of object metadata
10631                    --user-agent string                    Set the user-agent to a specified string. The default is rclone/ version (default "rclone/v1.54.0")
10632                -v, --verbose count                        Print lots more stuff (repeat for more)
10633
10634   Backend Flags
10635       These flags are available for every command.  They control the backends
10636       and may be set in the config file.
10637
10638                    --acd-auth-url string                                      Auth server URL.
10639                    --acd-client-id string                                     OAuth Client Id
10640                    --acd-client-secret string                                 OAuth Client Secret
10641                    --acd-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
10642                    --acd-templink-threshold SizeSuffix                        Files >= this size will be downloaded via their tempLink. (default 9G)
10643                    --acd-token string                                         OAuth Access Token as a JSON blob.
10644                    --acd-token-url string                                     Token server url.
10645                    --acd-upload-wait-per-gb Duration                          Additional time per GB to wait after a failed complete upload to see if it appears. (default 3m0s)
10646                    --alias-remote string                                      Remote or path to alias.
10647                    --azureblob-access-tier string                             Access tier of blob: hot, cool or archive.
10648                    --azureblob-account string                                 Storage Account Name (leave blank to use SAS URL or Emulator)
10649                    --azureblob-archive-tier-delete                            Delete archive tier blobs before overwriting.
10650                    --azureblob-chunk-size SizeSuffix                          Upload chunk size (<= 100MB). (default 4M)
10651                    --azureblob-disable-checksum                               Don't store MD5 checksum with object metadata.
10652                    --azureblob-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8)
10653                    --azureblob-endpoint string                                Endpoint for the service
10654                    --azureblob-key string                                     Storage Account Key (leave blank to use SAS URL or Emulator)
10655                    --azureblob-list-chunk int                                 Size of blob list. (default 5000)
10656                    --azureblob-memory-pool-flush-time Duration                How often internal memory buffer pools will be flushed. (default 1m0s)
10657                    --azureblob-memory-pool-use-mmap                           Whether to use mmap buffers in internal memory pool.
10658                    --azureblob-msi-client-id string                           Object ID of the user-assigned MSI to use, if any. Leave blank if msi_object_id or msi_mi_res_id specified.
10659                    --azureblob-msi-mi-res-id string                           Azure resource ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_object_id specified.
10660                    --azureblob-msi-object-id string                           Object ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_mi_res_id specified.
10661                    --azureblob-sas-url string                                 SAS URL for container level access only
10662                    --azureblob-service-principal-file string                  Path to file containing credentials for use with a service principal.
10663                    --azureblob-upload-cutoff string                           Cutoff for switching to chunked upload (<= 256MB). (Deprecated)
10664                    --azureblob-use-emulator                                   Uses local storage emulator if provided as 'true' (leave blank if using real azure storage endpoint)
10665                    --azureblob-use-msi                                        Use a managed service identity to authenticate (only works in Azure)
10666                    --b2-account string                                        Account ID or Application Key ID
10667                    --b2-chunk-size SizeSuffix                                 Upload chunk size. Must fit in memory. (default 96M)
10668                    --b2-copy-cutoff SizeSuffix                                Cutoff for switching to multipart copy (default 4G)
10669                    --b2-disable-checksum                                      Disable checksums for large (> upload cutoff) files
10670                    --b2-download-auth-duration Duration                       Time before the authorization token will expire in s or suffix ms|s|m|h|d. (default 1w)
10671                    --b2-download-url string                                   Custom endpoint for downloads.
10672                    --b2-encoding MultiEncoder                                 This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
10673                    --b2-endpoint string                                       Endpoint for the service.
10674                    --b2-hard-delete                                           Permanently delete files on remote removal, otherwise hide files.
10675                    --b2-key string                                            Application Key
10676                    --b2-memory-pool-flush-time Duration                       How often internal memory buffer pools will be flushed. (default 1m0s)
10677                    --b2-memory-pool-use-mmap                                  Whether to use mmap buffers in internal memory pool.
10678                    --b2-test-mode string                                      A flag string for X-Bz-Test-Mode header for debugging.
10679                    --b2-upload-cutoff SizeSuffix                              Cutoff for switching to chunked upload. (default 200M)
10680                    --b2-versions                                              Include old versions in directory listings.
10681                    --box-access-token string                                  Box App Primary Access Token
10682                    --box-auth-url string                                      Auth server URL.
10683                    --box-box-config-file string                               Box App config.json location
10684                    --box-box-sub-type string                                   (default "user")
10685                    --box-client-id string                                     OAuth Client Id
10686                    --box-client-secret string                                 OAuth Client Secret
10687                    --box-commit-retries int                                   Max number of times to try committing a multipart file. (default 100)
10688                    --box-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot)
10689                    --box-root-folder-id string                                Fill in for rclone to use a non root folder as its starting point.
10690                    --box-token string                                         OAuth Access Token as a JSON blob.
10691                    --box-token-url string                                     Token server url.
10692                    --box-upload-cutoff SizeSuffix                             Cutoff for switching to multipart upload (>= 50MB). (default 50M)
10693                    --cache-chunk-clean-interval Duration                      How often should the cache perform cleanups of the chunk storage. (default 1m0s)
10694                    --cache-chunk-no-memory                                    Disable the in-memory cache for storing chunks during streaming.
10695                    --cache-chunk-path string                                  Directory to cache chunk files. (default "$HOME/.cache/rclone/cache-backend")
10696                    --cache-chunk-size SizeSuffix                              The size of a chunk (partial file data). (default 5M)
10697                    --cache-chunk-total-size SizeSuffix                        The total size that the chunks can take up on the local disk. (default 10G)
10698                    --cache-db-path string                                     Directory to store file structure metadata DB. (default "$HOME/.cache/rclone/cache-backend")
10699                    --cache-db-purge                                           Clear all the cached data for this remote on start.
10700                    --cache-db-wait-time Duration                              How long to wait for the DB to be available - 0 is unlimited (default 1s)
10701                    --cache-info-age Duration                                  How long to cache file structure information (directory listings, file size, times, etc.). (default 6h0m0s)
10702                    --cache-plex-insecure string                               Skip all certificate verification when connecting to the Plex server
10703                    --cache-plex-password string                               The password of the Plex user (obscured)
10704                    --cache-plex-url string                                    The URL of the Plex server
10705                    --cache-plex-username string                               The username of the Plex user
10706                    --cache-read-retries int                                   How many times to retry a read from a cache storage. (default 10)
10707                    --cache-remote string                                      Remote to cache.
10708                    --cache-rps int                                            Limits the number of requests per second to the source FS (-1 to disable) (default -1)
10709                    --cache-tmp-upload-path string                             Directory to keep temporary files until they are uploaded.
10710                    --cache-tmp-wait-time Duration                             How long should files be stored in local cache before being uploaded (default 15s)
10711                    --cache-workers int                                        How many workers should run in parallel to download chunks. (default 4)
10712                    --cache-writes                                             Cache file data on writes through the FS
10713                    --chunker-chunk-size SizeSuffix                            Files larger than chunk size will be split in chunks. (default 2G)
10714                    --chunker-fail-hard                                        Choose how chunker should handle files with missing or invalid chunks.
10715                    --chunker-hash-type string                                 Choose how chunker handles hash sums. All modes but "none" require metadata. (default "md5")
10716                    --chunker-remote string                                    Remote to chunk/unchunk.
10717                    --compress-level int                                       GZIP compression level (-2 to 9). (default -1)
10718                    --compress-mode string                                     Compression mode. (default "gzip")
10719                    --compress-ram-cache-limit SizeSuffix                      Some remotes don't allow the upload of files with unknown size. (default 20M)
10720                    --compress-remote string                                   Remote to compress.
10721                -L, --copy-links                                               Follow symlinks and copy the pointed to item.
10722                    --crypt-directory-name-encryption                          Option to either encrypt directory names or leave them intact. (default true)
10723                    --crypt-filename-encryption string                         How to encrypt the filenames. (default "standard")
10724                    --crypt-password string                                    Password or pass phrase for encryption. (obscured)
10725                    --crypt-password2 string                                   Password or pass phrase for salt. Optional but recommended. (obscured)
10726                    --crypt-remote string                                      Remote to encrypt/decrypt.
10727                    --crypt-server-side-across-configs                         Allow server-side operations (e.g. copy) to work across different crypt configs.
10728                    --crypt-show-mapping                                       For all files listed show how the names encrypt.
10729                    --drive-acknowledge-abuse                                  Set to allow files which return cannotDownloadAbusiveFile to be downloaded.
10730                    --drive-allow-import-name-change                           Allow the filetype to change when uploading Google docs (e.g. file.doc to file.docx). This will confuse sync and reupload every time.
10731                    --drive-auth-owner-only                                    Only consider files owned by the authenticated user.
10732                    --drive-auth-url string                                    Auth server URL.
10733                    --drive-chunk-size SizeSuffix                              Upload chunk size. Must a power of 2 >= 256k. (default 8M)
10734                    --drive-client-id string                                   Google Application Client Id
10735                    --drive-client-secret string                               OAuth Client Secret
10736                    --drive-disable-http2                                      Disable drive using http2 (default true)
10737                    --drive-encoding MultiEncoder                              This sets the encoding for the backend. (default InvalidUtf8)
10738                    --drive-export-formats string                              Comma separated list of preferred formats for downloading Google docs. (default "docx,xlsx,pptx,svg")
10739                    --drive-formats string                                     Deprecated: see export_formats
10740                    --drive-impersonate string                                 Impersonate this user when using a service account.
10741                    --drive-import-formats string                              Comma separated list of preferred formats for uploading Google docs.
10742                    --drive-keep-revision-forever                              Keep new head revision of each file forever.
10743                    --drive-list-chunk int                                     Size of listing chunk 100-1000. 0 to disable. (default 1000)
10744                    --drive-pacer-burst int                                    Number of API calls to allow without sleeping. (default 100)
10745                    --drive-pacer-min-sleep Duration                           Minimum time to sleep between API calls. (default 100ms)
10746                    --drive-root-folder-id string                              ID of the root folder
10747                    --drive-scope string                                       Scope that rclone should use when requesting access from drive.
10748                    --drive-server-side-across-configs                         Allow server-side operations (e.g. copy) to work across different drive configs.
10749                    --drive-service-account-credentials string                 Service Account Credentials JSON blob
10750                    --drive-service-account-file string                        Service Account Credentials JSON file path
10751                    --drive-shared-with-me                                     Only show files that are shared with me.
10752                    --drive-size-as-quota                                      Show sizes as storage quota usage, not actual size.
10753                    --drive-skip-checksum-gphotos                              Skip MD5 checksum on Google photos and videos only.
10754                    --drive-skip-gdocs                                         Skip google documents in all listings.
10755                    --drive-skip-shortcuts                                     If set skip shortcut files
10756                    --drive-starred-only                                       Only show files that are starred.
10757                    --drive-stop-on-download-limit                             Make download limit errors be fatal
10758                    --drive-stop-on-upload-limit                               Make upload limit errors be fatal
10759                    --drive-team-drive string                                  ID of the Team Drive
10760                    --drive-token string                                       OAuth Access Token as a JSON blob.
10761                    --drive-token-url string                                   Token server url.
10762                    --drive-trashed-only                                       Only show files that are in the trash.
10763                    --drive-upload-cutoff SizeSuffix                           Cutoff for switching to chunked upload (default 8M)
10764                    --drive-use-created-date                                   Use file created date instead of modified date.,
10765                    --drive-use-shared-date                                    Use date file was shared instead of modified date.
10766                    --drive-use-trash                                          Send files to the trash instead of deleting permanently. (default true)
10767                    --drive-v2-download-min-size SizeSuffix                    If Object's are greater, use drive v2 API to download. (default off)
10768                    --dropbox-auth-url string                                  Auth server URL.
10769                    --dropbox-chunk-size SizeSuffix                            Upload chunk size. (< 150M). (default 48M)
10770                    --dropbox-client-id string                                 OAuth Client Id
10771                    --dropbox-client-secret string                             OAuth Client Secret
10772                    --dropbox-encoding MultiEncoder                            This sets the encoding for the backend. (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot)
10773                    --dropbox-impersonate string                               Impersonate this user when using a business account.
10774                    --dropbox-shared-files                                     Instructs rclone to work on individual shared files.
10775                    --dropbox-shared-folders                                   Instructs rclone to work on shared folders.
10776                    --dropbox-token string                                     OAuth Access Token as a JSON blob.
10777                    --dropbox-token-url string                                 Token server url.
10778                    --fichier-api-key string                                   Your API Key, get it from https://1fichier.com/console/params.pl
10779                    --fichier-encoding MultiEncoder                            This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot)
10780                    --fichier-shared-folder string                             If you want to download a shared folder, add this parameter
10781                    --filefabric-encoding MultiEncoder                         This sets the encoding for the backend. (default Slash,Del,Ctl,InvalidUtf8,Dot)
10782                    --filefabric-permanent-token string                        Permanent Authentication Token
10783                    --filefabric-root-folder-id string                         ID of the root folder
10784                    --filefabric-token string                                  Session Token
10785                    --filefabric-token-expiry string                           Token expiry time
10786                    --filefabric-url string                                    URL of the Enterprise File Fabric to connect to
10787                    --filefabric-version string                                Version read from the file fabric
10788                    --ftp-concurrency int                                      Maximum number of FTP simultaneous connections, 0 for unlimited
10789                    --ftp-disable-epsv                                         Disable using EPSV even if server advertises support
10790                    --ftp-disable-mlsd                                         Disable using MLSD even if server advertises support
10791                    --ftp-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,Del,Ctl,RightSpace,Dot)
10792                    --ftp-explicit-tls                                         Use Explicit FTPS (FTP over TLS)
10793                    --ftp-host string                                          FTP host to connect to
10794                    --ftp-no-check-certificate                                 Do not verify the TLS certificate of the server
10795                    --ftp-pass string                                          FTP password (obscured)
10796                    --ftp-port string                                          FTP port, leave blank to use default (21)
10797                    --ftp-tls                                                  Use Implicit FTPS (FTP over TLS)
10798                    --ftp-user string                                          FTP username, leave blank for current username, $USER
10799                    --gcs-anonymous                                            Access public buckets and objects without credentials
10800                    --gcs-auth-url string                                      Auth server URL.
10801                    --gcs-bucket-acl string                                    Access Control List for new buckets.
10802                    --gcs-bucket-policy-only                                   Access checks should use bucket-level IAM policies.
10803                    --gcs-client-id string                                     OAuth Client Id
10804                    --gcs-client-secret string                                 OAuth Client Secret
10805                    --gcs-encoding MultiEncoder                                This sets the encoding for the backend. (default Slash,CrLf,InvalidUtf8,Dot)
10806                    --gcs-location string                                      Location for the newly created buckets.
10807                    --gcs-object-acl string                                    Access Control List for new objects.
10808                    --gcs-project-number string                                Project number.
10809                    --gcs-service-account-file string                          Service Account Credentials JSON file path
10810                    --gcs-storage-class string                                 The storage class to use when storing objects in Google Cloud Storage.
10811                    --gcs-token string                                         OAuth Access Token as a JSON blob.
10812                    --gcs-token-url string                                     Token server url.
10813                    --gphotos-auth-url string                                  Auth server URL.
10814                    --gphotos-client-id string                                 OAuth Client Id
10815                    --gphotos-client-secret string                             OAuth Client Secret
10816                    --gphotos-include-archived                                 Also view and download archived media.
10817                    --gphotos-read-only                                        Set to make the Google Photos backend read only.
10818                    --gphotos-read-size                                        Set to read the size of media items.
10819                    --gphotos-start-year int                                   Year limits the photos to be downloaded to those which are uploaded after the given year (default 2000)
10820                    --gphotos-token string                                     OAuth Access Token as a JSON blob.
10821                    --gphotos-token-url string                                 Token server url.
10822                    --hdfs-data-transfer-protection string                     Kerberos data transfer protection: authentication|integrity|privacy
10823                    --hdfs-encoding MultiEncoder                               This sets the encoding for the backend. (default Slash,Colon,Del,Ctl,InvalidUtf8,Dot)
10824                    --hdfs-namenode string                                     hadoop name node and port
10825                    --hdfs-service-principal-name string                       Kerberos service principal name for the namenode
10826                    --hdfs-username string                                     hadoop user name
10827                    --http-headers CommaSepList                                Set HTTP headers for all transactions
10828                    --http-no-head                                             Don't use HEAD requests to find file sizes in dir listing
10829                    --http-no-slash                                            Set this if the site doesn't end directories with /
10830                    --http-url string                                          URL of http host to connect to
10831                    --hubic-auth-url string                                    Auth server URL.
10832                    --hubic-chunk-size SizeSuffix                              Above this size files will be chunked into a _segments container. (default 5G)
10833                    --hubic-client-id string                                   OAuth Client Id
10834                    --hubic-client-secret string                               OAuth Client Secret
10835                    --hubic-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,InvalidUtf8)
10836                    --hubic-no-chunk                                           Don't chunk files during streaming upload.
10837                    --hubic-token string                                       OAuth Access Token as a JSON blob.
10838                    --hubic-token-url string                                   Token server url.
10839                    --jottacloud-encoding MultiEncoder                         This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot)
10840                    --jottacloud-hard-delete                                   Delete files permanently rather than putting them into the trash.
10841                    --jottacloud-md5-memory-limit SizeSuffix                   Files bigger than this will be cached on disk to calculate the MD5 if required. (default 10M)
10842                    --jottacloud-trashed-only                                  Only show files that are in the trash.
10843                    --jottacloud-upload-resume-limit SizeSuffix                Files bigger than this can be resumed if the upload fail's. (default 10M)
10844                    --koofr-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
10845                    --koofr-endpoint string                                    The Koofr API endpoint to use (default "https://app.koofr.net")
10846                    --koofr-mountid string                                     Mount ID of the mount to use. If omitted, the primary mount is used.
10847                    --koofr-password string                                    Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured)
10848                    --koofr-setmtime                                           Does the backend support setting modification time. Set this to false if you use a mount ID that points to a Dropbox or Amazon Drive backend. (default true)
10849                    --koofr-user string                                        Your Koofr user name
10850                -l, --links                                                    Translate symlinks to/from regular files with a '.rclonelink' extension
10851                    --local-case-insensitive                                   Force the filesystem to report itself as case insensitive
10852                    --local-case-sensitive                                     Force the filesystem to report itself as case sensitive.
10853                    --local-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,Dot)
10854                    --local-no-check-updated                                   Don't check to see if the files change during upload
10855                    --local-no-set-modtime                                     Disable setting modtime
10856                    --local-no-sparse                                          Disable sparse files for multi-thread downloads
10857                    --local-no-unicode-normalization                           Don't apply unicode normalization to paths and filenames (Deprecated)
10858                    --local-nounc string                                       Disable UNC (long path names) conversion on Windows
10859                    --local-zero-size-links                                    Assume the Stat size of links is zero (and read them instead)
10860                    --mailru-check-hash                                        What should copy do if file checksum is mismatched or invalid (default true)
10861                    --mailru-encoding MultiEncoder                             This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot)
10862                    --mailru-pass string                                       Password (obscured)
10863                    --mailru-speedup-enable                                    Skip full upload if there is another file with same data hash. (default true)
10864                    --mailru-speedup-file-patterns string                      Comma separated list of file name patterns eligible for speedup (put by hash). (default "*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf")
10865                    --mailru-speedup-max-disk SizeSuffix                       This option allows you to disable speedup (put by hash) for large files (default 3G)
10866                    --mailru-speedup-max-memory SizeSuffix                     Files larger than the size given below will always be hashed on disk. (default 32M)
10867                    --mailru-user string                                       User name (usually email)
10868                    --mega-debug                                               Output more debug from Mega.
10869                    --mega-encoding MultiEncoder                               This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
10870                    --mega-hard-delete                                         Delete files permanently rather than putting them into the trash.
10871                    --mega-pass string                                         Password. (obscured)
10872                    --mega-user string                                         User name
10873                -x, --one-file-system                                          Don't cross filesystem boundaries (unix/macOS only).
10874                    --onedrive-auth-url string                                 Auth server URL.
10875                    --onedrive-chunk-size SizeSuffix                           Chunk size to upload files with - must be multiple of 320k (327,680 bytes). (default 10M)
10876                    --onedrive-client-id string                                OAuth Client Id
10877                    --onedrive-client-secret string                            OAuth Client Secret
10878                    --onedrive-drive-id string                                 The ID of the drive to use
10879                    --onedrive-drive-type string                               The type of the drive ( personal | business | documentLibrary )
10880                    --onedrive-encoding MultiEncoder                           This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot)
10881                    --onedrive-expose-onenote-files                            Set to make OneNote files show up in directory listings.
10882                    --onedrive-link-password string                            Set the password for links created by the link command.
10883                    --onedrive-link-scope string                               Set the scope of the links created by the link command. (default "anonymous")
10884                    --onedrive-link-type string                                Set the type of the links created by the link command. (default "view")
10885                    --onedrive-no-versions                                     Remove all versions on modifying operations
10886                    --onedrive-region string                                   Choose national cloud region for OneDrive. (default "global")
10887                    --onedrive-server-side-across-configs                      Allow server-side operations (e.g. copy) to work across different onedrive configs.
10888                    --onedrive-token string                                    OAuth Access Token as a JSON blob.
10889                    --onedrive-token-url string                                Token server url.
10890                    --opendrive-chunk-size SizeSuffix                          Files will be uploaded in chunks this size. (default 10M)
10891                    --opendrive-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot)
10892                    --opendrive-password string                                Password. (obscured)
10893                    --opendrive-username string                                Username
10894                    --pcloud-auth-url string                                   Auth server URL.
10895                    --pcloud-client-id string                                  OAuth Client Id
10896                    --pcloud-client-secret string                              OAuth Client Secret
10897                    --pcloud-encoding MultiEncoder                             This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
10898                    --pcloud-hostname string                                   Hostname to connect to. (default "api.pcloud.com")
10899                    --pcloud-root-folder-id string                             Fill in for rclone to use a non root folder as its starting point. (default "d0")
10900                    --pcloud-token string                                      OAuth Access Token as a JSON blob.
10901                    --pcloud-token-url string                                  Token server url.
10902                    --premiumizeme-encoding MultiEncoder                       This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot)
10903                    --putio-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot)
10904                    --qingstor-access-key-id string                            QingStor Access Key ID
10905                    --qingstor-chunk-size SizeSuffix                           Chunk size to use for uploading. (default 4M)
10906                    --qingstor-connection-retries int                          Number of connection retries. (default 3)
10907                    --qingstor-encoding MultiEncoder                           This sets the encoding for the backend. (default Slash,Ctl,InvalidUtf8)
10908                    --qingstor-endpoint string                                 Enter an endpoint URL to connection QingStor API.
10909                    --qingstor-env-auth                                        Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
10910                    --qingstor-secret-access-key string                        QingStor Secret Access Key (password)
10911                    --qingstor-upload-concurrency int                          Concurrency for multipart uploads. (default 1)
10912                    --qingstor-upload-cutoff SizeSuffix                        Cutoff for switching to chunked upload (default 200M)
10913                    --qingstor-zone string                                     Zone to connect to.
10914                    --s3-access-key-id string                                  AWS Access Key ID.
10915                    --s3-acl string                                            Canned ACL used when creating buckets and storing or copying objects.
10916                    --s3-bucket-acl string                                     Canned ACL used when creating buckets.
10917                    --s3-chunk-size SizeSuffix                                 Chunk size to use for uploading. (default 5M)
10918                    --s3-copy-cutoff SizeSuffix                                Cutoff for switching to multipart copy (default 4.656G)
10919                    --s3-disable-checksum                                      Don't store MD5 checksum with object metadata
10920                    --s3-disable-http2                                         Disable usage of http2 for S3 backends
10921                    --s3-encoding MultiEncoder                                 This sets the encoding for the backend. (default Slash,InvalidUtf8,Dot)
10922                    --s3-endpoint string                                       Endpoint for S3 API.
10923                    --s3-env-auth                                              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
10924                    --s3-force-path-style                                      If true use path style access if false use virtual hosted style. (default true)
10925                    --s3-leave-parts-on-error                                  If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery.
10926                    --s3-list-chunk int                                        Size of listing chunk (response list for each ListObject S3 request). (default 1000)
10927                    --s3-location-constraint string                            Location constraint - must be set to match the Region.
10928                    --s3-max-upload-parts int                                  Maximum number of parts in a multipart upload. (default 10000)
10929                    --s3-memory-pool-flush-time Duration                       How often internal memory buffer pools will be flushed. (default 1m0s)
10930                    --s3-memory-pool-use-mmap                                  Whether to use mmap buffers in internal memory pool.
10931                    --s3-no-check-bucket                                       If set, don't attempt to check the bucket exists or create it
10932                    --s3-no-head                                               If set, don't HEAD uploaded objects to check integrity
10933                    --s3-profile string                                        Profile to use in the shared credentials file
10934                    --s3-provider string                                       Choose your S3 provider.
10935                    --s3-region string                                         Region to connect to.
10936                    --s3-requester-pays                                        Enables requester pays option when interacting with S3 bucket.
10937                    --s3-secret-access-key string                              AWS Secret Access Key (password)
10938                    --s3-server-side-encryption string                         The server-side encryption algorithm used when storing this object in S3.
10939                    --s3-session-token string                                  An AWS session token
10940                    --s3-shared-credentials-file string                        Path to the shared credentials file
10941                    --s3-sse-customer-algorithm string                         If using SSE-C, the server-side encryption algorithm used when storing this object in S3.
10942                    --s3-sse-customer-key string                               If using SSE-C you must provide the secret encryption key used to encrypt/decrypt your data.
10943                    --s3-sse-customer-key-md5 string                           If using SSE-C you may provide the secret encryption key MD5 checksum (optional).
10944                    --s3-sse-kms-key-id string                                 If using KMS ID you must provide the ARN of Key.
10945                    --s3-storage-class string                                  The storage class to use when storing new objects in S3.
10946                    --s3-upload-concurrency int                                Concurrency for multipart uploads. (default 4)
10947                    --s3-upload-cutoff SizeSuffix                              Cutoff for switching to chunked upload (default 200M)
10948                    --s3-use-accelerate-endpoint                               If true use the AWS S3 accelerated endpoint.
10949                    --s3-v2-auth                                               If true use v2 authentication.
10950                    --seafile-2fa                                              Two-factor authentication ('true' if the account has 2FA enabled)
10951                    --seafile-create-library                                   Should rclone create a library if it doesn't exist
10952                    --seafile-encoding MultiEncoder                            This sets the encoding for the backend. (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8)
10953                    --seafile-library string                                   Name of the library. Leave blank to access all non-encrypted libraries.
10954                    --seafile-library-key string                               Library password (for encrypted libraries only). Leave blank if you pass it through the command line. (obscured)
10955                    --seafile-pass string                                      Password (obscured)
10956                    --seafile-url string                                       URL of seafile host to connect to
10957                    --seafile-user string                                      User name (usually email address)
10958                    --sftp-ask-password                                        Allow asking for SFTP password when needed.
10959                    --sftp-disable-hashcheck                                   Disable the execution of SSH commands to determine if remote file hashing is available.
10960                    --sftp-host string                                         SSH host to connect to
10961                    --sftp-key-file string                                     Path to PEM-encoded private key file, leave blank or set key-use-agent to use ssh-agent.
10962                    --sftp-key-file-pass string                                The passphrase to decrypt the PEM-encoded private key file. (obscured)
10963                    --sftp-key-pem string                                      Raw PEM-encoded private key, If specified, will override key_file parameter.
10964                    --sftp-key-use-agent                                       When set forces the usage of the ssh-agent.
10965                    --sftp-known-hosts-file string                             Optional path to known_hosts file.
10966                    --sftp-md5sum-command string                               The command used to read md5 hashes. Leave blank for autodetect.
10967                    --sftp-pass string                                         SSH password, leave blank to use ssh-agent. (obscured)
10968                    --sftp-path-override string                                Override path used by SSH connection.
10969                    --sftp-port string                                         SSH port, leave blank to use default (22)
10970                    --sftp-pubkey-file string                                  Optional path to public key file.
10971                    --sftp-server-command string                               Specifies the path or command to run a sftp server on the remote host.
10972                    --sftp-set-modtime                                         Set the modified time on the remote if set. (default true)
10973                    --sftp-sha1sum-command string                              The command used to read sha1 hashes. Leave blank for autodetect.
10974                    --sftp-skip-links                                          Set to skip any symlinks and any other non regular files.
10975                    --sftp-subsystem string                                    Specifies the SSH2 subsystem on the remote host. (default "sftp")
10976                    --sftp-use-fstat                                           If set use fstat instead of stat
10977                    --sftp-use-insecure-cipher                                 Enable the use of insecure ciphers and key exchange methods.
10978                    --sftp-user string                                         SSH username, leave blank for current username, $USER
10979                    --sharefile-chunk-size SizeSuffix                          Upload chunk size. Must a power of 2 >= 256k. (default 64M)
10980                    --sharefile-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot)
10981                    --sharefile-endpoint string                                Endpoint for API calls.
10982                    --sharefile-root-folder-id string                          ID of the root folder
10983                    --sharefile-upload-cutoff SizeSuffix                       Cutoff for switching to multipart upload. (default 128M)
10984                    --skip-links                                               Don't warn about skipped symlinks.
10985                    --sugarsync-access-key-id string                           Sugarsync Access Key ID.
10986                    --sugarsync-app-id string                                  Sugarsync App ID.
10987                    --sugarsync-authorization string                           Sugarsync authorization
10988                    --sugarsync-authorization-expiry string                    Sugarsync authorization expiry
10989                    --sugarsync-deleted-id string                              Sugarsync deleted folder id
10990                    --sugarsync-encoding MultiEncoder                          This sets the encoding for the backend. (default Slash,Ctl,InvalidUtf8,Dot)
10991                    --sugarsync-hard-delete                                    Permanently delete files if true
10992                    --sugarsync-private-access-key string                      Sugarsync Private Access Key
10993                    --sugarsync-refresh-token string                           Sugarsync refresh token
10994                    --sugarsync-root-id string                                 Sugarsync root id
10995                    --sugarsync-user string                                    Sugarsync user
10996                    --swift-application-credential-id string                   Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
10997                    --swift-application-credential-name string                 Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
10998                    --swift-application-credential-secret string               Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
10999                    --swift-auth string                                        Authentication URL for server (OS_AUTH_URL).
11000                    --swift-auth-token string                                  Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
11001                    --swift-auth-version int                                   AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
11002                    --swift-chunk-size SizeSuffix                              Above this size files will be chunked into a _segments container. (default 5G)
11003                    --swift-domain string                                      User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
11004                    --swift-encoding MultiEncoder                              This sets the encoding for the backend. (default Slash,InvalidUtf8)
11005                    --swift-endpoint-type string                               Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default "public")
11006                    --swift-env-auth                                           Get swift credentials from environment variables in standard OpenStack form.
11007                    --swift-key string                                         API key or password (OS_PASSWORD).
11008                    --swift-leave-parts-on-error                               If true avoid calling abort upload on a failure. It should be set to true for resuming uploads across different sessions.
11009                    --swift-no-chunk                                           Don't chunk files during streaming upload.
11010                    --swift-region string                                      Region name - optional (OS_REGION_NAME)
11011                    --swift-storage-policy string                              The storage policy to use when creating a new container
11012                    --swift-storage-url string                                 Storage URL - optional (OS_STORAGE_URL)
11013                    --swift-tenant string                                      Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
11014                    --swift-tenant-domain string                               Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
11015                    --swift-tenant-id string                                   Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
11016                    --swift-user string                                        User name to log in (OS_USERNAME).
11017                    --swift-user-id string                                     User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
11018                    --tardigrade-access-grant string                           Access Grant.
11019                    --tardigrade-api-key string                                API Key.
11020                    --tardigrade-passphrase string                             Encryption Passphrase. To access existing objects enter passphrase used for uploading.
11021                    --tardigrade-provider string                               Choose an authentication method. (default "existing")
11022                    --tardigrade-satellite-address <nodeid>@<address>:<port>   Satellite Address. Custom satellite address should match the format: <nodeid>@<address>:<port>. (default "us-central-1.tardigrade.io")
11023                    --union-action-policy string                               Policy to choose upstream on ACTION category. (default "epall")
11024                    --union-cache-time int                                     Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used. (default 120)
11025                    --union-create-policy string                               Policy to choose upstream on CREATE category. (default "epmfs")
11026                    --union-search-policy string                               Policy to choose upstream on SEARCH category. (default "ff")
11027                    --union-upstreams string                                   List of space separated upstreams.
11028                    --webdav-bearer-token string                               Bearer token instead of user/pass (e.g. a Macaroon)
11029                    --webdav-bearer-token-command string                       Command to run to get a bearer token
11030                    --webdav-pass string                                       Password. (obscured)
11031                    --webdav-url string                                        URL of http host to connect to
11032                    --webdav-user string                                       User name
11033                    --webdav-vendor string                                     Name of the Webdav site/service/software you are using
11034                    --yandex-auth-url string                                   Auth server URL.
11035                    --yandex-client-id string                                  OAuth Client Id
11036                    --yandex-client-secret string                              OAuth Client Secret
11037                    --yandex-encoding MultiEncoder                             This sets the encoding for the backend. (default Slash,Del,Ctl,InvalidUtf8,Dot)
11038                    --yandex-token string                                      OAuth Access Token as a JSON blob.
11039                    --yandex-token-url string                                  Token server url.
11040                    --zoho-encoding MultiEncoder                               This sets the encoding for the backend. (default Del,Ctl,InvalidUtf8)
11041                    --zoho-region string                                       Zoho region to connect to. You'll have to use the region you organization is registered in.
11042
11043   1Fichier
11044       This is a backend for the 1fichier (https://1fichier.com) cloud storage
11045       service.  Note that a Premium subscription is required to use the API.
11046
11047       Paths are specified as remote:path
11048
11049       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
11050
11051       The initial setup for 1Fichier involves getting the API  key  from  the
11052       website which you need to do in your browser.
11053
11054       Here is an example of how to make a remote called remote.  First run:
11055
11056               rclone config
11057
11058       This will guide you through an interactive setup process:
11059
11060              No remotes found - make a new one
11061              n) New remote
11062              s) Set configuration password
11063              q) Quit config
11064              n/s/q> n
11065              name> remote
11066              Type of storage to configure.
11067              Enter a string value. Press Enter for the default ("").
11068              Choose a number from below, or type in your own value
11069              [snip]
11070              XX / 1Fichier
11071                 \ "fichier"
11072              [snip]
11073              Storage> fichier
11074              ** See help for fichier backend at: https://rclone.org/fichier/ **
11075
11076              Your API Key, get it from https://1fichier.com/console/params.pl
11077              Enter a string value. Press Enter for the default ("").
11078              api_key> example_key
11079
11080              Edit advanced config? (y/n)
11081              y) Yes
11082              n) No
11083              y/n>
11084              Remote config
11085              --------------------
11086              [remote]
11087              type = fichier
11088              api_key = example_key
11089              --------------------
11090              y) Yes this is OK
11091              e) Edit this remote
11092              d) Delete this remote
11093              y/e/d> y
11094
11095       Once configured you can then use rclone like this,
11096
11097       List directories in top level of your 1Fichier account
11098
11099              rclone lsd remote:
11100
11101       List all the files in your 1Fichier account
11102
11103              rclone ls remote:
11104
11105       To copy a local directory to a 1Fichier directory called backup
11106
11107              rclone copy /home/source remote:backup
11108
11109   Modified time and hashes
11110       1Fichier   does  not  support  modification  times.   It  supports  the
11111       Whirlpool hash algorithm.
11112
11113   Duplicated files
11114       1Fichier can have two files with exactly the same name and path (unlike
11115       a normal file system).
11116
11117       Duplicated  files cause problems with the syncing and you will see mes‐
11118       sages in the log about duplicates.
11119
11120   Restricted filename characters
11121       In   addition   to    the    default    restricted    characters    set
11122       (https://rclone.org/overview/#restricted-characters)    the   following
11123       characters are also replaced:
11124
11125       Character   Value   Replacement
11126       ────────────────────────────────
11127       \           0x5C        \
11128       <           0x3C        <
11129       >           0x3E        >
11130       "           0x22        "
11131       $           0x24        $
11132       `           0x60        `
11133       '           0x27        '
11134
11135       File names can also not start or end  with  the  following  characters.
11136       These  only get replaced if they are the first or last character in the
11137       name:
11138
11139       Character   Value   Replacement
11140       ────────────────────────────────
11141       SP          0x20         ␠
11142
11143       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
11144       view/#invalid-utf8), as they can't be used in JSON strings.
11145
11146   Standard Options
11147       Here are the standard options specific to fichier (1Fichier).
11148
11149   --fichier-api-key
11150       Your API Key, get it from https://1fichier.com/console/params.pl
11151
11152       · Config: api_key
11153
11154       · Env Var: RCLONE_FICHIER_API_KEY
11155
11156       · Type: string
11157
11158       · Default: ""
11159
11160   Advanced Options
11161       Here are the advanced options specific to fichier (1Fichier).
11162
11163   --fichier-shared-folder
11164       If you want to download a shared folder, add this parameter
11165
11166       · Config: shared_folder
11167
11168       · Env Var: RCLONE_FICHIER_SHARED_FOLDER
11169
11170       · Type: string
11171
11172       · Default: ""
11173
11174   --fichier-encoding
11175       This sets the encoding for the backend.
11176
11177       See:  the  encoding  section  in the overview (https://rclone.org/over
11178       view/#encoding) for more info.
11179
11180       · Config: encoding
11181
11182       · Env Var: RCLONE_FICHIER_ENCODING
11183
11184       · Type: MultiEncoder
11185
11186       · Default:    Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,Back‐
11187         Slash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot
11188
11189   Limitations
11190       rclone  about is not supported by the 1Fichier backend.  Backends with‐
11191       out this capability cannot determine free space for an rclone mount  or
11192       use policy mfs (most free space) as a member of an rclone union remote.
11193
11194       See   List   of   backends   that   do   not   support   rclone   about
11195       (https://rclone.org/overview/#optional-features)   See   rclone   about
11196       (https://rclone.org/commands/rclone_about/)
11197
11198   Alias
11199       The alias remote provides a new name for another remote.
11200
11201       Paths may be as deep as required or a local path, e.g.  remote:directo‐
11202       ry/subdirectory or /directory/subdirectory.
11203
11204       During the initial setup with rclone config you will specify the target
11205       remote.   The  target  remote can either be a local path or another re‐
11206       mote.
11207
11208       Subfolders can be used in target remote.  Assume an alias remote  named
11209       backup  with  the target mydrive:private/backup.  Invoking rclone mkdir
11210       backup:desktop is  exactly  the  same  as  invoking  rclone  mkdir  my‐
11211       drive:private/backup/desktop.
11212
11213       There  will  be  no  special handling of paths containing ..  segments.
11214       Invoking rclone mkdir backup:../desktop is exactly the same as invoking
11215       rclone  mkdir mydrive:private/backup/../desktop.  The empty path is not
11216       allowed as a remote.  To alias the current directory use . instead.
11217
11218       Here is an example of how to make an  alias  called  remote  for  local
11219       folder.  First run:
11220
11221               rclone config
11222
11223       This will guide you through an interactive setup process:
11224
11225              No remotes found - make a new one
11226              n) New remote
11227              s) Set configuration password
11228              q) Quit config
11229              n/s/q> n
11230              name> remote
11231              Type of storage to configure.
11232              Choose a number from below, or type in your own value
11233              [snip]
11234              XX / Alias for an existing remote
11235                 \ "alias"
11236              [snip]
11237              Storage> alias
11238              Remote or path to alias.
11239              Can be "myremote:path/to/dir", "myremote:bucket", "myremote:" or "/local/path".
11240              remote> /mnt/storage/backup
11241              Remote config
11242              --------------------
11243              [remote]
11244              remote = /mnt/storage/backup
11245              --------------------
11246              y) Yes this is OK
11247              e) Edit this remote
11248              d) Delete this remote
11249              y/e/d> y
11250              Current remotes:
11251
11252              Name                 Type
11253              ====                 ====
11254              remote               alias
11255
11256              e) Edit existing remote
11257              n) New remote
11258              d) Delete remote
11259              r) Rename remote
11260              c) Copy remote
11261              s) Set configuration password
11262              q) Quit config
11263              e/n/d/r/c/s/q> q
11264
11265       Once configured you can then use rclone like this,
11266
11267       List directories in top level in /mnt/storage/backup
11268
11269              rclone lsd remote:
11270
11271       List all the files in /mnt/storage/backup
11272
11273              rclone ls remote:
11274
11275       Copy another local directory to the alias directory called source
11276
11277              rclone copy /home/source remote:source
11278
11279   Standard Options
11280       Here  are the standard options specific to alias (Alias for an existing
11281       remote).
11282
11283   --alias-remote
11284       Remote  or  path  to  alias.   Can  be  "myremote:path/to/dir",  "myre‐
11285       mote:bucket", "myremote:" or "/local/path".
11286
11287       · Config: remote
11288
11289       · Env Var: RCLONE_ALIAS_REMOTE
11290
11291       · Type: string
11292
11293       · Default: ""
11294
11295   Amazon Drive
11296       Amazon  Drive, formerly known as Amazon Cloud Drive, is a cloud storage
11297       service run by Amazon for consumers.
11298
11299   Status
11300       Important: rclone supports Amazon Drive only if you have your  own  set
11301       of   API  keys.   Unfortunately  the  Amazon  Drive  developer  program
11302       (https://developer.amazon.com/amazon-drive) is now closed  to  new  en‐
11303       tries so if you don't already have your own set of keys you will not be
11304       able to use rclone with Amazon Drive.
11305
11306       For the history on why rclone no longer has a set of Amazon  Drive  API
11307       keys  see the forum (https://forum.rclone.org/t/rclone-has-been-banned-
11308       from-amazon-drive/2314).
11309
11310       If you happen to know anyone who works at Amazon then please  ask  them
11311       to re-instate rclone into the Amazon Drive developer program - thanks!
11312
11313   Setup
11314       The initial setup for Amazon Drive involves getting a token from Amazon
11315       which you need to do in your browser.  rclone config walks you  through
11316       it.
11317
11318       The  configuration  process for Amazon Drive may involve using an oauth
11319       proxy (https://github.com/ncw/oauthproxy).  This is used  to  keep  the
11320       Amazon  credentials out of the source code.  The proxy runs in Google's
11321       very secure App Engine environment and doesn't  store  any  credentials
11322       which pass through it.
11323
11324       Since rclone doesn't currently have its own Amazon Drive credentials so
11325       you will either need to have your own client_id and client_secret  with
11326       Amazon  Drive,  or use a third party oauth proxy in which case you will
11327       need to enter client_id, client_secret, auth_url and token_url.
11328
11329       Note also if you are not using Amazon's auth_url and token_url, (ie you
11330       filled  in  something for those) then if setting up on a remote machine
11331       you can only  use  the  copying  the  config  method  of  configuration
11332       (https://rclone.org/remote_setup/#configuring-by-copying-the-config-
11333       file) - rclone authorize will not work.
11334
11335       Here is an example of how to make a remote called remote.  First run:
11336
11337               rclone config
11338
11339       This will guide you through an interactive setup process:
11340
11341              No remotes found - make a new one
11342              n) New remote
11343              r) Rename remote
11344              c) Copy remote
11345              s) Set configuration password
11346              q) Quit config
11347              n/r/c/s/q> n
11348              name> remote
11349              Type of storage to configure.
11350              Choose a number from below, or type in your own value
11351              [snip]
11352              XX / Amazon Drive
11353                 \ "amazon cloud drive"
11354              [snip]
11355              Storage> amazon cloud drive
11356              Amazon Application Client Id - required.
11357              client_id> your client ID goes here
11358              Amazon Application Client Secret - required.
11359              client_secret> your client secret goes here
11360              Auth server URL - leave blank to use Amazon's.
11361              auth_url> Optional auth URL
11362              Token server url - leave blank to use Amazon's.
11363              token_url> Optional token URL
11364              Remote config
11365              Make sure your Redirect URL is set to "http://127.0.0.1:53682/" in your custom config.
11366              Use auto config?
11367               * Say Y if not sure
11368               * Say N if you are working on a remote or headless machine
11369              y) Yes
11370              n) No
11371              y/n> y
11372              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
11373              Log in and authorize rclone for access
11374              Waiting for code...
11375              Got code
11376              --------------------
11377              [remote]
11378              client_id = your client ID goes here
11379              client_secret = your client secret goes here
11380              auth_url = Optional auth URL
11381              token_url = Optional token URL
11382              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","refresh_token":"xxxxxxxxxxxxxxxxxx","expiry":"2015-09-06T16:07:39.658438471+01:00"}
11383              --------------------
11384              y) Yes this is OK
11385              e) Edit this remote
11386              d) Delete this remote
11387              y/e/d> y
11388
11389       See the remote setup docs (https://rclone.org/remote_setup/) for how to
11390       set it up on a machine with no Internet browser available.
11391
11392       Note  that rclone runs a webserver on your local machine to collect the
11393       token as returned from Amazon.  This only runs from the moment it opens
11394       your browser to the moment you get back the verification code.  This is
11395       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
11396       temporarily if you are running a host firewall.
11397
11398       Once configured you can then use rclone like this,
11399
11400       List directories in top level of your Amazon Drive
11401
11402              rclone lsd remote:
11403
11404       List all the files in your Amazon Drive
11405
11406              rclone ls remote:
11407
11408       To copy a local directory to an Amazon Drive directory called backup
11409
11410              rclone copy /home/source remote:backup
11411
11412   Modified time and MD5SUMs
11413       Amazon Drive doesn't allow modification times to be changed via the API
11414       so these won't be accurate or used for syncing.
11415
11416       It does store MD5SUMs so for a more accurate  sync,  you  can  use  the
11417       --checksum flag.
11418
11419   Restricted filename characters
11420       Character   Value   Replacement
11421       ────────────────────────────────
11422       NUL         0x00         ␀
11423       /           0x2F        /
11424
11425       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
11426       view/#invalid-utf8), as they can't be used in JSON strings.
11427
11428   Deleting files
11429       Any files you delete with rclone will end  up  in  the  trash.   Amazon
11430       don't  provide  an  API  to  permanently delete files, nor to empty the
11431       trash, so you will have to do that with one of Amazon's apps or via the
11432       Amazon Drive website.  As of November 17, 2016, files are automatically
11433       deleted by Amazon from the trash after 30 days.
11434
11435   Using with non .com Amazon accounts
11436       Let's say you usually use amazon.co.uk.   When  you  authenticate  with
11437       rclone  it  will  take  you to an amazon.com page to log in.  Your ama‐
11438       zon.co.uk email and password should work here just fine.
11439
11440   Standard Options
11441       Here are the standard options specific to amazon  cloud  drive  (Amazon
11442       Drive).
11443
11444   --acd-client-id
11445       OAuth Client Id Leave blank normally.
11446
11447       · Config: client_id
11448
11449       · Env Var: RCLONE_ACD_CLIENT_ID
11450
11451       · Type: string
11452
11453       · Default: ""
11454
11455   --acd-client-secret
11456       OAuth Client Secret Leave blank normally.
11457
11458       · Config: client_secret
11459
11460       · Env Var: RCLONE_ACD_CLIENT_SECRET
11461
11462       · Type: string
11463
11464       · Default: ""
11465
11466   Advanced Options
11467       Here  are  the  advanced options specific to amazon cloud drive (Amazon
11468       Drive).
11469
11470   --acd-token
11471       OAuth Access Token as a JSON blob.
11472
11473       · Config: token
11474
11475       · Env Var: RCLONE_ACD_TOKEN
11476
11477       · Type: string
11478
11479       · Default: ""
11480
11481   --acd-auth-url
11482       Auth server URL.  Leave blank to use the provider defaults.
11483
11484       · Config: auth_url
11485
11486       · Env Var: RCLONE_ACD_AUTH_URL
11487
11488       · Type: string
11489
11490       · Default: ""
11491
11492   --acd-token-url
11493       Token server url.  Leave blank to use the provider defaults.
11494
11495       · Config: token_url
11496
11497       · Env Var: RCLONE_ACD_TOKEN_URL
11498
11499       · Type: string
11500
11501       · Default: ""
11502
11503   --acd-checkpoint
11504       Checkpoint for internal polling (debug).
11505
11506       · Config: checkpoint
11507
11508       · Env Var: RCLONE_ACD_CHECKPOINT
11509
11510       · Type: string
11511
11512       · Default: ""
11513
11514   --acd-upload-wait-per-gb
11515       Additional time per GB to wait after a failed complete upload to see if
11516       it appears.
11517
11518       Sometimes  Amazon  Drive  gives an error when a file has been fully up‐
11519       loaded but the file appears anyway after a little while.  This  happens
11520       sometimes  for  files  over 1GB in size and nearly every time for files
11521       bigger than 10GB.  This parameter controls the time  rclone  waits  for
11522       the file to appear.
11523
11524       The default value for this parameter is 3 minutes per GB, so by default
11525       it will wait 3 minutes for every GB uploaded to see  if  the  file  ap‐
11526       pears.
11527
11528       You  can  disable this feature by setting it to 0.  This may cause con‐
11529       flict errors as rclone retries the failed upload but the file will most
11530       likely appear correctly eventually.
11531
11532       These  values  were determined empirically by observing lots of uploads
11533       of big files for a range of file sizes.
11534
11535       Upload with the "-v" flag to see more info about what rclone  is  doing
11536       in this situation.
11537
11538       · Config: upload_wait_per_gb
11539
11540       · Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB
11541
11542       · Type: Duration
11543
11544       · Default: 3m0s
11545
11546   --acd-templink-threshold
11547       Files >= this size will be downloaded via their tempLink.
11548
11549       Files  this size or more will be downloaded via their "tempLink".  This
11550       is to work around a problem with Amazon Drive which blocks downloads of
11551       files  bigger  than  about  10GB.   The  default  for this is 9GB which
11552       shouldn't need to be changed.
11553
11554       To download files above this threshold, rclone  requests  a  "tempLink"
11555       which  downloads the file through a temporary URL directly from the un‐
11556       derlying S3 storage.
11557
11558       · Config: templink_threshold
11559
11560       · Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD
11561
11562       · Type: SizeSuffix
11563
11564       · Default: 9G
11565
11566   --acd-encoding
11567       This sets the encoding for the backend.
11568
11569       See: the encoding section  in  the  overview  (https://rclone.org/over
11570       view/#encoding) for more info.
11571
11572       · Config: encoding
11573
11574       · Env Var: RCLONE_ACD_ENCODING
11575
11576       · Type: MultiEncoder
11577
11578       · Default: Slash,InvalidUtf8,Dot
11579
11580   Limitations
11581       Note  that  Amazon  Drive  is case insensitive so you can't have a file
11582       called "Hello.doc" and one called "hello.doc".
11583
11584       Amazon Drive has rate limiting so you may notice  errors  in  the  sync
11585       (429  errors).   rclone will automatically retry the sync up to 3 times
11586       by default (see --retries flag) which should hopefully work around this
11587       problem.
11588
11589       Amazon  Drive  has an internal limit of file sizes that can be uploaded
11590       to the service.  This limit is not officially published, but all  files
11591       larger than this will fail.
11592
11593       At  the  time  of  writing  (Jan 2016) is in the area of 50GB per file.
11594       This means that larger files are likely to fail.
11595
11596       Unfortunately there is no way for rclone to see that  this  failure  is
11597       because  of  file  size,  so  it will retry the operation, as any other
11598       failure.  To avoid this problem, use --max-size 50000M option to  limit
11599       the  maximum  size  of  uploaded  files.  Note that --max-size does not
11600       split files into segments, it only ignores files over this size.
11601
11602       rclone about is not supported by the Amazon  Drive  backend.   Backends
11603       without this capability cannot determine free space for an rclone mount
11604       or use policy mfs (most free space) as a member of an rclone union  re‐
11605       mote.
11606
11607       See   List   of   backends   that   do   not   support   rclone   about
11608       (https://rclone.org/overview/#optional-features)   See   rclone   about
11609       (https://rclone.org/commands/rclone_about/)
11610
11611   Amazon S3 Storage Providers
11612       The S3 backend can be used with a number of different providers:
11613
11614       · AWS S3
11615
11616       · Alibaba Cloud (Aliyun) Object Storage System (OSS)
11617
11618       · Ceph
11619
11620       · DigitalOcean Spaces
11621
11622       · Dreamhost
11623
11624       · IBM COS S3
11625
11626       · Minio
11627
11628       · Scaleway
11629
11630       · StackPath
11631
11632       · Tencent Cloud Object Storage (COS)
11633
11634       · Wasabi
11635
11636       Paths  are specified as remote:bucket (or remote: for the lsd command.)
11637       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
11638
11639       Once you have made a remote (see the provider specific  section  above)
11640       you can use it like this:
11641
11642       See all buckets
11643
11644              rclone lsd remote:
11645
11646       Make a new bucket
11647
11648              rclone mkdir remote:bucket
11649
11650       List the contents of a bucket
11651
11652              rclone ls remote:bucket
11653
11654       Sync  /home/local/directory  to  the remote bucket, deleting any excess
11655       files in the bucket.
11656
11657              rclone sync -i /home/local/directory remote:bucket
11658
11659   AWS S3
11660       Here is an example of making an s3 configuration.  First run
11661
11662              rclone config
11663
11664       This will guide you through an interactive setup process.
11665
11666              No remotes found - make a new one
11667              n) New remote
11668              s) Set configuration password
11669              q) Quit config
11670              n/s/q> n
11671              name> remote
11672              Type of storage to configure.
11673              Choose a number from below, or type in your own value
11674              [snip]
11675              XX / Amazon S3 Compliant Storage Providers including AWS, Ceph, Dreamhost, IBM COS, Minio, and Tencent COS
11676                 \ "s3"
11677              [snip]
11678              Storage> s3
11679              Choose your S3 provider.
11680              Choose a number from below, or type in your own value
11681               1 / Amazon Web Services (AWS) S3
11682                 \ "AWS"
11683               2 / Ceph Object Storage
11684                 \ "Ceph"
11685               3 / Digital Ocean Spaces
11686                 \ "DigitalOcean"
11687               4 / Dreamhost DreamObjects
11688                 \ "Dreamhost"
11689               5 / IBM COS S3
11690                 \ "IBMCOS"
11691               6 / Minio Object Storage
11692                 \ "Minio"
11693               7 / Wasabi Object Storage
11694                 \ "Wasabi"
11695               8 / Any other S3 compatible provider
11696                 \ "Other"
11697              provider> 1
11698              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
11699              Choose a number from below, or type in your own value
11700               1 / Enter AWS credentials in the next step
11701                 \ "false"
11702               2 / Get AWS credentials from the environment (env vars or IAM)
11703                 \ "true"
11704              env_auth> 1
11705              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
11706              access_key_id> XXX
11707              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
11708              secret_access_key> YYY
11709              Region to connect to.
11710              Choose a number from below, or type in your own value
11711                 / The default endpoint - a good choice if you are unsure.
11712               1 | US Region, Northern Virginia, or Pacific Northwest.
11713                 | Leave location constraint empty.
11714                 \ "us-east-1"
11715                 / US East (Ohio) Region
11716               2 | Needs location constraint us-east-2.
11717                 \ "us-east-2"
11718                 / US West (Oregon) Region
11719               3 | Needs location constraint us-west-2.
11720                 \ "us-west-2"
11721                 / US West (Northern California) Region
11722               4 | Needs location constraint us-west-1.
11723                 \ "us-west-1"
11724                 / Canada (Central) Region
11725               5 | Needs location constraint ca-central-1.
11726                 \ "ca-central-1"
11727                 / EU (Ireland) Region
11728               6 | Needs location constraint EU or eu-west-1.
11729                 \ "eu-west-1"
11730                 / EU (London) Region
11731               7 | Needs location constraint eu-west-2.
11732                 \ "eu-west-2"
11733                 / EU (Frankfurt) Region
11734               8 | Needs location constraint eu-central-1.
11735                 \ "eu-central-1"
11736                 / Asia Pacific (Singapore) Region
11737               9 | Needs location constraint ap-southeast-1.
11738                 \ "ap-southeast-1"
11739                 / Asia Pacific (Sydney) Region
11740              10 | Needs location constraint ap-southeast-2.
11741                 \ "ap-southeast-2"
11742                 / Asia Pacific (Tokyo) Region
11743              11 | Needs location constraint ap-northeast-1.
11744                 \ "ap-northeast-1"
11745                 / Asia Pacific (Seoul)
11746              12 | Needs location constraint ap-northeast-2.
11747                 \ "ap-northeast-2"
11748                 / Asia Pacific (Mumbai)
11749              13 | Needs location constraint ap-south-1.
11750                 \ "ap-south-1"
11751                 / Asia Pacific (Hong Kong) Region
11752              14 | Needs location constraint ap-east-1.
11753                 \ "ap-east-1"
11754                 / South America (Sao Paulo) Region
11755              15 | Needs location constraint sa-east-1.
11756                 \ "sa-east-1"
11757              region> 1
11758              Endpoint for S3 API.
11759              Leave blank if using AWS to use the default endpoint for the region.
11760              endpoint>
11761              Location constraint - must be set to match the Region. Used when creating buckets only.
11762              Choose a number from below, or type in your own value
11763               1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
11764                 \ ""
11765               2 / US East (Ohio) Region.
11766                 \ "us-east-2"
11767               3 / US West (Oregon) Region.
11768                 \ "us-west-2"
11769               4 / US West (Northern California) Region.
11770                 \ "us-west-1"
11771               5 / Canada (Central) Region.
11772                 \ "ca-central-1"
11773               6 / EU (Ireland) Region.
11774                 \ "eu-west-1"
11775               7 / EU (London) Region.
11776                 \ "eu-west-2"
11777               8 / EU Region.
11778                 \ "EU"
11779               9 / Asia Pacific (Singapore) Region.
11780                 \ "ap-southeast-1"
11781              10 / Asia Pacific (Sydney) Region.
11782                 \ "ap-southeast-2"
11783              11 / Asia Pacific (Tokyo) Region.
11784                 \ "ap-northeast-1"
11785              12 / Asia Pacific (Seoul)
11786                 \ "ap-northeast-2"
11787              13 / Asia Pacific (Mumbai)
11788                 \ "ap-south-1"
11789              14 / Asia Pacific (Hong Kong)
11790                 \ "ap-east-1"
11791              15 / South America (Sao Paulo) Region.
11792                 \ "sa-east-1"
11793              location_constraint> 1
11794              Canned ACL used when creating buckets and/or storing objects in S3.
11795              For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
11796              Choose a number from below, or type in your own value
11797               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
11798                 \ "private"
11799               2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
11800                 \ "public-read"
11801                 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
11802               3 | Granting this on a bucket is generally not recommended.
11803                 \ "public-read-write"
11804               4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access.
11805                 \ "authenticated-read"
11806                 / Object owner gets FULL_CONTROL. Bucket owner gets READ access.
11807               5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
11808                 \ "bucket-owner-read"
11809                 / Both the object owner and the bucket owner get FULL_CONTROL over the object.
11810               6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it.
11811                 \ "bucket-owner-full-control"
11812              acl> 1
11813              The server-side encryption algorithm used when storing this object in S3.
11814              Choose a number from below, or type in your own value
11815               1 / None
11816                 \ ""
11817               2 / AES256
11818                 \ "AES256"
11819              server_side_encryption> 1
11820              The storage class to use when storing objects in S3.
11821              Choose a number from below, or type in your own value
11822               1 / Default
11823                 \ ""
11824               2 / Standard storage class
11825                 \ "STANDARD"
11826               3 / Reduced redundancy storage class
11827                 \ "REDUCED_REDUNDANCY"
11828               4 / Standard Infrequent Access storage class
11829                 \ "STANDARD_IA"
11830               5 / One Zone Infrequent Access storage class
11831                 \ "ONEZONE_IA"
11832               6 / Glacier storage class
11833                 \ "GLACIER"
11834               7 / Glacier Deep Archive storage class
11835                 \ "DEEP_ARCHIVE"
11836               8 / Intelligent-Tiering storage class
11837                 \ "INTELLIGENT_TIERING"
11838              storage_class> 1
11839              Remote config
11840              --------------------
11841              [remote]
11842              type = s3
11843              provider = AWS
11844              env_auth = false
11845              access_key_id = XXX
11846              secret_access_key = YYY
11847              region = us-east-1
11848              endpoint =
11849              location_constraint =
11850              acl = private
11851              server_side_encryption =
11852              storage_class =
11853              --------------------
11854              y) Yes this is OK
11855              e) Edit this remote
11856              d) Delete this remote
11857              y/e/d>
11858
11859   Modified time
11860       The  modified  time  is  stored  as   metadata   on   the   object   as
11861       X-Amz-Meta-Mtime as floating point since the epoch accurate to 1 ns.
11862
11863       If  the  modification  time  needs to be updated rclone will attempt to
11864       perform a server side copy to update the modification if the object can
11865       be  copied in a single part.  In the case the object is larger than 5Gb
11866       or is in Glacier or Glacier Deep Archive storage the object will be up‐
11867       loaded rather than copied.
11868
11869       Note that reading this from the object takes an additional HEAD request
11870       as the metadata isn't returned in object listings.
11871
11872   Reducing costs
11873   Avoiding HEAD requests to read the modification time
11874       By default rclone will use the modification time of objects  stored  in
11875       S3  for syncing.  This is stored in object metadata which unfortunately
11876       takes an extra HEAD request to read which can be expensive (in time and
11877       money).
11878
11879       The  modification  time  is used by default for all operations that re‐
11880       quire checking the time a file was last updated.  It allows  rclone  to
11881       treat  the remote more like a true filesystem, but it is inefficient on
11882       S3 because it requires an extra API call to retrieve the metadata.
11883
11884       The extra API calls can be avoided when syncing (using rclone  sync  or
11885       rclone copy) in a few different ways, each with its own tradeoffs.
11886
11887       · --size-only
11888
11889         · Only checks the size of files.
11890
11891         · Uses no extra transactions.
11892
11893         · If  the  file  doesn't  change size then rclone won't detect it has
11894           changed.
11895
11896         · rclone sync --size-only /path/to/source s3:bucket
11897
11898       · --checksum
11899
11900         · Checks the size and MD5 checksum of files.
11901
11902         · Uses no extra transactions.
11903
11904         · The most accurate detection of changes possible.
11905
11906         · Will cause the source to read an MD5 checksum which, if it is a lo‐
11907           cal disk, will cause lots of disk activity.
11908
11909         · If  the  source and destination are both S3 this is the recommended
11910           flag to use for maximum efficiency.
11911
11912         · rclone sync --checksum /path/to/source s3:bucket
11913
11914       · --update --use-server-modtime
11915
11916         · Uses no extra transactions.
11917
11918         · Modification time becomes the time the object was uploaded.
11919
11920         · For many operations this is sufficient to determine if it needs up‐
11921           loading.
11922
11923         · Using  --update  along  with --use-server-modtime, avoids the extra
11924           API call and uploads files whose local modification time  is  newer
11925           than the time it was last uploaded.
11926
11927         · Files  created  with  timestamps  in the past will be missed by the
11928           sync.
11929
11930         · rclone sync --update --use-server-modtime /path/to/source s3:bucket
11931
11932       These flags can and should be used in combination  with  --fast-list  -
11933       see below.
11934
11935       If  using  rclone  mount or any command using the VFS (eg rclone serve)
11936       commands then you might want to consider using the VFS  flag  --no-mod‐
11937       time which will stop rclone reading the modification time for every ob‐
11938       ject.  You could also use --use-server-modtime if you  are  happy  with
11939       the modification times of the objects being the time of upload.
11940
11941   Avoiding GET requests to read directory listings
11942       Rclone's default directory traversal is to process each directory indi‐
11943       vidually.   This  takes  one  API  call  per  directory.    Using   the
11944       --fast-list  flag  will read all info about the the objects into memory
11945       first using a smaller number of API calls (one per 1000 objects).   See
11946       the rclone docs (https://rclone.org/docs/#fast-list) for more details.
11947
11948              rclone sync --fast-list --checksum /path/to/source s3:bucket
11949
11950       --fast-list  trades  off  API  transactions for memory use.  As a rough
11951       guide rclone uses 1k of memory per object stored, so using  --fast-list
11952       on a sync of a million objects will use roughly 1 GB of RAM.
11953
11954       If  you  are only copying a small number of files into a big repository
11955       then using --no-traverse is a good idea.  This finds  objects  directly
11956       instead of through directory listings.  You can do a "top-up" sync very
11957       cheaply by using --max-age and --no-traverse to copy only recent files,
11958       eg
11959
11960              rclone copy --min-age 24h --no-traverse /path/to/source s3:bucket
11961
11962       You'd then do a full rclone sync less often.
11963
11964       Note that --fast-list isn't required in the top-up sync.
11965
11966   Hashes
11967       For  small objects which weren't uploaded as multipart uploads (objects
11968       sized below --s3-upload-cutoff if uploaded with rclone) rclone uses the
11969       ETag: header as an MD5 checksum.
11970
11971       However  for  objects  which were uploaded as multipart uploads or with
11972       server side encryption (SSE-AWS or SSE-C) the ETag header is no  longer
11973       the MD5 sum of the data, so rclone adds an additional piece of metadata
11974       X-Amz-Meta-Md5chksum which is a base64 encoded MD5 hash  (in  the  same
11975       format as is required for Content-MD5).
11976
11977       For  large objects, calculating this hash can take some time so the ad‐
11978       dition of this hash can be disabled with  --s3-disable-checksum.   This
11979       will mean that these objects do not have an MD5 checksum.
11980
11981       Note that reading this from the object takes an additional HEAD request
11982       as the metadata isn't returned in object listings.
11983
11984   Cleanup
11985       If you run rclone cleanup s3:bucket then it  will  remove  all  pending
11986       multipart  uploads older than 24 hours.  You can use the -i flag to see
11987       exactly what it will do.  If you want more control over the expiry date
11988       then  run  rclone backend cleanup s3:bucket -o max-age=1h to expire all
11989       uploads older than one hour.  You can use  rclone  backend  list-multi‐
11990       part-uploads s3:bucket to see the pending multipart uploads.
11991
11992   Restricted filename characters
11993       S3 allows any valid UTF-8 string as a key.
11994
11995       Invalid  UTF-8 bytes will be replaced (https://rclone.org/overview/#in‐
11996       valid-utf8), as they can't be used in XML.
11997
11998       The following characters are replaced since these are problematic  when
11999       dealing with the REST API:
12000
12001       Character   Value   Replacement
12002       ────────────────────────────────
12003       NUL         0x00         ␀
12004       /           0x2F        /
12005
12006       The  encoding  will  also encode these file names as they don't seem to
12007       work with the SDK properly:
12008
12009       File name   Replacement
12010       ────────────────────────
12011       .               .
12012       ..             ..
12013
12014   Multipart uploads
12015       rclone supports multipart uploads with S3 which means that it  can  up‐
12016       load files bigger than 5GB.
12017
12018       Note  that  files uploaded both with multipart upload and through crypt
12019       remotes do not have MD5 sums.
12020
12021       rclone switches from single part uploads to multipart  uploads  at  the
12022       point  specified  by  --s3-upload-cutoff.  This can be a maximum of 5GB
12023       and a minimum of 0 (ie always upload multipart files).
12024
12025       The  chunk  sizes  used  in  the  multipart  upload  are  specified  by
12026       --s3-chunk-size and the number of chunks uploaded concurrently is spec‐
12027       ified by --s3-upload-concurrency.
12028
12029       Multipart uploads will  use  --transfers  *  --s3-upload-concurrency  *
12030       --s3-chunk-size  extra  memory.   Single  part uploads to not use extra
12031       memory.
12032
12033       Single part transfers can be faster than multipart transfers or  slower
12034       depending  on  your latency from S3 - the more latency, the more likely
12035       single part transfers will be faster.
12036
12037       Increasing --s3-upload-concurrency will increase throughput (8 would be
12038       a   sensible  value)  and  increasing  --s3-chunk-size  also  increases
12039       throughput (16M would be sensible).  Increasing either  of  these  will
12040       use  more  memory.   The default values are high enough to gain most of
12041       the possible performance without using too much memory.
12042
12043   Buckets and Regions
12044       With Amazon S3 you can list buckets (rclone lsd) using any region,  but
12045       you can only access the content of a bucket from the region it was cre‐
12046       ated in.  If you attempt to access a bucket from the wrong region,  you
12047       will get an error, incorrect region, the bucket is not in 'XXX' region.
12048
12049   Authentication
12050       There  are  a number of ways to supply rclone with a set of AWS creden‐
12051       tials, with and without using the environment.
12052
12053       The different authentication methods are tried in this order:
12054
12055       · Directly in the rclone configuration file (env_auth =  false  in  the
12056         config file):
12057
12058         · access_key_id and secret_access_key are required.
12059
12060         · session_token can be optionally set when using AWS STS.
12061
12062       · Runtime configuration (env_auth = true in the config file):
12063
12064         · Export the following environment variables before running rclone:
12065
12066           · Access Key ID: AWS_ACCESS_KEY_ID or AWS_ACCESS_KEY
12067
12068           · Secret Access Key: AWS_SECRET_ACCESS_KEY or AWS_SECRET_KEY
12069
12070           · Session Token: AWS_SESSION_TOKEN (optional)
12071
12072         · Or,   use  a  named  profile  (https://docs.aws.amazon.com/cli/lat
12073           est/userguide/cli-multiple-profiles.html):
12074
12075           · Profile files are standard files used by AWS CLI tools
12076
12077           · By default it will use the profile in your home  directory  (e.g.
12078             ~/.aws/credentials  on unix based systems) file and the "default"
12079             profile, to change set these environment variables:
12080
12081             · AWS_SHARED_CREDENTIALS_FILE to control which file.
12082
12083             · AWS_PROFILE to control which profile to use.
12084
12085         · Or, run rclone in an ECS task with an IAM role (AWS only).
12086
12087         · Or, run rclone on an EC2 instance with an IAM role (AWS only).
12088
12089         · Or, run rclone in an EKS pod with an IAM role  that  is  associated
12090           with a service account (AWS only).
12091
12092       If  none of these option actually end up providing rclone with AWS cre‐
12093       dentials then S3 interaction will be non-authenticated (see below).
12094
12095   S3 Permissions
12096       When using the sync subcommand of rclone the following minimum  permis‐
12097       sions are required to be available on the bucket being written to:
12098
12099       · ListBucket
12100
12101       · DeleteObject
12102
12103       · GetObject
12104
12105       · PutObject
12106
12107       · PutObjectACL
12108
12109       When  using  the lsd subcommand, the ListAllMyBuckets permission is re‐
12110       quired.
12111
12112       Example policy:
12113
12114              {
12115                  "Version": "2012-10-17",
12116                  "Statement": [
12117                      {
12118                          "Effect": "Allow",
12119                          "Principal": {
12120                              "AWS": "arn:aws:iam::USER_SID:user/USER_NAME"
12121                          },
12122                          "Action": [
12123                              "s3:ListBucket",
12124                              "s3:DeleteObject",
12125                              "s3:GetObject",
12126                              "s3:PutObject",
12127                              "s3:PutObjectAcl"
12128                          ],
12129                          "Resource": [
12130                            "arn:aws:s3:::BUCKET_NAME/*",
12131                            "arn:aws:s3:::BUCKET_NAME"
12132                          ]
12133                      },
12134                      {
12135                          "Effect": "Allow",
12136                          "Action": "s3:ListAllMyBuckets",
12137                          "Resource": "arn:aws:s3:::*"
12138                      }
12139                  ]
12140              }
12141
12142       Notes on above:
12143
12144       1. This is a policy that can be used when creating bucket.  It  assumes
12145          that USER_NAME has been created.
12146
12147       2. The  Resource  entry must include both resource ARNs, as one implies
12148          the bucket and the other implies the bucket's objects.
12149
12150       For       reference,       here's       an        Ansible        script
12151       (https://gist.github.com/ebridges/ebfc9042dd7c756cd101cfa807b7ae2b)
12152       that will generate one or more buckets that will work with rclone sync.
12153
12154   Key Management System (KMS)
12155       If you are using server-side encryption with KMS  then  you  must  make
12156       sure  rclone is configured with server_side_encryption = aws:kms other‐
12157       wise you will find you can't transfer small objects - these will create
12158       checksum errors.
12159
12160   Glacier and Glacier Deep Archive
12161       You  can  upload  objects using the glacier storage class or transition
12162       them  to  glacier  using  a  lifecycle   policy   (http://docs.aws.ama
12163       zon.com/AmazonS3/latest/user-guide/create-lifecycle.html).   The bucket
12164       can still be synced or copied into normally, but if rclone tries to ac‐
12165       cess data from the glacier storage class you will see an error like be‐
12166       low.
12167
12168              2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file
12169
12170       In this  case  you  need  to  restore  (http://docs.aws.amazon.com/Ama
12171       zonS3/latest/user-guide/restore-archived-objects.html) the object(s) in
12172       question before using rclone.
12173
12174       Note that rclone only speaks the S3 API it does not speak  the  Glacier
12175       Vault API, so rclone cannot directly access Glacier Vaults.
12176
12177   Standard Options
12178       Here are the standard options specific to s3 (Amazon S3 Compliant Stor‐
12179       age Providers including AWS, Alibaba, Ceph, Digital  Ocean,  Dreamhost,
12180       IBM COS, Minio, and Tencent COS).
12181
12182   --s3-provider
12183       Choose your S3 provider.
12184
12185       · Config: provider
12186
12187       · Env Var: RCLONE_S3_PROVIDER
12188
12189       · Type: string
12190
12191       · Default: ""
12192
12193       · Examples:
12194
12195         · "AWS"
12196
12197           · Amazon Web Services (AWS) S3
12198
12199         · "Alibaba"
12200
12201           · Alibaba Cloud Object Storage System (OSS) formerly Aliyun
12202
12203         · "Ceph"
12204
12205           · Ceph Object Storage
12206
12207         · "DigitalOcean"
12208
12209           · Digital Ocean Spaces
12210
12211         · "Dreamhost"
12212
12213           · Dreamhost DreamObjects
12214
12215         · "IBMCOS"
12216
12217           · IBM COS S3
12218
12219         · "Minio"
12220
12221           · Minio Object Storage
12222
12223         · "Netease"
12224
12225           · Netease Object Storage (NOS)
12226
12227         · "Scaleway"
12228
12229           · Scaleway Object Storage
12230
12231         · "StackPath"
12232
12233           · StackPath Object Storage
12234
12235         · "TencentCOS"
12236
12237           · Tencent Cloud Object Storage (COS)
12238
12239         · "Wasabi"
12240
12241           · Wasabi Object Storage
12242
12243         · "Other"
12244
12245           · Any other S3 compatible provider
12246
12247   --s3-env-auth
12248       Get AWS credentials from runtime (environment variables or EC2/ECS meta
12249       data if no env vars).  Only applies  if  access_key_id  and  secret_ac‐
12250       cess_key is blank.
12251
12252       · Config: env_auth
12253
12254       · Env Var: RCLONE_S3_ENV_AUTH
12255
12256       · Type: bool
12257
12258       · Default: false
12259
12260       · Examples:
12261
12262         · "false"
12263
12264           · Enter AWS credentials in the next step
12265
12266         · "true"
12267
12268           · Get AWS credentials from the environment (env vars or IAM)
12269
12270   --s3-access-key-id
12271       AWS Access Key ID.  Leave blank for anonymous access or runtime creden‐
12272       tials.
12273
12274       · Config: access_key_id
12275
12276       · Env Var: RCLONE_S3_ACCESS_KEY_ID
12277
12278       · Type: string
12279
12280       · Default: ""
12281
12282   --s3-secret-access-key
12283       AWS Secret Access Key (password) Leave blank for  anonymous  access  or
12284       runtime credentials.
12285
12286       · Config: secret_access_key
12287
12288       · Env Var: RCLONE_S3_SECRET_ACCESS_KEY
12289
12290       · Type: string
12291
12292       · Default: ""
12293
12294   --s3-region
12295       Region to connect to.
12296
12297       · Config: region
12298
12299       · Env Var: RCLONE_S3_REGION
12300
12301       · Type: string
12302
12303       · Default: ""
12304
12305       · Examples:
12306
12307         · "us-east-1"
12308
12309           · The default endpoint - a good choice if you are unsure.
12310
12311           · US Region, Northern Virginia, or Pacific Northwest.
12312
12313           · Leave location constraint empty.
12314
12315         · "us-east-2"
12316
12317           · US East (Ohio) Region
12318
12319           · Needs location constraint us-east-2.
12320
12321         · "us-west-1"
12322
12323           · US West (Northern California) Region
12324
12325           · Needs location constraint us-west-1.
12326
12327         · "us-west-2"
12328
12329           · US West (Oregon) Region
12330
12331           · Needs location constraint us-west-2.
12332
12333         · "ca-central-1"
12334
12335           · Canada (Central) Region
12336
12337           · Needs location constraint ca-central-1.
12338
12339         · "eu-west-1"
12340
12341           · EU (Ireland) Region
12342
12343           · Needs location constraint EU or eu-west-1.
12344
12345         · "eu-west-2"
12346
12347           · EU (London) Region
12348
12349           · Needs location constraint eu-west-2.
12350
12351         · "eu-west-3"
12352
12353           · EU (Paris) Region
12354
12355           · Needs location constraint eu-west-3.
12356
12357         · "eu-north-1"
12358
12359           · EU (Stockholm) Region
12360
12361           · Needs location constraint eu-north-1.
12362
12363         · "eu-south-1"
12364
12365           · EU (Milan) Region
12366
12367           · Needs location constraint eu-south-1.
12368
12369         · "eu-central-1"
12370
12371           · EU (Frankfurt) Region
12372
12373           · Needs location constraint eu-central-1.
12374
12375         · "ap-southeast-1"
12376
12377           · Asia Pacific (Singapore) Region
12378
12379           · Needs location constraint ap-southeast-1.
12380
12381         · "ap-southeast-2"
12382
12383           · Asia Pacific (Sydney) Region
12384
12385           · Needs location constraint ap-southeast-2.
12386
12387         · "ap-northeast-1"
12388
12389           · Asia Pacific (Tokyo) Region
12390
12391           · Needs location constraint ap-northeast-1.
12392
12393         · "ap-northeast-2"
12394
12395           · Asia Pacific (Seoul)
12396
12397           · Needs location constraint ap-northeast-2.
12398
12399         · "ap-northeast-3"
12400
12401           · Asia Pacific (Osaka-Local)
12402
12403           · Needs location constraint ap-northeast-3.
12404
12405         · "ap-south-1"
12406
12407           · Asia Pacific (Mumbai)
12408
12409           · Needs location constraint ap-south-1.
12410
12411         · "ap-east-1"
12412
12413           · Asia Pacific (Hong Kong) Region
12414
12415           · Needs location constraint ap-east-1.
12416
12417         · "sa-east-1"
12418
12419           · South America (Sao Paulo) Region
12420
12421           · Needs location constraint sa-east-1.
12422
12423         · "me-south-1"
12424
12425           · Middle East (Bahrain) Region
12426
12427           · Needs location constraint me-south-1.
12428
12429         · "af-south-1"
12430
12431           · Africa (Cape Town) Region
12432
12433           · Needs location constraint af-south-1.
12434
12435         · "cn-north-1"
12436
12437           · China (Beijing) Region
12438
12439           · Needs location constraint cn-north-1.
12440
12441         · "cn-northwest-1"
12442
12443           · China (Ningxia) Region
12444
12445           · Needs location constraint cn-northwest-1.
12446
12447         · "us-gov-east-1"
12448
12449           · AWS GovCloud (US-East) Region
12450
12451           · Needs location constraint us-gov-east-1.
12452
12453         · "us-gov-west-1"
12454
12455           · AWS GovCloud (US) Region
12456
12457           · Needs location constraint us-gov-west-1.
12458
12459   --s3-region
12460       Region to connect to.
12461
12462       · Config: region
12463
12464       · Env Var: RCLONE_S3_REGION
12465
12466       · Type: string
12467
12468       · Default: ""
12469
12470       · Examples:
12471
12472         · "nl-ams"
12473
12474           · Amsterdam, The Netherlands
12475
12476         · "fr-par"
12477
12478           · Paris, France
12479
12480   --s3-region
12481       Region to connect to.  Leave blank if you are using an S3 clone and you
12482       don't have a region.
12483
12484       · Config: region
12485
12486       · Env Var: RCLONE_S3_REGION
12487
12488       · Type: string
12489
12490       · Default: ""
12491
12492       · Examples:
12493
12494         · ""
12495
12496           · Use this if unsure.  Will use v4 signatures and an empty region.
12497
12498         · "other-v2-signature"
12499
12500           · Use this only if v4 signatures don't work,  e.g.   pre  Jewel/v10
12501             CEPH.
12502
12503   --s3-endpoint
12504       Endpoint  for S3 API.  Leave blank if using AWS to use the default end‐
12505       point for the region.
12506
12507       · Config: endpoint
12508
12509       · Env Var: RCLONE_S3_ENDPOINT
12510
12511       · Type: string
12512
12513       · Default: ""
12514
12515   --s3-endpoint
12516       Endpoint for IBM COS S3 API.  Specify if using an IBM COS On Premise.
12517
12518       · Config: endpoint
12519
12520       · Env Var: RCLONE_S3_ENDPOINT
12521
12522       · Type: string
12523
12524       · Default: ""
12525
12526       · Examples:
12527
12528         · "s3.us.cloud-object-storage.appdomain.cloud"
12529
12530           · US Cross Region Endpoint
12531
12532         · "s3.dal.us.cloud-object-storage.appdomain.cloud"
12533
12534           · US Cross Region Dallas Endpoint
12535
12536         · "s3.wdc.us.cloud-object-storage.appdomain.cloud"
12537
12538           · US Cross Region Washington DC Endpoint
12539
12540         · "s3.sjc.us.cloud-object-storage.appdomain.cloud"
12541
12542           · US Cross Region San Jose Endpoint
12543
12544         · "s3.private.us.cloud-object-storage.appdomain.cloud"
12545
12546           · US Cross Region Private Endpoint
12547
12548         · "s3.private.dal.us.cloud-object-storage.appdomain.cloud"
12549
12550           · US Cross Region Dallas Private Endpoint
12551
12552         · "s3.private.wdc.us.cloud-object-storage.appdomain.cloud"
12553
12554           · US Cross Region Washington DC Private Endpoint
12555
12556         · "s3.private.sjc.us.cloud-object-storage.appdomain.cloud"
12557
12558           · US Cross Region San Jose Private Endpoint
12559
12560         · "s3.us-east.cloud-object-storage.appdomain.cloud"
12561
12562           · US Region East Endpoint
12563
12564         · "s3.private.us-east.cloud-object-storage.appdomain.cloud"
12565
12566           · US Region East Private Endpoint
12567
12568         · "s3.us-south.cloud-object-storage.appdomain.cloud"
12569
12570           · US Region South Endpoint
12571
12572         · "s3.private.us-south.cloud-object-storage.appdomain.cloud"
12573
12574           · US Region South Private Endpoint
12575
12576         · "s3.eu.cloud-object-storage.appdomain.cloud"
12577
12578           · EU Cross Region Endpoint
12579
12580         · "s3.fra.eu.cloud-object-storage.appdomain.cloud"
12581
12582           · EU Cross Region Frankfurt Endpoint
12583
12584         · "s3.mil.eu.cloud-object-storage.appdomain.cloud"
12585
12586           · EU Cross Region Milan Endpoint
12587
12588         · "s3.ams.eu.cloud-object-storage.appdomain.cloud"
12589
12590           · EU Cross Region Amsterdam Endpoint
12591
12592         · "s3.private.eu.cloud-object-storage.appdomain.cloud"
12593
12594           · EU Cross Region Private Endpoint
12595
12596         · "s3.private.fra.eu.cloud-object-storage.appdomain.cloud"
12597
12598           · EU Cross Region Frankfurt Private Endpoint
12599
12600         · "s3.private.mil.eu.cloud-object-storage.appdomain.cloud"
12601
12602           · EU Cross Region Milan Private Endpoint
12603
12604         · "s3.private.ams.eu.cloud-object-storage.appdomain.cloud"
12605
12606           · EU Cross Region Amsterdam Private Endpoint
12607
12608         · "s3.eu-gb.cloud-object-storage.appdomain.cloud"
12609
12610           · Great Britain Endpoint
12611
12612         · "s3.private.eu-gb.cloud-object-storage.appdomain.cloud"
12613
12614           · Great Britain Private Endpoint
12615
12616         · "s3.eu-de.cloud-object-storage.appdomain.cloud"
12617
12618           · EU Region DE Endpoint
12619
12620         · "s3.private.eu-de.cloud-object-storage.appdomain.cloud"
12621
12622           · EU Region DE Private Endpoint
12623
12624         · "s3.ap.cloud-object-storage.appdomain.cloud"
12625
12626           · APAC Cross Regional Endpoint
12627
12628         · "s3.tok.ap.cloud-object-storage.appdomain.cloud"
12629
12630           · APAC Cross Regional Tokyo Endpoint
12631
12632         · "s3.hkg.ap.cloud-object-storage.appdomain.cloud"
12633
12634           · APAC Cross Regional HongKong Endpoint
12635
12636         · "s3.seo.ap.cloud-object-storage.appdomain.cloud"
12637
12638           · APAC Cross Regional Seoul Endpoint
12639
12640         · "s3.private.ap.cloud-object-storage.appdomain.cloud"
12641
12642           · APAC Cross Regional Private Endpoint
12643
12644         · "s3.private.tok.ap.cloud-object-storage.appdomain.cloud"
12645
12646           · APAC Cross Regional Tokyo Private Endpoint
12647
12648         · "s3.private.hkg.ap.cloud-object-storage.appdomain.cloud"
12649
12650           · APAC Cross Regional HongKong Private Endpoint
12651
12652         · "s3.private.seo.ap.cloud-object-storage.appdomain.cloud"
12653
12654           · APAC Cross Regional Seoul Private Endpoint
12655
12656         · "s3.jp-tok.cloud-object-storage.appdomain.cloud"
12657
12658           · APAC Region Japan Endpoint
12659
12660         · "s3.private.jp-tok.cloud-object-storage.appdomain.cloud"
12661
12662           · APAC Region Japan Private Endpoint
12663
12664         · "s3.au-syd.cloud-object-storage.appdomain.cloud"
12665
12666           · APAC Region Australia Endpoint
12667
12668         · "s3.private.au-syd.cloud-object-storage.appdomain.cloud"
12669
12670           · APAC Region Australia Private Endpoint
12671
12672         · "s3.ams03.cloud-object-storage.appdomain.cloud"
12673
12674           · Amsterdam Single Site Endpoint
12675
12676         · "s3.private.ams03.cloud-object-storage.appdomain.cloud"
12677
12678           · Amsterdam Single Site Private Endpoint
12679
12680         · "s3.che01.cloud-object-storage.appdomain.cloud"
12681
12682           · Chennai Single Site Endpoint
12683
12684         · "s3.private.che01.cloud-object-storage.appdomain.cloud"
12685
12686           · Chennai Single Site Private Endpoint
12687
12688         · "s3.mel01.cloud-object-storage.appdomain.cloud"
12689
12690           · Melbourne Single Site Endpoint
12691
12692         · "s3.private.mel01.cloud-object-storage.appdomain.cloud"
12693
12694           · Melbourne Single Site Private Endpoint
12695
12696         · "s3.osl01.cloud-object-storage.appdomain.cloud"
12697
12698           · Oslo Single Site Endpoint
12699
12700         · "s3.private.osl01.cloud-object-storage.appdomain.cloud"
12701
12702           · Oslo Single Site Private Endpoint
12703
12704         · "s3.tor01.cloud-object-storage.appdomain.cloud"
12705
12706           · Toronto Single Site Endpoint
12707
12708         · "s3.private.tor01.cloud-object-storage.appdomain.cloud"
12709
12710           · Toronto Single Site Private Endpoint
12711
12712         · "s3.seo01.cloud-object-storage.appdomain.cloud"
12713
12714           · Seoul Single Site Endpoint
12715
12716         · "s3.private.seo01.cloud-object-storage.appdomain.cloud"
12717
12718           · Seoul Single Site Private Endpoint
12719
12720         · "s3.mon01.cloud-object-storage.appdomain.cloud"
12721
12722           · Montreal Single Site Endpoint
12723
12724         · "s3.private.mon01.cloud-object-storage.appdomain.cloud"
12725
12726           · Montreal Single Site Private Endpoint
12727
12728         · "s3.mex01.cloud-object-storage.appdomain.cloud"
12729
12730           · Mexico Single Site Endpoint
12731
12732         · "s3.private.mex01.cloud-object-storage.appdomain.cloud"
12733
12734           · Mexico Single Site Private Endpoint
12735
12736         · "s3.sjc04.cloud-object-storage.appdomain.cloud"
12737
12738           · San Jose Single Site Endpoint
12739
12740         · "s3.private.sjc04.cloud-object-storage.appdomain.cloud"
12741
12742           · San Jose Single Site Private Endpoint
12743
12744         · "s3.mil01.cloud-object-storage.appdomain.cloud"
12745
12746           · Milan Single Site Endpoint
12747
12748         · "s3.private.mil01.cloud-object-storage.appdomain.cloud"
12749
12750           · Milan Single Site Private Endpoint
12751
12752         · "s3.hkg02.cloud-object-storage.appdomain.cloud"
12753
12754           · Hong Kong Single Site Endpoint
12755
12756         · "s3.private.hkg02.cloud-object-storage.appdomain.cloud"
12757
12758           · Hong Kong Single Site Private Endpoint
12759
12760         · "s3.par01.cloud-object-storage.appdomain.cloud"
12761
12762           · Paris Single Site Endpoint
12763
12764         · "s3.private.par01.cloud-object-storage.appdomain.cloud"
12765
12766           · Paris Single Site Private Endpoint
12767
12768         · "s3.sng01.cloud-object-storage.appdomain.cloud"
12769
12770           · Singapore Single Site Endpoint
12771
12772         · "s3.private.sng01.cloud-object-storage.appdomain.cloud"
12773
12774           · Singapore Single Site Private Endpoint
12775
12776   --s3-endpoint
12777       Endpoint for OSS API.
12778
12779       · Config: endpoint
12780
12781       · Env Var: RCLONE_S3_ENDPOINT
12782
12783       · Type: string
12784
12785       · Default: ""
12786
12787       · Examples:
12788
12789         · "oss-cn-hangzhou.aliyuncs.com"
12790
12791           · East China 1 (Hangzhou)
12792
12793         · "oss-cn-shanghai.aliyuncs.com"
12794
12795           · East China 2 (Shanghai)
12796
12797         · "oss-cn-qingdao.aliyuncs.com"
12798
12799           · North China 1 (Qingdao)
12800
12801         · "oss-cn-beijing.aliyuncs.com"
12802
12803           · North China 2 (Beijing)
12804
12805         · "oss-cn-zhangjiakou.aliyuncs.com"
12806
12807           · North China 3 (Zhangjiakou)
12808
12809         · "oss-cn-huhehaote.aliyuncs.com"
12810
12811           · North China 5 (Huhehaote)
12812
12813         · "oss-cn-shenzhen.aliyuncs.com"
12814
12815           · South China 1 (Shenzhen)
12816
12817         · "oss-cn-hongkong.aliyuncs.com"
12818
12819           · Hong Kong (Hong Kong)
12820
12821         · "oss-us-west-1.aliyuncs.com"
12822
12823           · US West 1 (Silicon Valley)
12824
12825         · "oss-us-east-1.aliyuncs.com"
12826
12827           · US East 1 (Virginia)
12828
12829         · "oss-ap-southeast-1.aliyuncs.com"
12830
12831           · Southeast Asia Southeast 1 (Singapore)
12832
12833         · "oss-ap-southeast-2.aliyuncs.com"
12834
12835           · Asia Pacific Southeast 2 (Sydney)
12836
12837         · "oss-ap-southeast-3.aliyuncs.com"
12838
12839           · Southeast Asia Southeast 3 (Kuala Lumpur)
12840
12841         · "oss-ap-southeast-5.aliyuncs.com"
12842
12843           · Asia Pacific Southeast 5 (Jakarta)
12844
12845         · "oss-ap-northeast-1.aliyuncs.com"
12846
12847           · Asia Pacific Northeast 1 (Japan)
12848
12849         · "oss-ap-south-1.aliyuncs.com"
12850
12851           · Asia Pacific South 1 (Mumbai)
12852
12853         · "oss-eu-central-1.aliyuncs.com"
12854
12855           · Central Europe 1 (Frankfurt)
12856
12857         · "oss-eu-west-1.aliyuncs.com"
12858
12859           · West Europe (London)
12860
12861         · "oss-me-east-1.aliyuncs.com"
12862
12863           · Middle East 1 (Dubai)
12864
12865   --s3-endpoint
12866       Endpoint for Scaleway Object Storage.
12867
12868       · Config: endpoint
12869
12870       · Env Var: RCLONE_S3_ENDPOINT
12871
12872       · Type: string
12873
12874       · Default: ""
12875
12876       · Examples:
12877
12878         · "s3.nl-ams.scw.cloud"
12879
12880           · Amsterdam Endpoint
12881
12882         · "s3.fr-par.scw.cloud"
12883
12884           · Paris Endpoint
12885
12886   --s3-endpoint
12887       Endpoint for StackPath Object Storage.
12888
12889       · Config: endpoint
12890
12891       · Env Var: RCLONE_S3_ENDPOINT
12892
12893       · Type: string
12894
12895       · Default: ""
12896
12897       · Examples:
12898
12899         · "s3.us-east-2.stackpathstorage.com"
12900
12901           · US East Endpoint
12902
12903         · "s3.us-west-1.stackpathstorage.com"
12904
12905           · US West Endpoint
12906
12907         · "s3.eu-central-1.stackpathstorage.com"
12908
12909           · EU Endpoint
12910
12911   --s3-endpoint
12912       Endpoint for Tencent COS API.
12913
12914       · Config: endpoint
12915
12916       · Env Var: RCLONE_S3_ENDPOINT
12917
12918       · Type: string
12919
12920       · Default: ""
12921
12922       · Examples:
12923
12924         · "cos.ap-beijing.myqcloud.com"
12925
12926           · Beijing Region.
12927
12928         · "cos.ap-nanjing.myqcloud.com"
12929
12930           · Nanjing Region.
12931
12932         · "cos.ap-shanghai.myqcloud.com"
12933
12934           · Shanghai Region.
12935
12936         · "cos.ap-guangzhou.myqcloud.com"
12937
12938           · Guangzhou Region.
12939
12940         · "cos.ap-nanjing.myqcloud.com"
12941
12942           · Nanjing Region.
12943
12944         · "cos.ap-chengdu.myqcloud.com"
12945
12946           · Chengdu Region.
12947
12948         · "cos.ap-chongqing.myqcloud.com"
12949
12950           · Chongqing Region.
12951
12952         · "cos.ap-hongkong.myqcloud.com"
12953
12954           · Hong Kong (China) Region.
12955
12956         · "cos.ap-singapore.myqcloud.com"
12957
12958           · Singapore Region.
12959
12960         · "cos.ap-mumbai.myqcloud.com"
12961
12962           · Mumbai Region.
12963
12964         · "cos.ap-seoul.myqcloud.com"
12965
12966           · Seoul Region.
12967
12968         · "cos.ap-bangkok.myqcloud.com"
12969
12970           · Bangkok Region.
12971
12972         · "cos.ap-tokyo.myqcloud.com"
12973
12974           · Tokyo Region.
12975
12976         · "cos.na-siliconvalley.myqcloud.com"
12977
12978           · Silicon Valley Region.
12979
12980         · "cos.na-ashburn.myqcloud.com"
12981
12982           · Virginia Region.
12983
12984         · "cos.na-toronto.myqcloud.com"
12985
12986           · Toronto Region.
12987
12988         · "cos.eu-frankfurt.myqcloud.com"
12989
12990           · Frankfurt Region.
12991
12992         · "cos.eu-moscow.myqcloud.com"
12993
12994           · Moscow Region.
12995
12996         · "cos.accelerate.myqcloud.com"
12997
12998           · Use Tencent COS Accelerate Endpoint.
12999
13000   --s3-endpoint
13001       Endpoint for S3 API.  Required when using an S3 clone.
13002
13003       · Config: endpoint
13004
13005       · Env Var: RCLONE_S3_ENDPOINT
13006
13007       · Type: string
13008
13009       · Default: ""
13010
13011       · Examples:
13012
13013         · "objects-us-east-1.dream.io"
13014
13015           · Dream Objects endpoint
13016
13017         · "nyc3.digitaloceanspaces.com"
13018
13019           · Digital Ocean Spaces New York 3
13020
13021         · "ams3.digitaloceanspaces.com"
13022
13023           · Digital Ocean Spaces Amsterdam 3
13024
13025         · "sgp1.digitaloceanspaces.com"
13026
13027           · Digital Ocean Spaces Singapore 1
13028
13029         · "s3.wasabisys.com"
13030
13031           · Wasabi US East endpoint
13032
13033         · "s3.us-west-1.wasabisys.com"
13034
13035           · Wasabi US West endpoint
13036
13037         · "s3.eu-central-1.wasabisys.com"
13038
13039           · Wasabi EU Central endpoint
13040
13041   --s3-location-constraint
13042       Location constraint - must be set to match the Region.  Used when  cre‐
13043       ating buckets only.
13044
13045       · Config: location_constraint
13046
13047       · Env Var: RCLONE_S3_LOCATION_CONSTRAINT
13048
13049       · Type: string
13050
13051       · Default: ""
13052
13053       · Examples:
13054
13055         · ""
13056
13057           · Empty for US Region, Northern Virginia, or Pacific Northwest.
13058
13059         · "us-east-2"
13060
13061           · US East (Ohio) Region.
13062
13063         · "us-west-1"
13064
13065           · US West (Northern California) Region.
13066
13067         · "us-west-2"
13068
13069           · US West (Oregon) Region.
13070
13071         · "ca-central-1"
13072
13073           · Canada (Central) Region.
13074
13075         · "eu-west-1"
13076
13077           · EU (Ireland) Region.
13078
13079         · "eu-west-2"
13080
13081           · EU (London) Region.
13082
13083         · "eu-west-3"
13084
13085           · EU (Paris) Region.
13086
13087         · "eu-north-1"
13088
13089           · EU (Stockholm) Region.
13090
13091         · "eu-south-1"
13092
13093           · EU (Milan) Region.
13094
13095         · "EU"
13096
13097           · EU Region.
13098
13099         · "ap-southeast-1"
13100
13101           · Asia Pacific (Singapore) Region.
13102
13103         · "ap-southeast-2"
13104
13105           · Asia Pacific (Sydney) Region.
13106
13107         · "ap-northeast-1"
13108
13109           · Asia Pacific (Tokyo) Region.
13110
13111         · "ap-northeast-2"
13112
13113           · Asia Pacific (Seoul) Region.
13114
13115         · "ap-northeast-3"
13116
13117           · Asia Pacific (Osaka-Local) Region.
13118
13119         · "ap-south-1"
13120
13121           · Asia Pacific (Mumbai) Region.
13122
13123         · "ap-east-1"
13124
13125           · Asia Pacific (Hong Kong) Region.
13126
13127         · "sa-east-1"
13128
13129           · South America (Sao Paulo) Region.
13130
13131         · "me-south-1"
13132
13133           · Middle East (Bahrain) Region.
13134
13135         · "af-south-1"
13136
13137           · Africa (Cape Town) Region.
13138
13139         · "cn-north-1"
13140
13141           · China (Beijing) Region
13142
13143         · "cn-northwest-1"
13144
13145           · China (Ningxia) Region.
13146
13147         · "us-gov-east-1"
13148
13149           · AWS GovCloud (US-East) Region.
13150
13151         · "us-gov-west-1"
13152
13153           · AWS GovCloud (US) Region.
13154
13155   --s3-location-constraint
13156       Location  constraint - must match endpoint when using IBM Cloud Public.
13157       For on-prem COS, do not make a selection from this list, hit enter
13158
13159       · Config: location_constraint
13160
13161       · Env Var: RCLONE_S3_LOCATION_CONSTRAINT
13162
13163       · Type: string
13164
13165       · Default: ""
13166
13167       · Examples:
13168
13169         · "us-standard"
13170
13171           · US Cross Region Standard
13172
13173         · "us-vault"
13174
13175           · US Cross Region Vault
13176
13177         · "us-cold"
13178
13179           · US Cross Region Cold
13180
13181         · "us-flex"
13182
13183           · US Cross Region Flex
13184
13185         · "us-east-standard"
13186
13187           · US East Region Standard
13188
13189         · "us-east-vault"
13190
13191           · US East Region Vault
13192
13193         · "us-east-cold"
13194
13195           · US East Region Cold
13196
13197         · "us-east-flex"
13198
13199           · US East Region Flex
13200
13201         · "us-south-standard"
13202
13203           · US South Region Standard
13204
13205         · "us-south-vault"
13206
13207           · US South Region Vault
13208
13209         · "us-south-cold"
13210
13211           · US South Region Cold
13212
13213         · "us-south-flex"
13214
13215           · US South Region Flex
13216
13217         · "eu-standard"
13218
13219           · EU Cross Region Standard
13220
13221         · "eu-vault"
13222
13223           · EU Cross Region Vault
13224
13225         · "eu-cold"
13226
13227           · EU Cross Region Cold
13228
13229         · "eu-flex"
13230
13231           · EU Cross Region Flex
13232
13233         · "eu-gb-standard"
13234
13235           · Great Britain Standard
13236
13237         · "eu-gb-vault"
13238
13239           · Great Britain Vault
13240
13241         · "eu-gb-cold"
13242
13243           · Great Britain Cold
13244
13245         · "eu-gb-flex"
13246
13247           · Great Britain Flex
13248
13249         · "ap-standard"
13250
13251           · APAC Standard
13252
13253         · "ap-vault"
13254
13255           · APAC Vault
13256
13257         · "ap-cold"
13258
13259           · APAC Cold
13260
13261         · "ap-flex"
13262
13263           · APAC Flex
13264
13265         · "mel01-standard"
13266
13267           · Melbourne Standard
13268
13269         · "mel01-vault"
13270
13271           · Melbourne Vault
13272
13273         · "mel01-cold"
13274
13275           · Melbourne Cold
13276
13277         · "mel01-flex"
13278
13279           · Melbourne Flex
13280
13281         · "tor01-standard"
13282
13283           · Toronto Standard
13284
13285         · "tor01-vault"
13286
13287           · Toronto Vault
13288
13289         · "tor01-cold"
13290
13291           · Toronto Cold
13292
13293         · "tor01-flex"
13294
13295           · Toronto Flex
13296
13297   --s3-location-constraint
13298       Location constraint - must be set to match the Region.  Leave blank  if
13299       not sure.  Used when creating buckets only.
13300
13301       · Config: location_constraint
13302
13303       · Env Var: RCLONE_S3_LOCATION_CONSTRAINT
13304
13305       · Type: string
13306
13307       · Default: ""
13308
13309   --s3-acl
13310       Canned ACL used when creating buckets and storing or copying objects.
13311
13312       This  ACL is used for creating objects and if bucket_acl isn't set, for
13313       creating buckets too.
13314
13315       For   more   info    visit    https://docs.aws.amazon.com/AmazonS3/lat
13316       est/dev/acl-overview.html#canned-acl
13317
13318       Note  that  this  ACL is applied when server-side copying objects as S3
13319       doesn't copy the ACL from the source but rather writes a fresh one.
13320
13321       · Config: acl
13322
13323       · Env Var: RCLONE_S3_ACL
13324
13325       · Type: string
13326
13327       · Default: ""
13328
13329       · Examples:
13330
13331         · "default"
13332
13333           · Owner gets Full_CONTROL.  No one  else  has  access  rights  (de‐
13334             fault).
13335
13336         · "private"
13337
13338           · Owner  gets  FULL_CONTROL.   No  one  else has access rights (de‐
13339             fault).
13340
13341         · "public-read"
13342
13343           · Owner gets FULL_CONTROL.  The AllUsers group gets READ access.
13344
13345         · "public-read-write"
13346
13347           · Owner gets FULL_CONTROL.  The AllUsers group gets READ and  WRITE
13348             access.
13349
13350           · Granting this on a bucket is generally not recommended.
13351
13352         · "authenticated-read"
13353
13354           · Owner  gets FULL_CONTROL.  The AuthenticatedUsers group gets READ
13355             access.
13356
13357         · "bucket-owner-read"
13358
13359           · Object owner gets FULL_CONTROL.  Bucket owner gets READ access.
13360
13361           · If you specify this canned ACL when creating a bucket, Amazon  S3
13362             ignores it.
13363
13364         · "bucket-owner-full-control"
13365
13366           · Both  the object owner and the bucket owner get FULL_CONTROL over
13367             the object.
13368
13369           · If you specify this canned ACL when creating a bucket, Amazon  S3
13370             ignores it.
13371
13372         · "private"
13373
13374           · Owner  gets  FULL_CONTROL.   No  one  else has access rights (de‐
13375             fault).  This acl is available on IBM Cloud  (Infra),  IBM  Cloud
13376             (Storage), On-Premise COS
13377
13378         · "public-read"
13379
13380           · Owner  gets  FULL_CONTROL.   The AllUsers group gets READ access.
13381             This acl is available on IBM Cloud (Infra), IBM Cloud  (Storage),
13382             On-Premise IBM COS
13383
13384         · "public-read-write"
13385
13386           · Owner  gets FULL_CONTROL.  The AllUsers group gets READ and WRITE
13387             access.  This acl is available on IBM Cloud  (Infra),  On-Premise
13388             IBM COS
13389
13390         · "authenticated-read"
13391
13392           · Owner  gets FULL_CONTROL.  The AuthenticatedUsers group gets READ
13393             access.  Not supported on Buckets.  This acl is available on  IBM
13394             Cloud (Infra) and On-Premise IBM COS
13395
13396   --s3-server-side-encryption
13397       The  server-side  encryption algorithm used when storing this object in
13398       S3.
13399
13400       · Config: server_side_encryption
13401
13402       · Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION
13403
13404       · Type: string
13405
13406       · Default: ""
13407
13408       · Examples:
13409
13410         · ""
13411
13412           · None
13413
13414         · "AES256"
13415
13416           · AES256
13417
13418         · "aws:kms"
13419
13420           · aws:kms
13421
13422   --s3-sse-kms-key-id
13423       If using KMS ID you must provide the ARN of Key.
13424
13425       · Config: sse_kms_key_id
13426
13427       · Env Var: RCLONE_S3_SSE_KMS_KEY_ID
13428
13429       · Type: string
13430
13431       · Default: ""
13432
13433       · Examples:
13434
13435         · ""
13436
13437           · None
13438
13439         · "arn:aws:kms:us-east-1:*"
13440
13441           · arn:aws:kms:*
13442
13443   --s3-storage-class
13444       The storage class to use when storing new objects in S3.
13445
13446       · Config: storage_class
13447
13448       · Env Var: RCLONE_S3_STORAGE_CLASS
13449
13450       · Type: string
13451
13452       · Default: ""
13453
13454       · Examples:
13455
13456         · ""
13457
13458           · Default
13459
13460         · "STANDARD"
13461
13462           · Standard storage class
13463
13464         · "REDUCED_REDUNDANCY"
13465
13466           · Reduced redundancy storage class
13467
13468         · "STANDARD_IA"
13469
13470           · Standard Infrequent Access storage class
13471
13472         · "ONEZONE_IA"
13473
13474           · One Zone Infrequent Access storage class
13475
13476         · "GLACIER"
13477
13478           · Glacier storage class
13479
13480         · "DEEP_ARCHIVE"
13481
13482           · Glacier Deep Archive storage class
13483
13484         · "INTELLIGENT_TIERING"
13485
13486           · Intelligent-Tiering storage class
13487
13488   --s3-storage-class
13489       The storage class to use when storing new objects in OSS.
13490
13491       · Config: storage_class
13492
13493       · Env Var: RCLONE_S3_STORAGE_CLASS
13494
13495       · Type: string
13496
13497       · Default: ""
13498
13499       · Examples:
13500
13501         · ""
13502
13503           · Default
13504
13505         · "STANDARD"
13506
13507           · Standard storage class
13508
13509         · "GLACIER"
13510
13511           · Archive storage mode.
13512
13513         · "STANDARD_IA"
13514
13515           · Infrequent access storage mode.
13516
13517   --s3-storage-class
13518       The storage class to use when storing new objects in Tencent COS.
13519
13520       · Config: storage_class
13521
13522       · Env Var: RCLONE_S3_STORAGE_CLASS
13523
13524       · Type: string
13525
13526       · Default: ""
13527
13528       · Examples:
13529
13530         · ""
13531
13532           · Default
13533
13534         · "STANDARD"
13535
13536           · Standard storage class
13537
13538         · "ARCHIVE"
13539
13540           · Archive storage mode.
13541
13542         · "STANDARD_IA"
13543
13544           · Infrequent access storage mode.
13545
13546   --s3-storage-class
13547       The storage class to use when storing new objects in S3.
13548
13549       · Config: storage_class
13550
13551       · Env Var: RCLONE_S3_STORAGE_CLASS
13552
13553       · Type: string
13554
13555       · Default: ""
13556
13557       · Examples:
13558
13559         · ""
13560
13561           · Default
13562
13563         · "STANDARD"
13564
13565           · The Standard class for any upload; suitable for on-demand content
13566             like streaming or CDN.
13567
13568         · "GLACIER"
13569
13570           · Archived  storage;  prices are lower, but it needs to be restored
13571             first to be accessed.
13572
13573   Advanced Options
13574       Here are the advanced options specific to s3 (Amazon S3 Compliant Stor‐
13575       age  Providers  including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost,
13576       IBM COS, Minio, and Tencent COS).
13577
13578   --s3-bucket-acl
13579       Canned ACL used when creating buckets.
13580
13581       For   more   info    visit    https://docs.aws.amazon.com/AmazonS3/lat
13582       est/dev/acl-overview.html#canned-acl
13583
13584       Note  that  this ACL is applied when only when creating buckets.  If it
13585       isn't set then "acl" is used instead.
13586
13587       · Config: bucket_acl
13588
13589       · Env Var: RCLONE_S3_BUCKET_ACL
13590
13591       · Type: string
13592
13593       · Default: ""
13594
13595       · Examples:
13596
13597         · "private"
13598
13599           · Owner gets FULL_CONTROL.  No one  else  has  access  rights  (de‐
13600             fault).
13601
13602         · "public-read"
13603
13604           · Owner gets FULL_CONTROL.  The AllUsers group gets READ access.
13605
13606         · "public-read-write"
13607
13608           · Owner  gets FULL_CONTROL.  The AllUsers group gets READ and WRITE
13609             access.
13610
13611           · Granting this on a bucket is generally not recommended.
13612
13613         · "authenticated-read"
13614
13615           · Owner gets FULL_CONTROL.  The AuthenticatedUsers group gets  READ
13616             access.
13617
13618   --s3-requester-pays
13619       Enables requester pays option when interacting with S3 bucket.
13620
13621       · Config: requester_pays
13622
13623       · Env Var: RCLONE_S3_REQUESTER_PAYS
13624
13625       · Type: bool
13626
13627       · Default: false
13628
13629   --s3-sse-customer-algorithm
13630       If  using SSE-C, the server-side encryption algorithm used when storing
13631       this object in S3.
13632
13633       · Config: sse_customer_algorithm
13634
13635       · Env Var: RCLONE_S3_SSE_CUSTOMER_ALGORITHM
13636
13637       · Type: string
13638
13639       · Default: ""
13640
13641       · Examples:
13642
13643         · ""
13644
13645           · None
13646
13647         · "AES256"
13648
13649           · AES256
13650
13651   --s3-sse-customer-key
13652       If using SSE-C you must provide the secret encryption key used  to  en‐
13653       crypt/decrypt your data.
13654
13655       · Config: sse_customer_key
13656
13657       · Env Var: RCLONE_S3_SSE_CUSTOMER_KEY
13658
13659       · Type: string
13660
13661       · Default: ""
13662
13663       · Examples:
13664
13665         · ""
13666
13667           · None
13668
13669   --s3-sse-customer-key-md5
13670       If  using  SSE-C you may provide the secret encryption key MD5 checksum
13671       (optional).
13672
13673       If you leave it  blank,  this  is  calculated  automatically  from  the
13674       sse_customer_key provided.
13675
13676       · Config: sse_customer_key_md5
13677
13678       · Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_MD5
13679
13680       · Type: string
13681
13682       · Default: ""
13683
13684       · Examples:
13685
13686         · ""
13687
13688           · None
13689
13690   --s3-upload-cutoff
13691       Cutoff for switching to chunked upload
13692
13693       Any  files  larger  than this will be uploaded in chunks of chunk_size.
13694       The minimum is 0 and the maximum is 5GB.
13695
13696       · Config: upload_cutoff
13697
13698       · Env Var: RCLONE_S3_UPLOAD_CUTOFF
13699
13700       · Type: SizeSuffix
13701
13702       · Default: 200M
13703
13704   --s3-chunk-size
13705       Chunk size to use for uploading.
13706
13707       When uploading files larger than upload_cutoff or  files  with  unknown
13708       size  (e.g.   from  "rclone  rcat"  or  uploaded with "rclone mount" or
13709       google photos or google docs) they will be uploaded  as  multipart  up‐
13710       loads using this chunk size.
13711
13712       Note that "--s3-upload-concurrency" chunks of this size are buffered in
13713       memory per transfer.
13714
13715       If you are transferring large files over high-speed links and you  have
13716       enough memory, then increasing this will speed up the transfers.
13717
13718       Rclone  will  automatically  increase  the  chunk size when uploading a
13719       large file of known size to stay below the 10,000 chunks limit.
13720
13721       Files of unknown size are  uploaded  with  the  configured  chunk_size.
13722       Since  the  default  chunk  size is 5MB and there can be at most 10,000
13723       chunks, this means that by default the maximum size of a file  you  can
13724       stream  upload is 48GB.  If you wish to stream upload larger files then
13725       you will need to increase chunk_size.
13726
13727       · Config: chunk_size
13728
13729       · Env Var: RCLONE_S3_CHUNK_SIZE
13730
13731       · Type: SizeSuffix
13732
13733       · Default: 5M
13734
13735   --s3-max-upload-parts
13736       Maximum number of parts in a multipart upload.
13737
13738       This option defines the maximum number of multipart chunks to use  when
13739       doing a multipart upload.
13740
13741       This  can be useful if a service does not support the AWS S3 specifica‐
13742       tion of 10,000 chunks.
13743
13744       Rclone will automatically increase the  chunk  size  when  uploading  a
13745       large file of a known size to stay below this number of chunks limit.
13746
13747       · Config: max_upload_parts
13748
13749       · Env Var: RCLONE_S3_MAX_UPLOAD_PARTS
13750
13751       · Type: int
13752
13753       · Default: 10000
13754
13755   --s3-copy-cutoff
13756       Cutoff for switching to multipart copy
13757
13758       Any  files  larger than this that need to be server-side copied will be
13759       copied in chunks of this size.
13760
13761       The minimum is 0 and the maximum is 5GB.
13762
13763       · Config: copy_cutoff
13764
13765       · Env Var: RCLONE_S3_COPY_CUTOFF
13766
13767       · Type: SizeSuffix
13768
13769       · Default: 4.656G
13770
13771   --s3-disable-checksum
13772       Don't store MD5 checksum with object metadata
13773
13774       Normally rclone will calculate the MD5 checksum of the input before up‐
13775       loading  it  so it can add it to metadata on the object.  This is great
13776       for data integrity checking but can cause long delays for  large  files
13777       to start uploading.
13778
13779       · Config: disable_checksum
13780
13781       · Env Var: RCLONE_S3_DISABLE_CHECKSUM
13782
13783       · Type: bool
13784
13785       · Default: false
13786
13787   --s3-shared-credentials-file
13788       Path to the shared credentials file
13789
13790       If env_auth = true then rclone can use a shared credentials file.
13791
13792       If  this variable is empty rclone will look for the "AWS_SHARED_CREDEN‐
13793       TIALS_FILE" env variable.  If the env value is empty it will default to
13794       the current user's home directory.
13795
13796              Linux/OSX: "$HOME/.aws/credentials"
13797              Windows:   "%USERPROFILE%\.aws\credentials"
13798
13799       · Config: shared_credentials_file
13800
13801       · Env Var: RCLONE_S3_SHARED_CREDENTIALS_FILE
13802
13803       · Type: string
13804
13805       · Default: ""
13806
13807   --s3-profile
13808       Profile to use in the shared credentials file
13809
13810       If env_auth = true then rclone can use a shared credentials file.  This
13811       variable controls which profile is used in that file.
13812
13813       If empty it will default to the environment variable  "AWS_PROFILE"  or
13814       "default" if that environment variable is also not set.
13815
13816       · Config: profile
13817
13818       · Env Var: RCLONE_S3_PROFILE
13819
13820       · Type: string
13821
13822       · Default: ""
13823
13824   --s3-session-token
13825       An AWS session token
13826
13827       · Config: session_token
13828
13829       · Env Var: RCLONE_S3_SESSION_TOKEN
13830
13831       · Type: string
13832
13833       · Default: ""
13834
13835   --s3-upload-concurrency
13836       Concurrency for multipart uploads.
13837
13838       This is the number of chunks of the same file that are uploaded concur‐
13839       rently.
13840
13841       If you are uploading small numbers of large files over high-speed links
13842       and  these uploads do not fully utilize your bandwidth, then increasing
13843       this may help to speed up the transfers.
13844
13845       · Config: upload_concurrency
13846
13847       · Env Var: RCLONE_S3_UPLOAD_CONCURRENCY
13848
13849       · Type: int
13850
13851       · Default: 4
13852
13853   --s3-force-path-style
13854       If true use path style access if false use virtual hosted style.
13855
13856       If this is true (the default) then rclone will use path  style  access,
13857       if  false then rclone will use virtual path style.  See the AWS S3 docs
13858       (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#ac‐
13859       cess-bucket-intro) for more info.
13860
13861       Some providers (e.g.  AWS, Aliyun OSS, Netease COS, or Tencent COS) re‐
13862       quire this set to false - rclone will do this  automatically  based  on
13863       the provider setting.
13864
13865       · Config: force_path_style
13866
13867       · Env Var: RCLONE_S3_FORCE_PATH_STYLE
13868
13869       · Type: bool
13870
13871       · Default: true
13872
13873   --s3-v2-auth
13874       If true use v2 authentication.
13875
13876       If  this is false (the default) then rclone will use v4 authentication.
13877       If it is set then rclone will use v2 authentication.
13878
13879       Use this only if v4 signatures don't work, e.g.  pre Jewel/v10 CEPH.
13880
13881       · Config: v2_auth
13882
13883       · Env Var: RCLONE_S3_V2_AUTH
13884
13885       · Type: bool
13886
13887       · Default: false
13888
13889   --s3-use-accelerate-endpoint
13890       If true use the AWS S3 accelerated endpoint.
13891
13892       See: AWS  S3  Transfer  acceleration  (https://docs.aws.amazon.com/Ama
13893       zonS3/latest/dev/transfer-acceleration-examples.html)
13894
13895       · Config: use_accelerate_endpoint
13896
13897       · Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT
13898
13899       · Type: bool
13900
13901       · Default: false
13902
13903   --s3-leave-parts-on-error
13904       If  true  avoid calling abort upload on a failure, leaving all success‐
13905       fully uploaded parts on S3 for manual recovery.
13906
13907       It should be set to true for resuming  uploads  across  different  ses‐
13908       sions.
13909
13910       WARNING: Storing parts of an incomplete multipart upload counts towards
13911       space usage on S3 and will add additional costs if not cleaned up.
13912
13913       · Config: leave_parts_on_error
13914
13915       · Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR
13916
13917       · Type: bool
13918
13919       · Default: false
13920
13921   --s3-list-chunk
13922       Size of listing chunk (response list for each ListObject S3 request).
13923
13924       This option is also known as  "MaxKeys",  "max-items",  or  "page-size"
13925       from  the  AWS  S3  specification.  Most services truncate the response
13926       list to 1000 objects even if requested more than that.  In AWS S3  this
13927       is   a   global   maximum   and   cannot   be   changed,   see  AWS  S3
13928       (https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html).       In
13929       Ceph,  this  can be increased with the "rgw list buckets max chunk" op‐
13930       tion.
13931
13932       · Config: list_chunk
13933
13934       · Env Var: RCLONE_S3_LIST_CHUNK
13935
13936       · Type: int
13937
13938       · Default: 1000
13939
13940   --s3-no-check-bucket
13941       If set, don't attempt to check the bucket exists or create it
13942
13943       This can be useful when trying to minimise the number  of  transactions
13944       rclone does if you know the bucket exists already.
13945
13946       It  can  also  be needed if the user you are using does not have bucket
13947       creation permissions.  Before v1.52.0 this would have  passed  silently
13948       due to a bug.
13949
13950       · Config: no_check_bucket
13951
13952       · Env Var: RCLONE_S3_NO_CHECK_BUCKET
13953
13954       · Type: bool
13955
13956       · Default: false
13957
13958   --s3-no-head
13959       If set, don't HEAD uploaded objects to check integrity
13960
13961       This  can  be useful when trying to minimise the number of transactions
13962       rclone does.
13963
13964       Setting it means that if rclone receives a 200 OK message after upload‐
13965       ing an object with PUT then it will assume that it got uploaded proper‐
13966       ly.
13967
13968       In particular it will assume:
13969
13970       · the metadata, including modtime, storage class and content  type  was
13971         as uploaded
13972
13973       · the size was as uploaded
13974
13975       It reads the following items from the response for a single part PUT:
13976
13977       · the MD5SUM
13978
13979       · The uploaded date
13980
13981       For multipart uploads these items aren't read.
13982
13983       If an source object of unknown length is uploaded then rclone will do a
13984       HEAD request.
13985
13986       Setting this flag increases the chance for undetected upload  failures,
13987       in particular an incorrect size, so it isn't recommended for normal op‐
13988       eration.  In practice the chance of an  undetected  upload  failure  is
13989       very small even with this flag.
13990
13991       · Config: no_head
13992
13993       · Env Var: RCLONE_S3_NO_HEAD
13994
13995       · Type: bool
13996
13997       · Default: false
13998
13999   --s3-encoding
14000       This sets the encoding for the backend.
14001
14002       See:  the  encoding  section  in the overview (https://rclone.org/over
14003       view/#encoding) for more info.
14004
14005       · Config: encoding
14006
14007       · Env Var: RCLONE_S3_ENCODING
14008
14009       · Type: MultiEncoder
14010
14011       · Default: Slash,InvalidUtf8,Dot
14012
14013   --s3-memory-pool-flush-time
14014       How often internal memory buffer pools will be flushed.  Uploads  which
14015       requires  additional  buffers  (f.e multipart) will use memory pool for
14016       allocations.  This option controls how often unused buffers will be re‐
14017       moved from the pool.
14018
14019       · Config: memory_pool_flush_time
14020
14021       · Env Var: RCLONE_S3_MEMORY_POOL_FLUSH_TIME
14022
14023       · Type: Duration
14024
14025       · Default: 1m0s
14026
14027   --s3-memory-pool-use-mmap
14028       Whether to use mmap buffers in internal memory pool.
14029
14030       · Config: memory_pool_use_mmap
14031
14032       · Env Var: RCLONE_S3_MEMORY_POOL_USE_MMAP
14033
14034       · Type: bool
14035
14036       · Default: false
14037
14038   --s3-disable-http2
14039       Disable usage of http2 for S3 backends
14040
14041       There  is  currently an unsolved issue with the s3 (specifically minio)
14042       backend and HTTP/2.  HTTP/2 is enabled by default for  the  s3  backend
14043       but  can  be disabled here.  When the issue is solved this flag will be
14044       removed.
14045
14046       See:                      https://github.com/rclone/rclone/issues/4673,
14047       https://github.com/rclone/rclone/issues/3631
14048
14049       · Config: disable_http2
14050
14051       · Env Var: RCLONE_S3_DISABLE_HTTP2
14052
14053       · Type: bool
14054
14055       · Default: false
14056
14057   Backend commands
14058       Here are the commands specific to the s3 backend.
14059
14060       Run them with
14061
14062              rclone backend COMMAND remote:
14063
14064       The help below will explain what arguments each command takes.
14065
14066       See    the    "rclone    backend"    command   (https://rclone.org/com
14067       mands/rclone_backend/) for more info on how to pass options  and  argu‐
14068       ments.
14069
14070       These can be run on a running backend using the rc command backend/com‐
14071       mand (https://rclone.org/rc/#backend/command).
14072
14073   restore
14074       Restore objects from GLACIER to normal storage
14075
14076              rclone backend restore remote: [options] [<arguments>+]
14077
14078       This command can be used to restore one or more objects from GLACIER to
14079       normal storage.
14080
14081       Usage Examples:
14082
14083              rclone backend restore s3:bucket/path/to/object [-o priority=PRIORITY] [-o lifetime=DAYS]
14084              rclone backend restore s3:bucket/path/to/directory [-o priority=PRIORITY] [-o lifetime=DAYS]
14085              rclone backend restore s3:bucket [-o priority=PRIORITY] [-o lifetime=DAYS]
14086
14087       This  flag also obeys the filters.  Test first with -i/--interactive or
14088       --dry-run flags
14089
14090              rclone -i backend restore --include "*.txt" s3:bucket/path -o priority=Standard
14091
14092       All the objects shown will be marked for restore, then
14093
14094              rclone backend restore --include "*.txt" s3:bucket/path -o priority=Standard
14095
14096       It returns a list of status dictionaries with Remote and  Status  keys.
14097       The Status will be OK if it was successful or an error message if not.
14098
14099              [
14100                  {
14101                      "Status": "OK",
14102                      "Path": "test.txt"
14103                  },
14104                  {
14105                      "Status": "OK",
14106                      "Path": "test/file4.txt"
14107                  }
14108              ]
14109
14110       Options:
14111
14112       · "description": The optional description for the job.
14113
14114       · "lifetime": Lifetime of the active copy in days
14115
14116       · "priority": Priority of restore: Standard|Expedited|Bulk
14117
14118   list-multipart-uploads
14119       List the unfinished multipart uploads
14120
14121              rclone backend list-multipart-uploads remote: [options] [<arguments>+]
14122
14123       This command lists the unfinished multipart uploads in JSON format.
14124
14125              rclone backend list-multipart s3:bucket/path/to/object
14126
14127       It  returns  a dictionary of buckets with values as lists of unfinished
14128       multipart uploads.
14129
14130       You can call it with no bucket in which case it lists all bucket,  with
14131       a bucket or with a bucket and path.
14132
14133              {
14134                "rclone": [
14135                  {
14136                    "Initiated": "2020-06-26T14:20:36Z",
14137                    "Initiator": {
14138                      "DisplayName": "XXX",
14139                      "ID": "arn:aws:iam::XXX:user/XXX"
14140                    },
14141                    "Key": "KEY",
14142                    "Owner": {
14143                      "DisplayName": null,
14144                      "ID": "XXX"
14145                    },
14146                    "StorageClass": "STANDARD",
14147                    "UploadId": "XXX"
14148                  }
14149                ],
14150                "rclone-1000files": [],
14151                "rclone-dst": []
14152              }
14153
14154   cleanup
14155       Remove unfinished multipart uploads.
14156
14157              rclone backend cleanup remote: [options] [<arguments>+]
14158
14159       This  command  removes unfinished multipart uploads of age greater than
14160       max-age which defaults to 24 hours.
14161
14162       Note that you can use -i/--dry-run with this command  to  see  what  it
14163       would do.
14164
14165              rclone backend cleanup s3:bucket/path/to/object
14166              rclone backend cleanup -o max-age=7w s3:bucket/path/to/object
14167
14168       Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc.
14169
14170       Options:
14171
14172       · "max-age": Max age of upload to delete
14173
14174   Anonymous access to public buckets
14175       If  you  want to use rclone to access a public bucket, configure with a
14176       blank access_key_id and secret_access_key.  Your config should  end  up
14177       looking like this:
14178
14179              [anons3]
14180              type = s3
14181              provider = AWS
14182              env_auth = false
14183              access_key_id =
14184              secret_access_key =
14185              region = us-east-1
14186              endpoint =
14187              location_constraint =
14188              acl = private
14189              server_side_encryption =
14190              storage_class =
14191
14192       Then use it as normal with the name of the public bucket, e.g.
14193
14194              rclone lsd anons3:1000genomes
14195
14196       You will be able to list and copy data but not upload it.
14197
14198   Ceph
14199       Ceph (https://ceph.com/) is an open source unified, distributed storage
14200       system designed for excellent performance, reliability and scalability.
14201       It has an S3 compatible object storage interface.
14202
14203       To  use rclone with Ceph, configure as above but leave the region blank
14204       and set the endpoint.  You should end up with something  like  this  in
14205       your config:
14206
14207              [ceph]
14208              type = s3
14209              provider = Ceph
14210              env_auth = false
14211              access_key_id = XXX
14212              secret_access_key = YYY
14213              region =
14214              endpoint = https://ceph.endpoint.example.com
14215              location_constraint =
14216              acl =
14217              server_side_encryption =
14218              storage_class =
14219
14220       If you are using an older version of CEPH, e.g.  10.2.x Jewel, then you
14221       may need to supply the parameter --s3-upload-cutoff 0 or  put  this  in
14222       the  config  file  as upload_cutoff 0 to work around a bug which causes
14223       uploading of small files to fail.
14224
14225       Note also that Ceph sometimes puts / in the passwords it  gives  users.
14226       If you read the secret access key using the command line tools you will
14227       get a JSON blob with the / escaped as \/.  Make sure you only  write  /
14228       in the secret access key.
14229
14230       Eg  the  dump  from Ceph looks something like this (irrelevant keys re‐
14231       moved).
14232
14233              {
14234                  "user_id": "xxx",
14235                  "display_name": "xxxx",
14236                  "keys": [
14237                      {
14238                          "user": "xxx",
14239                          "access_key": "xxxxxx",
14240                          "secret_key": "xxxxxx\/xxxx"
14241                      }
14242                  ],
14243              }
14244
14245       Because this is a json dump, it is encoding the / as \/, so if you  use
14246       the secret key as xxxxxx/xxxx it will work fine.
14247
14248   Dreamhost
14249       Dreamhost DreamObjects (https://www.dreamhost.com/cloud/storage/) is an
14250       object storage system based on CEPH.
14251
14252       To use rclone with Dreamhost, configure as above but leave  the  region
14253       blank and set the endpoint.  You should end up with something like this
14254       in your config:
14255
14256              [dreamobjects]
14257              type = s3
14258              provider = DreamHost
14259              env_auth = false
14260              access_key_id = your_access_key
14261              secret_access_key = your_secret_key
14262              region =
14263              endpoint = objects-us-west-1.dream.io
14264              location_constraint =
14265              acl = private
14266              server_side_encryption =
14267              storage_class =
14268
14269   DigitalOcean Spaces
14270       Spaces  (https://www.digitalocean.com/products/object-storage/)  is  an
14271       S3-interoperable        (https://developers.digitalocean.com/documenta
14272       tion/spaces/) object storage service from cloud provider DigitalOcean.
14273
14274       To connect to DigitalOcean Spaces you will need an access key  and  se‐
14275       cret   key.   These  can  be  retrieved  on  the  "Applications  &  API
14276       (https://cloud.digitalocean.com/settings/api/tokens)" page of the Digi‐
14277       talOcean  control  panel.   They will be needed when prompted by rclone
14278       config for your access_key_id and secret_access_key.
14279
14280       When prompted for a region or location_constraint, press enter  to  use
14281       the default value.  The region must be included in the endpoint setting
14282       (e.g.  nyc3.digitaloceanspaces.com).  The default values  can  be  used
14283       for other settings.
14284
14285       Going  through  the  whole  process of creating a new remote by running
14286       rclone config, each prompt should be answered as shown below:
14287
14288              Storage> s3
14289              env_auth> 1
14290              access_key_id> YOUR_ACCESS_KEY
14291              secret_access_key> YOUR_SECRET_KEY
14292              region>
14293              endpoint> nyc3.digitaloceanspaces.com
14294              location_constraint>
14295              acl>
14296              storage_class>
14297
14298       The resulting configuration file should look like:
14299
14300              [spaces]
14301              type = s3
14302              provider = DigitalOcean
14303              env_auth = false
14304              access_key_id = YOUR_ACCESS_KEY
14305              secret_access_key = YOUR_SECRET_KEY
14306              region =
14307              endpoint = nyc3.digitaloceanspaces.com
14308              location_constraint =
14309              acl =
14310              server_side_encryption =
14311              storage_class =
14312
14313       Once configured, you can create a new Space and  begin  copying  files.
14314       For example:
14315
14316              rclone mkdir spaces:my-new-space
14317              rclone copy /path/to/files spaces:my-new-space
14318
14319   IBM COS (S3)
14320       Information  stored with IBM Cloud Object Storage is encrypted and dis‐
14321       persed across multiple geographic locations, and  accessed  through  an
14322       implementation  of  the S3 API.  This service makes use of the distrib‐
14323       uted storage technologies provided by IBM’s Cloud Object Storage System
14324       (formerly     Cleversafe).      For     more     information     visit:
14325       (http://www.ibm.com/cloud/object-storage)
14326
14327       To configure access to IBM COS S3, follow the steps below:
14328
14329       1. Run rclone config and select n for a new remote.
14330
14331              2018/02/14 14:13:11 NOTICE: Config file "C:\\Users\\a\\.config\\rclone\\rclone.conf" not found - using defaults
14332              No remotes found - make a new one
14333              n) New remote
14334              s) Set configuration password
14335              q) Quit config
14336              n/s/q> n
14337
14338       2. Enter the name for the configuration
14339
14340              name> <YOUR NAME>
14341
14342       3. Select "s3" storage.
14343
14344          Choose a number from below, or type in your own value
14345              1 / Alias for an existing remote
14346              \ "alias"
14347              2 / Amazon Drive
14348              \ "amazon cloud drive"
14349              3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, Minio, IBM COS)
14350              \ "s3"
14351              4 / Backblaze B2
14352              \ "b2"
14353          [snip]
14354              23 / http Connection
14355              \ "http"
14356          Storage> 3
14357
14358       4. Select IBM COS as the S3 Storage Provider.
14359
14360          Choose the S3 provider.
14361          Choose a number from below, or type in your own value
14362               1 / Choose this option to configure Storage to AWS S3
14363                 \ "AWS"
14364               2 / Choose this option to configure Storage to Ceph Systems
14365               \ "Ceph"
14366               3 /  Choose this option to configure Storage to Dreamhost
14367               \ "Dreamhost"
14368             4 / Choose this option to the configure Storage to IBM COS S3
14369               \ "IBMCOS"
14370               5 / Choose this option to the configure Storage to Minio
14371               \ "Minio"
14372               Provider>4
14373
14374       5. Enter the Access Key and Secret.
14375
14376              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
14377              access_key_id> <>
14378              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
14379              secret_access_key> <>
14380
14381       6. Specify the endpoint for IBM COS.  For Public IBM COS,  choose  from
14382          the  option  below.   For  On Premise IBM COS, enter an endpoint ad‐
14383          dress.
14384
14385              Endpoint for IBM COS S3 API.
14386              Specify if using an IBM COS On Premise.
14387              Choose a number from below, or type in your own value
14388               1 / US Cross Region Endpoint
14389                 \ "s3-api.us-geo.objectstorage.softlayer.net"
14390               2 / US Cross Region Dallas Endpoint
14391                 \ "s3-api.dal.us-geo.objectstorage.softlayer.net"
14392               3 / US Cross Region Washington DC Endpoint
14393                 \ "s3-api.wdc-us-geo.objectstorage.softlayer.net"
14394               4 / US Cross Region San Jose Endpoint
14395                 \ "s3-api.sjc-us-geo.objectstorage.softlayer.net"
14396               5 / US Cross Region Private Endpoint
14397                 \ "s3-api.us-geo.objectstorage.service.networklayer.com"
14398               6 / US Cross Region Dallas Private Endpoint
14399                 \ "s3-api.dal-us-geo.objectstorage.service.networklayer.com"
14400               7 / US Cross Region Washington DC Private Endpoint
14401                 \ "s3-api.wdc-us-geo.objectstorage.service.networklayer.com"
14402               8 / US Cross Region San Jose Private Endpoint
14403                 \ "s3-api.sjc-us-geo.objectstorage.service.networklayer.com"
14404               9 / US Region East Endpoint
14405                 \ "s3.us-east.objectstorage.softlayer.net"
14406              10 / US Region East Private Endpoint
14407                 \ "s3.us-east.objectstorage.service.networklayer.com"
14408              11 / US Region South Endpoint
14409          [snip]
14410              34 / Toronto Single Site Private Endpoint
14411                 \ "s3.tor01.objectstorage.service.networklayer.com"
14412              endpoint>1
14413
14414       7. Specify a IBM COS Location Constraint.  The location constraint must
14415          match endpoint when using IBM Cloud Public.  For on-prem COS, do not
14416          make a selection from this list, hit enter
14417
14418               1 / US Cross Region Standard
14419                 \ "us-standard"
14420               2 / US Cross Region Vault
14421                 \ "us-vault"
14422               3 / US Cross Region Cold
14423                 \ "us-cold"
14424               4 / US Cross Region Flex
14425                 \ "us-flex"
14426               5 / US East Region Standard
14427                 \ "us-east-standard"
14428               6 / US East Region Vault
14429                 \ "us-east-vault"
14430               7 / US East Region Cold
14431                 \ "us-east-cold"
14432               8 / US East Region Flex
14433                 \ "us-east-flex"
14434               9 / US South Region Standard
14435                 \ "us-south-standard"
14436              10 / US South Region Vault
14437                 \ "us-south-vault"
14438          [snip]
14439              32 / Toronto Flex
14440                 \ "tor01-flex"
14441          location_constraint>1
14442
14443       9. Specify a canned ACL.  IBM Cloud  (Storage)  supports  "public-read"
14444          and  "private".   IBM  Cloud(Infra)  supports  all  the canned ACLs.
14445          On-Premise COS supports all the canned ACLs.
14446
14447          Canned ACL used when creating buckets and/or storing objects in S3.
14448          For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
14449          Choose a number from below, or type in your own value
14450                1 / Owner gets FULL_CONTROL. No one else has access rights (default). This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise COS
14451                \ "private"
14452                2  / Owner gets FULL_CONTROL. The AllUsers group gets READ access. This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), On-Premise IBM COS
14453                \ "public-read"
14454                3 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. This acl is available on IBM Cloud (Infra), On-Premise IBM COS
14455                \ "public-read-write"
14456                4  / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. Not supported on Buckets. This acl is available on IBM Cloud (Infra) and On-Premise IBM COS
14457                \ "authenticated-read"
14458          acl> 1
14459
14460       12. Review the displayed configuration and accept to save the  "remote"
14461           then quit.  The config file should look like this
14462
14463               [xxx]
14464               type = s3
14465               Provider = IBMCOS
14466               access_key_id = xxx
14467               secret_access_key = yyy
14468               endpoint = s3-api.us-geo.objectstorage.softlayer.net
14469               location_constraint = us-standard
14470               acl = private
14471
14472       13. Execute rclone commands
14473
14474               1)  Create a bucket.
14475                   rclone mkdir IBM-COS-XREGION:newbucket
14476               2)  List available buckets.
14477                   rclone lsd IBM-COS-XREGION:
14478                   -1 2017-11-08 21:16:22        -1 test
14479                   -1 2018-02-14 20:16:39        -1 newbucket
14480               3)  List contents of a bucket.
14481                   rclone ls IBM-COS-XREGION:newbucket
14482                   18685952 test.exe
14483               4)  Copy a file from local to remote.
14484                   rclone copy /Users/file.txt IBM-COS-XREGION:newbucket
14485               5)  Copy a file from remote to local.
14486                   rclone copy IBM-COS-XREGION:newbucket/file.txt .
14487               6)  Delete a file on remote.
14488                   rclone delete IBM-COS-XREGION:newbucket/file.txt
14489
14490   Minio
14491       Minio  (https://minio.io/)  is an object storage server built for cloud
14492       application developers and devops.
14493
14494       It is very easy to install and provides an S3 compatible  server  which
14495       can be used by rclone.
14496
14497       To   use   it,   install   Minio   following   the   instructions  here
14498       (https://docs.minio.io/docs/minio-quickstart-guide).
14499
14500       When it configures itself Minio will print something like this
14501
14502              Endpoint:  http://192.168.1.106:9000  http://172.23.0.1:9000
14503              AccessKey: USWUXHGYZQYFYFFIT3RE
14504              SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
14505              Region:    us-east-1
14506              SQS ARNs:  arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis
14507
14508              Browser Access:
14509                 http://192.168.1.106:9000  http://172.23.0.1:9000
14510
14511              Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
14512                 $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
14513
14514              Object API (Amazon S3 compatible):
14515                 Go:         https://docs.minio.io/docs/golang-client-quickstart-guide
14516                 Java:       https://docs.minio.io/docs/java-client-quickstart-guide
14517                 Python:     https://docs.minio.io/docs/python-client-quickstart-guide
14518                 JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
14519                 .NET:       https://docs.minio.io/docs/dotnet-client-quickstart-guide
14520
14521              Drive Capacity: 26 GiB Free, 165 GiB Total
14522
14523       These details need to go into rclone config like this.  Note that it is
14524       important to put the region in as stated above.
14525
14526              env_auth> 1
14527              access_key_id> USWUXHGYZQYFYFFIT3RE
14528              secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
14529              region> us-east-1
14530              endpoint> http://192.168.1.106:9000
14531              location_constraint>
14532              server_side_encryption>
14533
14534       Which makes the config file look like this
14535
14536              [minio]
14537              type = s3
14538              provider = Minio
14539              env_auth = false
14540              access_key_id = USWUXHGYZQYFYFFIT3RE
14541              secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03
14542              region = us-east-1
14543              endpoint = http://192.168.1.106:9000
14544              location_constraint =
14545              server_side_encryption =
14546
14547       So once set up, for example to copy files into a bucket
14548
14549              rclone copy /path/to/files minio:bucket
14550
14551   Scaleway
14552       Scaleway  (https://www.scaleway.com/object-storage/) The Object Storage
14553       platform allows you to store anything from backups, logs and web assets
14554       to  documents  and photos.  Files can be dropped from the Scaleway con‐
14555       sole or transferred through our API and CLI or using any  S3-compatible
14556       tool.
14557
14558       Scaleway  provides an S3 interface which can be configured for use with
14559       rclone like this:
14560
14561              [scaleway]
14562              type = s3
14563              provider = Scaleway
14564              env_auth = false
14565              endpoint = s3.nl-ams.scw.cloud
14566              access_key_id = SCWXXXXXXXXXXXXXX
14567              secret_access_key = 1111111-2222-3333-44444-55555555555555
14568              region = nl-ams
14569              location_constraint =
14570              acl = private
14571              server_side_encryption =
14572              storage_class =
14573
14574   Wasabi
14575       Wasabi (https://wasabi.com) is a cloud-based object storage service for
14576       a  broad  range  of applications and use cases.  Wasabi is designed for
14577       individuals and organizations that require  a  high-performance,  reli‐
14578       able, and secure data storage infrastructure at minimal cost.
14579
14580       Wasabi  provides  an  S3 interface which can be configured for use with
14581       rclone like this.
14582
14583              No remotes found - make a new one
14584              n) New remote
14585              s) Set configuration password
14586              n/s> n
14587              name> wasabi
14588              Type of storage to configure.
14589              Choose a number from below, or type in your own value
14590              [snip]
14591              XX / Amazon S3 (also Dreamhost, Ceph, Minio)
14592                 \ "s3"
14593              [snip]
14594              Storage> s3
14595              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). Only applies if access_key_id and secret_access_key is blank.
14596              Choose a number from below, or type in your own value
14597               1 / Enter AWS credentials in the next step
14598                 \ "false"
14599               2 / Get AWS credentials from the environment (env vars or IAM)
14600                 \ "true"
14601              env_auth> 1
14602              AWS Access Key ID - leave blank for anonymous access or runtime credentials.
14603              access_key_id> YOURACCESSKEY
14604              AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
14605              secret_access_key> YOURSECRETACCESSKEY
14606              Region to connect to.
14607              Choose a number from below, or type in your own value
14608                 / The default endpoint - a good choice if you are unsure.
14609               1 | US Region, Northern Virginia, or Pacific Northwest.
14610                 | Leave location constraint empty.
14611                 \ "us-east-1"
14612              [snip]
14613              region> us-east-1
14614              Endpoint for S3 API.
14615              Leave blank if using AWS to use the default endpoint for the region.
14616              Specify if using an S3 clone such as Ceph.
14617              endpoint> s3.wasabisys.com
14618              Location constraint - must be set to match the Region. Used when creating buckets only.
14619              Choose a number from below, or type in your own value
14620               1 / Empty for US Region, Northern Virginia, or Pacific Northwest.
14621                 \ ""
14622              [snip]
14623              location_constraint>
14624              Canned ACL used when creating buckets and/or storing objects in S3.
14625              For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl
14626              Choose a number from below, or type in your own value
14627               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
14628                 \ "private"
14629              [snip]
14630              acl>
14631              The server-side encryption algorithm used when storing this object in S3.
14632              Choose a number from below, or type in your own value
14633               1 / None
14634                 \ ""
14635               2 / AES256
14636                 \ "AES256"
14637              server_side_encryption>
14638              The storage class to use when storing objects in S3.
14639              Choose a number from below, or type in your own value
14640               1 / Default
14641                 \ ""
14642               2 / Standard storage class
14643                 \ "STANDARD"
14644               3 / Reduced redundancy storage class
14645                 \ "REDUCED_REDUNDANCY"
14646               4 / Standard Infrequent Access storage class
14647                 \ "STANDARD_IA"
14648              storage_class>
14649              Remote config
14650              --------------------
14651              [wasabi]
14652              env_auth = false
14653              access_key_id = YOURACCESSKEY
14654              secret_access_key = YOURSECRETACCESSKEY
14655              region = us-east-1
14656              endpoint = s3.wasabisys.com
14657              location_constraint =
14658              acl =
14659              server_side_encryption =
14660              storage_class =
14661              --------------------
14662              y) Yes this is OK
14663              e) Edit this remote
14664              d) Delete this remote
14665              y/e/d> y
14666
14667       This will leave the config file looking like this.
14668
14669              [wasabi]
14670              type = s3
14671              provider = Wasabi
14672              env_auth = false
14673              access_key_id = YOURACCESSKEY
14674              secret_access_key = YOURSECRETACCESSKEY
14675              region =
14676              endpoint = s3.wasabisys.com
14677              location_constraint =
14678              acl =
14679              server_side_encryption =
14680              storage_class =
14681
14682   Alibaba OSS
14683       Here  is  an  example  of  making  an  Alibaba   Cloud   (Aliyun)   OSS
14684       (https://www.alibabacloud.com/product/oss/) configuration.  First run:
14685
14686              rclone config
14687
14688       This will guide you through an interactive setup process.
14689
14690              No remotes found - make a new one
14691              n) New remote
14692              s) Set configuration password
14693              q) Quit config
14694              n/s/q> n
14695              name> oss
14696              Type of storage to configure.
14697              Enter a string value. Press Enter for the default ("").
14698              Choose a number from below, or type in your own value
14699              [snip]
14700               4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
14701                 \ "s3"
14702              [snip]
14703              Storage> s3
14704              Choose your S3 provider.
14705              Enter a string value. Press Enter for the default ("").
14706              Choose a number from below, or type in your own value
14707               1 / Amazon Web Services (AWS) S3
14708                 \ "AWS"
14709               2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun
14710                 \ "Alibaba"
14711               3 / Ceph Object Storage
14712                 \ "Ceph"
14713              [snip]
14714              provider> Alibaba
14715              Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
14716              Only applies if access_key_id and secret_access_key is blank.
14717              Enter a boolean value (true or false). Press Enter for the default ("false").
14718              Choose a number from below, or type in your own value
14719               1 / Enter AWS credentials in the next step
14720                 \ "false"
14721               2 / Get AWS credentials from the environment (env vars or IAM)
14722                 \ "true"
14723              env_auth> 1
14724              AWS Access Key ID.
14725              Leave blank for anonymous access or runtime credentials.
14726              Enter a string value. Press Enter for the default ("").
14727              access_key_id> accesskeyid
14728              AWS Secret Access Key (password)
14729              Leave blank for anonymous access or runtime credentials.
14730              Enter a string value. Press Enter for the default ("").
14731              secret_access_key> secretaccesskey
14732              Endpoint for OSS API.
14733              Enter a string value. Press Enter for the default ("").
14734              Choose a number from below, or type in your own value
14735               1 / East China 1 (Hangzhou)
14736                 \ "oss-cn-hangzhou.aliyuncs.com"
14737               2 / East China 2 (Shanghai)
14738                 \ "oss-cn-shanghai.aliyuncs.com"
14739               3 / North China 1 (Qingdao)
14740                 \ "oss-cn-qingdao.aliyuncs.com"
14741              [snip]
14742              endpoint> 1
14743              Canned ACL used when creating buckets and storing or copying objects.
14744
14745              Note that this ACL is applied when server-side copying objects as S3
14746              doesn't copy the ACL from the source but rather writes a fresh one.
14747              Enter a string value. Press Enter for the default ("").
14748              Choose a number from below, or type in your own value
14749               1 / Owner gets FULL_CONTROL. No one else has access rights (default).
14750                 \ "private"
14751               2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access.
14752                 \ "public-read"
14753                 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access.
14754              [snip]
14755              acl> 1
14756              The storage class to use when storing new objects in OSS.
14757              Enter a string value. Press Enter for the default ("").
14758              Choose a number from below, or type in your own value
14759               1 / Default
14760                 \ ""
14761               2 / Standard storage class
14762                 \ "STANDARD"
14763               3 / Archive storage mode.
14764                 \ "GLACIER"
14765               4 / Infrequent access storage mode.
14766                 \ "STANDARD_IA"
14767              storage_class> 1
14768              Edit advanced config? (y/n)
14769              y) Yes
14770              n) No
14771              y/n> n
14772              Remote config
14773              --------------------
14774              [oss]
14775              type = s3
14776              provider = Alibaba
14777              env_auth = false
14778              access_key_id = accesskeyid
14779              secret_access_key = secretaccesskey
14780              endpoint = oss-cn-hangzhou.aliyuncs.com
14781              acl = private
14782              storage_class = Standard
14783              --------------------
14784              y) Yes this is OK
14785              e) Edit this remote
14786              d) Delete this remote
14787              y/e/d> y
14788
14789   Tencent COS
14790       Tencent    Cloud    Object   Storage   (COS)   (https://intl.cloud.ten
14791       cent.com/product/cos) is a distributed storage service offered by  Ten‐
14792       cent  Cloud for unstructured data.  It is secure, stable, massive, con‐
14793       venient, low-delay and low-cost.
14794
14795       To configure access to Tencent COS, follow the steps below:
14796
14797       1. Run rclone config and select n for a new remote.
14798
14799          rclone config
14800          No remotes found - make a new one
14801          n) New remote
14802          s) Set configuration password
14803          q) Quit config
14804          n/s/q> n
14805
14806       2. Give the name of the configuration.  For example, name it 'cos'.
14807
14808          name> cos
14809
14810       3. Select s3 storage.
14811
14812          Choose a number from below, or type in your own value
14813          1 / 1Fichier
14814             \ "fichier"
14815           2 / Alias for an existing remote
14816             \ "alias"
14817           3 / Amazon Drive
14818             \ "amazon cloud drive"
14819           4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Minio, and Tencent COS
14820             \ "s3"
14821          [snip]
14822          Storage> s3
14823
14824       4. Select TencentCOS provider.
14825
14826          Choose a number from below, or type in your own value
14827          1 / Amazon Web Services (AWS) S3
14828             \ "AWS"
14829          [snip]
14830          11 / Tencent Cloud Object Storage (COS)
14831             \ "TencentCOS"
14832          [snip]
14833          provider> TencentCOS
14834
14835       5. Enter your SecretId and SecretKey of Tencent Cloud.
14836
14837          Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars).
14838          Only applies if access_key_id and secret_access_key is blank.
14839          Enter a boolean value (true or false). Press Enter for the default ("false").
14840          Choose a number from below, or type in your own value
14841           1 / Enter AWS credentials in the next step
14842             \ "false"
14843           2 / Get AWS credentials from the environment (env vars or IAM)
14844             \ "true"
14845          env_auth> 1
14846          AWS Access Key ID.
14847          Leave blank for anonymous access or runtime credentials.
14848          Enter a string value. Press Enter for the default ("").
14849          access_key_id> AKIDxxxxxxxxxx
14850          AWS Secret Access Key (password)
14851          Leave blank for anonymous access or runtime credentials.
14852          Enter a string value. Press Enter for the default ("").
14853          secret_access_key> xxxxxxxxxxx
14854
14855       6. Select endpoint for Tencent COS.  This is the standard endpoint  for
14856          different region.
14857
14858           1 / Beijing Region.
14859             \ "cos.ap-beijing.myqcloud.com"
14860           2 / Nanjing Region.
14861             \ "cos.ap-nanjing.myqcloud.com"
14862           3 / Shanghai Region.
14863             \ "cos.ap-shanghai.myqcloud.com"
14864           4 / Guangzhou Region.
14865             \ "cos.ap-guangzhou.myqcloud.com"
14866          [snip]
14867          endpoint> 4
14868
14869       7. Choose acl and storage class.
14870
14871          Note that this ACL is applied when server-side copying objects as S3
14872          doesn't copy the ACL from the source but rather writes a fresh one.
14873          Enter a string value. Press Enter for the default ("").
14874          Choose a number from below, or type in your own value
14875           1 / Owner gets Full_CONTROL. No one else has access rights (default).
14876             \ "default"
14877          [snip]
14878          acl> 1
14879          The storage class to use when storing new objects in Tencent COS.
14880          Enter a string value. Press Enter for the default ("").
14881          Choose a number from below, or type in your own value
14882           1 / Default
14883             \ ""
14884          [snip]
14885          storage_class> 1
14886          Edit advanced config? (y/n)
14887          y) Yes
14888          n) No (default)
14889          y/n> n
14890          Remote config
14891          --------------------
14892          [cos]
14893          type = s3
14894          provider = TencentCOS
14895          env_auth = false
14896          access_key_id = xxx
14897          secret_access_key = xxx
14898          endpoint = cos.ap-guangzhou.myqcloud.com
14899          acl = default
14900          --------------------
14901          y) Yes this is OK (default)
14902          e) Edit this remote
14903          d) Delete this remote
14904          y/e/d> y
14905          Current remotes:
14906
14907          Name                 Type
14908          ====                 ====
14909          cos                  s3
14910
14911   Netease NOS
14912       For Netease NOS configure as per the configurator rclone config setting
14913       the provider Netease.  This will automatically set  force_path_style  =
14914       false which is necessary for it to run properly.
14915
14916   Limitations
14917       rclone about is not supported by the S3 backend.  Backends without this
14918       capability cannot determine free space for an rclone mount or use poli‐
14919       cy mfs (most free space) as a member of an rclone union remote.
14920
14921       See   List   of   backends   that   do   not   support   rclone   about
14922       (https://rclone.org/overview/#optional-features)   See   rclone   about
14923       (https://rclone.org/commands/rclone_about/)
14924
14925   Backblaze B2
14926       B2 is Backblaze's cloud storage system (https://www.backblaze.com/b2/).
14927
14928       Paths  are specified as remote:bucket (or remote: for the lsd command.)
14929       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
14930
14931       Here is an example of making a b2 configuration.  First run
14932
14933              rclone config
14934
14935       This will guide you through an interactive setup process.  To authenti‐
14936       cate you will either need your Account ID (a short hex number) and Mas‐
14937       ter Application Key (a long hex number) OR an Application Key, which is
14938       the  recommended  method.   See below for further details on generating
14939       and using an Application Key.
14940
14941              No remotes found - make a new one
14942              n) New remote
14943              q) Quit config
14944              n/q> n
14945              name> remote
14946              Type of storage to configure.
14947              Choose a number from below, or type in your own value
14948              [snip]
14949              XX / Backblaze B2
14950                 \ "b2"
14951              [snip]
14952              Storage> b2
14953              Account ID or Application Key ID
14954              account> 123456789abc
14955              Application Key
14956              key> 0123456789abcdef0123456789abcdef0123456789
14957              Endpoint for the service - leave blank normally.
14958              endpoint>
14959              Remote config
14960              --------------------
14961              [remote]
14962              account = 123456789abc
14963              key = 0123456789abcdef0123456789abcdef0123456789
14964              endpoint =
14965              --------------------
14966              y) Yes this is OK
14967              e) Edit this remote
14968              d) Delete this remote
14969              y/e/d> y
14970
14971       This remote is called remote and can now be used like this
14972
14973       See all buckets
14974
14975              rclone lsd remote:
14976
14977       Create a new bucket
14978
14979              rclone mkdir remote:bucket
14980
14981       List the contents of a bucket
14982
14983              rclone ls remote:bucket
14984
14985       Sync /home/local/directory to the remote bucket,  deleting  any  excess
14986       files in the bucket.
14987
14988              rclone sync -i /home/local/directory remote:bucket
14989
14990   Application Keys
14991       B2  supports  multiple Application Keys for different access permission
14992       to     B2      Buckets      (https://www.backblaze.com/b2/docs/applica
14993       tion_keys.html).
14994
14995       You  can use these with rclone too; you will need to use rclone version
14996       1.43 or later.
14997
14998       Follow Backblaze's docs to create an Application Key with the  required
14999       permission and add the applicationKeyId as the account and the Applica‐
15000       tion Key itself as the key.
15001
15002       Note that you must put the applicationKeyId as the account – you  can't
15003       use the master Account ID.  If you try then B2 will return 401 errors.
15004
15005   --fast-list
15006       This remote supports --fast-list which allows you to use fewer transac‐
15007       tions  in  exchange   for   more   memory.    See   the   rclone   docs
15008       (https://rclone.org/docs/#fast-list) for more details.
15009
15010   Modified time
15011       The  modified  time  is  stored  as  metadata on the object as X-Bz-In‐
15012       fo-src_last_modified_millis as milliseconds  since  1970-01-01  in  the
15013       Backblaze  standard.  Other tools should be able to use this as a modi‐
15014       fied time.
15015
15016       Modified times are used in syncing and are fully supported.  Note  that
15017       if  a  modification  time needs to be updated on an object then it will
15018       create a new version of the object.
15019
15020   Restricted filename characters
15021       In   addition   to    the    default    restricted    characters    set
15022       (https://rclone.org/overview/#restricted-characters)    the   following
15023       characters are also replaced:
15024
15025       Character   Value   Replacement
15026       ────────────────────────────────
15027       \           0x5C        \
15028
15029       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
15030       view/#invalid-utf8), as they can't be used in JSON strings.
15031
15032       Note  that  in  2020-05  Backblaze started allowing  characters in file
15033       names.  Rclone hasn't changed its encoding as this could cause syncs to
15034       re-transfer  files.   If  you  want rclone not to replace  then see the
15035       --b2-encoding flag below and remove  the  BackSlash  from  the  string.
15036       This can be set in the config.
15037
15038   SHA1 checksums
15039       The  SHA1 checksums of the files are checked on upload and download and
15040       will be used in the syncing process.
15041
15042       Large files (bigger than the limit in --b2-upload-cutoff) which are up‐
15043       loaded  in  chunks  will  store  their  SHA1  on the object as X-Bz-In‐
15044       fo-large_file_sha1 as recommended by Backblaze.
15045
15046       For a large file to be uploaded with an SHA1 checksum, the source needs
15047       to  support  SHA1 checksums.  The local disk supports SHA1 checksums so
15048       large file transfers from local disk will have an SHA1.  See the  over‐
15049       view  (https://rclone.org/overview/#features) for exactly which remotes
15050       support SHA1.
15051
15052       Sources which don't support SHA1, in particular crypt will upload large
15053       files  without  SHA1  checksums.   This may be fixed in the future (see
15054       #1767 (https://github.com/rclone/rclone/issues/1767)).
15055
15056       Files sizes below --b2-upload-cutoff will always have an  SHA1  regard‐
15057       less of the source.
15058
15059   Transfers
15060       Backblaze  recommends  that you do lots of transfers simultaneously for
15061       maximum speed.  In tests from my SSD equipped laptop the  optimum  set‐
15062       ting  is  about  --transfers 32 though higher numbers may be used for a
15063       slight speed improvement.  The optimum number for you may vary  depend‐
15064       ing  on your hardware, how big the files are, how much you want to load
15065       your computer, etc.  The default of --transfers 4 is definitely too low
15066       for Backblaze B2 though.
15067
15068       Note  that uploading big files (bigger than 200 MB by default) will use
15069       a 96 MB RAM buffer by default.  There can be  at  most  --transfers  of
15070       these  in use at any moment, so this sets the upper limit on the memory
15071       used.
15072
15073   Versions
15074       When rclone uploads a new version of a file it creates a new version of
15075       it   (https://www.backblaze.com/b2/docs/file_versions.html).   Likewise
15076       when you delete a file, the old version will be marked hidden and still
15077       be  available.   Conversely, you may opt in to a "hard delete" of files
15078       with the --b2-hard-delete flag which would permanently remove the  file
15079       instead of hiding it.
15080
15081       Old versions of files, where available, are visible using the --b2-ver‐
15082       sions flag.
15083
15084       NB Note that --b2-versions does not work with crypt at the moment #1627
15085       (https://github.com/rclone/rclone/issues/1627).    Using   --backup-dir
15086       (https://rclone.org/docs/#backup-dir-dir) with rclone is the recommend‐
15087       ed way of working around this.
15088
15089       If  you wish to remove all the old versions then you can use the rclone
15090       cleanup remote:bucket command which will delete all the old versions of
15091       files, leaving the current ones intact.  You can also supply a path and
15092       only old versions under that path will be deleted, e.g.  rclone cleanup
15093       remote:bucket/path/to/stuff.
15094
15095       Note  that cleanup will remove partially uploaded files from the bucket
15096       if they are more than a day old.
15097
15098       When you purge a bucket, the current  and  the  old  versions  will  be
15099       deleted then the bucket will be deleted.
15100
15101       However  delete  will cause the current versions of the files to become
15102       hidden old versions.
15103
15104       Here is a session showing the listing and retrieval of an  old  version
15105       followed by a cleanup of the old versions.
15106
15107       Show current version and all the versions with --b2-versions flag.
15108
15109              $ rclone -q ls b2:cleanup-test
15110                      9 one.txt
15111
15112              $ rclone -q --b2-versions ls b2:cleanup-test
15113                      9 one.txt
15114                      8 one-v2016-07-04-141032-000.txt
15115                     16 one-v2016-07-04-141003-000.txt
15116                     15 one-v2016-07-02-155621-000.txt
15117
15118       Retrieve an old version
15119
15120              $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp
15121
15122              $ ls -l /tmp/one-v2016-07-04-141003-000.txt
15123              -rw-rw-r-- 1 ncw ncw 16 Jul  2 17:46 /tmp/one-v2016-07-04-141003-000.txt
15124
15125       Clean up all the old versions and show that they've gone.
15126
15127              $ rclone -q cleanup b2:cleanup-test
15128
15129              $ rclone -q ls b2:cleanup-test
15130                      9 one.txt
15131
15132              $ rclone -q --b2-versions ls b2:cleanup-test
15133                      9 one.txt
15134
15135   Data usage
15136       It  is  useful to know how many requests are sent to the server in dif‐
15137       ferent scenarios.
15138
15139       All copy commands send the following 4 requests:
15140
15141              /b2api/v1/b2_authorize_account
15142              /b2api/v1/b2_create_bucket
15143              /b2api/v1/b2_list_buckets
15144              /b2api/v1/b2_list_file_names
15145
15146       The b2_list_file_names request will be sent once for every 1k files  in
15147       the  remote  path,  providing the checksum and modification time of the
15148       listed    files.      As     of     version     1.33     issue     #818
15149       (https://github.com/rclone/rclone/issues/818)  causes extra requests to
15150       be sent when using B2 with Crypt.  When a copy operation does  not  re‐
15151       quire any files to be uploaded, no more requests will be sent.
15152
15153       Uploading  files that do not require chunking, will send 2 requests per
15154       file upload:
15155
15156              /b2api/v1/b2_get_upload_url
15157              /b2api/v1/b2_upload_file/
15158
15159       Uploading files requiring chunking, will send 2 requests (one  each  to
15160       start and finish the upload) and another 2 requests for each chunk:
15161
15162              /b2api/v1/b2_start_large_file
15163              /b2api/v1/b2_get_upload_part_url
15164              /b2api/v1/b2_upload_part/
15165              /b2api/v1/b2_finish_large_file
15166
15167   Versions
15168       Versions  can  be  viewed  with the --b2-versions flag.  When it is set
15169       rclone will show and act on older versions of files.  For example
15170
15171       Listing without --b2-versions
15172
15173              $ rclone -q ls b2:cleanup-test
15174                      9 one.txt
15175
15176       And with
15177
15178              $ rclone -q --b2-versions ls b2:cleanup-test
15179                      9 one.txt
15180                      8 one-v2016-07-04-141032-000.txt
15181                     16 one-v2016-07-04-141003-000.txt
15182                     15 one-v2016-07-02-155621-000.txt
15183
15184       Showing that the current version is unchanged but older versions can be
15185       seen.  These have the UTC date that they were uploaded to the server to
15186       the nearest millisecond appended to them.
15187
15188       Note that when using --b2-versions no file write operations are permit‐
15189       ted, so you can't upload files or delete them.
15190
15191   B2 and rclone link
15192       Rclone  supports  generating  file  share links for private B2 buckets.
15193       They can either be for a file for example:
15194
15195              ./rclone link B2:bucket/path/to/file.txt
15196              https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx
15197
15198       or if run on a directory you will get:
15199
15200              ./rclone link B2:bucket/path
15201              https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx
15202
15203       you can then use the authorization token (the part of the url from  the
15204       ?Authorization=  on)  on any file path under that directory.  For exam‐
15205       ple:
15206
15207              https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx
15208              https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx
15209              https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx
15210
15211   Standard Options
15212       Here are the standard options specific to b2 (Backblaze B2).
15213
15214   --b2-account
15215       Account ID or Application Key ID
15216
15217       · Config: account
15218
15219       · Env Var: RCLONE_B2_ACCOUNT
15220
15221       · Type: string
15222
15223       · Default: ""
15224
15225   --b2-key
15226       Application Key
15227
15228       · Config: key
15229
15230       · Env Var: RCLONE_B2_KEY
15231
15232       · Type: string
15233
15234       · Default: ""
15235
15236   --b2-hard-delete
15237       Permanently delete files on remote removal, otherwise hide files.
15238
15239       · Config: hard_delete
15240
15241       · Env Var: RCLONE_B2_HARD_DELETE
15242
15243       · Type: bool
15244
15245       · Default: false
15246
15247   Advanced Options
15248       Here are the advanced options specific to b2 (Backblaze B2).
15249
15250   --b2-endpoint
15251       Endpoint for the service.  Leave blank normally.
15252
15253       · Config: endpoint
15254
15255       · Env Var: RCLONE_B2_ENDPOINT
15256
15257       · Type: string
15258
15259       · Default: ""
15260
15261   --b2-test-mode
15262       A flag string for X-Bz-Test-Mode header for debugging.
15263
15264       This is for debugging purposes only.  Setting it to one of the  strings
15265       below will cause b2 to return specific errors:
15266
15267       · "fail_some_uploads"
15268
15269       · "expire_some_account_authorization_tokens"
15270
15271       · "force_cap_exceeded"
15272
15273       These will be set in the "X-Bz-Test-Mode" header which is documented in
15274       the b2 integrations checklist  (https://www.backblaze.com/b2/docs/inte
15275       gration_checklist.html).
15276
15277       · Config: test_mode
15278
15279       · Env Var: RCLONE_B2_TEST_MODE
15280
15281       · Type: string
15282
15283       · Default: ""
15284
15285   --b2-versions
15286       Include  old versions in directory listings.  Note that when using this
15287       no file write operations are permitted, so you can't  upload  files  or
15288       delete them.
15289
15290       · Config: versions
15291
15292       · Env Var: RCLONE_B2_VERSIONS
15293
15294       · Type: bool
15295
15296       · Default: false
15297
15298   --b2-upload-cutoff
15299       Cutoff for switching to chunked upload.
15300
15301       Files above this size will be uploaded in chunks of "--b2-chunk-size".
15302
15303       This value should be set no larger than 4.657GiB (== 5GB).
15304
15305       · Config: upload_cutoff
15306
15307       · Env Var: RCLONE_B2_UPLOAD_CUTOFF
15308
15309       · Type: SizeSuffix
15310
15311       · Default: 200M
15312
15313   --b2-copy-cutoff
15314       Cutoff for switching to multipart copy
15315
15316       Any  files  larger than this that need to be server-side copied will be
15317       copied in chunks of this size.
15318
15319       The minimum is 0 and the maximum is 4.6GB.
15320
15321       · Config: copy_cutoff
15322
15323       · Env Var: RCLONE_B2_COPY_CUTOFF
15324
15325       · Type: SizeSuffix
15326
15327       · Default: 4G
15328
15329   --b2-chunk-size
15330       Upload chunk size.  Must fit in memory.
15331
15332       When uploading large files, chunk the file into this size.   Note  that
15333       these  chunks  are  buffered  in  memory  and  there might a maximum of
15334       "--transfers" chunks in progress at once.  5,000,000 Bytes is the mini‐
15335       mum size.
15336
15337       · Config: chunk_size
15338
15339       · Env Var: RCLONE_B2_CHUNK_SIZE
15340
15341       · Type: SizeSuffix
15342
15343       · Default: 96M
15344
15345   --b2-disable-checksum
15346       Disable checksums for large (> upload cutoff) files
15347
15348       Normally  rclone  will  calculate the SHA1 checksum of the input before
15349       uploading it so it can add it to metadata on the object.  This is great
15350       for  data  integrity checking but can cause long delays for large files
15351       to start uploading.
15352
15353       · Config: disable_checksum
15354
15355       · Env Var: RCLONE_B2_DISABLE_CHECKSUM
15356
15357       · Type: bool
15358
15359       · Default: false
15360
15361   --b2-download-url
15362       Custom endpoint for downloads.
15363
15364       This is usually set to a Cloudflare CDN URL as  Backblaze  offers  free
15365       egress  for  data  downloaded  through  the Cloudflare network.  Rclone
15366       works with private buckets by sending an  "Authorization"  header.   If
15367       the  custom endpoint rewrites the requests for authentication, e.g., in
15368       Cloudflare Workers, this header needs to be  handled  properly.   Leave
15369       blank if you want to use the endpoint provided by Backblaze.
15370
15371       · Config: download_url
15372
15373       · Env Var: RCLONE_B2_DOWNLOAD_URL
15374
15375       · Type: string
15376
15377       · Default: ""
15378
15379   --b2-download-auth-duration
15380       Time  before  the  authorization  token  will  expire  in  s  or suffix
15381       ms|s|m|h|d.
15382
15383       The duration before the download authorization token will expire.   The
15384       minimum value is 1 second.  The maximum value is one week.
15385
15386       · Config: download_auth_duration
15387
15388       · Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION
15389
15390       · Type: Duration
15391
15392       · Default: 1w
15393
15394   --b2-memory-pool-flush-time
15395       How  often internal memory buffer pools will be flushed.  Uploads which
15396       requires additional buffers (f.e multipart) will use  memory  pool  for
15397       allocations.  This option controls how often unused buffers will be re‐
15398       moved from the pool.
15399
15400       · Config: memory_pool_flush_time
15401
15402       · Env Var: RCLONE_B2_MEMORY_POOL_FLUSH_TIME
15403
15404       · Type: Duration
15405
15406       · Default: 1m0s
15407
15408   --b2-memory-pool-use-mmap
15409       Whether to use mmap buffers in internal memory pool.
15410
15411       · Config: memory_pool_use_mmap
15412
15413       · Env Var: RCLONE_B2_MEMORY_POOL_USE_MMAP
15414
15415       · Type: bool
15416
15417       · Default: false
15418
15419   --b2-encoding
15420       This sets the encoding for the backend.
15421
15422       See: the encoding section  in  the  overview  (https://rclone.org/over
15423       view/#encoding) for more info.
15424
15425       · Config: encoding
15426
15427       · Env Var: RCLONE_B2_ENCODING
15428
15429       · Type: MultiEncoder
15430
15431       · Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
15432
15433   Limitations
15434       rclone about is not supported by the B2 backend.  Backends without this
15435       capability cannot determine free space for an rclone mount or use poli‐
15436       cy mfs (most free space) as a member of an rclone union remote.
15437
15438       See   List   of   backends   that   do   not   support   rclone   about
15439       (https://rclone.org/overview/#optional-features)   See   rclone   about
15440       (https://rclone.org/commands/rclone_about/)
15441
15442   Box
15443       Paths are specified as remote:path
15444
15445       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
15446
15447       The  initial  setup for Box involves getting a token from Box which you
15448       can do either in your browser, or with a  config.json  downloaded  from
15449       Box to use JWT authentication.  rclone config walks you through it.
15450
15451       Here is an example of how to make a remote called remote.  First run:
15452
15453               rclone config
15454
15455       This will guide you through an interactive setup process:
15456
15457              No remotes found - make a new one
15458              n) New remote
15459              s) Set configuration password
15460              q) Quit config
15461              n/s/q> n
15462              name> remote
15463              Type of storage to configure.
15464              Choose a number from below, or type in your own value
15465              [snip]
15466              XX / Box
15467                 \ "box"
15468              [snip]
15469              Storage> box
15470              Box App Client Id - leave blank normally.
15471              client_id>
15472              Box App Client Secret - leave blank normally.
15473              client_secret>
15474              Box App config.json location
15475              Leave blank normally.
15476              Enter a string value. Press Enter for the default ("").
15477              box_config_file>
15478              Box App Primary Access Token
15479              Leave blank normally.
15480              Enter a string value. Press Enter for the default ("").
15481              access_token>
15482
15483              Enter a string value. Press Enter for the default ("user").
15484              Choose a number from below, or type in your own value
15485               1 / Rclone should act on behalf of a user
15486                 \ "user"
15487               2 / Rclone should act on behalf of a service account
15488                 \ "enterprise"
15489              box_sub_type>
15490              Remote config
15491              Use auto config?
15492               * Say Y if not sure
15493               * Say N if you are working on a remote or headless machine
15494              y) Yes
15495              n) No
15496              y/n> y
15497              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
15498              Log in and authorize rclone for access
15499              Waiting for code...
15500              Got code
15501              --------------------
15502              [remote]
15503              client_id =
15504              client_secret =
15505              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"XXX"}
15506              --------------------
15507              y) Yes this is OK
15508              e) Edit this remote
15509              d) Delete this remote
15510              y/e/d> y
15511
15512       See the remote setup docs (https://rclone.org/remote_setup/) for how to
15513       set it up on a machine with no Internet browser available.
15514
15515       Note that rclone runs a webserver on your local machine to collect  the
15516       token  as  returned  from Box.  This only runs from the moment it opens
15517       your browser to the moment you get back the verification code.  This is
15518       on  http://127.0.0.1:53682/  and  this it may require you to unblock it
15519       temporarily if you are running a host firewall.
15520
15521       Once configured you can then use rclone like this,
15522
15523       List directories in top level of your Box
15524
15525              rclone lsd remote:
15526
15527       List all the files in your Box
15528
15529              rclone ls remote:
15530
15531       To copy a local directory to an Box directory called backup
15532
15533              rclone copy /home/source remote:backup
15534
15535   Using rclone with an Enterprise account with SSO
15536       If you have an "Enterprise" account type with Box with single  sign  on
15537       (SSO),  you need to create a password to use Box with rclone.  This can
15538       be done at your Enterprise Box account by going to Settings,  "Account"
15539       Tab, and then set the password in the "Authentication" field.
15540
15541       Once  you have done this, you can setup your Enterprise Box account us‐
15542       ing the same procedure detailed above in the, using  the  password  you
15543       have just set.
15544
15545   Invalid refresh token
15546       According       to       the       box      docs      (https://develop
15547       er.box.com/v2.0/docs/oauth-20#section-6-using-the-access-and-refresh-
15548       tokens):
15549
15550              Each refresh_token is valid for one use in 60 days.
15551
15552       This means that if you
15553
15554       · Don't use the box remote for 60 days
15555
15556       · Copy  the  config  file with a box refresh token in and use it in two
15557         places
15558
15559       · Get an error on a token refresh
15560
15561       then rclone will return an error which includes the  text  Invalid  re‐
15562       fresh token.
15563
15564       To fix this you will need to use oauth2 again to update the refresh to‐
15565       ken.   You  can  use   the   methods   in   the   remote   setup   docs
15566       (https://rclone.org/remote_setup/), bearing in mind that if you use the
15567       copy the config file method, you should not use that remote on the com‐
15568       puter you did the authentication on.
15569
15570       Here is how to do it.
15571
15572              $ rclone config
15573              Current remotes:
15574
15575              Name                 Type
15576              ====                 ====
15577              remote               box
15578
15579              e) Edit existing remote
15580              n) New remote
15581              d) Delete remote
15582              r) Rename remote
15583              c) Copy remote
15584              s) Set configuration password
15585              q) Quit config
15586              e/n/d/r/c/s/q> e
15587              Choose a number from below, or type in an existing value
15588               1 > remote
15589              remote> remote
15590              --------------------
15591              [remote]
15592              type = box
15593              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2017-07-08T23:40:08.059167677+01:00"}
15594              --------------------
15595              Edit remote
15596              Value "client_id" = ""
15597              Edit? (y/n)>
15598              y) Yes
15599              n) No
15600              y/n> n
15601              Value "client_secret" = ""
15602              Edit? (y/n)>
15603              y) Yes
15604              n) No
15605              y/n> n
15606              Remote config
15607              Already have a token - refresh?
15608              y) Yes
15609              n) No
15610              y/n> y
15611              Use auto config?
15612               * Say Y if not sure
15613               * Say N if you are working on a remote or headless machine
15614              y) Yes
15615              n) No
15616              y/n> y
15617              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
15618              Log in and authorize rclone for access
15619              Waiting for code...
15620              Got code
15621              --------------------
15622              [remote]
15623              type = box
15624              token = {"access_token":"YYY","token_type":"bearer","refresh_token":"YYY","expiry":"2017-07-23T12:22:29.259137901+01:00"}
15625              --------------------
15626              y) Yes this is OK
15627              e) Edit this remote
15628              d) Delete this remote
15629              y/e/d> y
15630
15631   Modified time and hashes
15632       Box  allows  modification times to be set on objects accurate to 1 sec‐
15633       ond.  These will be used to detect whether objects need syncing or not.
15634
15635       Box supports SHA1 type hashes, so you can use the --checksum flag.
15636
15637   Restricted filename characters
15638       In   addition   to    the    default    restricted    characters    set
15639       (https://rclone.org/overview/#restricted-characters)    the   following
15640       characters are also replaced:
15641
15642       Character   Value   Replacement
15643       ────────────────────────────────
15644       \           0x5C        \
15645
15646       File names can also not end with the following characters.  These  only
15647       get replaced if they are the last character in the name:
15648
15649       Character   Value   Replacement
15650       ────────────────────────────────
15651       SP          0x20         ␠
15652
15653       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
15654       view/#invalid-utf8), as they can't be used in JSON strings.
15655
15656   Transfers
15657       For files above 50MB rclone will use a chunked transfer.   Rclone  will
15658       upload  up to --transfers chunks at the same time (shared among all the
15659       multipart uploads).  Chunks are buffered in memory and are normally 8MB
15660       so increasing --transfers will increase memory use.
15661
15662   Deleting files
15663       Depending  on  the enterprise settings for your user, the item will ei‐
15664       ther be actually deleted from Box or moved to the trash.
15665
15666       Emptying the trash is supported via the rclone however cleanup  command
15667       however  this  deletes every trashed file and folder individually so it
15668       may take a very long time.  Emptying the trash via the WebUI  does  not
15669       have this limitation so it is advised to empty the trash via the WebUI.
15670
15671   Root folder ID
15672       You  can  set  the  root_folder_id  for  rclone.  This is the directory
15673       (identified by its Folder ID) that rclone considers to be the  root  of
15674       your Box drive.
15675
15676       Normally  you  will leave this blank and rclone will determine the cor‐
15677       rect root to use itself.
15678
15679       However you can set this to restrict rclone to a specific folder  hier‐
15680       archy.
15681
15682       In order to do this you will have to find the Folder ID of the directo‐
15683       ry you wish rclone to display.  This will be the last  segment  of  the
15684       URL when you open the relevant folder in the Box web interface.
15685
15686       So  if  the  folder  you  want rclone to use has a URL which looks like
15687       https://app.box.com/folder/11xxxxxxxxx8 in the browser,  then  you  use
15688       11xxxxxxxxx8 as the root_folder_id in the config.
15689
15690   Standard Options
15691       Here are the standard options specific to box (Box).
15692
15693   --box-client-id
15694       OAuth Client Id Leave blank normally.
15695
15696       · Config: client_id
15697
15698       · Env Var: RCLONE_BOX_CLIENT_ID
15699
15700       · Type: string
15701
15702       · Default: ""
15703
15704   --box-client-secret
15705       OAuth Client Secret Leave blank normally.
15706
15707       · Config: client_secret
15708
15709       · Env Var: RCLONE_BOX_CLIENT_SECRET
15710
15711       · Type: string
15712
15713       · Default: ""
15714
15715   --box-box-config-file
15716       Box App config.json location Leave blank normally.
15717
15718       Leading  ~  will be expanded in the file name as will environment vari‐
15719       ables such as ${RCLONE_CONFIG_DIR}.
15720
15721       · Config: box_config_file
15722
15723       · Env Var: RCLONE_BOX_BOX_CONFIG_FILE
15724
15725       · Type: string
15726
15727       · Default: ""
15728
15729   --box-access-token
15730       Box App Primary Access Token Leave blank normally.
15731
15732       · Config: access_token
15733
15734       · Env Var: RCLONE_BOX_ACCESS_TOKEN
15735
15736       · Type: string
15737
15738       · Default: ""
15739
15740   --box-box-sub-type
15741       · Config: box_sub_type
15742
15743       · Env Var: RCLONE_BOX_BOX_SUB_TYPE
15744
15745       · Type: string
15746
15747       · Default: "user"
15748
15749       · Examples:
15750
15751         · "user"
15752
15753           · Rclone should act on behalf of a user
15754
15755         · "enterprise"
15756
15757           · Rclone should act on behalf of a service account
15758
15759   Advanced Options
15760       Here are the advanced options specific to box (Box).
15761
15762   --box-token
15763       OAuth Access Token as a JSON blob.
15764
15765       · Config: token
15766
15767       · Env Var: RCLONE_BOX_TOKEN
15768
15769       · Type: string
15770
15771       · Default: ""
15772
15773   --box-auth-url
15774       Auth server URL.  Leave blank to use the provider defaults.
15775
15776       · Config: auth_url
15777
15778       · Env Var: RCLONE_BOX_AUTH_URL
15779
15780       · Type: string
15781
15782       · Default: ""
15783
15784   --box-token-url
15785       Token server url.  Leave blank to use the provider defaults.
15786
15787       · Config: token_url
15788
15789       · Env Var: RCLONE_BOX_TOKEN_URL
15790
15791       · Type: string
15792
15793       · Default: ""
15794
15795   --box-root-folder-id
15796       Fill in for rclone to use a non root folder as its starting point.
15797
15798       · Config: root_folder_id
15799
15800       · Env Var: RCLONE_BOX_ROOT_FOLDER_ID
15801
15802       · Type: string
15803
15804       · Default: "0"
15805
15806   --box-upload-cutoff
15807       Cutoff for switching to multipart upload (>= 50MB).
15808
15809       · Config: upload_cutoff
15810
15811       · Env Var: RCLONE_BOX_UPLOAD_CUTOFF
15812
15813       · Type: SizeSuffix
15814
15815       · Default: 50M
15816
15817   --box-commit-retries
15818       Max number of times to try committing a multipart file.
15819
15820       · Config: commit_retries
15821
15822       · Env Var: RCLONE_BOX_COMMIT_RETRIES
15823
15824       · Type: int
15825
15826       · Default: 100
15827
15828   --box-encoding
15829       This sets the encoding for the backend.
15830
15831       See: the encoding section  in  the  overview  (https://rclone.org/over
15832       view/#encoding) for more info.
15833
15834       · Config: encoding
15835
15836       · Env Var: RCLONE_BOX_ENCODING
15837
15838       · Type: MultiEncoder
15839
15840       · Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot
15841
15842   Limitations
15843       Note that Box is case insensitive so you can't have a file called "Hel‐
15844       lo.doc" and one called "hello.doc".
15845
15846       Box file names can't have the \ character in.  rclone maps this to  and
15847       from  an  identical looking unicode equivalent \ (U+FF3C Fullwidth Re‐
15848       verse Solidus).
15849
15850       Box only supports filenames up to 255 characters in length.
15851
15852       rclone about is not supported by the  Box  backend.   Backends  without
15853       this  capability cannot determine free space for an rclone mount or use
15854       policy mfs (most free space) as a member of an rclone union remote.
15855
15856       See   List   of   backends   that   do   not   support   rclone   about
15857       (https://rclone.org/overview/#optional-features)   See   rclone   about
15858       (https://rclone.org/commands/rclone_about/)
15859
15860   Cache (BETA)
15861       The cache remote wraps another existing remote and stores  file  struc‐
15862       ture and its data for long running tasks like rclone mount.
15863
15864   Status
15865       The cache backend code is working but it currently doesn't have a main‐
15866       tainer        so        there        are        outstanding        bugs
15867       (https://github.com/rclone/rclone/issues?q=is%3Aopen+is%3Aissue+la‐
15868       bel%3Abug+label%3A%22Remote%3A+Cache%22) which aren't getting fixed.
15869
15870       The cache backend is due to be phased out in favour of the VFS  caching
15871       layer eventually which is more tightly integrated into rclone.
15872
15873       Until  this  happens  we  recommend only using the cache backend if you
15874       find you can't work without it.  There are many docs online  describing
15875       the  use  of  the  cache  backend to minimize API hits and by-and-large
15876       these are out of date and the cache backend isn't needed in those  sce‐
15877       narios any more.
15878
15879   Setup
15880       To  get  started  you just need to have an existing remote which can be
15881       configured with cache.
15882
15883       Here is an example of how to make a remote  called  test-cache.   First
15884       run:
15885
15886               rclone config
15887
15888       This will guide you through an interactive setup process:
15889
15890              No remotes found - make a new one
15891              n) New remote
15892              r) Rename remote
15893              c) Copy remote
15894              s) Set configuration password
15895              q) Quit config
15896              n/r/c/s/q> n
15897              name> test-cache
15898              Type of storage to configure.
15899              Choose a number from below, or type in your own value
15900              [snip]
15901              XX / Cache a remote
15902                 \ "cache"
15903              [snip]
15904              Storage> cache
15905              Remote to cache.
15906              Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
15907              "myremote:bucket" or maybe "myremote:" (not recommended).
15908              remote> local:/test
15909              Optional: The URL of the Plex server
15910              plex_url> http://127.0.0.1:32400
15911              Optional: The username of the Plex user
15912              plex_username> dummyusername
15913              Optional: The password of the Plex user
15914              y) Yes type in my own password
15915              g) Generate random password
15916              n) No leave this optional password blank
15917              y/g/n> y
15918              Enter the password:
15919              password:
15920              Confirm the password:
15921              password:
15922              The size of a chunk. Lower value good for slow connections but can affect seamless reading.
15923              Default: 5M
15924              Choose a number from below, or type in your own value
15925               1 / 1MB
15926                 \ "1m"
15927               2 / 5 MB
15928                 \ "5M"
15929               3 / 10 MB
15930                 \ "10M"
15931              chunk_size> 2
15932              How much time should object info (file size, file hashes, etc.) be stored in cache. Use a very high value if you don't plan on changing the source FS from outside the cache.
15933              Accepted units are: "s", "m", "h".
15934              Default: 5m
15935              Choose a number from below, or type in your own value
15936               1 / 1 hour
15937                 \ "1h"
15938               2 / 24 hours
15939                 \ "24h"
15940               3 / 24 hours
15941                 \ "48h"
15942              info_age> 2
15943              The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted.
15944              Default: 10G
15945              Choose a number from below, or type in your own value
15946               1 / 500 MB
15947                 \ "500M"
15948               2 / 1 GB
15949                 \ "1G"
15950               3 / 10 GB
15951                 \ "10G"
15952              chunk_total_size> 3
15953              Remote config
15954              --------------------
15955              [test-cache]
15956              remote = local:/test
15957              plex_url = http://127.0.0.1:32400
15958              plex_username = dummyusername
15959              plex_password = *** ENCRYPTED ***
15960              chunk_size = 5M
15961              info_age = 48h
15962              chunk_total_size = 10G
15963
15964       You can then use it like this,
15965
15966       List directories in top level of your drive
15967
15968              rclone lsd test-cache:
15969
15970       List all the files in your drive
15971
15972              rclone ls test-cache:
15973
15974       To start a cached mount
15975
15976              rclone mount --allow-other test-cache: /var/tmp/test-cache
15977
15978   Write Features
15979   Offline uploading
15980       In  an  effort to make writing through cache more reliable, the backend
15981       now supports this feature  which  can  be  activated  by  specifying  a
15982       cache-tmp-upload-path.
15983
15984       A files goes through these states when using this feature:
15985
15986       1. An upload is started (usually by copying a file on the cache remote)
15987
15988       2. When the copy to the temporary location is complete the file is part
15989          of the cached remote and looks  and  behaves  like  any  other  file
15990          (reading included)
15991
15992       3. After  cache-tmp-wait-time  passes  and  the  file  is next in line,
15993          rclone move is used to move the file to the cloud provider
15994
15995       4. Reading the file still works during the upload  but  most  modifica‐
15996          tions on it will be prohibited
15997
15998       5. Once  the move is complete the file is unlocked for modifications as
15999          it becomes as any other regular file
16000
16001       6. If the file is being read through cache when it's  actually  deleted
16002          from  the  temporary  path then cache will simply swap the source to
16003          the cloud provider without interrupting the reading (small blip  can
16004          happen though)
16005
16006       Files are uploaded in sequence and only one file is uploaded at a time.
16007       Uploads will be stored in a queue and be processed based on  the  order
16008       they  were  added.   The  queue and the temporary storage is persistent
16009       across restarts but can be cleared on startup with the --cache-db-purge
16010       flag.
16011
16012   Write Support
16013       Writes are supported through cache.  One caveat is that a mounted cache
16014       remote does not add any retry or fallback mechanism to the upload oper‐
16015       ation.   This  will depend on the implementation of the wrapped remote.
16016       Consider using Offline uploading for reliable writes.
16017
16018       One special case is covered with cache-writes which will cache the file
16019       data at the same time as the upload when it is enabled making it avail‐
16020       able from the cache store immediately once the upload is finished.
16021
16022   Read Features
16023   Multiple connections
16024       To counter the high latency between a local PC where rclone is  running
16025       and  cloud  providers,  the cache remote can split multiple requests to
16026       the cloud provider for smaller file chunks and combines  them  together
16027       locally where they can be available almost immediately before the read‐
16028       er usually needs them.
16029
16030       This is similar to  buffering  when  media  files  are  played  online.
16031       Rclone  will  stay around the current marker but always try its best to
16032       stay ahead and prepare the data before.
16033
16034   Plex Integration
16035       There is a direct integration with Plex which allows  cache  to  detect
16036       during  reading if the file is in playback or not.  This helps cache to
16037       adapt how it queries the cloud provider depending  on  what  is  needed
16038       for.
16039
16040       Scans  will  have  a minimum amount of workers (1) while in a confirmed
16041       playback cache will deploy the configured number of workers.
16042
16043       This integration opens the doorway to additional  performance  improve‐
16044       ments which will be explored in the near future.
16045
16046       Note:  If Plex options are not configured, cache will function with its
16047       configured options without adapting any of its settings.
16048
16049       How to enable?  Run rclone config and add all the  Plex  options  (end‐
16050       point,  username  and password) in your remote and it will be automati‐
16051       cally enabled.
16052
16053       Affected settings: - cache-workers: Configured value  during  confirmed
16054       playback or 1 all the other times
16055
16056   Certificate Validation
16057       When  the  Plex server is configured to only accept secure connections,
16058       it is possible to use .plex.direct URLs to ensure  certificate  valida‐
16059       tion  succeeds.   These  URLs are used by Plex internally to connect to
16060       the Plex server securely.
16061
16062       The format for these URLs is the following:
16063
16064       https://ip-with-dots-replaced.server-hash.plex.direct:32400/
16065
16066       The ip-with-dots-replaced part can be any IPv4 address, where the  dots
16067       have been replaced with dashes, e.g.  127.0.0.1 becomes 127-0-0-1.
16068
16069       To get the server-hash part, the easiest way is to visit
16070
16071       https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-to‐
16072       ken
16073
16074       This page will list all the available Plex  servers  for  your  account
16075       with at least one .plex.direct link for each.  Copy one URL and replace
16076       the IP address with the desired address.   This  can  be  used  as  the
16077       plex_url value.
16078
16079   Known issues
16080   Mount and --dir-cache-time
16081       --dir-cache-time  controls  the  first layer of directory caching which
16082       works at the mount layer.  Being an independent caching mechanism  from
16083       the  cache backend, it will manage its own entries based on the config‐
16084       ured time.
16085
16086       To avoid getting in a scenario where dir cache has  obsolete  data  and
16087       cache would have the correct one, try to set --dir-cache-time to a low‐
16088       er time than --cache-info-age.  Default values are  already  configured
16089       in this way.
16090
16091   Windows support - Experimental
16092       There  are  a  couple  of  issues with Windows mount functionality that
16093       still require some investigations.  It should be considered as  experi‐
16094       mental thus far as fixes come in for this OS.
16095
16096       Most  of  the  issues  seem  to  be  related  to the difference between
16097       filesystems on Linux flavors and Windows as cache is heavily  dependent
16098       on them.
16099
16100       Any  reports or feedback on how cache behaves on this OS is greatly ap‐
16101       preciated.
16102
16103       · https://github.com/rclone/rclone/issues/1935
16104
16105       · https://github.com/rclone/rclone/issues/1907
16106
16107       · https://github.com/rclone/rclone/issues/1834
16108
16109   Risk of throttling
16110       Future iterations of the cache backend will make  use  of  the  pooling
16111       functionality of the cloud provider to synchronize and at the same time
16112       make writing through it more tolerant to failures.
16113
16114       There are a couple of enhancements in track to add  these  but  in  the
16115       meantime  there is a valid concern that the expiring cache listings can
16116       lead to cloud provider throttles or bans due to repeated queries on  it
16117       for very large mounts.
16118
16119       Some  recommendations:  - don't use a very small interval for entry in‐
16120       formation (--cache-info-age) - while writes aren't yet  optimised,  you
16121       can  still  write through cache which gives you the advantage of adding
16122       the file in the cache at the same time if configured to do so.
16123
16124       Future enhancements:
16125
16126       · https://github.com/rclone/rclone/issues/1937
16127
16128       · https://github.com/rclone/rclone/issues/1936
16129
16130   cache and crypt
16131       One common scenario is  to  keep  your  data  encrypted  in  the  cloud
16132       provider  using  the  crypt  remote.  crypt uses a similar technique to
16133       wrap around an existing remote and handles this translation in a  seam‐
16134       less way.
16135
16136       There is an issue with wrapping the remotes in this order: cloud remote
16137       -> crypt -> cache
16138
16139       During testing, I experienced a lot of bans with the  remotes  in  this
16140       order.   I  suspect it might be related to how crypt opens files on the
16141       cloud provider which makes it think we're downloading the full file in‐
16142       stead  of  small  chunks.   Organizing the remotes in this order yields
16143       better results: cloud remote -> cache -> crypt
16144
16145   absolute remote paths
16146       cache can not differentiate between relative and absolute paths for the
16147       wrapped remote.  Any path given in the remote config setting and on the
16148       command line will be passed to the wrapped remote as is, but for  stor‐
16149       ing  the  chunks on disk the path will be made relative by removing any
16150       leading / character.
16151
16152       This behavior is irrelevant for most backend types, but there are back‐
16153       ends  where  a  leading / changes the effective directory, e.g.  in the
16154       sftp backend paths starting with a / are relative to the  root  of  the
16155       SSH  server  and paths without are relative to the user home directory.
16156       As a result sftp:bin and sftp:/bin will share the  same  cache  folder,
16157       even if they represent a different directory on the SSH server.
16158
16159   Cache and Remote Control (--rc)
16160       Cache supports the new --rc mode in rclone and can be remote controlled
16161       through the following end points: By default, the listener is  disabled
16162       if you do not add the flag.
16163
16164   rc cache/expire
16165       Purge  a remote from the cache backend.  Supports either a directory or
16166       a file.  It supports both encrypted and unencrypted file names if cache
16167       is wrapped by crypt.
16168
16169       Params: - remote = path to remote (required) - withData = true/false to
16170       delete cached data (chunks) as well (optional, false by default)
16171
16172   Standard Options
16173       Here are the standard options specific to cache (Cache a remote).
16174
16175   --cache-remote
16176       Remote to cache.  Normally should  contain  a  ':'  and  a  path,  e.g.
16177       "myremote:path/to/dir",  "myremote:bucket"  or  maybe  "myremote:" (not
16178       recommended).
16179
16180       · Config: remote
16181
16182       · Env Var: RCLONE_CACHE_REMOTE
16183
16184       · Type: string
16185
16186       · Default: ""
16187
16188   --cache-plex-url
16189       The URL of the Plex server
16190
16191       · Config: plex_url
16192
16193       · Env Var: RCLONE_CACHE_PLEX_URL
16194
16195       · Type: string
16196
16197       · Default: ""
16198
16199   --cache-plex-username
16200       The username of the Plex user
16201
16202       · Config: plex_username
16203
16204       · Env Var: RCLONE_CACHE_PLEX_USERNAME
16205
16206       · Type: string
16207
16208       · Default: ""
16209
16210   --cache-plex-password
16211       The password of the Plex user
16212
16213       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
16214       (https://rclone.org/commands/rclone_obscure/).
16215
16216       · Config: plex_password
16217
16218       · Env Var: RCLONE_CACHE_PLEX_PASSWORD
16219
16220       · Type: string
16221
16222       · Default: ""
16223
16224   --cache-chunk-size
16225       The size of a chunk (partial file data).
16226
16227       Use  lower  numbers  for  slower  connections.   If  the  chunk size is
16228       changed, any downloaded chunks will  be  invalid  and  cache-chunk-path
16229       will need to be cleared or unexpected EOF errors will occur.
16230
16231       · Config: chunk_size
16232
16233       · Env Var: RCLONE_CACHE_CHUNK_SIZE
16234
16235       · Type: SizeSuffix
16236
16237       · Default: 5M
16238
16239       · Examples:
16240
16241         · "1m"
16242
16243           · 1MB
16244
16245         · "5M"
16246
16247           · 5 MB
16248
16249         · "10M"
16250
16251           · 10 MB
16252
16253   --cache-info-age
16254       How  long to cache file structure information (directory listings, file
16255       size, times, etc.).  If all write operations are done through the cache
16256       then  you can safely make this value very large as the cache store will
16257       also be updated in real time.
16258
16259       · Config: info_age
16260
16261       · Env Var: RCLONE_CACHE_INFO_AGE
16262
16263       · Type: Duration
16264
16265       · Default: 6h0m0s
16266
16267       · Examples:
16268
16269         · "1h"
16270
16271           · 1 hour
16272
16273         · "24h"
16274
16275           · 24 hours
16276
16277         · "48h"
16278
16279           · 48 hours
16280
16281   --cache-chunk-total-size
16282       The total size that the chunks can take up on the local disk.
16283
16284       If the cache exceeds this value then it will start to delete the oldest
16285       chunks until it goes under this value.
16286
16287       · Config: chunk_total_size
16288
16289       · Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE
16290
16291       · Type: SizeSuffix
16292
16293       · Default: 10G
16294
16295       · Examples:
16296
16297         · "500M"
16298
16299           · 500 MB
16300
16301         · "1G"
16302
16303           · 1 GB
16304
16305         · "10G"
16306
16307           · 10 GB
16308
16309   Advanced Options
16310       Here are the advanced options specific to cache (Cache a remote).
16311
16312   --cache-plex-token
16313       The plex token for authentication - auto set normally
16314
16315       · Config: plex_token
16316
16317       · Env Var: RCLONE_CACHE_PLEX_TOKEN
16318
16319       · Type: string
16320
16321       · Default: ""
16322
16323   --cache-plex-insecure
16324       Skip all certificate verification when connecting to the Plex server
16325
16326       · Config: plex_insecure
16327
16328       · Env Var: RCLONE_CACHE_PLEX_INSECURE
16329
16330       · Type: string
16331
16332       · Default: ""
16333
16334   --cache-db-path
16335       Directory to store file structure metadata DB.  The remote name is used
16336       as the DB file name.
16337
16338       · Config: db_path
16339
16340       · Env Var: RCLONE_CACHE_DB_PATH
16341
16342       · Type: string
16343
16344       · Default: "$HOME/.cache/rclone/cache-backend"
16345
16346   --cache-chunk-path
16347       Directory to cache chunk files.
16348
16349       Path to where partial file data (chunks) are stored locally.   The  re‐
16350       mote name is appended to the final path.
16351
16352       This config follows the "--cache-db-path".  If you specify a custom lo‐
16353       cation   for   "--cache-db-path"   and   don't    specify    one    for
16354       "--cache-chunk-path"  then  "--cache-chunk-path" will use the same path
16355       as "--cache-db-path".
16356
16357       · Config: chunk_path
16358
16359       · Env Var: RCLONE_CACHE_CHUNK_PATH
16360
16361       · Type: string
16362
16363       · Default: "$HOME/.cache/rclone/cache-backend"
16364
16365   --cache-db-purge
16366       Clear all the cached data for this remote on start.
16367
16368       · Config: db_purge
16369
16370       · Env Var: RCLONE_CACHE_DB_PURGE
16371
16372       · Type: bool
16373
16374       · Default: false
16375
16376   --cache-chunk-clean-interval
16377       How often should the cache perform cleanups of the chunk storage.   The
16378       default value should be ok for most people.  If you find that the cache
16379       goes over "cache-chunk-total-size" too often then  try  to  lower  this
16380       value to force it to perform cleanups more often.
16381
16382       · Config: chunk_clean_interval
16383
16384       · Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL
16385
16386       · Type: Duration
16387
16388       · Default: 1m0s
16389
16390   --cache-read-retries
16391       How many times to retry a read from a cache storage.
16392
16393       Since  reading from a cache stream is independent from downloading file
16394       data, readers can get to a point where there's  no  more  data  in  the
16395       cache.   Most  of  the  times this can indicate a connectivity issue if
16396       cache isn't able to provide file data anymore.
16397
16398       For really slow connections, increase this to a point where the  stream
16399       is able to provide data but your experience will be very stuttering.
16400
16401       · Config: read_retries
16402
16403       · Env Var: RCLONE_CACHE_READ_RETRIES
16404
16405       · Type: int
16406
16407       · Default: 10
16408
16409   --cache-workers
16410       How many workers should run in parallel to download chunks.
16411
16412       Higher  values  will  mean more parallel processing (better CPU needed)
16413       and more concurrent requests on the cloud provider.  This impacts  sev‐
16414       eral  aspects  like  the  cloud provider API limits, more stress on the
16415       hardware that rclone runs on but it also means  that  streams  will  be
16416       more fluid and data will be available much more faster to readers.
16417
16418       Note:  If  the  optional  Plex integration is enabled then this setting
16419       will adapt to the type of reading performed  and  the  value  specified
16420       here will be used as a maximum number of workers to use.
16421
16422       · Config: workers
16423
16424       · Env Var: RCLONE_CACHE_WORKERS
16425
16426       · Type: int
16427
16428       · Default: 4
16429
16430   --cache-chunk-no-memory
16431       Disable the in-memory cache for storing chunks during streaming.
16432
16433       By  default,  cache will keep file data during streaming in RAM as well
16434       to provide it to readers as fast as possible.
16435
16436       This transient data is evicted as soon as it is read and the number  of
16437       chunks stored doesn't exceed the number of workers.  However, depending
16438       on other settings  like  "cache-chunk-size"  and  "cache-workers"  this
16439       footprint  can  increase  if  there  are parallel streams too (multiple
16440       files being read at the same time).
16441
16442       If the hardware permits it, use this feature to provide an overall bet‐
16443       ter  performance during streaming but it can also be disabled if RAM is
16444       not available on the local machine.
16445
16446       · Config: chunk_no_memory
16447
16448       · Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY
16449
16450       · Type: bool
16451
16452       · Default: false
16453
16454   --cache-rps
16455       Limits the number of requests per second to the source FS (-1  to  dis‐
16456       able)
16457
16458       This  setting  places a hard limit on the number of requests per second
16459       that cache will be doing to the cloud provider remote and  try  to  re‐
16460       spect that value by setting waits between reads.
16461
16462       If you find that you're getting banned or limited on the cloud provider
16463       through cache and know that a smaller number  of  requests  per  second
16464       will allow you to work with it then you can use this setting for that.
16465
16466       A  good balance of all the other settings should make this setting use‐
16467       less but it is available to set for more special cases.
16468
16469       NOTE: This will limit the number of requests during streams  but  other
16470       API  calls  to  the  cloud  provider like directory listings will still
16471       pass.
16472
16473       · Config: rps
16474
16475       · Env Var: RCLONE_CACHE_RPS
16476
16477       · Type: int
16478
16479       · Default: -1
16480
16481   --cache-writes
16482       Cache file data on writes through the FS
16483
16484       If you need to read files immediately after  you  upload  them  through
16485       cache  you  can enable this flag to have their data stored in the cache
16486       store at the same time during upload.
16487
16488       · Config: writes
16489
16490       · Env Var: RCLONE_CACHE_WRITES
16491
16492       · Type: bool
16493
16494       · Default: false
16495
16496   --cache-tmp-upload-path
16497       Directory to keep temporary files until they are uploaded.
16498
16499       This is the path where cache will use as a temporary  storage  for  new
16500       files that need to be uploaded to the cloud provider.
16501
16502       Specifying  a  value  will enable this feature.  Without it, it is com‐
16503       pletely disabled and files will  be  uploaded  directly  to  the  cloud
16504       provider
16505
16506       · Config: tmp_upload_path
16507
16508       · Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH
16509
16510       · Type: string
16511
16512       · Default: ""
16513
16514   --cache-tmp-wait-time
16515       How long should files be stored in local cache before being uploaded
16516
16517       This  is  the  duration that a file must wait in the temporary location
16518       cache-tmp-upload-path before it is selected for upload.
16519
16520       Note that only one file is uploaded at a time and it can take longer to
16521       start the upload if a queue formed for this purpose.
16522
16523       · Config: tmp_wait_time
16524
16525       · Env Var: RCLONE_CACHE_TMP_WAIT_TIME
16526
16527       · Type: Duration
16528
16529       · Default: 15s
16530
16531   --cache-db-wait-time
16532       How long to wait for the DB to be available - 0 is unlimited
16533
16534       Only  one process can have the DB open at any one time, so rclone waits
16535       for this duration for the DB to become available before it gives an er‐
16536       ror.
16537
16538       If you set it to 0 then it will wait forever.
16539
16540       · Config: db_wait_time
16541
16542       · Env Var: RCLONE_CACHE_DB_WAIT_TIME
16543
16544       · Type: Duration
16545
16546       · Default: 1s
16547
16548   Backend commands
16549       Here are the commands specific to the cache backend.
16550
16551       Run them with
16552
16553              rclone backend COMMAND remote:
16554
16555       The help below will explain what arguments each command takes.
16556
16557       See    the    "rclone    backend"    command   (https://rclone.org/com
16558       mands/rclone_backend/) for more info on how to pass options  and  argu‐
16559       ments.
16560
16561       These can be run on a running backend using the rc command backend/com‐
16562       mand (https://rclone.org/rc/#backend/command).
16563
16564   stats
16565       Print stats on the cache backend in JSON format.
16566
16567              rclone backend stats remote: [options] [<arguments>+]
16568
16569   Chunker (BETA)
16570       The chunker overlay  transparently  splits  large  files  into  smaller
16571       chunks during upload to wrapped remote and transparently assembles them
16572       back when the file is downloaded.  This allows to effectively  overcome
16573       size limits imposed by storage providers.
16574
16575       To  use it, first set up the underlying remote following the configura‐
16576       tion instructions for that remote.  You can also use a  local  pathname
16577       instead of a remote.
16578
16579       First  check  your chosen remote is working - we'll call it remote:path
16580       here.  Note that anything inside remote:path will be chunked  and  any‐
16581       thing  outside  won't.  This means that if you are using a bucket based
16582       remote (e.g.  S3, B2, swift) then you should probably put the bucket in
16583       the remote s3:bucket.
16584
16585       Now configure chunker using rclone config.  We will call this one over‐
16586       lay to separate it from the remote itself.
16587
16588              No remotes found - make a new one
16589              n) New remote
16590              s) Set configuration password
16591              q) Quit config
16592              n/s/q> n
16593              name> overlay
16594              Type of storage to configure.
16595              Choose a number from below, or type in your own value
16596              [snip]
16597              XX / Transparently chunk/split large files
16598                 \ "chunker"
16599              [snip]
16600              Storage> chunker
16601              Remote to chunk/unchunk.
16602              Normally should contain a ':' and a path, e.g. "myremote:path/to/dir",
16603              "myremote:bucket" or maybe "myremote:" (not recommended).
16604              Enter a string value. Press Enter for the default ("").
16605              remote> remote:path
16606              Files larger than chunk size will be split in chunks.
16607              Enter a size with suffix k,M,G,T. Press Enter for the default ("2G").
16608              chunk_size> 100M
16609              Choose how chunker handles hash sums. All modes but "none" require metadata.
16610              Enter a string value. Press Enter for the default ("md5").
16611              Choose a number from below, or type in your own value
16612               1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise
16613                 \ "none"
16614               2 / MD5 for composite files
16615                 \ "md5"
16616               3 / SHA1 for composite files
16617                 \ "sha1"
16618               4 / MD5 for all files
16619                 \ "md5all"
16620               5 / SHA1 for all files
16621                 \ "sha1all"
16622               6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported
16623                 \ "md5quick"
16624               7 / Similar to "md5quick" but prefers SHA1 over MD5
16625                 \ "sha1quick"
16626              hash_type> md5
16627              Edit advanced config? (y/n)
16628              y) Yes
16629              n) No
16630              y/n> n
16631              Remote config
16632              --------------------
16633              [overlay]
16634              type = chunker
16635              remote = remote:bucket
16636              chunk_size = 100M
16637              hash_type = md5
16638              --------------------
16639              y) Yes this is OK
16640              e) Edit this remote
16641              d) Delete this remote
16642              y/e/d> y
16643
16644   Specifying the remote
16645       In normal use, make sure the remote has a : in.  If you specify the re‐
16646       mote  without  a : then rclone will use a local directory of that name.
16647       So if you use a remote of /path/to/secret/files then rclone will  chunk
16648       stuff  in that directory.  If you use a remote of name then rclone will
16649       put files in a directory called name in the current directory.
16650
16651   Chunking
16652       When rclone starts a file upload, chunker checks the file size.  If  it
16653       doesn't  exceed  the  configured chunk size, chunker will just pass the
16654       file to the wrapped remote.  If a file is large, chunker will transpar‐
16655       ently  cut  data  in pieces with temporary names and stream them one by
16656       one, on the fly.  Each data chunk will contain the specified number  of
16657       bytes,  except for the last one which may have less data.  If file size
16658       is unknown in advance (this is called a streaming upload), chunker will
16659       internally  create  a  temporary  copy,  record its size and repeat the
16660       above process.
16661
16662       When upload completes, temporary chunk files are finally renamed.  This
16663       scheme  guarantees that operations can be run in parallel and look from
16664       outside as atomic.  A similar method with hidden  temporary  chunks  is
16665       used  for  other  operations (copy/move/rename, etc.).  If an operation
16666       fails, hidden chunks are normally destroyed, and the  target  composite
16667       file stays intact.
16668
16669       When  a composite file download is requested, chunker transparently as‐
16670       sembles it by concatenating data chunks in  order.   As  the  split  is
16671       trivial one could even manually concatenate data chunks together to ob‐
16672       tain the original content.
16673
16674       When the list rclone command scans a directory on wrapped  remote,  the
16675       potential  chunk  files  are  accounted for, grouped and assembled into
16676       composite directory entries.  Any temporary chunks are hidden.
16677
16678       List and other commands can sometimes come across composite files  with
16679       missing  or  invalid  chunks, e.g.  shadowed by like-named directory or
16680       another file.  This usually means that wrapped file system has been di‐
16681       rectly tampered with or damaged.  If chunker detects a missing chunk it
16682       will by default print warning,  skip  the  whole  incomplete  group  of
16683       chunks  but  proceed  with  current  command.   You can set the --chun‐
16684       ker-fail-hard flag to have commands abort with error  message  in  such
16685       cases.
16686
16687   Chunk names
16688       The  default  chunk name format is *.rclone_chunk.###, hence by default
16689       chunk         names         are         BIG_FILE_NAME.rclone_chunk.001,
16690       BIG_FILE_NAME.rclone_chunk.002  etc.   You  can  configure another name
16691       format using the name_format configuration file option.  The format us‐
16692       es  asterisk  * as a placeholder for the base file name and one or more
16693       consecutive hash characters # as a  placeholder  for  sequential  chunk
16694       number.   There  must be one and only one asterisk.  The number of con‐
16695       secutive hash characters defines the minimum length of a string  repre‐
16696       senting  a  chunk number.  If decimal chunk number has less digits than
16697       the number of hashes, it is  left-padded  by  zeros.   If  the  decimal
16698       string  is longer, it is left intact.  By default numbering starts from
16699       1 but there is another option that allows user to start  from  0,  e.g.
16700       for compatibility with legacy software.
16701
16702       For  example, if name format is big_*-##.part and original file name is
16703       data.txt and numbering starts from 0, then  the  first  chunk  will  be
16704       named big_data.txt-00.part, the 99th chunk will be big_data.txt-98.part
16705       and the 302nd chunk will become big_data.txt-301.part.
16706
16707       Note that list assembles composite directory entries  only  when  chunk
16708       names  match the configured format and treats non-conforming file names
16709       as normal non-chunked files.
16710
16711   Metadata
16712       Besides data chunks chunker will by default create metadata object  for
16713       a  composite file.  The object is named after the original file.  Chun‐
16714       ker allows user to disable metadata completely (the none format).  Note
16715       that  metadata  is normally not created for files smaller than the con‐
16716       figured chunk size.  This may change in future rclone releases.
16717
16718   Simple JSON metadata format
16719       This is the default format.  It supports hash sums and chunk validation
16720       for composite files.  Meta objects carry the following fields:
16721
16722       · ver - version of format, currently 1
16723
16724       · size - total size of composite file
16725
16726       · nchunks - number of data chunks in file
16727
16728       · md5 - MD5 hashsum of composite file (if present)
16729
16730       · sha1 - SHA1 hashsum (if present)
16731
16732       There  is  no field for composite file name as it's simply equal to the
16733       name of meta object on the wrapped remote.  Please refer to  respective
16734       sections for details on hashsums and modified time handling.
16735
16736   No metadata
16737       You can disable meta objects by setting the meta format option to none.
16738       In this mode chunker will scan directory for all files that follow con‐
16739       figured chunk name format, group them by detecting chunks with the same
16740       base name and show group names as virtual composite files.  This method
16741       is  more  prone to missing chunk errors (especially missing last chunk)
16742       than format with metadata enabled.
16743
16744   Hashsums
16745       Chunker supports hashsums only when a compatible metadata  is  present.
16746       Hence, if you choose metadata format of none, chunker will report hash‐
16747       sum as UNSUPPORTED.
16748
16749       Please note that by default  metadata  is  stored  only  for  composite
16750       files.   If  a file is smaller than configured chunk size, chunker will
16751       transparently redirect hash requests to wrapped remote, so support  de‐
16752       pends on that.  You will see the empty string as a hashsum of requested
16753       type for small files if the wrapped remote doesn't support it.
16754
16755       Many storage backends support MD5 and SHA1 hash types, so does chunker.
16756       With chunker you can choose one or another but not both.  MD5 is set by
16757       default as the most supported type.  Since  chunker  keeps  hashes  for
16758       composite files and falls back to the wrapped remote hash for non-chun‐
16759       ked ones, we advise you to choose the same hash type  as  supported  by
16760       wrapped remote so that your file listings look coherent.
16761
16762       If  your storage backend does not support MD5 or SHA1 but you need con‐
16763       sistent file hashing, configure chunker with md5all or sha1all.   These
16764       two  modes  guarantee  given  hash  for  all  files.  If wrapped remote
16765       doesn't support it, chunker will then add metadata to all  files,  even
16766       small.   However,  this can double the amount of small files in storage
16767       and incur additional service charges.  You  can  even  use  chunker  to
16768       force  md5/sha1  support in any other remote at expense of sidecar meta
16769       objects by setting  e.g.   chunk_type=sha1all  to  force  hashsums  and
16770       chunk_size=1P to effectively disable chunking.
16771
16772       Normally,  when  a file is copied to chunker controlled remote, chunker
16773       will ask the file  source  for  compatible  file  hash  and  revert  to
16774       on-the-fly  calculation if none is found.  This involves some CPU over‐
16775       head but provides a guarantee that given hashsum is  available.   Also,
16776       chunker  will reject a server-side copy or move operation if source and
16777       destination hashsum types are different resulting in the extra  network
16778       bandwidth,  too.   In some rare cases this may be undesired, so chunker
16779       provides two optional choices: sha1quick and md5quick.  If  the  source
16780       does not support primary hash type and the quick mode is enabled, chun‐
16781       ker will try to fall back to the secondary type.  This  will  save  CPU
16782       and  bandwidth but can result in empty hashsums at destination.  Beware
16783       of consequences: the sync command will revert (sometimes  silently)  to
16784       time/size  comparison  if compatible hashsums between source and target
16785       are not found.
16786
16787   Modified time
16788       Chunker stores modification times using the wrapped remote  so  support
16789       depends on that.  For a small non-chunked file the chunker overlay sim‐
16790       ply manipulates modification time of the wrapped remote  file.   For  a
16791       composite file with metadata chunker will get and set modification time
16792       of the metadata object on the wrapped remote.  If file is  chunked  but
16793       metadata  format is none then chunker will use modification time of the
16794       first data chunk.
16795
16796   Migrations
16797       The idiomatic way to migrate to a different chunk size,  hash  type  or
16798       chunk naming scheme is to:
16799
16800       · Collect  all your chunked files under a directory and have your chun‐
16801         ker remote point to it.
16802
16803       · Create another directory (most probably on the  same  cloud  storage)
16804         and  configure  a new remote with desired metadata format, hash type,
16805         chunk naming etc.
16806
16807       · Now run rclone sync -i oldchunks: newchunks: and all your  data  will
16808         be transparently converted in transfer.  This may take some time, yet
16809         chunker will try server-side copy if possible.
16810
16811       · After checking data integrity you may remove configuration section of
16812         the old remote.
16813
16814       If  rclone gets killed during a long operation on a big composite file,
16815       hidden temporary chunks may stay in the directory.  They  will  not  be
16816       shown  by  the list command but will eat up your account quota.  Please
16817       note that the deletefile command deletes only active chunks of a  file.
16818       As  a  workaround, you can use remote of the wrapped file system to see
16819       them.  An easy way to get rid of hidden garbage is to copy littered di‐
16820       rectory  somewhere  using the chunker remote and purge the original di‐
16821       rectory.  The copy command will copy only active chunks while the purge
16822       will remove everything including garbage.
16823
16824   Caveats and Limitations
16825       Chunker  requires wrapped remote to support server-side move (or copy +
16826       delete) operations, otherwise it will explicitly refuse to start.  This
16827       is  because  it internally renames temporary chunk files to their final
16828       names when an operation completes successfully.
16829
16830       Chunker encodes chunk number in file name, so with default  name_format
16831       setting  it adds 17 characters.  Also chunker adds 7 characters of tem‐
16832       porary suffix during operations.  Many file  systems  limit  base  file
16833       name  without path by 255 characters.  Using rclone's crypt remote as a
16834       base file system limits file name by  143  characters.   Thus,  maximum
16835       name  length  is  231 for most files and 119 for chunker-over-crypt.  A
16836       user in need can change name format to e.g.  *.rcc## and save 10  char‐
16837       acters (provided at most 99 chunks per file).
16838
16839       Note that a move implemented using the copy-and-delete method may incur
16840       double charging with some cloud storage providers.
16841
16842       Chunker will not automatically rename  existing  chunks  when  you  run
16843       rclone  config  on a live remote and change the chunk name format.  Be‐
16844       ware that in result of this some  files  which  have  been  treated  as
16845       chunks  before  the  change  can pop up in directory listings as normal
16846       files and vice versa.  The same warning holds for the chunk  size.   If
16847       you  desperately  need to change critical chunking settings, you should
16848       run data migration as described above.
16849
16850       If wrapped remote is case insensitive, the chunker overlay will inherit
16851       that  property  (so  you can't have a file called "Hello.doc" and "hel‐
16852       lo.doc" in the same directory).
16853
16854       Chunker included in rclone releases up to v1.54 can sometimes  fail  to
16855       detect  metadata  produced  by recent versions of rclone.  We recommend
16856       users to keep rclone up-to-date to avoid data corruption.
16857
16858   Standard Options
16859       Here are  the  standard  options  specific  to  chunker  (Transparently
16860       chunk/split large files).
16861
16862   --chunker-remote
16863       Remote  to  chunk/unchunk.   Normally  should contain a ':' and a path,
16864       e.g.  "myremote:path/to/dir", "myremote:bucket"  or  maybe  "myremote:"
16865       (not recommended).
16866
16867       · Config: remote
16868
16869       · Env Var: RCLONE_CHUNKER_REMOTE
16870
16871       · Type: string
16872
16873       · Default: ""
16874
16875   --chunker-chunk-size
16876       Files larger than chunk size will be split in chunks.
16877
16878       · Config: chunk_size
16879
16880       · Env Var: RCLONE_CHUNKER_CHUNK_SIZE
16881
16882       · Type: SizeSuffix
16883
16884       · Default: 2G
16885
16886   --chunker-hash-type
16887       Choose  how  chunker  handles  hash sums.  All modes but "none" require
16888       metadata.
16889
16890       · Config: hash_type
16891
16892       · Env Var: RCLONE_CHUNKER_HASH_TYPE
16893
16894       · Type: string
16895
16896       · Default: "md5"
16897
16898       · Examples:
16899
16900         · "none"
16901
16902           · Pass any hash supported by wrapped remote for non-chunked  files,
16903             return nothing otherwise
16904
16905         · "md5"
16906
16907           · MD5 for composite files
16908
16909         · "sha1"
16910
16911           · SHA1 for composite files
16912
16913         · "md5all"
16914
16915           · MD5 for all files
16916
16917         · "sha1all"
16918
16919           · SHA1 for all files
16920
16921         · "md5quick"
16922
16923           · Copying  a file to chunker will request MD5 from the source fall‐
16924             ing back to SHA1 if unsupported
16925
16926         · "sha1quick"
16927
16928           · Similar to "md5quick" but prefers SHA1 over MD5
16929
16930   Advanced Options
16931       Here are  the  advanced  options  specific  to  chunker  (Transparently
16932       chunk/split large files).
16933
16934   --chunker-name-format
16935       String format of chunk file names.  The two placeholders are: base file
16936       name (*) and chunk number (#...).  There must be one and only  one  as‐
16937       terisk  and  one  or more consecutive hash characters.  If chunk number
16938       has less digits than the number of hashes, it is left-padded by  zeros.
16939       If  there are more digits in the number, they are left as is.  Possible
16940       chunk files are ignored if their name does not match given format.
16941
16942       · Config: name_format
16943
16944       · Env Var: RCLONE_CHUNKER_NAME_FORMAT
16945
16946       · Type: string
16947
16948       · Default: "*.rclone_chunk.###"
16949
16950   --chunker-start-from
16951       Minimum valid chunk number.  Usually 0 or 1.  By default chunk  numbers
16952       start from 1.
16953
16954       · Config: start_from
16955
16956       · Env Var: RCLONE_CHUNKER_START_FROM
16957
16958       · Type: int
16959
16960       · Default: 1
16961
16962   --chunker-meta-format
16963       Format  of  the  metadata  object  or "none".  By default "simplejson".
16964       Metadata is a small JSON file named after the composite file.
16965
16966       · Config: meta_format
16967
16968       · Env Var: RCLONE_CHUNKER_META_FORMAT
16969
16970       · Type: string
16971
16972       · Default: "simplejson"
16973
16974       · Examples:
16975
16976         · "none"
16977
16978           · Do not use metadata files at all.  Requires hash type "none".
16979
16980         · "simplejson"
16981
16982           · Simple JSON supports hash sums and chunk validation.
16983
16984           · It has the following fields: ver, size, nchunks, md5, sha1.
16985
16986   --chunker-fail-hard
16987       Choose how chunker should handle files with missing or invalid chunks.
16988
16989       · Config: fail_hard
16990
16991       · Env Var: RCLONE_CHUNKER_FAIL_HARD
16992
16993       · Type: bool
16994
16995       · Default: false
16996
16997       · Examples:
16998
16999         · "true"
17000
17001           · Report errors and abort current command.
17002
17003         · "false"
17004
17005           · Warn user, skip incomplete file and proceed.
17006
17007   Citrix ShareFile
17008       Citrix ShareFile (https://sharefile.com) is a secure file  sharing  and
17009       transfer service aimed as business.
17010
17011       The  initial  setup  for Citrix ShareFile involves getting a token from
17012       Citrix ShareFile which you can in your browser.   rclone  config  walks
17013       you through it.
17014
17015       Here is an example of how to make a remote called remote.  First run:
17016
17017               rclone config
17018
17019       This will guide you through an interactive setup process:
17020
17021              No remotes found - make a new one
17022              n) New remote
17023              s) Set configuration password
17024              q) Quit config
17025              n/s/q> n
17026              name> remote
17027              Type of storage to configure.
17028              Enter a string value. Press Enter for the default ("").
17029              Choose a number from below, or type in your own value
17030              XX / Citrix Sharefile
17031                 \ "sharefile"
17032              Storage> sharefile
17033              ** See help for sharefile backend at: https://rclone.org/sharefile/ **
17034
17035              ID of the root folder
17036
17037              Leave blank to access "Personal Folders".  You can use one of the
17038              standard values here or any folder ID (long hex number ID).
17039              Enter a string value. Press Enter for the default ("").
17040              Choose a number from below, or type in your own value
17041               1 / Access the Personal Folders. (Default)
17042                 \ ""
17043               2 / Access the Favorites folder.
17044                 \ "favorites"
17045               3 / Access all the shared folders.
17046                 \ "allshared"
17047               4 / Access all the individual connectors.
17048                 \ "connectors"
17049               5 / Access the home, favorites, and shared folders as well as the connectors.
17050                 \ "top"
17051              root_folder_id>
17052              Edit advanced config? (y/n)
17053              y) Yes
17054              n) No
17055              y/n> n
17056              Remote config
17057              Use auto config?
17058               * Say Y if not sure
17059               * Say N if you are working on a remote or headless machine
17060              y) Yes
17061              n) No
17062              y/n> y
17063              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX
17064              Log in and authorize rclone for access
17065              Waiting for code...
17066              Got code
17067              --------------------
17068              [remote]
17069              type = sharefile
17070              endpoint = https://XXX.sharefile.com
17071              token = {"access_token":"XXX","token_type":"bearer","refresh_token":"XXX","expiry":"2019-09-30T19:41:45.878561877+01:00"}
17072              --------------------
17073              y) Yes this is OK
17074              e) Edit this remote
17075              d) Delete this remote
17076              y/e/d> y
17077
17078       See the remote setup docs (https://rclone.org/remote_setup/) for how to
17079       set it up on a machine with no Internet browser available.
17080
17081       Note that rclone runs a webserver on your local machine to collect  the
17082       token  as  returned from Citrix ShareFile.  This only runs from the mo‐
17083       ment it opens your browser to the moment you get back the  verification
17084       code.   This  is on http://127.0.0.1:53682/ and this it may require you
17085       to unblock it temporarily if you are running a host firewall.
17086
17087       Once configured you can then use rclone like this,
17088
17089       List directories in top level of your ShareFile
17090
17091              rclone lsd remote:
17092
17093       List all the files in your ShareFile
17094
17095              rclone ls remote:
17096
17097       To copy a local directory to an ShareFile directory called backup
17098
17099              rclone copy /home/source remote:backup
17100
17101       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
17102
17103   Modified time and hashes
17104       ShareFile allows modification times to be set on objects accurate to  1
17105       second.   These  will be used to detect whether objects need syncing or
17106       not.
17107
17108       ShareFile supports MD5 type hashes, so you can use the --checksum flag.
17109
17110   Transfers
17111       For files above 128MB rclone will use a chunked transfer.  Rclone  will
17112       upload  up to --transfers chunks at the same time (shared among all the
17113       multipart uploads).  Chunks are buffered in  memory  and  are  normally
17114       64MB so increasing --transfers will increase memory use.
17115
17116   Limitations
17117       Note that ShareFile is case insensitive so you can't have a file called
17118       "Hello.doc" and one called "hello.doc".
17119
17120       ShareFile only supports filenames up to 256 characters in length.
17121
17122   Restricted filename characters
17123       In   addition   to    the    default    restricted    characters    set
17124       (https://rclone.org/overview/#restricted-characters)    the   following
17125       characters are also replaced:
17126
17127       Character   Value   Replacement
17128       ────────────────────────────────
17129       \           0x5C        \
17130       *           0x2A        *
17131       <           0x3C        <
17132       >           0x3E        >
17133       ?           0x3F        ?
17134       :           0x3A        :
17135       |           0x7C        |
17136       "           0x22        "
17137
17138       File names can also not start or end  with  the  following  characters.
17139       These  only get replaced if they are the first or last character in the
17140       name:
17141
17142       Character   Value   Replacement
17143       ────────────────────────────────
17144       SP          0x20         ␠
17145       .           0x2E        .
17146
17147       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
17148       view/#invalid-utf8), as they can't be used in JSON strings.
17149
17150   Standard Options
17151       Here are the standard options specific to sharefile (Citrix Sharefile).
17152
17153   --sharefile-root-folder-id
17154       ID of the root folder
17155
17156       Leave blank to access "Personal Folders".  You can use one of the stan‐
17157       dard values here or any folder ID (long hex number ID).
17158
17159       · Config: root_folder_id
17160
17161       · Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID
17162
17163       · Type: string
17164
17165       · Default: ""
17166
17167       · Examples:
17168
17169         · ""
17170
17171           · Access the Personal Folders.  (Default)
17172
17173         · "favorites"
17174
17175           · Access the Favorites folder.
17176
17177         · "allshared"
17178
17179           · Access all the shared folders.
17180
17181         · "connectors"
17182
17183           · Access all the individual connectors.
17184
17185         · "top"
17186
17187           · Access the home, favorites, and shared folders  as  well  as  the
17188             connectors.
17189
17190   Advanced Options
17191       Here are the advanced options specific to sharefile (Citrix Sharefile).
17192
17193   --sharefile-upload-cutoff
17194       Cutoff for switching to multipart upload.
17195
17196       · Config: upload_cutoff
17197
17198       · Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF
17199
17200       · Type: SizeSuffix
17201
17202       · Default: 128M
17203
17204   --sharefile-chunk-size
17205       Upload chunk size.  Must a power of 2 >= 256k.
17206
17207       Making  this  larger will improve performance, but note that each chunk
17208       is buffered in memory one per transfer.
17209
17210       Reducing this will reduce memory usage but decrease performance.
17211
17212       · Config: chunk_size
17213
17214       · Env Var: RCLONE_SHAREFILE_CHUNK_SIZE
17215
17216       · Type: SizeSuffix
17217
17218       · Default: 64M
17219
17220   --sharefile-endpoint
17221       Endpoint for API calls.
17222
17223       This is usually auto discovered as part of the oauth process,  but  can
17224       be set manually to something like: https://XXX.sharefile.com
17225
17226       · Config: endpoint
17227
17228       · Env Var: RCLONE_SHAREFILE_ENDPOINT
17229
17230       · Type: string
17231
17232       · Default: ""
17233
17234   --sharefile-encoding
17235       This sets the encoding for the backend.
17236
17237       See:  the  encoding  section  in the overview (https://rclone.org/over
17238       view/#encoding) for more info.
17239
17240       · Config: encoding
17241
17242       · Env Var: RCLONE_SHAREFILE_ENCODING
17243
17244       · Type: MultiEncoder
17245
17246       · Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
17247         Slash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot
17248
17249   Limitations
17250       rclone  about  is not supported by the Citrix ShareFile backend.  Back‐
17251       ends without this capability cannot determine free space for an  rclone
17252       mount  or  use  policy  mfs  (most free space) as a member of an rclone
17253       union remote.
17254
17255       See   List   of   backends   that   do   not   support   rclone   about
17256       (https://rclone.org/overview/#optional-features)   See   rclone   about
17257       (https://rclone.org/commands/rclone_about/)
17258
17259   Crypt
17260       Rclone crypt remotes encrypt and decrypt other remotes.
17261
17262       A  remote  of  type  crypt   does   not   access   a   storage   system
17263       (https://rclone.org/overview/)  directly, but instead wraps another re‐
17264       mote, which in turn accesses the storage system.  This  is  similar  to
17265       how          alias          (https://rclone.org/alias/),          union
17266       (https://rclone.org/union/), chunker (https://rclone.org/chunker/)  and
17267       a  few others work.  It makes the usage very flexible, as you can add a
17268       layer, in this case an encryption layer, on top of any  other  backend,
17269       even  in  multiple  layers.  Rclone's functionality can be used as with
17270       any other remote, for example you  can  mount  (https://rclone.org/com
17271       mands/rclone_mount/) a crypt remote.
17272
17273       Accessing  a storage system through a crypt remote realizes client-side
17274       encryption, which makes it safe to keep your data in a location you  do
17275       not trust will not get compromised.  When working against the crypt re‐
17276       mote, rclone will automatically encrypt (before uploading) and  decrypt
17277       (after  downloading) on your local system as needed on the fly, leaving
17278       the data encrypted at rest in the wrapped remote.  If  you  access  the
17279       storage  system  using  an application other than rclone, or access the
17280       wrapped remote directly using rclone, there will  not  be  any  encryp‐
17281       tion/decryption:  Downloading  existing  content will just give you the
17282       encrypted (scrambled) format, and anything you upload will  not  become
17283       encrypted.
17284
17285       The  encryption  is  a secret-key encryption (also called symmetric key
17286       encryption) algorithm, where a password (or pass  phrase)  is  used  to
17287       generate real encryption key.  The password can be supplied by user, or
17288       you may chose to let rclone generate one.  It will  be  stored  in  the
17289       configuration file, in a lightly obscured form.  If you are in an envi‐
17290       ronment where you are not able to keep your configuration secured,  you
17291       should  add configuration encryption (https://rclone.org/docs/#configu‐
17292       ration-encryption) as protection.  As long as you have this  configura‐
17293       tion file, you will be able to decrypt your data.  Without the configu‐
17294       ration file, as long as you remember the password (or keep it in a safe
17295       place),  you can re-create the configuration and gain access to the ex‐
17296       isting data.  You may also configure a corresponding remote in  a  dif‐
17297       ferent installation to access the same data.  See below for guidance to
17298       changing password.
17299
17300       Encryption  uses   cryptographic   salt   (https://en.wikipedia.org/wi
17301       ki/Salt_(cryptography)), to permute the encryption key so that the same
17302       string may be encrypted in different ways.  When configuring the  crypt
17303       remote  it  is  optional  to  enter a salt, or to let rclone generate a
17304       unique salt.  If omitted, rclone uses a built-in unique  string.   Nor‐
17305       mally  in  cryptography, the salt is stored together with the encrypted
17306       content, and do not have to be memorized by the user.  This is not  the
17307       case  in  rclone, because rclone does not store any additional informa‐
17308       tion on the remotes.  Use of custom salt is effectively a second  pass‐
17309       word that must be memorized.
17310
17311       File   content   encryption   is   performed   using   NaCl   SecretBox
17312       (https://godoc.org/golang.org/x/crypto/nacl/secretbox), based on  XSal‐
17313       sa20  cipher  and  Poly1305  for integrity.  Names (file- and directory
17314       names) are also encrypted by default, but this  has  some  implications
17315       and is therefore possible to turned off.
17316
17317   Configuration
17318       Here is an example of how to make a remote called secret.
17319
17320       To  use  crypt,  first set up the underlying remote.  Follow the rclone
17321       config instructions for the specific backend.
17322
17323       Before configuring the crypt remote, check  the  underlying  remote  is
17324       working.   In  this example the underlying remote is called remote.  We
17325       will configure a path path within this remote to contain the  encrypted
17326       content.   Anything  inside  remote:path will be encrypted and anything
17327       outside will not.
17328
17329       Configure crypt using rclone config.  In this example the crypt  remote
17330       is called secret, to differentiate it from the underlying remote.
17331
17332       When you are done you can use the crypt remote named secret just as you
17333       would with any other remote, e.g.  rclone  copy  D:\docs  secret:\docs,
17334       and  rclone  will encrypt and decrypt as needed on the fly.  If you ac‐
17335       cess the wrapped remote remote:path directly you will  bypass  the  en‐
17336       cryption, and anything you read will be in encrypted form, and anything
17337       you write will be undencrypted.  To avoid issues it is best to  config‐
17338       ure  a  dedicated path for encrypted content, and access it exclusively
17339       through a crypt remote.
17340
17341              No remotes found - make a new one
17342              n) New remote
17343              s) Set configuration password
17344              q) Quit config
17345              n/s/q> n
17346              name> secret
17347              Type of storage to configure.
17348              Enter a string value. Press Enter for the default ("").
17349              Choose a number from below, or type in your own value
17350              [snip]
17351              XX / Encrypt/Decrypt a remote
17352                 \ "crypt"
17353              [snip]
17354              Storage> crypt
17355              ** See help for crypt backend at: https://rclone.org/crypt/ **
17356
17357              Remote to encrypt/decrypt.
17358              Normally should contain a ':' and a path, eg "myremote:path/to/dir",
17359              "myremote:bucket" or maybe "myremote:" (not recommended).
17360              Enter a string value. Press Enter for the default ("").
17361              remote> remote:path
17362              How to encrypt the filenames.
17363              Enter a string value. Press Enter for the default ("standard").
17364              Choose a number from below, or type in your own value
17365               1 / Encrypt the filenames see the docs for the details.
17366                 \ "standard"
17367               2 / Very simple filename obfuscation.
17368                 \ "obfuscate"
17369               3 / Don't encrypt the file names.  Adds a ".bin" extension only.
17370                 \ "off"
17371              filename_encryption>
17372              Option to either encrypt directory names or leave them intact.
17373
17374              NB If filename_encryption is "off" then this option will do nothing.
17375              Enter a boolean value (true or false). Press Enter for the default ("true").
17376              Choose a number from below, or type in your own value
17377               1 / Encrypt directory names.
17378                 \ "true"
17379               2 / Don't encrypt directory names, leave them intact.
17380                 \ "false"
17381              directory_name_encryption>
17382              Password or pass phrase for encryption.
17383              y) Yes type in my own password
17384              g) Generate random password
17385              y/g> y
17386              Enter the password:
17387              password:
17388              Confirm the password:
17389              password:
17390              Password or pass phrase for salt. Optional but recommended.
17391              Should be different to the previous password.
17392              y) Yes type in my own password
17393              g) Generate random password
17394              n) No leave this optional password blank (default)
17395              y/g/n> g
17396              Password strength in bits.
17397              64 is just about memorable
17398              128 is secure
17399              1024 is the maximum
17400              Bits> 128
17401              Your password is: JAsJvRcgR-_veXNfy_sGmQ
17402              Use this password? Please note that an obscured version of this
17403              password (and not the password itself) will be stored under your
17404              configuration file, so keep this generated password in a safe place.
17405              y) Yes (default)
17406              n) No
17407              y/n>
17408              Edit advanced config? (y/n)
17409              y) Yes
17410              n) No (default)
17411              y/n>
17412              Remote config
17413              --------------------
17414              [secret]
17415              type = crypt
17416              remote = remote:path
17417              password = *** ENCRYPTED ***
17418              password2 = *** ENCRYPTED ***
17419              --------------------
17420              y) Yes this is OK (default)
17421              e) Edit this remote
17422              d) Delete this remote
17423              y/e/d>
17424
17425       Important The crypt password stored in rclone.conf is lightly obscured.
17426       That only protects it from cursory inspection.  It is not secure unless
17427       configuration  encryption   (https://rclone.org/docs/#configuration-en‐
17428       cryption) of rclone.conf is specified.
17429
17430       A  long passphrase is recommended, or rclone config can generate a ran‐
17431       dom one.
17432
17433       The obscured password is created using AES-CTR with a static key.   The
17434       salt  is  stored  verbatim  at  the beginning of the obscured password.
17435       This static key is shared between all versions of rclone.
17436
17437       If you reconfigure rclone with the same passwords/passphrases elsewhere
17438       it  will  be compatible, but the obscured version will be different due
17439       to the different salt.
17440
17441       Rclone does not encrypt
17442
17443       · file length - this can be calculated within 16 bytes
17444
17445       · modification time - used for syncing
17446
17447   Specifying the remote
17448       When configuring the remote to encrypt/decrypt,  you  may  specify  any
17449       string that rclone accepts as a source/destination of other commands.
17450
17451       The  primary use case is to specify the path into an already configured
17452       remote (e.g.  remote:path/to/dir or remote:bucket), such that data in a
17453       remote untrusted location can be stored encrypted.
17454
17455       You  may  also specify a local filesystem path, such as /path/to/dir on
17456       Linux, C:\path\to\dir on Windows.  By creating a crypt remote  pointing
17457       to  such  a  local filesystem path, you can use rclone as a utility for
17458       pure local file encryption, for example to keep encrypted  files  on  a
17459       removable USB drive.
17460
17461       Note:  A string which do not contain a : will by rclone be treated as a
17462       relative path in the local filesystem.  For example, if you  enter  the
17463       name remote without the trailing :, it will be treated as a subdirecto‐
17464       ry of the current directory with name "remote".
17465
17466       If a path remote:path/to/dir  is  specified,  rclone  stores  encrypted
17467       files  in  path/to/dir on the remote.  With file name encryption, files
17468       saved to secret:subdir/subfile  are  stored  in  the  unencrypted  path
17469       path/to/dir but the subdir/subpath element is encrypted.
17470
17471       The path you specify does not have to exist, rclone will create it when
17472       needed.
17473
17474       If you intend to use the wrapped remote both directly for keeping unen‐
17475       crypted  content,  as well as through a crypt remote for encrypted con‐
17476       tent, it is recommended to point the crypt remote to a separate  direc‐
17477       tory within the wrapped remote.  If you use a bucket based storage sys‐
17478       tem (e.g.  Swift, S3, Google Compute Storage, B2, Hubic) it is general‐
17479       ly  advisable  to  wrap  the  crypt  remote  around  a  specific bucket
17480       (s3:bucket).  If wrapping around the entire root of the storage  (s3:),
17481       and  use  the  optional  file  name encryption, rclone will encrypt the
17482       bucket name.
17483
17484   Changing password
17485       Should the password, or the configuration file containing a lightly ob‐
17486       scured  form  of  the  password, be compromised, you need to re-encrypt
17487       your data with a new password.  Since rclone  uses  secret-key  encryp‐
17488       tion,  where the encryption key is generated directly from the password
17489       kept on the client, it is not possible to change  the  password/key  of
17490       already  encrypted  content.  Just changing the password configured for
17491       an existing crypt remote means you will no longer able to  decrypt  any
17492       of the previously encrypted content.  The only possibility is to re-up‐
17493       load everything via a crypt remote configured with your new password.
17494
17495       Depending on the size of your data, your bandwith, storage  quota  etc,
17496       there  are  different approaches you can take: - If you have everything
17497       in a different location, for example on your local  system,  you  could
17498       remove  all  of the prior encrypted files, change the password for your
17499       configured crypt remote (or delete and re-create the  crypt  configura‐
17500       tion),  and then re-upload everything from the alternative location.  -
17501       If you have enough space on the storage system you  can  create  a  new
17502       crypt  remote pointing to a separate directory on the same backend, and
17503       then use rclone to copy everything from the original  crypt  remote  to
17504       the  new,  effectively  decrypting  everything on the fly using the old
17505       password and re-encrypting using the new password.  When  done,  delete
17506       the  original  crypt remote directory and finally the rclone crypt con‐
17507       figuration with the old password.  All data will be streamed  from  the
17508       storage  system  and  back,  so  you  will get half the bandwith and be
17509       charged twice if you have upload and download quota on the storage sys‐
17510       tem.
17511
17512       Note:  A  security problem related to the random password generator was
17513       fixed in rclone version 1.53.3 (released 2020-11-19).  Passwords gener‐
17514       ated by rclone config in version 1.49.0 (released 2019-08-26) to 1.53.2
17515       (released 2020-10-26) are not considered secure and should be  changed.
17516       If  you  made  up  your own password, or used rclone version older than
17517       1.49.0 or newer than 1.53.2 to generate it, you  are  not  affected  by
17518       this  issue.   See  issue  #4783  (https://github.com/rclone/rclone/is
17519       sues/4783) for more details, and a tool you can use to check if you are
17520       affected.
17521
17522   Example
17523       Create  the following file structure using "standard" file name encryp‐
17524       tion.
17525
17526              plaintext/
17527              ├── file0.txt
17528              ├── file1.txt
17529              └── subdir
17530                  ├── file2.txt
17531                  ├── file3.txt
17532                  └── subsubdir
17533                      └── file4.txt
17534
17535       Copy these to the remote, and list them
17536
17537              $ rclone -q copy plaintext secret:
17538              $ rclone -q ls secret:
17539                      7 file1.txt
17540                      6 file0.txt
17541                      8 subdir/file2.txt
17542                     10 subdir/subsubdir/file4.txt
17543                      9 subdir/file3.txt
17544
17545       The crypt remote looks like
17546
17547              $ rclone -q ls remote:path
17548                     55 hagjclgavj2mbiqm6u6cnjjqcg
17549                     54 v05749mltvv1tf4onltun46gls
17550                     57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo
17551                     58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc
17552                     56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps
17553
17554       The directory structure is preserved
17555
17556              $ rclone -q ls secret:subdir
17557                      8 file2.txt
17558                      9 file3.txt
17559                     10 subsubdir/file4.txt
17560
17561       Without file name encryption .bin extensions are  added  to  underlying
17562       names.   This  prevents the cloud provider attempting to interpret file
17563       content.
17564
17565              $ rclone -q ls remote:path
17566                     54 file0.txt.bin
17567                     57 subdir/file3.txt.bin
17568                     56 subdir/file2.txt.bin
17569                     58 subdir/subsubdir/file4.txt.bin
17570                     55 file1.txt.bin
17571
17572   File name encryption modes
17573       Off
17574
17575       · doesn't hide file names or directory structure
17576
17577       · allows for longer file names (~246 characters)
17578
17579       · can use sub paths and copy single files
17580
17581       Standard
17582
17583       · file names encrypted
17584
17585       · file names can't be as long (~143 characters)
17586
17587       · can use sub paths and copy single files
17588
17589       · directory structure visible
17590
17591       · identical files names will have identical uploaded names
17592
17593       · can use shortcuts to shorten the directory recursion
17594
17595       Obfuscation
17596
17597       This is a simple "rotate" of the filename, with each file having a  rot
17598       distance  based on the filename.  Rclone stores the distance at the be‐
17599       ginning of the filename.  A file called "hello" may become "53.jgnnq".
17600
17601       Obfuscation is not a strong encryption of filenames, but hinders  auto‐
17602       mated  scanning tools picking up on filename patterns.  It is an inter‐
17603       mediate between "off" and "standard" which allows for longer path  seg‐
17604       ment names.
17605
17606       There  is  a possibility with some unicode based filenames that the ob‐
17607       fuscation is weak and may map  lower  case  characters  to  upper  case
17608       equivalents.
17609
17610       Obfuscation cannot be relied upon for strong protection.
17611
17612       · file names very lightly obfuscated
17613
17614       · file names can be longer than standard encryption
17615
17616       · can use sub paths and copy single files
17617
17618       · directory structure visible
17619
17620       · identical files names will have identical uploaded names
17621
17622       Cloud  storage  systems  have limits on file name length and total path
17623       length which rclone is more likely to breach using "Standard" file name
17624       encryption.  Where file names are less thn 156 characters in length is‐
17625       sues should not be encountered, irrespective of cloud storage provider.
17626
17627       An alternative, future rclone file name encryption  mode  may  tolerate
17628       backend provider path length limits.
17629
17630   Directory name encryption
17631       Crypt offers the option of encrypting dir names or leaving them intact.
17632       There are two options:
17633
17634       True
17635
17636       Encrypts  the  whole  file  path  including  directory  names  Example:
17637       1/12/123.txt                is               encrypted               to
17638       p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0
17639
17640       False
17641
17642       Only  encrypts  file names, skips directory names Example: 1/12/123.txt
17643       is encrypted to 1/12/qgm4avr35m5loi1th53ato71v0
17644
17645   Modified time and hashes
17646       Crypt stores modification times using the underlying remote so  support
17647       depends on that.
17648
17649       Hashes  are  not  stored for crypt.  However the data integrity is pro‐
17650       tected by an extremely strong crypto authenticator.
17651
17652       Use the rclone cryptcheck command to check the integrity of  a  crypted
17653       remote  instead of rclone check which can't check the checksums proper‐
17654       ly.
17655
17656   Standard Options
17657       Here are the standard options specific to crypt (Encrypt/Decrypt a  re‐
17658       mote).
17659
17660   --crypt-remote
17661       Remote  to  encrypt/decrypt.  Normally should contain a ':' and a path,
17662       e.g.  "myremote:path/to/dir", "myremote:bucket"  or  maybe  "myremote:"
17663       (not recommended).
17664
17665       · Config: remote
17666
17667       · Env Var: RCLONE_CRYPT_REMOTE
17668
17669       · Type: string
17670
17671       · Default: ""
17672
17673   --crypt-filename-encryption
17674       How to encrypt the filenames.
17675
17676       · Config: filename_encryption
17677
17678       · Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION
17679
17680       · Type: string
17681
17682       · Default: "standard"
17683
17684       · Examples:
17685
17686         · "standard"
17687
17688           · Encrypt the filenames see the docs for the details.
17689
17690         · "obfuscate"
17691
17692           · Very simple filename obfuscation.
17693
17694         · "off"
17695
17696           · Don't encrypt the file names.  Adds a ".bin" extension only.
17697
17698   --crypt-directory-name-encryption
17699       Option to either encrypt directory names or leave them intact.
17700
17701       NB If filename_encryption is "off" then this option will do nothing.
17702
17703       · Config: directory_name_encryption
17704
17705       · Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION
17706
17707       · Type: bool
17708
17709       · Default: true
17710
17711       · Examples:
17712
17713         · "true"
17714
17715           · Encrypt directory names.
17716
17717         · "false"
17718
17719           · Don't encrypt directory names, leave them intact.
17720
17721   --crypt-password
17722       Password or pass phrase for encryption.
17723
17724       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
17725       (https://rclone.org/commands/rclone_obscure/).
17726
17727       · Config: password
17728
17729       · Env Var: RCLONE_CRYPT_PASSWORD
17730
17731       · Type: string
17732
17733       · Default: ""
17734
17735   --crypt-password2
17736       Password or pass phrase for salt.  Optional but recommended.  Should be
17737       different to the previous password.
17738
17739       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
17740       (https://rclone.org/commands/rclone_obscure/).
17741
17742       · Config: password2
17743
17744       · Env Var: RCLONE_CRYPT_PASSWORD2
17745
17746       · Type: string
17747
17748       · Default: ""
17749
17750   Advanced Options
17751       Here are the advanced options specific to crypt (Encrypt/Decrypt a  re‐
17752       mote).
17753
17754   --crypt-server-side-across-configs
17755       Allow  server-side  operations  (e.g.   copy)  to work across different
17756       crypt configs.
17757
17758       Normally this option is not what you want, but if you have  two  crypts
17759       pointing to the same backend you can use it.
17760
17761       This  can  be  used,  for  example, to change file name encryption type
17762       without re-uploading all the data.  Just make two crypt backends point‐
17763       ing  to two different directories with the single changed parameter and
17764       use rclone move to move the files between the crypt remotes.
17765
17766       · Config: server_side_across_configs
17767
17768       · Env Var: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS
17769
17770       · Type: bool
17771
17772       · Default: false
17773
17774   --crypt-show-mapping
17775       For all files listed show how the names encrypt.
17776
17777       If this flag is set then for each file that  the  remote  is  asked  to
17778       list,  it  will  log  (at level INFO) a line stating the decrypted file
17779       name and the encrypted file name.
17780
17781       This is so you can work out which encrypted names are  which  decrypted
17782       names  just  in  case  you need to do something with the encrypted file
17783       names, or for debugging purposes.
17784
17785       · Config: show_mapping
17786
17787       · Env Var: RCLONE_CRYPT_SHOW_MAPPING
17788
17789       · Type: bool
17790
17791       · Default: false
17792
17793   Backend commands
17794       Here are the commands specific to the crypt backend.
17795
17796       Run them with
17797
17798              rclone backend COMMAND remote:
17799
17800       The help below will explain what arguments each command takes.
17801
17802       See   the    "rclone    backend"    command    (https://rclone.org/com
17803       mands/rclone_backend/)  for  more info on how to pass options and argu‐
17804       ments.
17805
17806       These can be run on a running backend using the rc command backend/com‐
17807       mand (https://rclone.org/rc/#backend/command).
17808
17809   encode
17810       Encode the given filename(s)
17811
17812              rclone backend encode remote: [options] [<arguments>+]
17813
17814       This  encodes  the  filenames  given  as  arguments returning a list of
17815       strings of the encoded results.
17816
17817       Usage Example:
17818
17819              rclone backend encode crypt: file1 [file2...]
17820              rclone rc backend/command command=encode fs=crypt: file1 [file2...]
17821
17822   decode
17823       Decode the given filename(s)
17824
17825              rclone backend decode remote: [options] [<arguments>+]
17826
17827       This decodes the filenames given  as  arguments  returning  a  list  of
17828       strings  of the decoded results.  It will return an error if any of the
17829       inputs are invalid.
17830
17831       Usage Example:
17832
17833              rclone backend decode crypt: encryptedfile1 [encryptedfile2...]
17834              rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...]
17835
17836   Backing up a crypted remote
17837       If you wish to backup a crypted remote, it is recommended that you  use
17838       rclone sync on the encrypted files, and make sure the passwords are the
17839       same in the new encrypted remote.
17840
17841       This will have the following advantages
17842
17843       · rclone sync will check the checksums while copying
17844
17845       · you can use rclone check between the encrypted remotes
17846
17847       · you don't decrypt and encrypt unnecessarily
17848
17849       For example, let's say you have your original remote  at  remote:  with
17850       the  encrypted  version  at eremote: with path remote:crypt.  You would
17851       then set up the new remote remote2: and then the encrypted version ere‐
17852       mote2: with path remote2:crypt using the same passwords as eremote:.
17853
17854       To sync the two remotes you would do
17855
17856              rclone sync -i remote:crypt remote2:crypt
17857
17858       And to check the integrity you would do
17859
17860              rclone check remote:crypt remote2:crypt
17861
17862   File formats
17863   File encryption
17864       Files  are  encrypted  1:1 source file to destination object.  The file
17865       has a header and is divided into chunks.
17866
17867   Header
17868       · 8 bytes magic string RCLONE\x00\x00
17869
17870       · 24 bytes Nonce (IV)
17871
17872       The initial nonce is generated from the operating systems crypto strong
17873       random  number generator.  The nonce is incremented for each chunk read
17874       making sure each nonce is unique for each block written.  The chance of
17875       a  nonce  being  re-used is minuscule.  If you wrote an exabyte of data
17876       (10¹⁸ bytes) you would have a probability of approximately  2×10⁻³²  of
17877       re-using a nonce.
17878
17879   Chunk
17880       Each chunk will contain 64kB of data, except for the last one which may
17881       have less data.  The data chunk is in standard NaCl  SecretBox  format.
17882       SecretBox  uses  XSalsa20 and Poly1305 to encrypt and authenticate mes‐
17883       sages.
17884
17885       Each chunk contains:
17886
17887       · 16 Bytes of Poly1305 authenticator
17888
17889       · 1 - 65536 bytes XSalsa20 encrypted data
17890
17891       64k chunk size was chosen as the best performing chunk  size  (the  au‐
17892       thenticator  takes  too  much time below this and the performance drops
17893       off due to cache effects above  this).   Note  that  these  chunks  are
17894       buffered in memory so they can't be too big.
17895
17896       This uses a 32 byte (256 bit key) key derived from the user password.
17897
17898   Examples
17899       1 byte file will encrypt to
17900
17901       · 32 bytes header
17902
17903       · 17 bytes data chunk
17904
17905       49 bytes total
17906
17907       1MB (1048576 bytes) file will encrypt to
17908
17909       · 32 bytes header
17910
17911       · 16 chunks of 65568 bytes
17912
17913       1049120  bytes  total (a 0.05% overhead).  This is the overhead for big
17914       files.
17915
17916   Name encryption
17917       File names are encrypted segment by segment - the path is broken up in‐
17918       to / separated strings and these are encrypted individually.
17919
17920       File  segments are padded using PKCS#7 to a multiple of 16 bytes before
17921       encryption.
17922
17923       They are then encrypted with EME using  AES  with  256  bit  key.   EME
17924       (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003 pa‐
17925       per "A Parallelizable Enciphering Mode" by Halevi and Rogaway.
17926
17927       This makes for deterministic encryption which is what  we  want  -  the
17928       same filename must encrypt to the same thing otherwise we can't find it
17929       on the cloud storage system.
17930
17931       This means that
17932
17933       · filenames with the same name will encrypt the same
17934
17935       · filenames which start the same won't have a common prefix
17936
17937       This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both  of
17938       which are derived from the user password.
17939
17940       After encryption they are written out using a modified version of stan‐
17941       dard base32 encoding as described in RFC4648.  The standard encoding is
17942       modified in two ways:
17943
17944       · it becomes lower case (no-one likes upper case filenames!)
17945
17946       · we strip the padding character =
17947
17948       base32  is  used rather than the more efficient base64 so rclone can be
17949       used on case insensitive remotes (e.g.  Windows, Amazon Drive).
17950
17951   Key derivation
17952       Rclone uses scrypt with parameters N=16384, r=8, p=1 with  an  optional
17953       user supplied salt (password2) to derive the 32+32+16 = 80 bytes of key
17954       material required.  If the user doesn't supply a salt then rclone  uses
17955       an internal one.
17956
17957       scrypt  makes it impractical to mount a dictionary attack on rclone en‐
17958       crypted data.  For full protection against this you should always use a
17959       salt.
17960
17961   SEE ALSO
17962       · rclone  cryptdecode (https://rclone.org/commands/rclone_cryptdecode/)
17963         - Show forward/reverse mapping of encrypted filenames
17964
17965   Compress (Experimental)
17966   Warning
17967       This remote is currently experimental.  Things may break and  data  may
17968       be lost.  Anything you do with this remote is at your own risk.  Please
17969       understand the risks associated with using experimental code and  don't
17970       use this remote in critical applications.
17971
17972       The  Compress  remote  adds  compression to another remote.  It is best
17973       used with remotes containing many large compressible files.
17974
17975       To use this remote, all you need to do is specify another remote and  a
17976       compression mode to use:
17977
17978              Current remotes:
17979
17980              Name                 Type
17981              ====                 ====
17982              remote_to_press      sometype
17983
17984              e) Edit existing remote
17985              $ rclone config
17986              n) New remote
17987              d) Delete remote
17988              r) Rename remote
17989              c) Copy remote
17990              s) Set configuration password
17991              q) Quit config
17992              e/n/d/r/c/s/q> n
17993              name> compress
17994              ...
17995               8 / Compress a remote
17996                 \ "compress"
17997              ...
17998              Storage> compress
17999              ** See help for compress backend at: https://rclone.org/compress/ **
18000
18001              Remote to compress.
18002              Enter a string value. Press Enter for the default ("").
18003              remote> remote_to_press:subdir
18004              Compression mode.
18005              Enter a string value. Press Enter for the default ("gzip").
18006              Choose a number from below, or type in your own value
18007               1 / Gzip compression balanced for speed and compression strength.
18008                 \ "gzip"
18009              compression_mode> gzip
18010              Edit advanced config? (y/n)
18011              y) Yes
18012              n) No (default)
18013              y/n> n
18014              Remote config
18015              --------------------
18016              [compress]
18017              type = compress
18018              remote = remote_to_press:subdir
18019              compression_mode = gzip
18020              --------------------
18021              y) Yes this is OK (default)
18022              e) Edit this remote
18023              d) Delete this remote
18024              y/e/d> y
18025
18026   Compression Modes
18027       Currently only gzip compression is supported, it provides a decent bal‐
18028       ance between speed and strength and is well supported by other applica‐
18029       tion.   Compression  strength can further be configured via an advanced
18030       setting where 0 is no compression and 9 is strongest compression.
18031
18032   Filetype
18033       If you open a remote wrapped by press, you will see that there are many
18034       files  with an extension corresponding to the compression algorithm you
18035       chose.  These files are standard files that can be  opened  by  various
18036       archive  programs,  but they have some hidden metadata that allows them
18037       to be used by rclone.  While you  may  download  and  decompress  these
18038       files  at  will, do not manually delete or rename files.  Files without
18039       correct metadata files will not be recognized by rclone.
18040
18041   File names
18042       The compressed files will be named *.###########.gz where * is the base
18043       file  and  the  # part is base64 encoded size of the uncompressed file.
18044       The file names should not be changed by anything other than the  rclone
18045       compression backend.
18046
18047   Standard Options
18048       Here are the standard options specific to compress (Compress a remote).
18049
18050   --compress-remote
18051       Remote to compress.
18052
18053       · Config: remote
18054
18055       · Env Var: RCLONE_COMPRESS_REMOTE
18056
18057       · Type: string
18058
18059       · Default: ""
18060
18061   --compress-mode
18062       Compression mode.
18063
18064       · Config: mode
18065
18066       · Env Var: RCLONE_COMPRESS_MODE
18067
18068       · Type: string
18069
18070       · Default: "gzip"
18071
18072       · Examples:
18073
18074         · "gzip"
18075
18076           · Standard gzip compression with fastest parameters.
18077
18078   Advanced Options
18079       Here are the advanced options specific to compress (Compress a remote).
18080
18081   --compress-level
18082       GZIP compression level (-2 to 9).
18083
18084                      Generally -1 (default, equivalent to 5) is recommended.
18085                      Levels 1 to 9 increase compressiong at the cost of speed.. Going past 6
18086                      generally offers very little return.
18087
18088                      Level -2 uses Huffmann encoding only. Only use if you now what you
18089                      are doing
18090                      Level 0 turns off compression.
18091
18092       · Config: level
18093
18094       · Env Var: RCLONE_COMPRESS_LEVEL
18095
18096       · Type: int
18097
18098       · Default: -1
18099
18100   --compress-ram-cache-limit
18101       Some  remotes  don't  allow  the upload of files with unknown size.  In
18102       this case the compressed file will need to be cached to determine  it's
18103       size.
18104
18105                             Files smaller than this limit will be cached in RAM, file larger than
18106                             this limit will be cached on disk
18107
18108       · Config: ram_cache_limit
18109
18110       · Env Var: RCLONE_COMPRESS_RAM_CACHE_LIMIT
18111
18112       · Type: SizeSuffix
18113
18114       · Default: 20M
18115
18116   Dropbox
18117       Paths are specified as remote:path
18118
18119       Dropbox paths may be as deep as required, e.g.  remote:directory/subdi‐
18120       rectory.
18121
18122       The initial setup for dropbox involves getting  a  token  from  Dropbox
18123       which  you need to do in your browser.  rclone config walks you through
18124       it.
18125
18126       Here is an example of how to make a remote called remote.  First run:
18127
18128               rclone config
18129
18130       This will guide you through an interactive setup process:
18131
18132              n) New remote
18133              d) Delete remote
18134              q) Quit config
18135              e/n/d/q> n
18136              name> remote
18137              Type of storage to configure.
18138              Choose a number from below, or type in your own value
18139              [snip]
18140              XX / Dropbox
18141                 \ "dropbox"
18142              [snip]
18143              Storage> dropbox
18144              Dropbox App Key - leave blank normally.
18145              app_key>
18146              Dropbox App Secret - leave blank normally.
18147              app_secret>
18148              Remote config
18149              Please visit:
18150              https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code
18151              Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX
18152              --------------------
18153              [remote]
18154              app_key =
18155              app_secret =
18156              token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
18157              --------------------
18158              y) Yes this is OK
18159              e) Edit this remote
18160              d) Delete this remote
18161              y/e/d> y
18162
18163       You can then use it like this,
18164
18165       List directories in top level of your dropbox
18166
18167              rclone lsd remote:
18168
18169       List all the files in your dropbox
18170
18171              rclone ls remote:
18172
18173       To copy a local directory to a dropbox directory called backup
18174
18175              rclone copy /home/source remote:backup
18176
18177   Dropbox for business
18178       Rclone supports Dropbox for business and Team Folders.
18179
18180       When using Dropbox for business remote:  and  remote:path/to/file  will
18181       refer to your personal folder.
18182
18183       If  you  wish to see Team Folders you must use a leading / in the path,
18184       so rclone lsd remote:/ will refer to the root and  show  you  all  Team
18185       Folders and your User Folder.
18186
18187       You  can  then  use  team  folders like this remote:/TeamFolder and re‐
18188       mote:/TeamFolder/path/to/file.
18189
18190       A leading / for a Dropbox personal account will do nothing, but it will
18191       take an extra HTTP transaction so it should be avoided.
18192
18193   Modified time and Hashes
18194       Dropbox supports modified times, but the only way to set a modification
18195       time is to re-upload the file.
18196
18197       This means that if you uploaded your data  with  an  older  version  of
18198       rclone  which didn't support the v2 API and modified times, rclone will
18199       decide to upload all your old data to fix the modification  times.   If
18200       you  don't  want  this  to happen use --size-only or --checksum flag to
18201       stop it.
18202
18203       Dropbox supports its own  hash  type  (https://www.dropbox.com/develop
18204       ers/reference/content-hash) which is checked for all transfers.
18205
18206   Restricted filename characters
18207       Character   Value   Replacement
18208       ────────────────────────────────
18209       NUL         0x00         ␀
18210       /           0x2F        /
18211       DEL         0x7F         ␡
18212       \           0x5C        \
18213
18214       File  names can also not end with the following characters.  These only
18215       get replaced if they are the last character in the name:
18216
18217       Character   Value   Replacement
18218       ────────────────────────────────
18219       SP          0x20         ␠
18220
18221       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
18222       view/#invalid-utf8), as they can't be used in JSON strings.
18223
18224   Standard Options
18225       Here are the standard options specific to dropbox (Dropbox).
18226
18227   --dropbox-client-id
18228       OAuth Client Id Leave blank normally.
18229
18230       · Config: client_id
18231
18232       · Env Var: RCLONE_DROPBOX_CLIENT_ID
18233
18234       · Type: string
18235
18236       · Default: ""
18237
18238   --dropbox-client-secret
18239       OAuth Client Secret Leave blank normally.
18240
18241       · Config: client_secret
18242
18243       · Env Var: RCLONE_DROPBOX_CLIENT_SECRET
18244
18245       · Type: string
18246
18247       · Default: ""
18248
18249   Advanced Options
18250       Here are the advanced options specific to dropbox (Dropbox).
18251
18252   --dropbox-token
18253       OAuth Access Token as a JSON blob.
18254
18255       · Config: token
18256
18257       · Env Var: RCLONE_DROPBOX_TOKEN
18258
18259       · Type: string
18260
18261       · Default: ""
18262
18263   --dropbox-auth-url
18264       Auth server URL.  Leave blank to use the provider defaults.
18265
18266       · Config: auth_url
18267
18268       · Env Var: RCLONE_DROPBOX_AUTH_URL
18269
18270       · Type: string
18271
18272       · Default: ""
18273
18274   --dropbox-token-url
18275       Token server url.  Leave blank to use the provider defaults.
18276
18277       · Config: token_url
18278
18279       · Env Var: RCLONE_DROPBOX_TOKEN_URL
18280
18281       · Type: string
18282
18283       · Default: ""
18284
18285   --dropbox-chunk-size
18286       Upload chunk size.  (< 150M).
18287
18288       Any files larger than this will be uploaded in chunks of this size.
18289
18290       Note  that  chunks are buffered in memory (one at a time) so rclone can
18291       deal with retries.  Setting this larger will increase the speed slight‐
18292       ly  (at  most 10% for 128MB in tests) at the cost of using more memory.
18293       It can be set smaller if you are tight on memory.
18294
18295       · Config: chunk_size
18296
18297       · Env Var: RCLONE_DROPBOX_CHUNK_SIZE
18298
18299       · Type: SizeSuffix
18300
18301       · Default: 48M
18302
18303   --dropbox-impersonate
18304       Impersonate this user when using a business account.
18305
18306       · Config: impersonate
18307
18308       · Env Var: RCLONE_DROPBOX_IMPERSONATE
18309
18310       · Type: string
18311
18312       · Default: ""
18313
18314   --dropbox-shared-files
18315       Instructs rclone to work on individual shared files.
18316
18317       In this mode rclone's features are extremely limited - only  list  (ls,
18318       lsl,  etc.) operations and read operations (e.g.  downloading) are sup‐
18319       ported in this mode.  All other operations will be disabled.
18320
18321       · Config: shared_files
18322
18323       · Env Var: RCLONE_DROPBOX_SHARED_FILES
18324
18325       · Type: bool
18326
18327       · Default: false
18328
18329   --dropbox-shared-folders
18330       Instructs rclone to work on shared folders.
18331
18332       When this flag is used with no path only the List operation is support‐
18333       ed  and  all available shared folders will be listed.  If you specify a
18334       path the first part will be interpreted as the name of  shared  folder.
18335       Rclone  will  then  try to mount this shared to the root namespace.  On
18336       success shared folder rclone proceeds normally.  The shared  folder  is
18337       now  pretty much a normal folder and all normal operations are support‐
18338       ed.
18339
18340       Note that we don't unmount the shared folder afterwards so the  --drop‐
18341       box-shared-folders  can  be omitted after the first use of a particular
18342       shared folder.
18343
18344       · Config: shared_folders
18345
18346       · Env Var: RCLONE_DROPBOX_SHARED_FOLDERS
18347
18348       · Type: bool
18349
18350       · Default: false
18351
18352   --dropbox-encoding
18353       This sets the encoding for the backend.
18354
18355       See: the encoding section  in  the  overview  (https://rclone.org/over
18356       view/#encoding) for more info.
18357
18358       · Config: encoding
18359
18360       · Env Var: RCLONE_DROPBOX_ENCODING
18361
18362       · Type: MultiEncoder
18363
18364       · Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot
18365
18366   Limitations
18367       Note  that  Dropbox is case insensitive so you can't have a file called
18368       "Hello.doc" and one called "hello.doc".
18369
18370       There are some file names such as thumbs.db which Dropbox can't  store.
18371       There  is  a  full  list of them in the "Ignored Files" section of this
18372       document (https://www.dropbox.com/en/help/145).  Rclone will  issue  an
18373       error  message  File  name disallowed - not uploading if it attempts to
18374       upload one of those file names, but the sync won't fail.
18375
18376       Some errors may occur if you try to sync copyright-protected files  be‐
18377       cause      Dropbox      has      its     own     copyright     detector
18378       (https://techcrunch.com/2014/03/30/how-dropbox-knows-when-youre-shar
18379       ing-copyrighted-stuff-without-actually-looking-at-your-stuff/)     that
18380       prevents this sort of file being downloaded.  This will return the  er‐
18381       ror  ERROR  : /path/to/your/file: Failed to copy: failed to open source
18382       object: path/restricted_content/.
18383
18384       If you have more than 10,000 files in a  directory  then  rclone  purge
18385       dropbox:dir  will  return the error Failed to purge: There are too many
18386       files involved in this operation.  As a work-around do an rclone delete
18387       dropbox:dir followed by an rclone rmdir dropbox:dir.
18388
18389   Get your own Dropbox App ID
18390       When  you  use rclone with Dropbox in its default configuration you are
18391       using rclone's App ID.  This is shared between all the rclone users.
18392
18393       Here is how to create your own Dropbox App ID for rclone:
18394
18395       1. Log into the Dropbox App  console  (https://www.dropbox.com/develop
18396          ers/apps/create)  with  your  Dropbox Account (It need not to be the
18397          same account as the Dropbox you want to access)
18398
18399       2. Choose an API => Usually this should be Dropbox API
18400
18401       3. Choose the type of access you want to use =>  Full  Dropbox  or  App
18402          Folder
18403
18404       4. Name  your App.  The app name is global, so you can't use rclone for
18405          example
18406
18407       5. Click the button Create App
18408
18409       6. Fill Redirect URIs as http://localhost:53682/
18410
18411       7. Find the App key and App secret Use these values in rclone config to
18412          add a new remote or edit an existing remote.
18413
18414   Enterprise File Fabric
18415       This  backend  supports  Storage  Made  Easy's  Enterprise File Fabric™
18416       (https://storagemadeeasy.com/about/) which provides a software solution
18417       to  integrate  and  unify  File and Object Storage accessible through a
18418       global file system.
18419
18420       The initial setup for the Enterprise File Fabric backend involves  get‐
18421       ting  a  token from the the Enterprise File Fabric which you need to do
18422       in your browser.  rclone config walks you through it.
18423
18424       Here is an example of how to make a remote called remote.  First run:
18425
18426               rclone config
18427
18428       This will guide you through an interactive setup process:
18429
18430              No remotes found - make a new one
18431              n) New remote
18432              s) Set configuration password
18433              q) Quit config
18434              n/s/q> n
18435              name> remote
18436              Type of storage to configure.
18437              Enter a string value. Press Enter for the default ("").
18438              Choose a number from below, or type in your own value
18439              [snip]
18440              XX / Enterprise File Fabric
18441                 \ "filefabric"
18442              [snip]
18443              Storage> filefabric
18444              ** See help for filefabric backend at: https://rclone.org/filefabric/ **
18445
18446              URL of the Enterprise File Fabric to connect to
18447              Enter a string value. Press Enter for the default ("").
18448              Choose a number from below, or type in your own value
18449               1 / Storage Made Easy US
18450                 \ "https://storagemadeeasy.com"
18451               2 / Storage Made Easy EU
18452                 \ "https://eu.storagemadeeasy.com"
18453               3 / Connect to your Enterprise File Fabric
18454                 \ "https://yourfabric.smestorage.com"
18455              url> https://yourfabric.smestorage.com/
18456              ID of the root folder
18457              Leave blank normally.
18458
18459              Fill in to make rclone start with directory of a given ID.
18460
18461              Enter a string value. Press Enter for the default ("").
18462              root_folder_id>
18463              Permanent Authentication Token
18464
18465              A Permanent Authentication Token can be created in the Enterprise File
18466              Fabric, on the users Dashboard under Security, there is an entry
18467              you'll see called "My Authentication Tokens". Click the Manage button
18468              to create one.
18469
18470              These tokens are normally valid for several years.
18471
18472              For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens
18473
18474              Enter a string value. Press Enter for the default ("").
18475              permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
18476              Edit advanced config? (y/n)
18477              y) Yes
18478              n) No (default)
18479              y/n> n
18480              Remote config
18481              --------------------
18482              [remote]
18483              type = filefabric
18484              url = https://yourfabric.smestorage.com/
18485              permanent_token = xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx
18486              --------------------
18487              y) Yes this is OK (default)
18488              e) Edit this remote
18489              d) Delete this remote
18490              y/e/d> y
18491
18492       Once configured you can then use rclone like this,
18493
18494       List directories in top level of your Enterprise File Fabric
18495
18496              rclone lsd remote:
18497
18498       List all the files in your Enterprise File Fabric
18499
18500              rclone ls remote:
18501
18502       To copy a local directory to an Enterprise File Fabric directory called
18503       backup
18504
18505              rclone copy /home/source remote:backup
18506
18507   Modified time and hashes
18508       The Enterprise File Fabric allows modification times to be set on files
18509       accurate to 1 second.  These will be used  to  detect  whether  objects
18510       need syncing or not.
18511
18512       The  Enterprise  File  Fabric  does not support any data hashes at this
18513       time.
18514
18515   Restricted filename characters
18516       The default restricted characters set (https://rclone.org/overview/#re‐
18517       stricted-characters) will be replaced.
18518
18519       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
18520       view/#invalid-utf8), as they can't be used in JSON strings.
18521
18522   Empty files
18523       Empty files aren't supported by the  Enterprise  File  Fabric.   Rclone
18524       will  therefore upload an empty file as a single space with a mime type
18525       of application/vnd.rclone.empty.file and files with that mime type  are
18526       treated as empty.
18527
18528   Root folder ID
18529       You  can  set  the  root_folder_id  for  rclone.  This is the directory
18530       (identified by its Folder ID) that rclone considers to be the  root  of
18531       your Enterprise File Fabric.
18532
18533       Normally  you  will leave this blank and rclone will determine the cor‐
18534       rect root to use itself.
18535
18536       However you can set this to restrict rclone to a specific folder  hier‐
18537       archy.
18538
18539       In order to do this you will have to find the Folder ID of the directo‐
18540       ry you wish rclone to display.  These aren't displayed in the  web  in‐
18541       terface, but you can use rclone lsf to find them, for example
18542
18543              $ rclone lsf --dirs-only -Fip --csv filefabric:
18544              120673758,Burnt PDFs/
18545              120673759,My Quick Uploads/
18546              120673755,My Syncs/
18547              120673756,My backups/
18548              120673757,My contacts/
18549              120673761,S3 Storage/
18550
18551       The ID for "S3 Storage" would be 120673761.
18552
18553   Standard Options
18554       Here  are  the standard options specific to filefabric (Enterprise File
18555       Fabric).
18556
18557   --filefabric-url
18558       URL of the Enterprise File Fabric to connect to
18559
18560       · Config: url
18561
18562       · Env Var: RCLONE_FILEFABRIC_URL
18563
18564       · Type: string
18565
18566       · Default: ""
18567
18568       · Examples:
18569
18570         · "https://storagemadeeasy.com"
18571
18572           · Storage Made Easy US
18573
18574         · "https://eu.storagemadeeasy.com"
18575
18576           · Storage Made Easy EU
18577
18578         · "https://yourfabric.smestorage.com"
18579
18580           · Connect to your Enterprise File Fabric
18581
18582   --filefabric-root-folder-id
18583       ID of the root folder Leave blank normally.
18584
18585       Fill in to make rclone start with directory of a given ID.
18586
18587       · Config: root_folder_id
18588
18589       · Env Var: RCLONE_FILEFABRIC_ROOT_FOLDER_ID
18590
18591       · Type: string
18592
18593       · Default: ""
18594
18595   --filefabric-permanent-token
18596       Permanent Authentication Token
18597
18598       A Permanent Authentication Token can be created in the Enterprise  File
18599       Fabric, on the users Dashboard under Security, there is an entry you'll
18600       see called "My Authentication Tokens".  Click the Manage button to cre‐
18601       ate one.
18602
18603       These tokens are normally valid for several years.
18604
18605       For   more   info  see:  https://docs.storagemadeeasy.com/organisation
18606       cloud/api-tokens
18607
18608       · Config: permanent_token
18609
18610       · Env Var: RCLONE_FILEFABRIC_PERMANENT_TOKEN
18611
18612       · Type: string
18613
18614       · Default: ""
18615
18616   Advanced Options
18617       Here are the advanced options specific to filefabric  (Enterprise  File
18618       Fabric).
18619
18620   --filefabric-token
18621       Session Token
18622
18623       This  is a session token which rclone caches in the config file.  It is
18624       usually valid for 1 hour.
18625
18626       Don't set this value - rclone will set it automatically.
18627
18628       · Config: token
18629
18630       · Env Var: RCLONE_FILEFABRIC_TOKEN
18631
18632       · Type: string
18633
18634       · Default: ""
18635
18636   --filefabric-token-expiry
18637       Token expiry time
18638
18639       Don't set this value - rclone will set it automatically.
18640
18641       · Config: token_expiry
18642
18643       · Env Var: RCLONE_FILEFABRIC_TOKEN_EXPIRY
18644
18645       · Type: string
18646
18647       · Default: ""
18648
18649   --filefabric-version
18650       Version read from the file fabric
18651
18652       Don't set this value - rclone will set it automatically.
18653
18654       · Config: version
18655
18656       · Env Var: RCLONE_FILEFABRIC_VERSION
18657
18658       · Type: string
18659
18660       · Default: ""
18661
18662   --filefabric-encoding
18663       This sets the encoding for the backend.
18664
18665       See: the encoding section  in  the  overview  (https://rclone.org/over
18666       view/#encoding) for more info.
18667
18668       · Config: encoding
18669
18670       · Env Var: RCLONE_FILEFABRIC_ENCODING
18671
18672       · Type: MultiEncoder
18673
18674       · Default: Slash,Del,Ctl,InvalidUtf8,Dot
18675
18676   FTP
18677       FTP  is the File Transfer Protocol.  Rclone FTP support is provided us‐
18678       ing  the  github.com/jlaffaye/ftp   (https://godoc.org/github.com/jlaf
18679       faye/ftp) package.
18680
18681       Limitations of Rclone's FTP backend
18682
18683       Paths  are specified as remote:path.  If the path does not begin with a
18684       / it is relative to the home directory of the user.  An empty path  re‐
18685       mote: refers to the user's home directory.
18686
18687       To create an FTP configuration named remote, run
18688
18689              rclone config
18690
18691       Rclone config guides you through an interactive setup process.  A mini‐
18692       mal rclone FTP remote definition only requires host, username and pass‐
18693       word.   For an anonymous FTP server, use anonymous as username and your
18694       email address as password.
18695
18696              No remotes found - make a new one
18697              n) New remote
18698              r) Rename remote
18699              c) Copy remote
18700              s) Set configuration password
18701              q) Quit config
18702              n/r/c/s/q> n
18703              name> remote
18704              Type of storage to configure.
18705              Enter a string value. Press Enter for the default ("").
18706              Choose a number from below, or type in your own value
18707              [snip]
18708              XX / FTP Connection
18709                 \ "ftp"
18710              [snip]
18711              Storage> ftp
18712              ** See help for ftp backend at: https://rclone.org/ftp/ **
18713
18714              FTP host to connect to
18715              Enter a string value. Press Enter for the default ("").
18716              Choose a number from below, or type in your own value
18717               1 / Connect to ftp.example.com
18718                 \ "ftp.example.com"
18719              host> ftp.example.com
18720              FTP username, leave blank for current username, $USER
18721              Enter a string value. Press Enter for the default ("").
18722              user>
18723              FTP port, leave blank to use default (21)
18724              Enter a string value. Press Enter for the default ("").
18725              port>
18726              FTP password
18727              y) Yes type in my own password
18728              g) Generate random password
18729              y/g> y
18730              Enter the password:
18731              password:
18732              Confirm the password:
18733              password:
18734              Use FTP over TLS (Implicit)
18735              Enter a boolean value (true or false). Press Enter for the default ("false").
18736              tls>
18737              Use FTP over TLS (Explicit)
18738              Enter a boolean value (true or false). Press Enter for the default ("false").
18739              explicit_tls>
18740              Remote config
18741              --------------------
18742              [remote]
18743              type = ftp
18744              host = ftp.example.com
18745              pass = *** ENCRYPTED ***
18746              --------------------
18747              y) Yes this is OK
18748              e) Edit this remote
18749              d) Delete this remote
18750              y/e/d> y
18751
18752       To see all directories in the home directory of remote
18753
18754              rclone lsd remote:
18755
18756       Make a new directory
18757
18758              rclone mkdir remote:path/to/directory
18759
18760       List the contents of a directory
18761
18762              rclone ls remote:path/to/directory
18763
18764       Sync /home/local/directory to the remote directory, deleting any excess
18765       files in the directory.
18766
18767              rclone sync -i /home/local/directory remote:directory
18768
18769   Example without a config file
18770              rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=`rclone obscure dummy`
18771
18772   Implicit TLS
18773       Rlone  FTP  supports implicit FTP over TLS servers (FTPS).  This has to
18774       be  enabled  in  the  FTP  backend  config  for  the  remote,  or  with
18775       [--ftp-tls]{#ftp-tls}.  The default FTPS port is 990, not 21 and can be
18776       set with [--ftp-port]{#ftp-port}.
18777
18778   Standard Options
18779       Here are the standard options specific to ftp (FTP Connection).
18780
18781   --ftp-host
18782       FTP host to connect to
18783
18784       · Config: host
18785
18786       · Env Var: RCLONE_FTP_HOST
18787
18788       · Type: string
18789
18790       · Default: ""
18791
18792       · Examples:
18793
18794         · "ftp.example.com"
18795
18796           · Connect to ftp.example.com
18797
18798   --ftp-user
18799       FTP username, leave blank for current username, $USER
18800
18801       · Config: user
18802
18803       · Env Var: RCLONE_FTP_USER
18804
18805       · Type: string
18806
18807       · Default: ""
18808
18809   --ftp-port
18810       FTP port, leave blank to use default (21)
18811
18812       · Config: port
18813
18814       · Env Var: RCLONE_FTP_PORT
18815
18816       · Type: string
18817
18818       · Default: ""
18819
18820   --ftp-pass
18821       FTP password
18822
18823       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
18824       (https://rclone.org/commands/rclone_obscure/).
18825
18826       · Config: pass
18827
18828       · Env Var: RCLONE_FTP_PASS
18829
18830       · Type: string
18831
18832       · Default: ""
18833
18834   --ftp-tls
18835       Use  Implicit  FTPS (FTP over TLS) When using implicit FTP over TLS the
18836       client connects using TLS right from the start which breaks compatibil‐
18837       ity  with  non-TLS-aware servers.  This is usually served over port 990
18838       rather than port 21.  Cannot be used in combination with explicit FTP.
18839
18840       · Config: tls
18841
18842       · Env Var: RCLONE_FTP_TLS
18843
18844       · Type: bool
18845
18846       · Default: false
18847
18848   --ftp-explicit-tls
18849       Use Explicit FTPS (FTP over TLS) When using explicit FTP over  TLS  the
18850       client explicitly requests security from the server in order to upgrade
18851       a plain text connection to an encrypted one.  Cannot be used in  combi‐
18852       nation with implicit FTP.
18853
18854       · Config: explicit_tls
18855
18856       · Env Var: RCLONE_FTP_EXPLICIT_TLS
18857
18858       · Type: bool
18859
18860       · Default: false
18861
18862   Advanced Options
18863       Here are the advanced options specific to ftp (FTP Connection).
18864
18865   --ftp-concurrency
18866       Maximum number of FTP simultaneous connections, 0 for unlimited
18867
18868       · Config: concurrency
18869
18870       · Env Var: RCLONE_FTP_CONCURRENCY
18871
18872       · Type: int
18873
18874       · Default: 0
18875
18876   --ftp-no-check-certificate
18877       Do not verify the TLS certificate of the server
18878
18879       · Config: no_check_certificate
18880
18881       · Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE
18882
18883       · Type: bool
18884
18885       · Default: false
18886
18887   --ftp-disable-epsv
18888       Disable using EPSV even if server advertises support
18889
18890       · Config: disable_epsv
18891
18892       · Env Var: RCLONE_FTP_DISABLE_EPSV
18893
18894       · Type: bool
18895
18896       · Default: false
18897
18898   --ftp-disable-mlsd
18899       Disable using MLSD even if server advertises support
18900
18901       · Config: disable_mlsd
18902
18903       · Env Var: RCLONE_FTP_DISABLE_MLSD
18904
18905       · Type: bool
18906
18907       · Default: false
18908
18909   --ftp-encoding
18910       This sets the encoding for the backend.
18911
18912       See:  the  encoding  section  in the overview (https://rclone.org/over
18913       view/#encoding) for more info.
18914
18915       · Config: encoding
18916
18917       · Env Var: RCLONE_FTP_ENCODING
18918
18919       · Type: MultiEncoder
18920
18921       · Default: Slash,Del,Ctl,RightSpace,Dot
18922
18923   Limitations
18924       Modified times are not supported.  Times you  see  on  the  FTP  server
18925       through rclone are those of upload.
18926
18927       Rclone's  FTP  backend  does  not support any checksums but can compare
18928       file sizes.
18929
18930       rclone about is not supported by the  FTP  backend.   Backends  without
18931       this  capability cannot determine free space for an rclone mount or use
18932       policy mfs (most free space) as a member of an rclone union remote.
18933
18934       See   List   of   backends   that   do   not   support   rclone   about
18935       (https://rclone.org/overview/#optional-features)   See   rclone   about
18936       (https://rclone.org/commands/rclone_about/)
18937
18938       The implementation of : --dump headers, --dump bodies, --dump auth  for
18939       debugging  isn't  the  same  as for rclone HTTP based backends - it has
18940       less fine grained control.
18941
18942       --timeout isn't supported (but --contimeout is).
18943
18944       --bind isn't supported.
18945
18946       Rclone's FTP backend could support server-side move  but  does  not  at
18947       present.
18948
18949       The ftp_proxy environment variable is not currently supported.
18950
18951       FTP  servers  acting  as  rclone  remotes  must support 'passive' mode.
18952       Rclone's FTP implementation is not compatible with 'active' mode.
18953
18954   Restricted filename characters
18955       In   addition   to    the    default    restricted    characters    set
18956       (https://rclone.org/overview/#restricted-characters)    the   following
18957       characters are also replaced:
18958
18959       File names cannot end with the  following  characters.   Repacement  is
18960       limited to the last character in a file name:
18961
18962       Character   Value   Replacement
18963       ────────────────────────────────
18964       SP          0x20         ␠
18965
18966       Not all FTP servers can have all characters in file names, for example:
18967
18968       FTP Server   Forbidden characters
18969       ──────────────────────────────────
18970       proftpd               *
18971       pureftpd            \ [ ]
18972
18973   Google Cloud Storage
18974       Paths  are specified as remote:bucket (or remote: for the lsd command.)
18975       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
18976
18977       The initial setup for google cloud storage  involves  getting  a  token
18978       from Google Cloud Storage which you need to do in your browser.  rclone
18979       config walks you through it.
18980
18981       Here is an example of how to make a remote called remote.  First run:
18982
18983               rclone config
18984
18985       This will guide you through an interactive setup process:
18986
18987              n) New remote
18988              d) Delete remote
18989              q) Quit config
18990              e/n/d/q> n
18991              name> remote
18992              Type of storage to configure.
18993              Choose a number from below, or type in your own value
18994              [snip]
18995              XX / Google Cloud Storage (this is not Google Drive)
18996                 \ "google cloud storage"
18997              [snip]
18998              Storage> google cloud storage
18999              Google Application Client Id - leave blank normally.
19000              client_id>
19001              Google Application Client Secret - leave blank normally.
19002              client_secret>
19003              Project number optional - needed only for list/create/delete buckets - see your developer console.
19004              project_number> 12345678
19005              Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
19006              service_account_file>
19007              Access Control List for new objects.
19008              Choose a number from below, or type in your own value
19009               1 / Object owner gets OWNER access, and all Authenticated Users get READER access.
19010                 \ "authenticatedRead"
19011               2 / Object owner gets OWNER access, and project team owners get OWNER access.
19012                 \ "bucketOwnerFullControl"
19013               3 / Object owner gets OWNER access, and project team owners get READER access.
19014                 \ "bucketOwnerRead"
19015               4 / Object owner gets OWNER access [default if left blank].
19016                 \ "private"
19017               5 / Object owner gets OWNER access, and project team members get access according to their roles.
19018                 \ "projectPrivate"
19019               6 / Object owner gets OWNER access, and all Users get READER access.
19020                 \ "publicRead"
19021              object_acl> 4
19022              Access Control List for new buckets.
19023              Choose a number from below, or type in your own value
19024               1 / Project team owners get OWNER access, and all Authenticated Users get READER access.
19025                 \ "authenticatedRead"
19026               2 / Project team owners get OWNER access [default if left blank].
19027                 \ "private"
19028               3 / Project team members get access according to their roles.
19029                 \ "projectPrivate"
19030               4 / Project team owners get OWNER access, and all Users get READER access.
19031                 \ "publicRead"
19032               5 / Project team owners get OWNER access, and all Users get WRITER access.
19033                 \ "publicReadWrite"
19034              bucket_acl> 2
19035              Location for the newly created buckets.
19036              Choose a number from below, or type in your own value
19037               1 / Empty for default location (US).
19038                 \ ""
19039               2 / Multi-regional location for Asia.
19040                 \ "asia"
19041               3 / Multi-regional location for Europe.
19042                 \ "eu"
19043               4 / Multi-regional location for United States.
19044                 \ "us"
19045               5 / Taiwan.
19046                 \ "asia-east1"
19047               6 / Tokyo.
19048                 \ "asia-northeast1"
19049               7 / Singapore.
19050                 \ "asia-southeast1"
19051               8 / Sydney.
19052                 \ "australia-southeast1"
19053               9 / Belgium.
19054                 \ "europe-west1"
19055              10 / London.
19056                 \ "europe-west2"
19057              11 / Iowa.
19058                 \ "us-central1"
19059              12 / South Carolina.
19060                 \ "us-east1"
19061              13 / Northern Virginia.
19062                 \ "us-east4"
19063              14 / Oregon.
19064                 \ "us-west1"
19065              location> 12
19066              The storage class to use when storing objects in Google Cloud Storage.
19067              Choose a number from below, or type in your own value
19068               1 / Default
19069                 \ ""
19070               2 / Multi-regional storage class
19071                 \ "MULTI_REGIONAL"
19072               3 / Regional storage class
19073                 \ "REGIONAL"
19074               4 / Nearline storage class
19075                 \ "NEARLINE"
19076               5 / Coldline storage class
19077                 \ "COLDLINE"
19078               6 / Durable reduced availability storage class
19079                 \ "DURABLE_REDUCED_AVAILABILITY"
19080              storage_class> 5
19081              Remote config
19082              Use auto config?
19083               * Say Y if not sure
19084               * Say N if you are working on a remote or headless machine or Y didn't work
19085              y) Yes
19086              n) No
19087              y/n> y
19088              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
19089              Log in and authorize rclone for access
19090              Waiting for code...
19091              Got code
19092              --------------------
19093              [remote]
19094              type = google cloud storage
19095              client_id =
19096              client_secret =
19097              token = {"AccessToken":"xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx","Expiry":"2014-07-17T20:49:14.929208288+01:00","Extra":null}
19098              project_number = 12345678
19099              object_acl = private
19100              bucket_acl = private
19101              --------------------
19102              y) Yes this is OK
19103              e) Edit this remote
19104              d) Delete this remote
19105              y/e/d> y
19106
19107       Note that rclone runs a webserver on your local machine to collect  the
19108       token  as  returned from Google if you use auto config mode.  This only
19109       runs from the moment it opens your browser to the moment you  get  back
19110       the  verification code.  This is on http://127.0.0.1:53682/ and this it
19111       may require you to unblock it temporarily if you  are  running  a  host
19112       firewall, or use manual mode.
19113
19114       This remote is called remote and can now be used like this
19115
19116       See all the buckets in your project
19117
19118              rclone lsd remote:
19119
19120       Make a new bucket
19121
19122              rclone mkdir remote:bucket
19123
19124       List the contents of a bucket
19125
19126              rclone ls remote:bucket
19127
19128       Sync  /home/local/directory  to  the remote bucket, deleting any excess
19129       files in the bucket.
19130
19131              rclone sync -i /home/local/directory remote:bucket
19132
19133   Service Account support
19134       You can set up rclone with Google Cloud Storage in an unattended  mode,
19135       i.e.   not  tied to a specific end-user Google account.  This is useful
19136       when you want to synchronise files onto machines that  don't  have  ac‐
19137       tively logged-in users, for example build machines.
19138
19139       To  get  credentials  for  Google  Cloud  Platform IAM Service Accounts
19140       (https://cloud.google.com/iam/docs/service-accounts),  please  head  to
19141       the  Service Account (https://console.cloud.google.com/permissions/ser
19142       viceaccounts) section of the Google  Developer  Console.   Service  Ac‐
19143       counts behave just like normal User permissions in Google Cloud Storage
19144       ACLs (https://cloud.google.com/storage/docs/access-control), so you can
19145       limit  their access (e.g.  make them read only).  After creating an ac‐
19146       count, a JSON file containing the Service Account's credentials will be
19147       downloaded  onto your machines.  These credentials are what rclone will
19148       use for authentication.
19149
19150       To use a Service Account instead of OAuth2 token flow, enter  the  path
19151       to  your Service Account credentials at the service_account_file prompt
19152       and rclone won't use the browser based authentication flow.   If  you'd
19153       rather  stuff the contents of the credentials file into the rclone con‐
19154       fig file, you can set service_account_credentials with the actual  con‐
19155       tents of the file instead, or set the equivalent environment variable.
19156
19157   Anonymous Access
19158       For  downloads  of  objects that permit public access you can configure
19159       rclone to use anonymous access by  setting  anonymous  to  true.   With
19160       unauthorized  access  you  can't write or create files but only read or
19161       list those buckets and objects that have public read access.
19162
19163   Application Default Credentials
19164       If no other source of credentials is provided, rclone will fall back to
19165       Application  Default Credentials (https://cloud.google.com/video-intel
19166       ligence/docs/common/auth#authenticating_with_application_default_cre‐
19167       dentials)  this is useful both when you already have configured authen‐
19168       tication for your developer account, or in production when running on a
19169       google  compute  host.  Note that if running in docker, you may need to
19170       run additional commands on your google compute machine - see this  page
19171       (https://cloud.google.com/container-registry/docs/advanced-authentica
19172       tion#gcloud_as_a_docker_credential_helper).
19173
19174       Note that in the case application default credentials are  used,  there
19175       is no need to explicitly configure a project number.
19176
19177   --fast-list
19178       This remote supports --fast-list which allows you to use fewer transac‐
19179       tions  in  exchange   for   more   memory.    See   the   rclone   docs
19180       (https://rclone.org/docs/#fast-list) for more details.
19181
19182   Custom upload headers
19183       You  can  set  custom  upload  headers  with  the --header-upload flag.
19184       Google Cloud Storage supports the headers as described in  the  working
19185       with metadata documentation (https://cloud.google.com/storage/docs/gsu
19186       til/addlhelp/WorkingWithObjectMetadata)
19187
19188       · Cache-Control
19189
19190       · Content-Disposition
19191
19192       · Content-Encoding
19193
19194       · Content-Language
19195
19196       · Content-Type
19197
19198       · X-Goog-Storage-Class
19199
19200       · X-Goog-Meta-
19201
19202       Eg --header-upload "Content-Type text/potato"
19203
19204       Note that the last of these is for setting custom metadata in the  form
19205       --header-upload "x-goog-meta-key: value"
19206
19207   Modified time
19208       Google  google  cloud storage stores md5sums natively and rclone stores
19209       modification times as metadata on the object, under the "mtime" key  in
19210       RFC3339 format accurate to 1ns.
19211
19212   Restricted filename characters
19213       Character   Value   Replacement
19214       ────────────────────────────────
19215       NUL         0x00         ␀
19216       LF          0x0A         ␊
19217       CR          0x0D         ␍
19218       /           0x2F        /
19219
19220       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
19221       view/#invalid-utf8), as they can't be used in JSON strings.
19222
19223   Standard Options
19224       Here are the standard options specific to google cloud storage  (Google
19225       Cloud Storage (this is not Google Drive)).
19226
19227   --gcs-client-id
19228       OAuth Client Id Leave blank normally.
19229
19230       · Config: client_id
19231
19232       · Env Var: RCLONE_GCS_CLIENT_ID
19233
19234       · Type: string
19235
19236       · Default: ""
19237
19238   --gcs-client-secret
19239       OAuth Client Secret Leave blank normally.
19240
19241       · Config: client_secret
19242
19243       · Env Var: RCLONE_GCS_CLIENT_SECRET
19244
19245       · Type: string
19246
19247       · Default: ""
19248
19249   --gcs-project-number
19250       Project  number.  Optional - needed only for list/create/delete buckets
19251       - see your developer console.
19252
19253       · Config: project_number
19254
19255       · Env Var: RCLONE_GCS_PROJECT_NUMBER
19256
19257       · Type: string
19258
19259       · Default: ""
19260
19261   --gcs-service-account-file
19262       Service Account Credentials JSON file path Leave blank normally.  Need‐
19263       ed only if you want use SA instead of interactive login.
19264
19265       Leading  ~  will be expanded in the file name as will environment vari‐
19266       ables such as ${RCLONE_CONFIG_DIR}.
19267
19268       · Config: service_account_file
19269
19270       · Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE
19271
19272       · Type: string
19273
19274       · Default: ""
19275
19276   --gcs-service-account-credentials
19277       Service Account Credentials JSON blob Leave blank normally.  Needed on‐
19278       ly if you want use SA instead of interactive login.
19279
19280       · Config: service_account_credentials
19281
19282       · Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS
19283
19284       · Type: string
19285
19286       · Default: ""
19287
19288   --gcs-anonymous
19289       Access  public buckets and objects without credentials Set to 'true' if
19290       you just want to download files and don't configure credentials.
19291
19292       · Config: anonymous
19293
19294       · Env Var: RCLONE_GCS_ANONYMOUS
19295
19296       · Type: bool
19297
19298       · Default: false
19299
19300   --gcs-object-acl
19301       Access Control List for new objects.
19302
19303       · Config: object_acl
19304
19305       · Env Var: RCLONE_GCS_OBJECT_ACL
19306
19307       · Type: string
19308
19309       · Default: ""
19310
19311       · Examples:
19312
19313         · "authenticatedRead"
19314
19315           · Object owner gets OWNER access, and all Authenticated  Users  get
19316             READER access.
19317
19318         · "bucketOwnerFullControl"
19319
19320           · Object owner gets OWNER access, and project team owners get OWNER
19321             access.
19322
19323         · "bucketOwnerRead"
19324
19325           · Object owner gets OWNER access, and project team owners get READ‐
19326             ER access.
19327
19328         · "private"
19329
19330           · Object owner gets OWNER access [default if left blank].
19331
19332         · "projectPrivate"
19333
19334           · Object  owner gets OWNER access, and project team members get ac‐
19335             cess according to their roles.
19336
19337         · "publicRead"
19338
19339           · Object owner gets OWNER access, and all Users get READER access.
19340
19341   --gcs-bucket-acl
19342       Access Control List for new buckets.
19343
19344       · Config: bucket_acl
19345
19346       · Env Var: RCLONE_GCS_BUCKET_ACL
19347
19348       · Type: string
19349
19350       · Default: ""
19351
19352       · Examples:
19353
19354         · "authenticatedRead"
19355
19356           · Project team owners get OWNER access, and all Authenticated Users
19357             get READER access.
19358
19359         · "private"
19360
19361           · Project team owners get OWNER access [default if left blank].
19362
19363         · "projectPrivate"
19364
19365           · Project team members get access according to their roles.
19366
19367         · "publicRead"
19368
19369           · Project  team  owners  get OWNER access, and all Users get READER
19370             access.
19371
19372         · "publicReadWrite"
19373
19374           · Project team owners get OWNER access, and all  Users  get  WRITER
19375             access.
19376
19377   --gcs-bucket-policy-only
19378       Access checks should use bucket-level IAM policies.
19379
19380       If  you  want to upload objects to a bucket with Bucket Policy Only set
19381       then you will need to set this.
19382
19383       When it is set, rclone:
19384
19385       · ignores ACLs set on buckets
19386
19387       · ignores ACLs set on objects
19388
19389       · creates buckets with Bucket Policy Only set
19390
19391       Docs: https://cloud.google.com/storage/docs/bucket-policy-only
19392
19393       · Config: bucket_policy_only
19394
19395       · Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY
19396
19397       · Type: bool
19398
19399       · Default: false
19400
19401   --gcs-location
19402       Location for the newly created buckets.
19403
19404       · Config: location
19405
19406       · Env Var: RCLONE_GCS_LOCATION
19407
19408       · Type: string
19409
19410       · Default: ""
19411
19412       · Examples:
19413
19414         · ""
19415
19416           · Empty for default location (US).
19417
19418         · "asia"
19419
19420           · Multi-regional location for Asia.
19421
19422         · "eu"
19423
19424           · Multi-regional location for Europe.
19425
19426         · "us"
19427
19428           · Multi-regional location for United States.
19429
19430         · "asia-east1"
19431
19432           · Taiwan.
19433
19434         · "asia-east2"
19435
19436           · Hong Kong.
19437
19438         · "asia-northeast1"
19439
19440           · Tokyo.
19441
19442         · "asia-south1"
19443
19444           · Mumbai.
19445
19446         · "asia-southeast1"
19447
19448           · Singapore.
19449
19450         · "australia-southeast1"
19451
19452           · Sydney.
19453
19454         · "europe-north1"
19455
19456           · Finland.
19457
19458         · "europe-west1"
19459
19460           · Belgium.
19461
19462         · "europe-west2"
19463
19464           · London.
19465
19466         · "europe-west3"
19467
19468           · Frankfurt.
19469
19470         · "europe-west4"
19471
19472           · Netherlands.
19473
19474         · "us-central1"
19475
19476           · Iowa.
19477
19478         · "us-east1"
19479
19480           · South Carolina.
19481
19482         · "us-east4"
19483
19484           · Northern Virginia.
19485
19486         · "us-west1"
19487
19488           · Oregon.
19489
19490         · "us-west2"
19491
19492           · California.
19493
19494   --gcs-storage-class
19495       The storage class to use when storing objects in Google Cloud Storage.
19496
19497       · Config: storage_class
19498
19499       · Env Var: RCLONE_GCS_STORAGE_CLASS
19500
19501       · Type: string
19502
19503       · Default: ""
19504
19505       · Examples:
19506
19507         · ""
19508
19509           · Default
19510
19511         · "MULTI_REGIONAL"
19512
19513           · Multi-regional storage class
19514
19515         · "REGIONAL"
19516
19517           · Regional storage class
19518
19519         · "NEARLINE"
19520
19521           · Nearline storage class
19522
19523         · "COLDLINE"
19524
19525           · Coldline storage class
19526
19527         · "ARCHIVE"
19528
19529           · Archive storage class
19530
19531         · "DURABLE_REDUCED_AVAILABILITY"
19532
19533           · Durable reduced availability storage class
19534
19535   Advanced Options
19536       Here are the advanced options specific to google cloud storage  (Google
19537       Cloud Storage (this is not Google Drive)).
19538
19539   --gcs-token
19540       OAuth Access Token as a JSON blob.
19541
19542       · Config: token
19543
19544       · Env Var: RCLONE_GCS_TOKEN
19545
19546       · Type: string
19547
19548       · Default: ""
19549
19550   --gcs-auth-url
19551       Auth server URL.  Leave blank to use the provider defaults.
19552
19553       · Config: auth_url
19554
19555       · Env Var: RCLONE_GCS_AUTH_URL
19556
19557       · Type: string
19558
19559       · Default: ""
19560
19561   --gcs-token-url
19562       Token server url.  Leave blank to use the provider defaults.
19563
19564       · Config: token_url
19565
19566       · Env Var: RCLONE_GCS_TOKEN_URL
19567
19568       · Type: string
19569
19570       · Default: ""
19571
19572   --gcs-encoding
19573       This sets the encoding for the backend.
19574
19575       See:  the  encoding  section  in the overview (https://rclone.org/over
19576       view/#encoding) for more info.
19577
19578       · Config: encoding
19579
19580       · Env Var: RCLONE_GCS_ENCODING
19581
19582       · Type: MultiEncoder
19583
19584       · Default: Slash,CrLf,InvalidUtf8,Dot
19585
19586   Limitations
19587       rclone about is not supported by  the  Google  Cloud  Storage  backend.
19588       Backends  without  this  capability  cannot determine free space for an
19589       rclone mount or use policy mfs (most free space)  as  a  member  of  an
19590       rclone union remote.
19591
19592       See   List   of   backends   that   do   not   support   rclone   about
19593       (https://rclone.org/overview/#optional-features)   See   rclone   about
19594       (https://rclone.org/commands/rclone_about/)
19595
19596   Google Drive
19597       Paths are specified as drive:path
19598
19599       Drive paths may be as deep as required, e.g.  drive:directory/subdirec‐
19600       tory.
19601
19602       The initial setup for drive involves getting a token from Google  drive
19603       which  you need to do in your browser.  rclone config walks you through
19604       it.
19605
19606       Here is an example of how to make a remote called remote.  First run:
19607
19608               rclone config
19609
19610       This will guide you through an interactive setup process:
19611
19612              No remotes found - make a new one
19613              n) New remote
19614              r) Rename remote
19615              c) Copy remote
19616              s) Set configuration password
19617              q) Quit config
19618              n/r/c/s/q> n
19619              name> remote
19620              Type of storage to configure.
19621              Choose a number from below, or type in your own value
19622              [snip]
19623              XX / Google Drive
19624                 \ "drive"
19625              [snip]
19626              Storage> drive
19627              Google Application Client Id - leave blank normally.
19628              client_id>
19629              Google Application Client Secret - leave blank normally.
19630              client_secret>
19631              Scope that rclone should use when requesting access from drive.
19632              Choose a number from below, or type in your own value
19633               1 / Full access all files, excluding Application Data Folder.
19634                 \ "drive"
19635               2 / Read-only access to file metadata and file contents.
19636                 \ "drive.readonly"
19637                 / Access to files created by rclone only.
19638               3 | These are visible in the drive website.
19639                 | File authorization is revoked when the user deauthorizes the app.
19640                 \ "drive.file"
19641                 / Allows read and write access to the Application Data folder.
19642               4 | This is not visible in the drive website.
19643                 \ "drive.appfolder"
19644                 / Allows read-only access to file metadata but
19645               5 | does not allow any access to read or download file content.
19646                 \ "drive.metadata.readonly"
19647              scope> 1
19648              ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
19649              root_folder_id>
19650              Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.
19651              service_account_file>
19652              Remote config
19653              Use auto config?
19654               * Say Y if not sure
19655               * Say N if you are working on a remote or headless machine or Y didn't work
19656              y) Yes
19657              n) No
19658              y/n> y
19659              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
19660              Log in and authorize rclone for access
19661              Waiting for code...
19662              Got code
19663              Configure this as a team drive?
19664              y) Yes
19665              n) No
19666              y/n> n
19667              --------------------
19668              [remote]
19669              client_id =
19670              client_secret =
19671              scope = drive
19672              root_folder_id =
19673              service_account_file =
19674              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}
19675              --------------------
19676              y) Yes this is OK
19677              e) Edit this remote
19678              d) Delete this remote
19679              y/e/d> y
19680
19681       Note that rclone runs a webserver on your local machine to collect  the
19682       token  as  returned from Google if you use auto config mode.  This only
19683       runs from the moment it opens your browser to the moment you  get  back
19684       the  verification code.  This is on http://127.0.0.1:53682/ and this it
19685       may require you to unblock it temporarily if you  are  running  a  host
19686       firewall, or use manual mode.
19687
19688       You can then use it like this,
19689
19690       List directories in top level of your drive
19691
19692              rclone lsd remote:
19693
19694       List all the files in your drive
19695
19696              rclone ls remote:
19697
19698       To copy a local directory to a drive directory called backup
19699
19700              rclone copy /home/source remote:backup
19701
19702   Scopes
19703       Rclone  allows  you  to select which scope you would like for rclone to
19704       use.  This changes what type of token is granted to rclone.  The scopes
19705       are   defined  here  (https://developers.google.com/drive/v3/web/about-
19706       auth).
19707
19708       The scope are
19709
19710   drive
19711       This is the default scope and allows full access to all  files,  except
19712       for the Application Data Folder (see below).
19713
19714       Choose this one if you aren't sure.
19715
19716   drive.readonly
19717       This  allows  read  only  access to all files.  Files may be listed and
19718       downloaded but not uploaded, renamed or deleted.
19719
19720   drive.file
19721       With this scope rclone can read/view/modify only those files and  fold‐
19722       ers it creates.
19723
19724       So  if  you uploaded files to drive via the web interface (or any other
19725       means) they will not be visible to rclone.
19726
19727       This can be useful if you are using rclone to backup data and you  want
19728       to be sure confidential data on your drive is not visible to rclone.
19729
19730       Files created with this scope are visible in the web interface.
19731
19732   drive.appfolder
19733       This gives rclone its own private area to store files.  Rclone will not
19734       be able to see any other files on your drive and you won't be  able  to
19735       see rclone's files from the web interface either.
19736
19737   drive.metadata.readonly
19738       This  allows  read  only  access to file names only.  It does not allow
19739       rclone to download or upload data, or rename or delete files or  direc‐
19740       tories.
19741
19742   Root folder ID
19743       You  can  set  the  root_folder_id  for  rclone.  This is the directory
19744       (identified by its Folder ID) that rclone considers to be the  root  of
19745       your drive.
19746
19747       Normally  you  will leave this blank and rclone will determine the cor‐
19748       rect root to use itself.
19749
19750       However you can set this to restrict rclone to a specific folder  hier‐
19751       archy or to access data within the "Computers" tab on the drive web in‐
19752       terface (where files from Google's Backup and Sync desktop program go).
19753
19754       In order to do this you will have to find the Folder ID of the directo‐
19755       ry  you  wish  rclone to display.  This will be the last segment of the
19756       URL when you open the relevant folder in the drive web interface.
19757
19758       So if the folder you want rclone to use has  a  URL  which  looks  like
19759       https://drive.google.com/drive/fold
19760       ers/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh in  the  browser,  then  you  use
19761       1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh as the root_folder_id in the config.
19762
19763       NB  folders under the "Computers" tab seem to be read only (drive gives
19764       a 500 error) when using rclone.
19765
19766       There doesn't appear to be an API to discover the  folder  IDs  of  the
19767       "Computers" tab - please contact us if you know otherwise!
19768
19769       Note  also that rclone can't access any data under the "Backups" tab on
19770       the google drive web interface yet.
19771
19772   Service Account support
19773       You can set up rclone with Google Drive in  an  unattended  mode,  i.e.
19774       not  tied  to  a specific end-user Google account.  This is useful when
19775       you want to synchronise files onto machines that  don't  have  actively
19776       logged-in users, for example build machines.
19777
19778       To  use  a Service Account instead of OAuth2 token flow, enter the path
19779       to your Service Account credentials at the service_account_file  prompt
19780       during rclone config and rclone won't use the browser based authentica‐
19781       tion flow.  If you'd rather stuff the contents of the credentials  file
19782       into  the  rclone  config file, you can set service_account_credentials
19783       with the actual contents of the file instead, or set the equivalent en‐
19784       vironment variable.
19785
19786   Use case - Google Apps/G-suite account and individual Drive
19787       Let's  say  that  you  are  the administrator of a Google Apps (old) or
19788       G-suite account.  The goal is to store data on  an  individual's  Drive
19789       account,  who  IS  a member of the domain.  We'll call the domain exam‐
19790       ple.com, and the user foo@example.com.
19791
19792       There's a few steps we need to go through to accomplish this:
19793
19794   1. Create a service account for example.com
19795       · To create a service account and obtain its  credentials,  go  to  the
19796         Google Developer Console (https://console.developers.google.com).
19797
19798       · You must have a project - create one if you don't.
19799
19800       · Then go to "IAM & admin" -> "Service Accounts".
19801
19802       · Use  the "Create Credentials" button.  Fill in "Service account name"
19803         with something that identifies your client.  "Role" can be empty.
19804
19805       · Tick "Furnish a new private key" - select "Key type JSON".
19806
19807       · Tick "Enable G Suite Domain-wide Delegation".  This option makes "im‐
19808         personation" possible, as documented here: Delegating domain-wide au‐
19809         thority to the service account (https://developers.google.com/identi
19810         ty/protocols/OAuth2ServiceAccount#delegatingauthority)
19811
19812       · These  credentials  are  what rclone will use for authentication.  If
19813         you ever need to remove access, press  the  "Delete  service  account
19814         key" button.
19815
19816   2. Allowing API access to example.com Google Drive
19817       · Go to example.com's admin console
19818
19819       · Go into "Security" (or use the search bar)
19820
19821       · Select "Show more" and then "Advanced settings"
19822
19823       · Select "Manage API client access" in the "Authentication" section
19824
19825       · In  the "Client Name" field enter the service account's "Client ID" -
19826         this can be found in the Developer Console under  "IAM  &  Admin"  ->
19827         "Service  Accounts", then "View Client ID" for the newly created ser‐
19828         vice account.  It is a ~21 character numerical string.
19829
19830       · In   the   next   field,   "One   or   More   API   Scopes",    enter
19831         https://www.googleapis.com/auth/drive to grant access to Google Drive
19832         specifically.
19833
19834   3. Configure rclone, assuming a new install
19835              rclone config
19836
19837              n/s/q> n         # New
19838              name>gdrive      # Gdrive is an example name
19839              Storage>         # Select the number shown for Google Drive
19840              client_id>       # Can be left blank
19841              client_secret>   # Can be left blank
19842              scope>           # Select your scope, 1 for example
19843              root_folder_id>  # Can be left blank
19844              service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes!
19845              y/n>             # Auto config, y
19846
19847   4. Verify that it's working
19848       · rclone -v --drive-impersonate foo@example.com lsf gdrive:backup
19849
19850       · The arguments do:
19851
19852         · -v - verbose logging
19853
19854         · --drive-impersonate foo@example.com - this is what does the  magic,
19855           pretending to be user foo.
19856
19857         · lsf - list files in a parsing friendly way
19858
19859         · gdrive:backup  -  use  the remote called gdrive, work in the folder
19860           named backup.
19861
19862       Note: in case you configured a  specific  root  folder  on  gdrive  and
19863       rclone  is  unable  to  access  the  contents of that folder when using
19864       --drive-impersonate, do this instead: - in the  gdrive  web  interface,
19865       share  your  root folder with the user/email of the new Service Account
19866       you created/selected at step #1 - use  rclone  without  specifying  the
19867       --drive-impersonate  option,  like  this: rclone -v foo@example.com lsf
19868       gdrive:backup
19869
19870   Team drives
19871       If you want to configure the remote to point to  a  Google  Team  Drive
19872       then answer y to the question Configure this as a team drive?.
19873
19874       This  will  fetch  the list of Team Drives from google and allow you to
19875       configure which one you want to use.  You can also type in a team drive
19876       ID if you prefer.
19877
19878       For example:
19879
19880              Configure this as a team drive?
19881              y) Yes
19882              n) No
19883              y/n> y
19884              Fetching team drive list...
19885              Choose a number from below, or type in your own value
19886               1 / Rclone Test
19887                 \ "xxxxxxxxxxxxxxxxxxxx"
19888               2 / Rclone Test 2
19889                 \ "yyyyyyyyyyyyyyyyyyyy"
19890               3 / Rclone Test 3
19891                 \ "zzzzzzzzzzzzzzzzzzzz"
19892              Enter a Team Drive ID> 1
19893              --------------------
19894              [remote]
19895              client_id =
19896              client_secret =
19897              token = {"AccessToken":"xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","RefreshToken":"1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx","Expiry":"2014-03-16T13:57:58.955387075Z","Extra":null}
19898              team_drive = xxxxxxxxxxxxxxxxxxxx
19899              --------------------
19900              y) Yes this is OK
19901              e) Edit this remote
19902              d) Delete this remote
19903              y/e/d> y
19904
19905   --fast-list
19906       This remote supports --fast-list which allows you to use fewer transac‐
19907       tions  in  exchange   for   more   memory.    See   the   rclone   docs
19908       (https://rclone.org/docs/#fast-list) for more details.
19909
19910       It  does  this  by  combining multiple list calls into a single API re‐
19911       quest.
19912
19913       This works by combining many '%s' in parents filters into  one  expres‐
19914       sion.   To  list  the contents of directories a, b and c, the following
19915       requests will be send by the regular List function:
19916
19917              trashed=false and 'a' in parents
19918              trashed=false and 'b' in parents
19919              trashed=false and 'c' in parents
19920
19921       These can now be combined into a single request:
19922
19923              trashed=false and ('a' in parents or 'b' in parents or 'c' in parents)
19924
19925       The implementation of ListR will put up to 50 parents filters into  one
19926       request.  It will use the --checkers value to specify the number of re‐
19927       quests to run in parallel.
19928
19929       In tests, these batch requests were up to 20x faster than  the  regular
19930       method.   Running the following command against different sized folders
19931       gives:
19932
19933              rclone lsjson -vv -R --checkers=6 gdrive:folder
19934
19935       small folder (220 directories, 700 files):
19936
19937       · without --fast-list: 38s
19938
19939       · with --fast-list: 10s
19940
19941       large folder (10600 directories, 39000 files):
19942
19943       · without --fast-list: 22:05 min
19944
19945       · with --fast-list: 58s
19946
19947   Modified time
19948       Google drive stores modification times accurate to 1 ms.
19949
19950   Restricted filename characters
19951       Only Invalid UTF-8 bytes  will  be  replaced  (https://rclone.org/over
19952       view/#invalid-utf8), as they can't be used in JSON strings.
19953
19954       In  contrast to other backends, / can also be used in names and . or ..
19955       are valid names.
19956
19957   Revisions
19958       Google drive stores revisions of files.  When you upload a change to an
19959       existing  file  to google drive using rclone it will create a new revi‐
19960       sion of that file.
19961
19962       Revisions follow the standard google policy which at  time  of  writing
19963       was
19964
19965       · They  are  deleted  after  30  days  or 100 revisions (whatever comes
19966         first).
19967
19968       · They do not count towards a user storage quota.
19969
19970   Deleting files
19971       By default rclone will send all files to the trash when deleting files.
19972       If    deleting    them   permanently   is   required   then   use   the
19973       --drive-use-trash=false flag, or set the equivalent  environment  vari‐
19974       able.
19975
19976   Shortcuts
19977       In  March  2020  Google introduced a new feature in Google Drive called
19978       drive shortcuts (https://support.google.com/drive/answer/9700156)  (API
19979       (https://developers.google.com/drive/api/v3/shortcuts)).    These  will
19980       (by September 2020) replace the ability for files or folders to  be  in
19981       multiple  folders  at  once  (https://cloud.google.com/blog/products/g-
19982       suite/simplifying-google-drives-folder-structure-and-sharing-models).
19983
19984       Shortcuts are files that link to other files on Google  Drive  somewhat
19985       like  a  symlink in unix, except they point to the underlying file data
19986       (e.g.  the inode in unix terms) so they don't break if  the  source  is
19987       renamed or moved about.
19988
19989       Be default rclone treats these as follows.
19990
19991       For shortcuts pointing to files:
19992
19993       · When listing a file shortcut appears as the destination file.
19994
19995       · When downloading the contents of the destination file is downloaded.
19996
19997       · When updating shortcut file with a non shortcut file, the shortcut is
19998         removed then a new file is uploaded in place of the shortcut.
19999
20000       · When server-side moving (renaming) the shortcut is renamed,  not  the
20001         destination file.
20002
20003       · When  server-side copying the shortcut is copied, not the contents of
20004         the shortcut.
20005
20006       · When deleting the shortcut is deleted not the linked file.
20007
20008       · When setting the modification time,  the  modification  time  of  the
20009         linked file will be set.
20010
20011       For shortcuts pointing to folders:
20012
20013       · When  listing  the  shortcut appears as a folder and that folder will
20014         contain the contents of the linked folder appear (including  any  sub
20015         folders)
20016
20017       · When  downloading  the contents of the linked folder and sub contents
20018         are downloaded
20019
20020       · When uploading to a shortcut folder the file will be  placed  in  the
20021         linked folder
20022
20023       · When  server-side  moving (renaming) the shortcut is renamed, not the
20024         destination folder
20025
20026       · When server-side copying the contents of the linked folder is copied,
20027         not the shortcut.
20028
20029       · When  deleting  with  rclone  rmdir  or  rclone purge the shortcut is
20030         deleted not the linked folder.
20031
20032       · NB When deleting with rclone remove or rclone mount the  contents  of
20033         the linked folder will be deleted.
20034
20035       The  rclone  backend (https://rclone.org/commands/rclone_backend/) com‐
20036       mand can be used to create shortcuts.
20037
20038       Shortcuts can be completely  ignored  with  the  --drive-skip-shortcuts
20039       flag or the corresponding skip_shortcuts configuration setting.
20040
20041   Emptying trash
20042       If  you wish to empty your trash you can use the rclone cleanup remote:
20043       command which will permanently delete all  your  trashed  files.   This
20044       command does not take any path arguments.
20045
20046       Note  that  Google Drive takes some time (minutes to days) to empty the
20047       trash even though the command returns within a few seconds.  No  output
20048       is echoed, so there will be no confirmation even using -v or -vv.
20049
20050   Quota information
20051       To view your current quota you can use the rclone about remote: command
20052       which will display your usage limit (quota), the usage in Google Drive,
20053       the  size  of all files in the Trash and the space used by other Google
20054       services such as Gmail.  This command does not take any path arguments.
20055
20056   Import/Export of google documents
20057       Google documents can be exported from and uploaded to Google Drive.
20058
20059       When rclone downloads a Google doc it chooses a format to download  de‐
20060       pending upon the --drive-export-formats setting.  By default the export
20061       formats are docx,xlsx,pptx,svg which are a sensible default for an  ed‐
20062       itable document.
20063
20064       When choosing a format, rclone runs down the list provided in order and
20065       chooses the first file format the doc can be exported as from the list.
20066       If  the  file  can't  be exported to a format on the formats list, then
20067       rclone will choose a format from the default list.
20068
20069       If you prefer an archive copy then you might use --drive-export-formats
20070       pdf,  or  if  you  prefer  openoffice/libreoffice formats you might use
20071       --drive-export-formats ods,odt,odp.
20072
20073       Note that rclone adds the extension to the google  doc,  so  if  it  is
20074       called My Spreadsheet on google docs, it will be exported as My Spread‐
20075       sheet.xlsx or My Spreadsheet.pdf etc.
20076
20077       When importing files into Google Drive, rclone will convert  all  files
20078       with  an  extension in --drive-import-formats to their associated docu‐
20079       ment type.  rclone will not convert any files  by  default,  since  the
20080       conversion is lossy process.
20081
20082       The  conversion  must result in a file with the same extension when the
20083       --drive-export-formats rules are applied to the uploaded document.
20084
20085       Here are some examples for allowed and prohibited conversions.
20086
20087       export-for‐   import-for‐   Upload Ext   Document Ext   Allowed
20088       mats          mats
20089       ────────────────────────────────────────────────────────────────
20090       odt           odt           odt          odt            Yes
20091       odt           docx,odt      odt          odt            Yes
20092                     docx          docx         docx           Yes
20093                     odt           odt          docx           No
20094       odt,docx      docx,odt      docx         odt            No
20095       docx,odt      docx,odt      docx         docx           Yes
20096       docx,odt      docx,odt      odt          docx           No
20097
20098       This  limitation  can  be  disabled  by  specifying   --drive-allow-im‐
20099       port-name-change.   When  using  this flag, rclone can convert multiple
20100       files types resulting in the same document type  at  once,  e.g.   with
20101       --drive-import-formats  docx,odt,txt,  all files having these extension
20102       would result in a document represented as a docx file.  This brings the
20103       additional  risk  of overwriting a document, if multiple files have the
20104       same stem.  Many rclone operations will not handle this name change  in
20105       any  way.   They assume an equal name when copying files and might copy
20106       the file again or delete them when the name changes.
20107
20108       Here are the possible export extensions with their  corresponding  mime
20109       types.   Most  of  these can also be used for importing, but there more
20110       that are not listed here.  Some of these additional ones might only  be
20111       available  when the operating system provides the correct MIME type en‐
20112       tries.
20113
20114       This list can be changed by Google Drive at any time and might not rep‐
20115       resent the currently available conversions.
20116
20117       Extension              Mime Type                          Description
20118       ─────────────────────────────────────────────────────────────────────────────────────
20119       csv                    text/csv                           Standard  CSV  format  for
20120                                                                 Spreadsheets
20121       docx                   application/vnd.openxml‐           Microsoft Office Document
20122                              formats-officedocu‐
20123                              ment.wordprocess‐
20124                              ingml.document
20125       epub                   application/epub+zip               E-book format
20126       html                   text/html                          An HTML Document
20127       jpg                    image/jpeg                         A JPEG Image File
20128       json                   applica‐                           JSON Text Format
20129                              tion/vnd.google-apps.script+json
20130       odp                    application/vnd.oasis.opendocu‐    Openoffice Presentation
20131                              ment.presentation
20132       ods                    application/vnd.oasis.opendocu‐    Openoffice Spreadsheet
20133                              ment.spreadsheet
20134       ods                    application/x-vnd.oasis.opendoc‐   Openoffice Spreadsheet
20135                              ument.spreadsheet
20136       odt                    application/vnd.oasis.opendocu‐    Openoffice Document
20137                              ment.text
20138       pdf                    application/pdf                    Adobe PDF Format
20139       png                    image/png                          PNG Image Format
20140       pptx                   application/vnd.openxmlfor‐        Microsoft   Office  Power‐
20141                              mats-officedocument.presenta‐      point
20142                              tionml.presentation
20143       rtf                    application/rtf                    Rich Text Format
20144       svg                    image/svg+xml                      Scalable  Vector  Graphics
20145                                                                 Format
20146       tsv                    text/tab-separated-values          Standard  TSV  format  for
20147                                                                 spreadsheets
20148       txt                    text/plain                         Plain Text
20149       xlsx                   application/vnd.openxmlfor‐        Microsoft  Office  Spread‐
20150                              mats-officedocument.spread‐        sheet
20151                              sheetml.sheet
20152       zip                    application/zip                    A ZIP file of HTML, Images
20153                                                                 CSS
20154
20155       Google documents can also be exported as link files.  These files  will
20156       open a browser window for the Google Docs website of that document when
20157       opened.  The link file extension has to be specified as  a  --drive-ex‐
20158       port-formats  parameter.   They  will  match all available Google Docu‐
20159       ments.
20160
20161       Extension   Description           OS Support
20162       ─────────────────────────────────────────────────
20163       desktop     freedesktop.org       Linux
20164                   specified   desktop
20165                   entry
20166       link.html   An  HTML   Document   All
20167                   with a redirect
20168       url         INI style link file   macOS, Windows
20169       webloc      macOS  specific XML   macOS
20170                   format
20171
20172   Standard Options
20173       Here are the standard options specific to drive (Google Drive).
20174
20175   --drive-client-id
20176       Google Application Client Id Setting  your  own  is  recommended.   See
20177       https://rclone.org/drive/#making-your-own-client-id  for  how to create
20178       your own.  If you leave this blank, it will use an internal  key  which
20179       is low performance.
20180
20181       · Config: client_id
20182
20183       · Env Var: RCLONE_DRIVE_CLIENT_ID
20184
20185       · Type: string
20186
20187       · Default: ""
20188
20189   --drive-client-secret
20190       OAuth Client Secret Leave blank normally.
20191
20192       · Config: client_secret
20193
20194       · Env Var: RCLONE_DRIVE_CLIENT_SECRET
20195
20196       · Type: string
20197
20198       · Default: ""
20199
20200   --drive-scope
20201       Scope that rclone should use when requesting access from drive.
20202
20203       · Config: scope
20204
20205       · Env Var: RCLONE_DRIVE_SCOPE
20206
20207       · Type: string
20208
20209       · Default: ""
20210
20211       · Examples:
20212
20213         · "drive"
20214
20215           · Full access all files, excluding Application Data Folder.
20216
20217         · "drive.readonly"
20218
20219           · Read-only access to file metadata and file contents.
20220
20221         · "drive.file"
20222
20223           · Access to files created by rclone only.
20224
20225           · These are visible in the drive website.
20226
20227           · File authorization is revoked when the user deauthorizes the app.
20228
20229         · "drive.appfolder"
20230
20231           · Allows read and write access to the Application Data folder.
20232
20233           · This is not visible in the drive website.
20234
20235         · "drive.metadata.readonly"
20236
20237           · Allows read-only access to file metadata but
20238
20239           · does not allow any access to read or download file content.
20240
20241   --drive-root-folder-id
20242       ID of the root folder Leave blank normally.
20243
20244       Fill  in to access "Computers" folders (see docs), or for rclone to use
20245       a non root folder as its starting point.
20246
20247       · Config: root_folder_id
20248
20249       · Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID
20250
20251       · Type: string
20252
20253       · Default: ""
20254
20255   --drive-service-account-file
20256       Service Account Credentials JSON file path Leave blank normally.  Need‐
20257       ed only if you want use SA instead of interactive login.
20258
20259       Leading  ~  will be expanded in the file name as will environment vari‐
20260       ables such as ${RCLONE_CONFIG_DIR}.
20261
20262       · Config: service_account_file
20263
20264       · Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE
20265
20266       · Type: string
20267
20268       · Default: ""
20269
20270   --drive-alternate-export
20271       Deprecated: no longer needed
20272
20273       · Config: alternate_export
20274
20275       · Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT
20276
20277       · Type: bool
20278
20279       · Default: false
20280
20281   Advanced Options
20282       Here are the advanced options specific to drive (Google Drive).
20283
20284   --drive-token
20285       OAuth Access Token as a JSON blob.
20286
20287       · Config: token
20288
20289       · Env Var: RCLONE_DRIVE_TOKEN
20290
20291       · Type: string
20292
20293       · Default: ""
20294
20295   --drive-auth-url
20296       Auth server URL.  Leave blank to use the provider defaults.
20297
20298       · Config: auth_url
20299
20300       · Env Var: RCLONE_DRIVE_AUTH_URL
20301
20302       · Type: string
20303
20304       · Default: ""
20305
20306   --drive-token-url
20307       Token server url.  Leave blank to use the provider defaults.
20308
20309       · Config: token_url
20310
20311       · Env Var: RCLONE_DRIVE_TOKEN_URL
20312
20313       · Type: string
20314
20315       · Default: ""
20316
20317   --drive-service-account-credentials
20318       Service Account Credentials JSON blob Leave blank normally.  Needed on‐
20319       ly if you want use SA instead of interactive login.
20320
20321       · Config: service_account_credentials
20322
20323       · Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS
20324
20325       · Type: string
20326
20327       · Default: ""
20328
20329   --drive-team-drive
20330       ID of the Team Drive
20331
20332       · Config: team_drive
20333
20334       · Env Var: RCLONE_DRIVE_TEAM_DRIVE
20335
20336       · Type: string
20337
20338       · Default: ""
20339
20340   --drive-auth-owner-only
20341       Only consider files owned by the authenticated user.
20342
20343       · Config: auth_owner_only
20344
20345       · Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY
20346
20347       · Type: bool
20348
20349       · Default: false
20350
20351   --drive-use-trash
20352       Send  files  to the trash instead of deleting permanently.  Defaults to
20353       true, namely sending files to the trash.   Use  --drive-use-trash=false
20354       to delete files permanently instead.
20355
20356       · Config: use_trash
20357
20358       · Env Var: RCLONE_DRIVE_USE_TRASH
20359
20360       · Type: bool
20361
20362       · Default: true
20363
20364   --drive-skip-gdocs
20365       Skip google documents in all listings.  If given, gdocs practically be‐
20366       come invisible to rclone.
20367
20368       · Config: skip_gdocs
20369
20370       · Env Var: RCLONE_DRIVE_SKIP_GDOCS
20371
20372       · Type: bool
20373
20374       · Default: false
20375
20376   --drive-skip-checksum-gphotos
20377       Skip MD5 checksum on Google photos and videos only.
20378
20379       Use this if you get checksum errors when transferring Google photos  or
20380       videos.
20381
20382       Setting this flag will cause Google photos and videos to return a blank
20383       MD5 checksum.
20384
20385       Google photos are identified by being in the "photos" space.
20386
20387       Corrupted checksums are caused by Google modifying the image/video  but
20388       not updating the checksum.
20389
20390       · Config: skip_checksum_gphotos
20391
20392       · Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS
20393
20394       · Type: bool
20395
20396       · Default: false
20397
20398   --drive-shared-with-me
20399       Only show files that are shared with me.
20400
20401       Instructs  rclone  to  operate  on  your "Shared with me" folder (where
20402       Google Drive lets you access the files and folders others  have  shared
20403       with you).
20404
20405       This  works  both  with the "list" (lsd, lsl, etc.) and the "copy" com‐
20406       mands (copy, sync, etc.), and with all other commands too.
20407
20408       · Config: shared_with_me
20409
20410       · Env Var: RCLONE_DRIVE_SHARED_WITH_ME
20411
20412       · Type: bool
20413
20414       · Default: false
20415
20416   --drive-trashed-only
20417       Only show files that are in the trash.  This will show trashed files in
20418       their original directory structure.
20419
20420       · Config: trashed_only
20421
20422       · Env Var: RCLONE_DRIVE_TRASHED_ONLY
20423
20424       · Type: bool
20425
20426       · Default: false
20427
20428   --drive-starred-only
20429       Only show files that are starred.
20430
20431       · Config: starred_only
20432
20433       · Env Var: RCLONE_DRIVE_STARRED_ONLY
20434
20435       · Type: bool
20436
20437       · Default: false
20438
20439   --drive-formats
20440       Deprecated: see export_formats
20441
20442       · Config: formats
20443
20444       · Env Var: RCLONE_DRIVE_FORMATS
20445
20446       · Type: string
20447
20448       · Default: ""
20449
20450   --drive-export-formats
20451       Comma separated list of preferred formats for downloading Google docs.
20452
20453       · Config: export_formats
20454
20455       · Env Var: RCLONE_DRIVE_EXPORT_FORMATS
20456
20457       · Type: string
20458
20459       · Default: "docx,xlsx,pptx,svg"
20460
20461   --drive-import-formats
20462       Comma separated list of preferred formats for uploading Google docs.
20463
20464       · Config: import_formats
20465
20466       · Env Var: RCLONE_DRIVE_IMPORT_FORMATS
20467
20468       · Type: string
20469
20470       · Default: ""
20471
20472   --drive-allow-import-name-change
20473       Allow the filetype to change when uploading Google docs (e.g.  file.doc
20474       to file.docx).  This will confuse sync and reupload every time.
20475
20476       · Config: allow_import_name_change
20477
20478       · Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE
20479
20480       · Type: bool
20481
20482       · Default: false
20483
20484   --drive-use-created-date
20485       Use file created date instead of modified date.,
20486
20487       Useful when downloading data and you want the  creation  date  used  in
20488       place of the last modified date.
20489
20490       WARNING: This flag may have some unexpected consequences.
20491
20492       When  uploading to your drive all files will be overwritten unless they
20493       haven't been modified since their creation.  And the inverse will occur
20494       while  downloading.   This  side  effect  can  be  avoided by using the
20495       "--checksum" flag.
20496
20497       This feature was implemented to retain photos capture date as  recorded
20498       by  google  photos.   You will first need to check the "Create a Google
20499       Photos folder" option in your google drive settings.  You can then copy
20500       or move the photos locally and use the date the image was taken (creat‐
20501       ed) set as the modification date.
20502
20503       · Config: use_created_date
20504
20505       · Env Var: RCLONE_DRIVE_USE_CREATED_DATE
20506
20507       · Type: bool
20508
20509       · Default: false
20510
20511   --drive-use-shared-date
20512       Use date file was shared instead of modified date.
20513
20514       Note that, as with "--drive-use-created-date", this flag may have unex‐
20515       pected consequences when uploading/downloading files.
20516
20517       If  both  this flag and "--drive-use-created-date" are set, the created
20518       date is used.
20519
20520       · Config: use_shared_date
20521
20522       · Env Var: RCLONE_DRIVE_USE_SHARED_DATE
20523
20524       · Type: bool
20525
20526       · Default: false
20527
20528   --drive-list-chunk
20529       Size of listing chunk 100-1000.  0 to disable.
20530
20531       · Config: list_chunk
20532
20533       · Env Var: RCLONE_DRIVE_LIST_CHUNK
20534
20535       · Type: int
20536
20537       · Default: 1000
20538
20539   --drive-impersonate
20540       Impersonate this user when using a service account.
20541
20542       · Config: impersonate
20543
20544       · Env Var: RCLONE_DRIVE_IMPERSONATE
20545
20546       · Type: string
20547
20548       · Default: ""
20549
20550   --drive-upload-cutoff
20551       Cutoff for switching to chunked upload
20552
20553       · Config: upload_cutoff
20554
20555       · Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF
20556
20557       · Type: SizeSuffix
20558
20559       · Default: 8M
20560
20561   --drive-chunk-size
20562       Upload chunk size.  Must a power of 2 >= 256k.
20563
20564       Making this larger will improve performance, but note that  each  chunk
20565       is buffered in memory one per transfer.
20566
20567       Reducing this will reduce memory usage but decrease performance.
20568
20569       · Config: chunk_size
20570
20571       · Env Var: RCLONE_DRIVE_CHUNK_SIZE
20572
20573       · Type: SizeSuffix
20574
20575       · Default: 8M
20576
20577   --drive-acknowledge-abuse
20578       Set  to  allow files which return cannotDownloadAbusiveFile to be down‐
20579       loaded.
20580
20581       If downloading a file returns the error "This file has been  identified
20582       as  malware or spam and cannot be downloaded" with the error code "can‐
20583       notDownloadAbusiveFile" then supply this flag to rclone to indicate you
20584       acknowledge  the risks of downloading the file and rclone will download
20585       it anyway.
20586
20587       · Config: acknowledge_abuse
20588
20589       · Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE
20590
20591       · Type: bool
20592
20593       · Default: false
20594
20595   --drive-keep-revision-forever
20596       Keep new head revision of each file forever.
20597
20598       · Config: keep_revision_forever
20599
20600       · Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER
20601
20602       · Type: bool
20603
20604       · Default: false
20605
20606   --drive-size-as-quota
20607       Show sizes as storage quota usage, not actual size.
20608
20609       Show the size of a file as the storage quota used.  This is the current
20610       version plus any older versions that have been set to keep forever.
20611
20612       WARNING: This flag may have some unexpected consequences.
20613
20614       It is not recommended to set this flag in your config - the recommended
20615       usage is using the flag form --drive-size-as-quota  when  doing  rclone
20616       ls/lsl/lsf/lsjson/etc only.
20617
20618       If  you  do  use  this flag for syncing (not recommended) then you will
20619       need to use --ignore size also.
20620
20621       · Config: size_as_quota
20622
20623       · Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA
20624
20625       · Type: bool
20626
20627       · Default: false
20628
20629   --drive-v2-download-min-size
20630       If Object's are greater, use drive v2 API to download.
20631
20632       · Config: v2_download_min_size
20633
20634       · Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE
20635
20636       · Type: SizeSuffix
20637
20638       · Default: off
20639
20640   --drive-pacer-min-sleep
20641       Minimum time to sleep between API calls.
20642
20643       · Config: pacer_min_sleep
20644
20645       · Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP
20646
20647       · Type: Duration
20648
20649       · Default: 100ms
20650
20651   --drive-pacer-burst
20652       Number of API calls to allow without sleeping.
20653
20654       · Config: pacer_burst
20655
20656       · Env Var: RCLONE_DRIVE_PACER_BURST
20657
20658       · Type: int
20659
20660       · Default: 100
20661
20662   --drive-server-side-across-configs
20663       Allow server-side operations (e.g.   copy)  to  work  across  different
20664       drive configs.
20665
20666       This  can  be  useful  if you wish to do a server-side copy between two
20667       different Google drives.  Note that this isn't enabled by  default  be‐
20668       cause  it isn't easy to tell if it will work between any two configura‐
20669       tions.
20670
20671       · Config: server_side_across_configs
20672
20673       · Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS
20674
20675       · Type: bool
20676
20677       · Default: false
20678
20679   --drive-disable-http2
20680       Disable drive using http2
20681
20682       There is currently an unsolved issue with the google drive backend  and
20683       HTTP/2.   HTTP/2 is therefore disabled by default for the drive backend
20684       but can be re-enabled here.  When the issue is solved this flag will be
20685       removed.
20686
20687       See: https://github.com/rclone/rclone/issues/3631
20688
20689       · Config: disable_http2
20690
20691       · Env Var: RCLONE_DRIVE_DISABLE_HTTP2
20692
20693       · Type: bool
20694
20695       · Default: true
20696
20697   --drive-stop-on-upload-limit
20698       Make upload limit errors be fatal
20699
20700       At  the  time of writing it is only possible to upload 750GB of data to
20701       Google Drive a day (this is an undocumented limit).  When this limit is
20702       reached Google Drive produces a slightly different error message.  When
20703       this flag is set it causes these errors to be fatal.  These  will  stop
20704       the in-progress sync.
20705
20706       Note  that  this  detection  is  relying on error message strings which
20707       Google don't document so it may break in the future.
20708
20709       See: https://github.com/rclone/rclone/issues/3857
20710
20711       · Config: stop_on_upload_limit
20712
20713       · Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT
20714
20715       · Type: bool
20716
20717       · Default: false
20718
20719   --drive-stop-on-download-limit
20720       Make download limit errors be fatal
20721
20722       At the time of writing it is only possible to  download  10TB  of  data
20723       from  Google  Drive  a  day (this is an undocumented limit).  When this
20724       limit is reached Google Drive produces a slightly different error  mes‐
20725       sage.  When this flag is set it causes these errors to be fatal.  These
20726       will stop the in-progress sync.
20727
20728       Note that this detection is relying  on  error  message  strings  which
20729       Google don't document so it may break in the future.
20730
20731       · Config: stop_on_download_limit
20732
20733       · Env Var: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT
20734
20735       · Type: bool
20736
20737       · Default: false
20738
20739   --drive-skip-shortcuts
20740       If set skip shortcut files
20741
20742       Normally  rclone  dereferences  shortcut files making them appear as if
20743       they are the original file (see the shortcuts section).  If  this  flag
20744       is set then rclone will ignore shortcut files completely.
20745
20746       · Config: skip_shortcuts
20747
20748       · Env Var: RCLONE_DRIVE_SKIP_SHORTCUTS
20749
20750       · Type: bool
20751
20752       · Default: false
20753
20754   --drive-encoding
20755       This sets the encoding for the backend.
20756
20757       See:  the  encoding  section  in the overview (https://rclone.org/over
20758       view/#encoding) for more info.
20759
20760       · Config: encoding
20761
20762       · Env Var: RCLONE_DRIVE_ENCODING
20763
20764       · Type: MultiEncoder
20765
20766       · Default: InvalidUtf8
20767
20768   Backend commands
20769       Here are the commands specific to the drive backend.
20770
20771       Run them with
20772
20773              rclone backend COMMAND remote:
20774
20775       The help below will explain what arguments each command takes.
20776
20777       See   the    "rclone    backend"    command    (https://rclone.org/com
20778       mands/rclone_backend/)  for  more info on how to pass options and argu‐
20779       ments.
20780
20781       These can be run on a running backend using the rc command backend/com‐
20782       mand (https://rclone.org/rc/#backend/command).
20783
20784   get
20785       Get command for fetching the drive config parameters
20786
20787              rclone backend get remote: [options] [<arguments>+]
20788
20789       This  is  a  get  command which will be used to fetch the various drive
20790       config parameters
20791
20792       Usage Examples:
20793
20794              rclone backend get drive: [-o service_account_file] [-o chunk_size]
20795              rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size]
20796
20797       Options:
20798
20799       · "chunk_size": show the current upload chunk size
20800
20801       · "service_account_file": show the current service account file
20802
20803   set
20804       Set command for updating the drive config parameters
20805
20806              rclone backend set remote: [options] [<arguments>+]
20807
20808       This is a set command which will be used to update  the  various  drive
20809       config parameters
20810
20811       Usage Examples:
20812
20813              rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
20814              rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864]
20815
20816       Options:
20817
20818       · "chunk_size": update the current upload chunk size
20819
20820       · "service_account_file": update the current service account file
20821
20822   shortcut
20823       Create shortcuts from files or directories
20824
20825              rclone backend shortcut remote: [options] [<arguments>+]
20826
20827       This command creates shortcuts from files or directories.
20828
20829       Usage:
20830
20831              rclone backend shortcut drive: source_item destination_shortcut
20832              rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut
20833
20834       In  the  first  example  this creates a shortcut from the "source_item"
20835       which can be a file or a directory to the "destination_shortcut".   The
20836       "source_item"  and  the "destination_shortcut" should be relative paths
20837       from "drive:"
20838
20839       In the second example this creates a shortcut  from  the  "source_item"
20840       relative   to   "drive:"  to  the  "destination_shortcut"  relative  to
20841       "drive2:".  This may fail with a permission error if the user authenti‐
20842       cated with "drive2:" can't read files from "drive:".
20843
20844       Options:
20845
20846       · "target": optional target remote for the shortcut destination
20847
20848   drives
20849       List the shared drives available to this account
20850
20851              rclone backend drives remote: [options] [<arguments>+]
20852
20853       This command lists the shared drives (teamdrives) available to this ac‐
20854       count.
20855
20856       Usage:
20857
20858              rclone backend drives drive:
20859
20860       This will return a JSON list of objects like this
20861
20862              [
20863                  {
20864                      "id": "0ABCDEF-01234567890",
20865                      "kind": "drive#teamDrive",
20866                      "name": "My Drive"
20867                  },
20868                  {
20869                      "id": "0ABCDEFabcdefghijkl",
20870                      "kind": "drive#teamDrive",
20871                      "name": "Test Drive"
20872                  }
20873              ]
20874
20875   untrash
20876       Untrash files and directories
20877
20878              rclone backend untrash remote: [options] [<arguments>+]
20879
20880       This command untrashes all the files and directories in  the  directory
20881       passed in recursively.
20882
20883       Usage:
20884
20885       This takes an optional directory to trash which make this easier to use
20886       via the API.
20887
20888              rclone backend untrash drive:directory
20889              rclone backend -i untrash drive:directory subdir
20890
20891       Use the -i flag to see what would be restored before restoring it.
20892
20893       Result:
20894
20895              {
20896                  "Untrashed": 17,
20897                  "Errors": 0
20898              }
20899
20900   copyid
20901       Copy files by ID
20902
20903              rclone backend copyid remote: [options] [<arguments>+]
20904
20905       This command copies files by ID
20906
20907       Usage:
20908
20909              rclone backend copyid drive: ID path
20910              rclone backend copyid drive: ID1 path1 ID2 path2
20911
20912       It copies the drive file with ID given to  the  path  (an  rclone  path
20913       which  will  be  passed  internally to rclone copyto).  The ID and path
20914       pairs can be repeated.
20915
20916       The path should end with a / to indicate copy the file as named to this
20917       directory.   If  it  doesn't  end with a / then the last path component
20918       will be used as the file name.
20919
20920       If the destination is a drive backend then server-side copying will  be
20921       attempted if possible.
20922
20923       Use the -i flag to see what would be copied before copying.
20924
20925   Limitations
20926       Drive  has quite a lot of rate limiting.  This causes rclone to be lim‐
20927       ited to transferring about 2 files per second only.   Individual  files
20928       may  be  transferred  much faster at 100s of MBytes/s but lots of small
20929       files can take a long time.
20930
20931       Server side copies are also subject to a separate rate limit.   If  you
20932       see  User rate limit exceeded errors, wait at least 24 hours and retry.
20933       You can disable server-side copies with --disable copy to download  and
20934       upload the files if you prefer.
20935
20936   Limitations of Google Docs
20937       Google  docs  will appear as size -1 in rclone ls and as size 0 in any‐
20938       thing which uses the VFS layer, e.g.  rclone mount, rclone serve.
20939
20940       This is because rclone can't find out the size of the Google docs with‐
20941       out downloading them.
20942
20943       Google  docs  will transfer correctly with rclone sync, rclone copy etc
20944       as rclone knows to ignore the size when doing the transfer.
20945
20946       However an unfortunate consequence of this is that you may not be  able
20947       to  download  Google  docs  using rclone mount.  If it doesn't work you
20948       will get a 0 sized file.  If you try again the doc may gain its correct
20949       size  and  be downloadable.  Whether it will work on not depends on the
20950       application accessing the mount and the OS you are running - experiment
20951       to find out if it does work for you!
20952
20953   Duplicated files
20954       Sometimes,  for  no reason I've been able to track down, drive will du‐
20955       plicate a file that rclone uploads.  Drive unlike all the other remotes
20956       can have duplicated files.
20957
20958       Duplicated  files cause problems with the syncing and you will see mes‐
20959       sages in the log about duplicates.
20960
20961       Use rclone dedupe to fix duplicated files.
20962
20963       Note that this isn't just a problem with rclone, even Google Photos  on
20964       Android duplicates files on drive sometimes.
20965
20966   Rclone appears to be re-copying files it shouldn't
20967       The  most likely cause of this is the duplicated file issue above - run
20968       rclone dedupe and check your logs for  duplicate  object  or  directory
20969       messages.
20970
20971       This  can  also be caused by a delay/caching on google drive's end when
20972       comparing directory listings.  Specifically with team  drives  used  in
20973       combination  with  --fast-list.   Files that were uploaded recently may
20974       not appear on the directory list sent to rclone when using --fast-list.
20975
20976       Waiting a moderate period of time between attempts (estimated to be ap‐
20977       proximately 1 hour) and/or not using --fast-list both seem to be effec‐
20978       tive in preventing the problem.
20979
20980   Making your own client_id
20981       When you use rclone with Google drive in its default configuration  you
20982       are  using  rclone's  client_id.  This is shared between all the rclone
20983       users.  There is a global rate limit on the number of queries per  sec‐
20984       ond  that  each  client_id  can do set by Google.  rclone already has a
20985       high quota and I will continue to make sure it is high enough  by  con‐
20986       tacting Google.
20987
20988       It  is  strongly  recommended  to use your own client ID as the default
20989       rclone ID is heavily used.  If you have multiple services  running,  it
20990       is  recommended to use an API key for each service.  The default Google
20991       quota is 10 transactions per second so it is recommended to stay  under
20992       that  number as if you use more than that, it will cause rclone to rate
20993       limit and make things slower.
20994
20995       Here is how to create your own Google Drive client ID for rclone:
20996
20997       1. Log  into   the   Google   API   Console   (https://console.develop
20998          ers.google.com/)  with  your Google account.  It doesn't matter what
20999          Google account you use.  (It need not be the  same  account  as  the
21000          Google Drive you want to access)
21001
21002       2. Select a project or create a new project.
21003
21004       3. Under  "ENABLE APIS AND SERVICES" search for "Drive", and enable the
21005          "Google Drive API".
21006
21007       4. Click "Credentials" in the  left-side  panel  (not  "Create  creden‐
21008          tials", which opens the wizard), then "Create credentials"
21009
21010       5. If  you  already  configured an "Oauth Consent Screen", then skip to
21011          the next step; if not, click on "CONFIGURE  CONSENT  SCREEN"  button
21012          (near  the top right corner of the right panel), then select "Exter‐
21013          nal" and click on "CREATE"; on the next screen, enter  an  "Applica‐
21014          tion  name" ("rclone" is OK) then click on "Save" (all other data is
21015          optional).  Click again on "Credentials" on the  left  panel  to  go
21016          back to the "Credentials" screen.
21017
21018       (PS: if you are a GSuite user, you could also select "Internal" instead
21019       of "External" above, but this has not been tested/documented so far).
21020
21021       6. Click on the "+ CREATE CREDENTIALS" button at the top of the screen,
21022          then select "OAuth client ID".
21023
21024       7. Choose  an  application  type of "Desktop app" if you using a Google
21025          account or "Other" if you using a GSuite account and click "Create".
21026          (the default name is fine)
21027
21028       8. It will show you a client ID and client secret.  Use these values in
21029          rclone config to add a new remote or edit an existing remote.
21030
21031       Be aware that, due to the "enhanced security"  recently  introduced  by
21032       Google,  you are theoretically expected to "submit your app for verifi‐
21033       cation" and then wait a few weeks(!) for their response;  in  practice,
21034       you  can  go  right  ahead and use the client ID and client secret with
21035       rclone, the only issue will be a very scary confirmation  screen  shown
21036       when  you connect via your browser for rclone to be able to get its to‐
21037       ken-id (but as this only happens during the remote configuration,  it's
21038       not such a big deal).
21039
21040       (Thanks to @balazer on github for these instructions.)
21041
21042       Sometimes, creation of an OAuth consent in Google API Console fails due
21043       to an error message “The request failed because changes to one  of  the
21044       field  of  the resource is not supported”.  As a convenient workaround,
21045       the necessary Google Drive API key can be created on the Python  Quick‐
21046       start    (https://developers.google.com/drive/api/v3/quickstart/python)
21047       page.  Just push the Enable the Drive API button to receive the  Client
21048       ID and Secret.  Note that it will automatically create a new project in
21049       the API Console.
21050
21051   Google Photos
21052       The  rclone  backend  for  Google  Photos  (https://www.google.com/pho
21053       tos/about/) is a specialized backend for transferring photos and videos
21054       to and from Google Photos.
21055
21056       NB The Google Photos API which rclone uses has quite a few limitations,
21057       so  please  read  the  limitations section carefully to make sure it is
21058       suitable for your use.
21059
21060   Configuring Google Photos
21061       The initial setup for google cloud storage  involves  getting  a  token
21062       from Google Photos which you need to do in your browser.  rclone config
21063       walks you through it.
21064
21065       Here is an example of how to make a remote called remote.  First run:
21066
21067               rclone config
21068
21069       This will guide you through an interactive setup process:
21070
21071              No remotes found - make a new one
21072              n) New remote
21073              s) Set configuration password
21074              q) Quit config
21075              n/s/q> n
21076              name> remote
21077              Type of storage to configure.
21078              Enter a string value. Press Enter for the default ("").
21079              Choose a number from below, or type in your own value
21080              [snip]
21081              XX / Google Photos
21082                 \ "google photos"
21083              [snip]
21084              Storage> google photos
21085              ** See help for google photos backend at: https://rclone.org/googlephotos/ **
21086
21087              Google Application Client Id
21088              Leave blank normally.
21089              Enter a string value. Press Enter for the default ("").
21090              client_id>
21091              Google Application Client Secret
21092              Leave blank normally.
21093              Enter a string value. Press Enter for the default ("").
21094              client_secret>
21095              Set to make the Google Photos backend read only.
21096
21097              If you choose read only then rclone will only request read only access
21098              to your photos, otherwise rclone will request full access.
21099              Enter a boolean value (true or false). Press Enter for the default ("false").
21100              read_only>
21101              Edit advanced config? (y/n)
21102              y) Yes
21103              n) No
21104              y/n> n
21105              Remote config
21106              Use auto config?
21107               * Say Y if not sure
21108               * Say N if you are working on a remote or headless machine
21109              y) Yes
21110              n) No
21111              y/n> y
21112              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
21113              Log in and authorize rclone for access
21114              Waiting for code...
21115              Got code
21116
21117              *** IMPORTANT: All media items uploaded to Google Photos with rclone
21118              *** are stored in full resolution at original quality.  These uploads
21119              *** will count towards storage in your Google Account.
21120
21121              --------------------
21122              [remote]
21123              type = google photos
21124              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2019-06-28T17:38:04.644930156+01:00"}
21125              --------------------
21126              y) Yes this is OK
21127              e) Edit this remote
21128              d) Delete this remote
21129              y/e/d> y
21130
21131       Note that rclone runs a webserver on your local machine to collect  the
21132       token  as  returned from Google if you use auto config mode.  This only
21133       runs from the moment it opens your browser to the moment you  get  back
21134       the verification code.  This is on http://127.0.0.1:53682/ and this may
21135       require you to unblock it temporarily if you are running a  host  fire‐
21136       wall, or use manual mode.
21137
21138       This remote is called remote and can now be used like this
21139
21140       See all the albums in your photos
21141
21142              rclone lsd remote:album
21143
21144       Make a new album
21145
21146              rclone mkdir remote:album/newAlbum
21147
21148       List the contents of an album
21149
21150              rclone ls remote:album/newAlbum
21151
21152       Sync /home/local/images to the Google Photos, removing any excess files
21153       in the album.
21154
21155              rclone sync -i /home/local/image remote:album/newAlbum
21156
21157   Layout
21158       As Google Photos is not a general  purpose  cloud  storage  system  the
21159       backend is laid out to help you navigate it.
21160
21161       The directories under media show different ways of categorizing the me‐
21162       dia.  Each file will appear multiple times.  So if you want to  make  a
21163       backup  of  your  google  photos  you might choose to backup remote:me‐
21164       dia/by-month.  (NB remote:media/by-day is rather slow at the moment  so
21165       avoid for syncing.)
21166
21167       Note that all your photos and videos will appear somewhere under media,
21168       but they may not appear under album unless you've put them into albums.
21169
21170              /
21171              - upload
21172                  - file1.jpg
21173                  - file2.jpg
21174                  - ...
21175              - media
21176                  - all
21177                      - file1.jpg
21178                      - file2.jpg
21179                      - ...
21180                  - by-year
21181                      - 2000
21182                          - file1.jpg
21183                          - ...
21184                      - 2001
21185                          - file2.jpg
21186                          - ...
21187                      - ...
21188                  - by-month
21189                      - 2000
21190                          - 2000-01
21191                              - file1.jpg
21192                              - ...
21193                          - 2000-02
21194                              - file2.jpg
21195                              - ...
21196                      - ...
21197                  - by-day
21198                      - 2000
21199                          - 2000-01-01
21200                              - file1.jpg
21201                              - ...
21202                          - 2000-01-02
21203                              - file2.jpg
21204                              - ...
21205                      - ...
21206              - album
21207                  - album name
21208                  - album name/sub
21209              - shared-album
21210                  - album name
21211                  - album name/sub
21212              - feature
21213                  - favorites
21214                      - file1.jpg
21215                      - file2.jpg
21216
21217       There are two writable parts of the tree, the upload directory and  sub
21218       directories of the album directory.
21219
21220       The  upload directory is for uploading files you don't want to put into
21221       albums.  This will be empty to start with and will  contain  the  files
21222       you've  uploaded for one rclone session only, becoming empty again when
21223       you restart rclone.  The use case for this would be if you have a  load
21224       of  files  you  just want to once off dump into Google Photos.  For re‐
21225       peated syncing, uploading to album will work better.
21226
21227       Directories within the album directory are also writeable and  you  may
21228       create  new directories (albums) under album.  If you copy files with a
21229       directory hierarchy in there then rclone will create albums with the  /
21230       character in them.  For example if you do
21231
21232              rclone copy /path/to/images remote:album/images
21233
21234       and the images directory contains
21235
21236              images
21237                  - file1.jpg
21238                  dir
21239                      file2.jpg
21240                  dir2
21241                      dir3
21242                          file3.jpg
21243
21244       Then  rclone  will create the following albums with the following files
21245       in
21246
21247       · images
21248
21249         · file1.jpg
21250
21251       · images/dir
21252
21253         · file2.jpg
21254
21255       · images/dir2/dir3
21256
21257         · file3.jpg
21258
21259       This means that you can use the album path pretty much  like  a  normal
21260       filesystem and it is a good target for repeated syncing.
21261
21262       The  shared-album  directory  shows  albums  shared with you or by you.
21263       This is similar to the Sharing tab in the Google Photos web interface.
21264
21265   Limitations
21266       Only images and videos can be uploaded.  If you attempt to  upload  non
21267       videos  or  images  or  formats  that Google Photos doesn't understand,
21268       rclone will upload the file, then Google Photos will give an error when
21269       it is put turned into a media item.
21270
21271       Note that all media items uploaded to Google Photos through the API are
21272       stored in full resolution at "original quality" and will count  towards
21273       your  storage  quota  in your Google Account.  The API does not offer a
21274       way to upload in "high quality" mode..
21275
21276       rclone about is not supported by the Google Photos  backend.   Backends
21277       without this capability cannot determine free space for an rclone mount
21278       or use policy mfs (most free space) as a member of an rclone union  re‐
21279       mote.
21280
21281       See   List   of   backends   that   do   not   support   rclone   about
21282       (https://rclone.org/overview/#optional-features)   See   rclone   about
21283       (https://rclone.org/commands/rclone_about/)
21284
21285   Downloading Images
21286       When  Images are downloaded this strips EXIF location (according to the
21287       docs and my tests).  This is a limitation of the Google Photos API  and
21288       is   covered  by  bug  #112096115  (https://issuetracker.google.com/is
21289       sues/112096115).
21290
21291       The current google API does not allow photos to be downloaded at origi‐
21292       nal resolution. This is very important if you are, for example, relying
21293       on "Google Photos" as a backup of your photos. You will not be able  to
21294       use  rclone  to redownload original images. You could use 'google take‐
21295       out' to recover the original photos as a last resort
21296
21297   Downloading Videos
21298       When videos are downloaded they are downloaded in a  really  compressed
21299       version  of  the video compared to downloading it via the Google Photos
21300       web interface.  This is covered by bug #113672044  (https://issuetrack
21301       er.google.com/issues/113672044).
21302
21303   Duplicates
21304       If  a  file  name is duplicated in a directory then rclone will add the
21305       file ID into its name.  So two files called file.jpg would then  appear
21306       as  file  {123456}.jpg  and file {ABCDEF}.jpg (the actual IDs are a lot
21307       longer alas!).
21308
21309       If you upload the same image (with the same  binary  data)  twice  then
21310       Google Photos will deduplicate it.  However it will retain the filename
21311       from the first upload which may confuse rclone.  For example if you up‐
21312       loaded  an image to upload then uploaded the same image to album/my_al‐
21313       bum the filename of the image in album/my_album will be what it was up‐
21314       loaded  with  initially,  not  what  you uploaded it with to album.  In
21315       practise this shouldn't cause too many problems.
21316
21317   Modified time
21318       The date shown of media in Google Photos is the creation date as deter‐
21319       mined by the EXIF information, or the upload date if that is not known.
21320
21321       This  is  not  changeable by rclone and is not the modification date of
21322       the media on local disk.  This means that rclone cannot use  the  dates
21323       from Google Photos for syncing purposes.
21324
21325   Size
21326       The  Google  Photos  API does not return the size of media.  This means
21327       that when syncing to Google Photos, rclone can only do a file existence
21328       check.
21329
21330       It  is  possible to read the size of the media, but this needs an extra
21331       HTTP HEAD request per media item so is very slow and uses up a  lot  of
21332       transactions.   This can be enabled with the --gphotos-read-size option
21333       or the read_size = true config parameter.
21334
21335       If you want to use the backend with rclone mount you may need to enable
21336       this  flag (depending on your OS and application using the photos) oth‐
21337       erwise you may not be able to read media off the mount.  You'll need to
21338       experiment to see if it works for you without the flag.
21339
21340   Albums
21341       Rclone  can  only upload files to albums it created.  This is a limita‐
21342       tion of the Google Photos API (https://developers.google.com/photos/li
21343       brary/guides/manage-albums).
21344
21345       Rclone can remove files it uploaded from albums it created only.
21346
21347   Deleting files
21348       Rclone  can  remove  files  from  albums  it created, but note that the
21349       Google Photos API does not allow media to  be  deleted  permanently  so
21350       this  media will still remain.  See bug #109759781 (https://issuetrack
21351       er.google.com/issues/109759781).
21352
21353       Rclone cannot delete files anywhere except under album.
21354
21355   Deleting albums
21356       The Google Photos API does  not  support  deleting  albums  -  see  bug
21357       #135714733 (https://issuetracker.google.com/issues/135714733).
21358
21359   Standard Options
21360       Here  are  the  standard options specific to google photos (Google Pho‐
21361       tos).
21362
21363   --gphotos-client-id
21364       OAuth Client Id Leave blank normally.
21365
21366       · Config: client_id
21367
21368       · Env Var: RCLONE_GPHOTOS_CLIENT_ID
21369
21370       · Type: string
21371
21372       · Default: ""
21373
21374   --gphotos-client-secret
21375       OAuth Client Secret Leave blank normally.
21376
21377       · Config: client_secret
21378
21379       · Env Var: RCLONE_GPHOTOS_CLIENT_SECRET
21380
21381       · Type: string
21382
21383       · Default: ""
21384
21385   --gphotos-read-only
21386       Set to make the Google Photos backend read only.
21387
21388       If you choose read only then rclone will only request read only  access
21389       to your photos, otherwise rclone will request full access.
21390
21391       · Config: read_only
21392
21393       · Env Var: RCLONE_GPHOTOS_READ_ONLY
21394
21395       · Type: bool
21396
21397       · Default: false
21398
21399   Advanced Options
21400       Here  are  the  advanced options specific to google photos (Google Pho‐
21401       tos).
21402
21403   --gphotos-token
21404       OAuth Access Token as a JSON blob.
21405
21406       · Config: token
21407
21408       · Env Var: RCLONE_GPHOTOS_TOKEN
21409
21410       · Type: string
21411
21412       · Default: ""
21413
21414   --gphotos-auth-url
21415       Auth server URL.  Leave blank to use the provider defaults.
21416
21417       · Config: auth_url
21418
21419       · Env Var: RCLONE_GPHOTOS_AUTH_URL
21420
21421       · Type: string
21422
21423       · Default: ""
21424
21425   --gphotos-token-url
21426       Token server url.  Leave blank to use the provider defaults.
21427
21428       · Config: token_url
21429
21430       · Env Var: RCLONE_GPHOTOS_TOKEN_URL
21431
21432       · Type: string
21433
21434       · Default: ""
21435
21436   --gphotos-read-size
21437       Set to read the size of media items.
21438
21439       Normally rclone does not read the size of media items since this  takes
21440       another transaction.  This isn't necessary for syncing.  However rclone
21441       mount needs to know the size of files in advance of  reading  them,  so
21442       setting this flag when using rclone mount is recommended if you want to
21443       read the media.
21444
21445       · Config: read_size
21446
21447       · Env Var: RCLONE_GPHOTOS_READ_SIZE
21448
21449       · Type: bool
21450
21451       · Default: false
21452
21453   --gphotos-start-year
21454       Year limits the photos to be downloaded to those which are uploaded af‐
21455       ter the given year
21456
21457       · Config: start_year
21458
21459       · Env Var: RCLONE_GPHOTOS_START_YEAR
21460
21461       · Type: int
21462
21463       · Default: 2000
21464
21465   --gphotos-include-archived
21466       Also view and download archived media.
21467
21468       By default rclone does not request archived media.  Thus, when syncing,
21469       archived media is not visible in directory listings or transferred.
21470
21471       Note that media in albums is always visible and synced, no matter their
21472       archive status.
21473
21474       With this flag, archived media are always visible in directory listings
21475       and transferred.
21476
21477       Without this flag, archived media will  not  be  visible  in  directory
21478       listings and won't be transferred.
21479
21480       · Config: include_archived
21481
21482       · Env Var: RCLONE_GPHOTOS_INCLUDE_ARCHIVED
21483
21484       · Type: bool
21485
21486       · Default: false
21487
21488   HDFS
21489       HDFS (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-
21490       hdfs/HdfsDesign.html) is a distributed file-system, part of the  Apache
21491       Hadoop (https://hadoop.apache.org/) framework.
21492
21493       Paths are specified as remote: or remote:path/to/dir.
21494
21495       Here is an example of how to make a remote called remote.  First run:
21496
21497               rclone config
21498
21499       This will guide you through an interactive setup process:
21500
21501              No remotes found - make a new one
21502              n) New remote
21503              s) Set configuration password
21504              q) Quit config
21505              n/s/q> n
21506              name> remote
21507              Type of storage to configure.
21508              Enter a string value. Press Enter for the default ("").
21509              Choose a number from below, or type in your own value
21510              [skip]
21511              XX / Hadoop distributed file system
21512                 \ "hdfs"
21513              [skip]
21514              Storage> hdfs
21515              ** See help for hdfs backend at: https://rclone.org/hdfs/ **
21516
21517              hadoop name node and port
21518              Enter a string value. Press Enter for the default ("").
21519              Choose a number from below, or type in your own value
21520               1 / Connect to host namenode at port 8020
21521                 \ "namenode:8020"
21522              namenode> namenode.hadoop:8020
21523              hadoop user name
21524              Enter a string value. Press Enter for the default ("").
21525              Choose a number from below, or type in your own value
21526               1 / Connect to hdfs as root
21527                 \ "root"
21528              username> root
21529              Edit advanced config? (y/n)
21530              y) Yes
21531              n) No (default)
21532              y/n> n
21533              Remote config
21534              --------------------
21535              [remote]
21536              type = hdfs
21537              namenode = namenode.hadoop:8020
21538              username = root
21539              --------------------
21540              y) Yes this is OK (default)
21541              e) Edit this remote
21542              d) Delete this remote
21543              y/e/d> y
21544              Current remotes:
21545
21546              Name                 Type
21547              ====                 ====
21548              hadoop               hdfs
21549
21550              e) Edit existing remote
21551              n) New remote
21552              d) Delete remote
21553              r) Rename remote
21554              c) Copy remote
21555              s) Set configuration password
21556              q) Quit config
21557              e/n/d/r/c/s/q> q
21558
21559       This remote is called remote and can now be used like this
21560
21561       See all the top level directories
21562
21563              rclone lsd remote:
21564
21565       List the contents of a directory
21566
21567              rclone ls remote:directory
21568
21569       Sync the remote directory to /home/local/directory, deleting any excess
21570       files.
21571
21572              rclone sync -i remote:directory /home/local/directory
21573
21574   Setting up your own HDFS instance for testing
21575       You may start with a manual setup  (https://hadoop.apache.org/docs/sta
21576       ble/hadoop-project-dist/hadoop-common/SingleCluster.html)  or  use  the
21577       docker image from the tests:
21578
21579       If you want to build the docker image
21580
21581              git clone https://github.com/rclone/rclone.git
21582              cd rclone/fstest/testserver/images/test-hdfs
21583              docker build --rm -t rclone/test-hdfs .
21584
21585       Or you can just use the latest one pushed
21586
21587              docker run --rm --name "rclone-hdfs" -p 127.0.0.1:9866:9866 -p 127.0.0.1:8020:8020 --hostname "rclone-hdfs" rclone/test-hdfs
21588
21589       NB it need few seconds to startup.
21590
21591       For this docker image the remote needs to be configured like this:
21592
21593              [remote]
21594              type = hdfs
21595              namenode = 127.0.0.1:8020
21596              username = root
21597
21598       You can stop this image with docker kill rclone-hdfs (NB  it  does  not
21599       use volumes, so all data uploaded will be lost.)
21600
21601   Modified time
21602       Time accurate to 1 second is stored.
21603
21604   Checksum
21605       No checksums are implemented.
21606
21607   Usage information
21608       You  can  use  the  rclone  about  remote:  command  which will display
21609       filesystem size and current usage.
21610
21611   Restricted filename characters
21612       In   addition   to    the    default    restricted    characters    set
21613       (https://rclone.org/overview/#restricted-characters)    the   following
21614       characters are also replaced:
21615
21616       Character   Value   Replacement
21617       ────────────────────────────────
21618       :           0x3A        :
21619
21620       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
21621       view/#invalid-utf8).
21622
21623   Limitations
21624       · No server-side Move or DirMove.
21625
21626       · Checksums not implemented.
21627
21628   Standard Options
21629       Here are the standard options specific to hdfs (Hadoop distributed file
21630       system).
21631
21632   --hdfs-namenode
21633       hadoop name node and port
21634
21635       · Config: namenode
21636
21637       · Env Var: RCLONE_HDFS_NAMENODE
21638
21639       · Type: string
21640
21641       · Default: ""
21642
21643       · Examples:
21644
21645         · "namenode:8020"
21646
21647           · Connect to host namenode at port 8020
21648
21649   --hdfs-username
21650       hadoop user name
21651
21652       · Config: username
21653
21654       · Env Var: RCLONE_HDFS_USERNAME
21655
21656       · Type: string
21657
21658       · Default: ""
21659
21660       · Examples:
21661
21662         · "root"
21663
21664           · Connect to hdfs as root
21665
21666   Advanced Options
21667       Here are the advanced options specific to hdfs (Hadoop distributed file
21668       system).
21669
21670   --hdfs-service-principal-name
21671       Kerberos service principal name for the namenode
21672
21673       Enables  KERBEROS authentication.  Specifies the Service Principal Name
21674       (/) for the namenode.
21675
21676       · Config: service_principal_name
21677
21678       · Env Var: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME
21679
21680       · Type: string
21681
21682       · Default: ""
21683
21684       · Examples:
21685
21686         · "hdfs/namenode.hadoop.docker"
21687
21688           · Namenode  running   as   service   'hdfs'   with   FQDN   'namen‐
21689             ode.hadoop.docker'.
21690
21691   --hdfs-data-transfer-protection
21692       Kerberos data transfer protection: authentication|integrity|privacy
21693
21694       Specifies  whether  or  not  authentication,  data  signature integrity
21695       checks, and wire encryption is  required  when  communicating  the  the
21696       datanodes.  Possible values are 'authentication', 'integrity' and 'pri‐
21697       vacy'.  Used only with KERBEROS enabled.
21698
21699       · Config: data_transfer_protection
21700
21701       · Env Var: RCLONE_HDFS_DATA_TRANSFER_PROTECTION
21702
21703       · Type: string
21704
21705       · Default: ""
21706
21707       · Examples:
21708
21709         · "privacy"
21710
21711           · Ensure authentication, integrity and encryption enabled.
21712
21713   --hdfs-encoding
21714       This sets the encoding for the backend.
21715
21716       See: the encoding section  in  the  overview  (https://rclone.org/over
21717       view/#encoding) for more info.
21718
21719       · Config: encoding
21720
21721       · Env Var: RCLONE_HDFS_ENCODING
21722
21723       · Type: MultiEncoder
21724
21725       · Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot
21726
21727   HTTP
21728       The HTTP remote is a read only remote for reading files of a webserver.
21729       The webserver should provide file listings which rclone will  read  and
21730       turn  into  a remote.  This has been tested with common webservers such
21731       as Apache/Nginx/Caddy and will likely work with file listings from most
21732       web  servers.  (If it doesn't then please file an issue, or send a pull
21733       request!)
21734
21735       Paths are specified as remote: or remote:path/to/dir.
21736
21737       Here is an example of how to make a remote called remote.  First run:
21738
21739               rclone config
21740
21741       This will guide you through an interactive setup process:
21742
21743              No remotes found - make a new one
21744              n) New remote
21745              s) Set configuration password
21746              q) Quit config
21747              n/s/q> n
21748              name> remote
21749              Type of storage to configure.
21750              Choose a number from below, or type in your own value
21751              [snip]
21752              XX / http Connection
21753                 \ "http"
21754              [snip]
21755              Storage> http
21756              URL of http host to connect to
21757              Choose a number from below, or type in your own value
21758               1 / Connect to example.com
21759                 \ "https://example.com"
21760              url> https://beta.rclone.org
21761              Remote config
21762              --------------------
21763              [remote]
21764              url = https://beta.rclone.org
21765              --------------------
21766              y) Yes this is OK
21767              e) Edit this remote
21768              d) Delete this remote
21769              y/e/d> y
21770              Current remotes:
21771
21772              Name                 Type
21773              ====                 ====
21774              remote               http
21775
21776              e) Edit existing remote
21777              n) New remote
21778              d) Delete remote
21779              r) Rename remote
21780              c) Copy remote
21781              s) Set configuration password
21782              q) Quit config
21783              e/n/d/r/c/s/q> q
21784
21785       This remote is called remote and can now be used like this
21786
21787       See all the top level directories
21788
21789              rclone lsd remote:
21790
21791       List the contents of a directory
21792
21793              rclone ls remote:directory
21794
21795       Sync the remote directory to /home/local/directory, deleting any excess
21796       files.
21797
21798              rclone sync -i remote:directory /home/local/directory
21799
21800   Read only
21801       This remote is read only - you can't upload files to an HTTP server.
21802
21803   Modified time
21804       Most HTTP servers store time accurate to 1 second.
21805
21806   Checksum
21807       No checksums are stored.
21808
21809   Usage without a config file
21810       Since  the  http remote only has one config parameter it is easy to use
21811       without a config file:
21812
21813              rclone lsd --http-url https://beta.rclone.org :http:
21814
21815   Standard Options
21816       Here are the standard options specific to http (http Connection).
21817
21818   --http-url
21819       URL of http host to connect to
21820
21821       · Config: url
21822
21823       · Env Var: RCLONE_HTTP_URL
21824
21825       · Type: string
21826
21827       · Default: ""
21828
21829       · Examples:
21830
21831         · "https://example.com"
21832
21833           · Connect to example.com
21834
21835         · "https://user:pass@example.com"
21836
21837           · Connect to example.com using a username and password
21838
21839   Advanced Options
21840       Here are the advanced options specific to http (http Connection).
21841
21842   --http-headers
21843       Set HTTP headers for all transactions
21844
21845       Use this to set additional HTTP headers for all transactions
21846
21847       The input format is comma separated list of key,value pairs.   Standard
21848       CSV encoding (https://godoc.org/encoding/csv) may be used.
21849
21850       For  example  to  set  a  Cookie  use  'Cookie,name=value',  or '"Cook‐
21851       ie","name=value"'.
21852
21853       You can set multiple headers, e.g.   '"Cookie","name=value","Authoriza‐
21854       tion","xxx"'.
21855
21856       · Config: headers
21857
21858       · Env Var: RCLONE_HTTP_HEADERS
21859
21860       · Type: CommaSepList
21861
21862       · Default:
21863
21864   --http-no-slash
21865       Set this if the site doesn't end directories with /
21866
21867       Use  this  if your target website does not use / on the end of directo‐
21868       ries.
21869
21870       A / on the end of a path is how rclone normally  tells  the  difference
21871       between  files  and directories.  If this flag is set, then rclone will
21872       treat all files with Content-Type: text/html as  directories  and  read
21873       URLs from them rather than downloading them.
21874
21875       Note  that this may cause rclone to confuse genuine HTML files with di‐
21876       rectories.
21877
21878       · Config: no_slash
21879
21880       · Env Var: RCLONE_HTTP_NO_SLASH
21881
21882       · Type: bool
21883
21884       · Default: false
21885
21886   --http-no-head
21887       Don't use HEAD requests to find file sizes in dir listing
21888
21889       If your site is being very slow to load then you can try  this  option.
21890       Normally rclone does a HEAD request for each potential file in a direc‐
21891       tory listing to:
21892
21893       · find its size
21894
21895       · check it really exists
21896
21897       · check to see if it is a directory
21898
21899       If you set this option, rclone will not do the HEAD request.  This will
21900       mean
21901
21902       · directory listings are much quicker
21903
21904       · rclone won't have the times or sizes of any files
21905
21906       · some files that don't exist may be in the listing
21907
21908       · Config: no_head
21909
21910       · Env Var: RCLONE_HTTP_NO_HEAD
21911
21912       · Type: bool
21913
21914       · Default: false
21915
21916   Limitations
21917       rclone  about  is  not supported by the HTTP backend.  Backends without
21918       this capability cannot determine free space for an rclone mount or  use
21919       policy mfs (most free space) as a member of an rclone union remote.
21920
21921       See   List   of   backends   that   do   not   support   rclone   about
21922       (https://rclone.org/overview/#optional-features)   See   rclone   about
21923       (https://rclone.org/commands/rclone_about/)
21924
21925   Hubic
21926       Paths are specified as remote:path
21927
21928       Paths  are  specified  as remote:container (or remote: for the lsd com‐
21929       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
21930       er/path/to/dir.
21931
21932       The  initial  setup for Hubic involves getting a token from Hubic which
21933       you need to do in your browser.  rclone config walks you through it.
21934
21935       Here is an example of how to make a remote called remote.  First run:
21936
21937               rclone config
21938
21939       This will guide you through an interactive setup process:
21940
21941              n) New remote
21942              s) Set configuration password
21943              n/s> n
21944              name> remote
21945              Type of storage to configure.
21946              Choose a number from below, or type in your own value
21947              [snip]
21948              XX / Hubic
21949                 \ "hubic"
21950              [snip]
21951              Storage> hubic
21952              Hubic Client Id - leave blank normally.
21953              client_id>
21954              Hubic Client Secret - leave blank normally.
21955              client_secret>
21956              Remote config
21957              Use auto config?
21958               * Say Y if not sure
21959               * Say N if you are working on a remote or headless machine
21960              y) Yes
21961              n) No
21962              y/n> y
21963              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
21964              Log in and authorize rclone for access
21965              Waiting for code...
21966              Got code
21967              --------------------
21968              [remote]
21969              client_id =
21970              client_secret =
21971              token = {"access_token":"XXXXXX"}
21972              --------------------
21973              y) Yes this is OK
21974              e) Edit this remote
21975              d) Delete this remote
21976              y/e/d> y
21977
21978       See the remote setup docs (https://rclone.org/remote_setup/) for how to
21979       set it up on a machine with no Internet browser available.
21980
21981       Note  that rclone runs a webserver on your local machine to collect the
21982       token as returned from Hubic.  This only runs from the moment it  opens
21983       your browser to the moment you get back the verification code.  This is
21984       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
21985       temporarily if you are running a host firewall.
21986
21987       Once configured you can then use rclone like this,
21988
21989       List containers in the top level of your Hubic
21990
21991              rclone lsd remote:
21992
21993       List all the files in your Hubic
21994
21995              rclone ls remote:
21996
21997       To copy a local directory to an Hubic directory called backup
21998
21999              rclone copy /home/source remote:backup
22000
22001       If  you want the directory to be visible in the official Hubic browser,
22002       you need to copy your files to the default directory
22003
22004              rclone copy /home/source remote:default/backup
22005
22006   --fast-list
22007       This remote supports --fast-list which allows you to use fewer transac‐
22008       tions   in   exchange   for   more   memory.    See   the  rclone  docs
22009       (https://rclone.org/docs/#fast-list) for more details.
22010
22011   Modified time
22012       The modified time  is  stored  as  metadata  on  the  object  as  X-Ob‐
22013       ject-Meta-Mtime as floating point since the epoch accurate to 1 ns.
22014
22015       This  is  a  de facto standard (used in the official python-swiftclient
22016       amongst others) for storing the modification time for an object.
22017
22018       Note that Hubic wraps the Swift backend, so most of the  properties  of
22019       are the same.
22020
22021   Standard Options
22022       Here are the standard options specific to hubic (Hubic).
22023
22024   --hubic-client-id
22025       OAuth Client Id Leave blank normally.
22026
22027       · Config: client_id
22028
22029       · Env Var: RCLONE_HUBIC_CLIENT_ID
22030
22031       · Type: string
22032
22033       · Default: ""
22034
22035   --hubic-client-secret
22036       OAuth Client Secret Leave blank normally.
22037
22038       · Config: client_secret
22039
22040       · Env Var: RCLONE_HUBIC_CLIENT_SECRET
22041
22042       · Type: string
22043
22044       · Default: ""
22045
22046   Advanced Options
22047       Here are the advanced options specific to hubic (Hubic).
22048
22049   --hubic-token
22050       OAuth Access Token as a JSON blob.
22051
22052       · Config: token
22053
22054       · Env Var: RCLONE_HUBIC_TOKEN
22055
22056       · Type: string
22057
22058       · Default: ""
22059
22060   --hubic-auth-url
22061       Auth server URL.  Leave blank to use the provider defaults.
22062
22063       · Config: auth_url
22064
22065       · Env Var: RCLONE_HUBIC_AUTH_URL
22066
22067       · Type: string
22068
22069       · Default: ""
22070
22071   --hubic-token-url
22072       Token server url.  Leave blank to use the provider defaults.
22073
22074       · Config: token_url
22075
22076       · Env Var: RCLONE_HUBIC_TOKEN_URL
22077
22078       · Type: string
22079
22080       · Default: ""
22081
22082   --hubic-chunk-size
22083       Above this size files will be chunked into a _segments container.
22084
22085       Above  this size files will be chunked into a _segments container.  The
22086       default for this is 5GB which is its maximum value.
22087
22088       · Config: chunk_size
22089
22090       · Env Var: RCLONE_HUBIC_CHUNK_SIZE
22091
22092       · Type: SizeSuffix
22093
22094       · Default: 5G
22095
22096   --hubic-no-chunk
22097       Don't chunk files during streaming upload.
22098
22099       When doing streaming uploads (e.g.  using rcat or mount)  setting  this
22100       flag will cause the swift backend to not upload chunked files.
22101
22102       This  will  limit  the maximum upload size to 5GB.  However non chunked
22103       files are easier to deal with and have an MD5SUM.
22104
22105       Rclone will still chunk files bigger than chunk_size when doing  normal
22106       copy operations.
22107
22108       · Config: no_chunk
22109
22110       · Env Var: RCLONE_HUBIC_NO_CHUNK
22111
22112       · Type: bool
22113
22114       · Default: false
22115
22116   --hubic-encoding
22117       This sets the encoding for the backend.
22118
22119       See:  the  encoding  section  in the overview (https://rclone.org/over
22120       view/#encoding) for more info.
22121
22122       · Config: encoding
22123
22124       · Env Var: RCLONE_HUBIC_ENCODING
22125
22126       · Type: MultiEncoder
22127
22128       · Default: Slash,InvalidUtf8
22129
22130   Limitations
22131       This uses the normal OpenStack Swift mechanism to refresh the Swift API
22132       credentials and ignores the expires field returned by the Hubic API.
22133
22134       The  Swift API doesn't return a correct MD5SUM for segmented files (Dy‐
22135       namic or Static Large Objects) so rclone won't check or use the  MD5SUM
22136       for these.
22137
22138   Jottacloud
22139       Jottacloud  is a cloud storage service provider from a Norwegian compa‐
22140       ny, using its own datacenters in Norway.
22141
22142       In addition to the official service at jottacloud.com (https://www.jot
22143       tacloud.com/),  there are also several whitelabel versions which should
22144       work with this backend.
22145
22146       Paths are specified as remote:path
22147
22148       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
22149
22150   Setup
22151   Default Setup
22152       To configure Jottacloud you will need to generate a  personal  security
22153       token  in  the  Jottacloud web interface.  You will the option to do in
22154       your account security settings  (https://www.jottacloud.com/web/secure)
22155       (for  whitelabel  version  you need to find this page in its web inter‐
22156       face).  Note that the web interface may refer to this token as a Jotta‐
22157       Cli token.
22158
22159   Legacy Setup
22160       If  you  are  using one of the whitelabel versions (Elgiganten, Com Hem
22161       Cloud) you may not have the option to generate a CLI  token.   In  this
22162       case  you'll  have to use the legacy authentication.  To to this select
22163       yes when the setup asks for legacy authentication and enter your  user‐
22164       name  and  password.  The rest of the setup is identical to the default
22165       setup.
22166
22167   Telia Cloud Setup
22168       Similar to other whitelabel versions Telia Cloud doesn't offer the  op‐
22169       tion  of creating a CLI token, and additionally uses a separate authen‐
22170       tication flow where the username is  generated  internally.   To  setup
22171       rclone  to  use  Telia  Cloud, choose Telia Cloud authentication in the
22172       setup.  The rest of the setup is identical to the default setup.
22173
22174   Example
22175       Here is an example of how to make a remote called remote with  the  de‐
22176       fault setup.  First run:
22177
22178              rclone config
22179
22180       This will guide you through an interactive setup process:
22181
22182              No remotes found - make a new one
22183              n) New remote
22184              s) Set configuration password
22185              q) Quit config
22186              n/s/q> n
22187              name> remote
22188              Type of storage to configure.
22189              Enter a string value. Press Enter for the default ("").
22190              Choose a number from below, or type in your own value
22191              [snip]
22192              XX / Jottacloud
22193                 \ "jottacloud"
22194              [snip]
22195              Storage> jottacloud
22196              ** See help for jottacloud backend at: https://rclone.org/jottacloud/ **
22197
22198              Edit advanced config? (y/n)
22199              y) Yes
22200              n) No
22201              y/n> n
22202              Remote config
22203              Use legacy authentication?.
22204              This is only required for certain whitelabel versions of Jottacloud and not recommended for normal users.
22205              y) Yes
22206              n) No (default)
22207              y/n> n
22208
22209              Generate a personal login token here: https://www.jottacloud.com/web/secure
22210              Login Token> <your token here>
22211
22212              Do you want to use a non standard device/mountpoint e.g. for accessing files uploaded using the official Jottacloud client?
22213
22214              y) Yes
22215              n) No
22216              y/n> y
22217              Please select the device to use. Normally this will be Jotta
22218              Choose a number from below, or type in an existing value
22219               1 > DESKTOP-3H31129
22220               2 > Jotta
22221              Devices> 2
22222              Please select the mountpoint to user. Normally this will be Archive
22223              Choose a number from below, or type in an existing value
22224               1 > Archive
22225               2 > Links
22226               3 > Sync
22227
22228              Mountpoints> 1
22229              --------------------
22230              [jotta]
22231              type = jottacloud
22232              token = {........}
22233              device = Jotta
22234              mountpoint = Archive
22235              configVersion = 1
22236              --------------------
22237              y) Yes this is OK
22238              e) Edit this remote
22239              d) Delete this remote
22240              y/e/d> y
22241
22242       Once configured you can then use rclone like this,
22243
22244       List directories in top level of your Jottacloud
22245
22246              rclone lsd remote:
22247
22248       List all the files in your Jottacloud
22249
22250              rclone ls remote:
22251
22252       To copy a local directory to an Jottacloud directory called backup
22253
22254              rclone copy /home/source remote:backup
22255
22256   Devices and Mountpoints
22257       The official Jottacloud client registers a device for each computer you
22258       install it on, and then creates a mountpoint for each folder you select
22259       for  Backup.   The web interface uses a special device called Jotta for
22260       the Archive and Sync mountpoints.  In most cases you'll want to use the
22261       Jotta/Archive  device/mountpoint,  however  if you want to access files
22262       uploaded by any of the official clients rclone provides the  option  to
22263       select other devices and mountpoints during config.
22264
22265       The  built-in  Jotta device may also contain several other mountpoints,
22266       such as: Latest, Links, Shared and Trash.   These  are  special  mount‐
22267       points  with  a  different  internal  representation than the "regular"
22268       mountpoints.  Rclone will only to a very limited degree  support  them.
22269       Generally you should avoid these, unless you know what you are doing.
22270
22271   --fast-list
22272       This remote supports --fast-list which allows you to use fewer transac‐
22273       tions  in  exchange   for   more   memory.    See   the   rclone   docs
22274       (https://rclone.org/docs/#fast-list) for more details.
22275
22276       Note  that  the  implementation in Jottacloud always uses only a single
22277       API request to get the entire list, so for  large  folders  this  could
22278       lead to long wait time before the first results are shown.
22279
22280   Modified time and hashes
22281       Jottacloud allows modification times to be set on objects accurate to 1
22282       second.  These will be used to detect whether objects need  syncing  or
22283       not.
22284
22285       Jottacloud  supports  MD5  type  hashes,  so you can use the --checksum
22286       flag.
22287
22288       Note that Jottacloud requires the MD5 hash  before  upload  so  if  the
22289       source  does not have an MD5 checksum then the file will be cached tem‐
22290       porarily on disk (wherever the TMPDIR environment variable  points  to)
22291       before  it is uploaded.  Small files will be cached in memory - see the
22292       --jottacloud-md5-memory-limit flag.  When uploading from local disk the
22293       source  checksum is always available, so this does not apply.  Starting
22294       with rclone version 1.52 the same is true for crypted remotes (in older
22295       versions  the crypt backend would not calculate hashes for uploads from
22296       local disk, so the Jottacloud backend had to do it as described above).
22297
22298   Restricted filename characters
22299       In   addition   to    the    default    restricted    characters    set
22300       (https://rclone.org/overview/#restricted-characters)    the   following
22301       characters are also replaced:
22302
22303       Character   Value   Replacement
22304       ────────────────────────────────
22305       "           0x22        "
22306       *           0x2A        *
22307       :           0x3A        :
22308       <           0x3C        <
22309       >           0x3E        >
22310       ?           0x3F        ?
22311       |           0x7C        |
22312
22313       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
22314       view/#invalid-utf8), as they can't be used in XML strings.
22315
22316   Deleting files
22317       By default rclone will send all files to the trash when deleting files.
22318       They will be permanently deleted automatically after 30 days.  You  may
22319       bypass  the trash and permanently delete files immediately by using the
22320       --jottacloud-hard-delete flag, or set the equivalent environment  vari‐
22321       able.     Emptying    the   trash   is   supported   by   the   cleanup
22322       (https://rclone.org/commands/rclone_cleanup/) command.
22323
22324   Versions
22325       Jottacloud supports file versioning.  When rclone uploads a new version
22326       of  a  file it creates a new version of it.  Currently rclone only sup‐
22327       ports retrieving the current version but older versions can be accessed
22328       via the Jottacloud Website.
22329
22330   Quota information
22331       To view your current quota you can use the rclone about remote: command
22332       which will display your usage limit (unless it is  unlimited)  and  the
22333       current usage.
22334
22335   Advanced Options
22336       Here are the advanced options specific to jottacloud (Jottacloud).
22337
22338   --jottacloud-md5-memory-limit
22339       Files  bigger  than this will be cached on disk to calculate the MD5 if
22340       required.
22341
22342       · Config: md5_memory_limit
22343
22344       · Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT
22345
22346       · Type: SizeSuffix
22347
22348       · Default: 10M
22349
22350   --jottacloud-trashed-only
22351       Only show files that are in the trash.  This will show trashed files in
22352       their original directory structure.
22353
22354       · Config: trashed_only
22355
22356       · Env Var: RCLONE_JOTTACLOUD_TRASHED_ONLY
22357
22358       · Type: bool
22359
22360       · Default: false
22361
22362   --jottacloud-hard-delete
22363       Delete files permanently rather than putting them into the trash.
22364
22365       · Config: hard_delete
22366
22367       · Env Var: RCLONE_JOTTACLOUD_HARD_DELETE
22368
22369       · Type: bool
22370
22371       · Default: false
22372
22373   --jottacloud-upload-resume-limit
22374       Files bigger than this can be resumed if the upload fail's.
22375
22376       · Config: upload_resume_limit
22377
22378       · Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT
22379
22380       · Type: SizeSuffix
22381
22382       · Default: 10M
22383
22384   --jottacloud-encoding
22385       This sets the encoding for the backend.
22386
22387       See:  the  encoding  section  in the overview (https://rclone.org/over
22388       view/#encoding) for more info.
22389
22390       · Config: encoding
22391
22392       · Env Var: RCLONE_JOTTACLOUD_ENCODING
22393
22394       · Type: MultiEncoder
22395
22396       · Default:                 Slash,LtGt,DoubleQuote,Colon,Question,Aster‐
22397         isk,Pipe,Del,Ctl,InvalidUtf8,Dot
22398
22399   Limitations
22400       Note  that  Jottacloud  is  case  insensitive  so you can't have a file
22401       called "Hello.doc" and one called "hello.doc".
22402
22403       There are quite a few characters  that  can't  be  in  Jottacloud  file
22404       names.   Rclone  will  map these names to and from an identical looking
22405       unicode equivalent.  For example if a file has  a  ?   in  it  will  be
22406       mapped to ? instead.
22407
22408       Jottacloud only supports filenames up to 255 characters in length.
22409
22410   Troubleshooting
22411       Jottacloud  exhibits  some  inconsistent  behaviours  regarding deleted
22412       files and folders which may cause Copy, Move and DirMove operations  to
22413       previously  deleted  paths  to fail.  Emptying the trash should help in
22414       such cases.
22415
22416   Koofr
22417       Paths are specified as remote:path
22418
22419       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
22420
22421       The initial setup for Koofr involves creating an  application  password
22422       for  rclone.   You  can  do  that  by opening the Koofr web application
22423       (https://app.koofr.net/app/admin/preferences/password),   giving    the
22424       password a nice name like rclone and clicking on generate.
22425
22426       Here is an example of how to make a remote called koofr.  First run:
22427
22428               rclone config
22429
22430       This will guide you through an interactive setup process:
22431
22432              No remotes found - make a new one
22433              n) New remote
22434              s) Set configuration password
22435              q) Quit config
22436              n/s/q> n
22437              name> koofr
22438              Type of storage to configure.
22439              Enter a string value. Press Enter for the default ("").
22440              Choose a number from below, or type in your own value
22441              [snip]
22442              XX / Koofr
22443                 \ "koofr"
22444              [snip]
22445              Storage> koofr
22446              ** See help for koofr backend at: https://rclone.org/koofr/ **
22447
22448              Your Koofr user name
22449              Enter a string value. Press Enter for the default ("").
22450              user> USER@NAME
22451              Your Koofr password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password)
22452              y) Yes type in my own password
22453              g) Generate random password
22454              y/g> y
22455              Enter the password:
22456              password:
22457              Confirm the password:
22458              password:
22459              Edit advanced config? (y/n)
22460              y) Yes
22461              n) No
22462              y/n> n
22463              Remote config
22464              --------------------
22465              [koofr]
22466              type = koofr
22467              baseurl = https://app.koofr.net
22468              user = USER@NAME
22469              password = *** ENCRYPTED ***
22470              --------------------
22471              y) Yes this is OK
22472              e) Edit this remote
22473              d) Delete this remote
22474              y/e/d> y
22475
22476       You  can choose to edit advanced config in order to enter your own ser‐
22477       vice URL if you use an on-premise or white  label  Koofr  instance,  or
22478       choose an alternative mount instead of your primary storage.
22479
22480       Once configured you can then use rclone like this,
22481
22482       List directories in top level of your Koofr
22483
22484              rclone lsd koofr:
22485
22486       List all the files in your Koofr
22487
22488              rclone ls koofr:
22489
22490       To copy a local directory to an Koofr directory called backup
22491
22492              rclone copy /home/source remote:backup
22493
22494   Restricted filename characters
22495       In    addition    to    the    default    restricted   characters   set
22496       (https://rclone.org/overview/#restricted-characters)   the    following
22497       characters are also replaced:
22498
22499       Character   Value   Replacement
22500       ────────────────────────────────
22501       \           0x5C        \
22502
22503       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
22504       view/#invalid-utf8), as they can't be used in XML strings.
22505
22506   Standard Options
22507       Here are the standard options specific to koofr (Koofr).
22508
22509   --koofr-user
22510       Your Koofr user name
22511
22512       · Config: user
22513
22514       · Env Var: RCLONE_KOOFR_USER
22515
22516       · Type: string
22517
22518       · Default: ""
22519
22520   --koofr-password
22521       Your    Koofr    password    for    rclone     (generate     one     at
22522       https://app.koofr.net/app/admin/preferences/password)
22523
22524       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
22525       (https://rclone.org/commands/rclone_obscure/).
22526
22527       · Config: password
22528
22529       · Env Var: RCLONE_KOOFR_PASSWORD
22530
22531       · Type: string
22532
22533       · Default: ""
22534
22535   Advanced Options
22536       Here are the advanced options specific to koofr (Koofr).
22537
22538   --koofr-endpoint
22539       The Koofr API endpoint to use
22540
22541       · Config: endpoint
22542
22543       · Env Var: RCLONE_KOOFR_ENDPOINT
22544
22545       · Type: string
22546
22547       · Default: "https://app.koofr.net"
22548
22549   --koofr-mountid
22550       Mount ID of the mount to use.  If omitted, the primary mount is used.
22551
22552       · Config: mountid
22553
22554       · Env Var: RCLONE_KOOFR_MOUNTID
22555
22556       · Type: string
22557
22558       · Default: ""
22559
22560   --koofr-setmtime
22561       Does the backend support setting modification time.  Set this to  false
22562       if you use a mount ID that points to a Dropbox or Amazon Drive backend.
22563
22564       · Config: setmtime
22565
22566       · Env Var: RCLONE_KOOFR_SETMTIME
22567
22568       · Type: bool
22569
22570       · Default: true
22571
22572   --koofr-encoding
22573       This sets the encoding for the backend.
22574
22575       See:  the  encoding  section  in the overview (https://rclone.org/over
22576       view/#encoding) for more info.
22577
22578       · Config: encoding
22579
22580       · Env Var: RCLONE_KOOFR_ENCODING
22581
22582       · Type: MultiEncoder
22583
22584       · Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
22585
22586   Limitations
22587       Note that Koofr is case insensitive so you can't  have  a  file  called
22588       "Hello.doc" and one called "hello.doc".
22589
22590   Mail.ru Cloud
22591       Mail.ru Cloud (https://cloud.mail.ru/) is a cloud storage provided by a
22592       Russian internet company Mail.Ru Group (https://mail.ru).  The official
22593       desktop  client  is  Disk-O: (https://disk-o.cloud/), available only on
22594       Windows.  (Please note that official sites are in Russian)
22595
22596       Currently it is recommended to disable 2FA on Mail.ru accounts intended
22597       for rclone until it gets eventually implemented.
22598
22599   Features highlights
22600       · Paths may be as deep as required, e.g.  remote:directory/subdirectory
22601
22602       · Files have a last modified time property, directories don't
22603
22604       · Deleted files are by default moved to the trash
22605
22606       · Files and directories can be shared via public links
22607
22608       · Partial  uploads  or  streaming  are not supported, file size must be
22609         known before upload
22610
22611       · Maximum file size is limited to 2G for a free account, unlimited  for
22612         paid accounts
22613
22614       · Storage  keeps hash for all files and performs transparent deduplica‐
22615         tion, the hash algorithm is a modified SHA1
22616
22617       · If a particular file is already present in storage, one  can  quickly
22618         submit  file  hash  instead of long file upload (this optimization is
22619         supported by rclone)
22620
22621   Configuration
22622       Here is an example of making a mailru configuration.   First  create  a
22623       Mail.ru Cloud account and choose a tariff, then run
22624
22625              rclone config
22626
22627       This will guide you through an interactive setup process:
22628
22629              No remotes found - make a new one
22630              n) New remote
22631              s) Set configuration password
22632              q) Quit config
22633              n/s/q> n
22634              name> remote
22635              Type of storage to configure.
22636              Type of storage to configure.
22637              Enter a string value. Press Enter for the default ("").
22638              Choose a number from below, or type in your own value
22639              [snip]
22640              XX / Mail.ru Cloud
22641                 \ "mailru"
22642              [snip]
22643              Storage> mailru
22644              User name (usually email)
22645              Enter a string value. Press Enter for the default ("").
22646              user> username@mail.ru
22647              Password
22648              y) Yes type in my own password
22649              g) Generate random password
22650              y/g> y
22651              Enter the password:
22652              password:
22653              Confirm the password:
22654              password:
22655              Skip full upload if there is another file with same data hash.
22656              This feature is called "speedup" or "put by hash". It is especially efficient
22657              in case of generally available files like popular books, video or audio clips
22658              [snip]
22659              Enter a boolean value (true or false). Press Enter for the default ("true").
22660              Choose a number from below, or type in your own value
22661               1 / Enable
22662                 \ "true"
22663               2 / Disable
22664                 \ "false"
22665              speedup_enable> 1
22666              Edit advanced config? (y/n)
22667              y) Yes
22668              n) No
22669              y/n> n
22670              Remote config
22671              --------------------
22672              [remote]
22673              type = mailru
22674              user = username@mail.ru
22675              pass = *** ENCRYPTED ***
22676              speedup_enable = true
22677              --------------------
22678              y) Yes this is OK
22679              e) Edit this remote
22680              d) Delete this remote
22681              y/e/d> y
22682
22683       Configuration  of  this  backend  does not require a local web browser.
22684       You can use the configured backend as shown below:
22685
22686       See top level directories
22687
22688              rclone lsd remote:
22689
22690       Make a new directory
22691
22692              rclone mkdir remote:directory
22693
22694       List the contents of a directory
22695
22696              rclone ls remote:directory
22697
22698       Sync /home/local/directory to the  remote  path,  deleting  any  excess
22699       files in the path.
22700
22701              rclone sync -i /home/local/directory remote:directory
22702
22703   Modified time
22704       Files  support a modification time attribute with up to 1 second preci‐
22705       sion.  Directories do not have a modification time, which is  shown  as
22706       "Jan 1 1970".
22707
22708   Hash checksums
22709       Hash  sums  use a custom Mail.ru algorithm based on SHA1.  If file size
22710       is less than or equal to the SHA1 block size (20 bytes),  its  hash  is
22711       simply  its  data  right-padded  with zero bytes.  Hash sum of a larger
22712       file is computed as a SHA1 sum of the file data bytes concatenated with
22713       a decimal representation of the data length.
22714
22715   Emptying Trash
22716       Removing  a  file or directory actually moves it to the trash, which is
22717       not visible to rclone but can be seen in a web  browser.   The  trashed
22718       file  still  occupies  part  of total quota.  If you wish to empty your
22719       trash and free some quota, you can use the rclone cleanup remote:  com‐
22720       mand,  which will permanently delete all your trashed files.  This com‐
22721       mand does not take any path arguments.
22722
22723   Quota information
22724       To view your current quota you can use the rclone about remote: command
22725       which will display your usage limit (quota) and the current usage.
22726
22727   Restricted filename characters
22728       In    addition    to    the    default    restricted   characters   set
22729       (https://rclone.org/overview/#restricted-characters)   the    following
22730       characters are also replaced:
22731
22732       Character   Value   Replacement
22733       ────────────────────────────────
22734       "           0x22        "
22735       *           0x2A        *
22736       :           0x3A        :
22737       <           0x3C        <
22738       >           0x3E        >
22739       ?           0x3F        ?
22740       \           0x5C        \
22741       |           0x7C        |
22742
22743       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
22744       view/#invalid-utf8), as they can't be used in JSON strings.
22745
22746   Limitations
22747       File size limits depend on your account.  A single file size is limited
22748       by  2G for a free account and unlimited for paid tariffs.  Please refer
22749       to the Mail.ru site for the total uploaded size limits.
22750
22751       Note that Mailru is case insensitive so you can't have  a  file  called
22752       "Hello.doc" and one called "hello.doc".
22753
22754   Standard Options
22755       Here are the standard options specific to mailru (Mail.ru Cloud).
22756
22757   --mailru-user
22758       User name (usually email)
22759
22760       · Config: user
22761
22762       · Env Var: RCLONE_MAILRU_USER
22763
22764       · Type: string
22765
22766       · Default: ""
22767
22768   --mailru-pass
22769       Password
22770
22771       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
22772       (https://rclone.org/commands/rclone_obscure/).
22773
22774       · Config: pass
22775
22776       · Env Var: RCLONE_MAILRU_PASS
22777
22778       · Type: string
22779
22780       · Default: ""
22781
22782   --mailru-speedup-enable
22783       Skip full upload if there is another file with same  data  hash.   This
22784       feature  is  called "speedup" or "put by hash".  It is especially effi‐
22785       cient in case of generally available files like popular books, video or
22786       audio  clips, because files are searched by hash in all accounts of all
22787       mailru users.  It is meaningless and  ineffective  if  source  file  is
22788       unique or encrypted.  Please note that rclone may need local memory and
22789       disk space to calculate content hash in advance and decide whether full
22790       upload is required.  Also, if rclone does not know file size in advance
22791       (e.g.  in case of streaming or partial uploads), it will not  even  try
22792       this optimization.
22793
22794       · Config: speedup_enable
22795
22796       · Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE
22797
22798       · Type: bool
22799
22800       · Default: true
22801
22802       · Examples:
22803
22804         · "true"
22805
22806           · Enable
22807
22808         · "false"
22809
22810           · Disable
22811
22812   Advanced Options
22813       Here are the advanced options specific to mailru (Mail.ru Cloud).
22814
22815   --mailru-speedup-file-patterns
22816       Comma separated list of file name patterns eligible for speedup (put by
22817       hash).  Patterns are case insensitive and can contain '*' or  '?'  meta
22818       characters.
22819
22820       · Config: speedup_file_patterns
22821
22822       · Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS
22823
22824       · Type: string
22825
22826       · Default: ".mkv,.avi,.mp4,.mp3,.zip,.gz,.rar,.pdf"
22827
22828       · Examples:
22829
22830         · ""
22831
22832           · Empty list completely disables speedup (put by hash).
22833
22834         · "*"
22835
22836           · All files will be attempted for speedup.
22837
22838         · ".mkv,.avi,.mp4,.mp3"
22839
22840           · Only common audio/video files will be tried for put by hash.
22841
22842         · ".zip,.gz,.rar,.pdf"
22843
22844           · Only common archives or PDF books will be tried for speedup.
22845
22846   --mailru-speedup-max-disk
22847       This option allows you to disable speedup (put by hash) for large files
22848       (because preliminary hashing can exhaust you RAM or disk space)
22849
22850       · Config: speedup_max_disk
22851
22852       · Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK
22853
22854       · Type: SizeSuffix
22855
22856       · Default: 3G
22857
22858       · Examples:
22859
22860         · "0"
22861
22862           · Completely disable speedup (put by hash).
22863
22864         · "1G"
22865
22866           · Files larger than 1Gb will be uploaded directly.
22867
22868         · "3G"
22869
22870           · Choose this option if you have less than 3Gb free on local disk.
22871
22872   --mailru-speedup-max-memory
22873       Files larger than the size given below will always be hashed on disk.
22874
22875       · Config: speedup_max_memory
22876
22877       · Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY
22878
22879       · Type: SizeSuffix
22880
22881       · Default: 32M
22882
22883       · Examples:
22884
22885         · "0"
22886
22887           · Preliminary hashing will always be done in a temporary disk loca‐
22888             tion.
22889
22890         · "32M"
22891
22892           · Do not dedicate more than 32Mb RAM for preliminary hashing.
22893
22894         · "256M"
22895
22896           · You have at most 256Mb RAM free for hash calculations.
22897
22898   --mailru-check-hash
22899       What should copy do if file checksum is mismatched or invalid
22900
22901       · Config: check_hash
22902
22903       · Env Var: RCLONE_MAILRU_CHECK_HASH
22904
22905       · Type: bool
22906
22907       · Default: true
22908
22909       · Examples:
22910
22911         · "true"
22912
22913           · Fail with error.
22914
22915         · "false"
22916
22917           · Ignore and continue.
22918
22919   --mailru-user-agent
22920       HTTP  user  agent  used internally by client.  Defaults to "rclone/VER‐
22921       SION" or "--user-agent" provided on command line.
22922
22923       · Config: user_agent
22924
22925       · Env Var: RCLONE_MAILRU_USER_AGENT
22926
22927       · Type: string
22928
22929       · Default: ""
22930
22931   --mailru-quirks
22932       Comma separated list of internal maintenance flags.  This  option  must
22933       not be used by an ordinary user.  It is intended only to facilitate re‐
22934       mote troubleshooting of backend issues.  Strict meaning of flags is not
22935       documented and not guaranteed to persist between releases.  Quirks will
22936       be removed when the backend  grows  stable.   Supported  quirks:  atom‐
22937       icmkdir binlist unknowndirs
22938
22939       · Config: quirks
22940
22941       · Env Var: RCLONE_MAILRU_QUIRKS
22942
22943       · Type: string
22944
22945       · Default: ""
22946
22947   --mailru-encoding
22948       This sets the encoding for the backend.
22949
22950       See:  the  encoding  section  in the overview (https://rclone.org/over
22951       view/#encoding) for more info.
22952
22953       · Config: encoding
22954
22955       · Env Var: RCLONE_MAILRU_ENCODING
22956
22957       · Type: MultiEncoder
22958
22959       · Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
22960         Slash,Del,Ctl,InvalidUtf8,Dot
22961
22962   Mega
22963       Mega  (https://mega.nz/)  is  a  cloud storage and file hosting service
22964       known for its security feature where all files  are  encrypted  locally
22965       before they are uploaded.  This prevents anyone (including employees of
22966       Mega) from accessing the files without knowledge of the  key  used  for
22967       encryption.
22968
22969       This  is  an  rclone  backend for Mega which supports the file transfer
22970       features of Mega using the same client side encryption.
22971
22972       Paths are specified as remote:path
22973
22974       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
22975
22976       Here is an example of how to make a remote called remote.  First run:
22977
22978               rclone config
22979
22980       This will guide you through an interactive setup process:
22981
22982              No remotes found - make a new one
22983              n) New remote
22984              s) Set configuration password
22985              q) Quit config
22986              n/s/q> n
22987              name> remote
22988              Type of storage to configure.
22989              Choose a number from below, or type in your own value
22990              [snip]
22991              XX / Mega
22992                 \ "mega"
22993              [snip]
22994              Storage> mega
22995              User name
22996              user> you@example.com
22997              Password.
22998              y) Yes type in my own password
22999              g) Generate random password
23000              n) No leave this optional password blank
23001              y/g/n> y
23002              Enter the password:
23003              password:
23004              Confirm the password:
23005              password:
23006              Remote config
23007              --------------------
23008              [remote]
23009              type = mega
23010              user = you@example.com
23011              pass = *** ENCRYPTED ***
23012              --------------------
23013              y) Yes this is OK
23014              e) Edit this remote
23015              d) Delete this remote
23016              y/e/d> y
23017
23018       NOTE: The encryption keys need to have been already generated  after  a
23019       regular  login via the browser, otherwise attempting to use the creden‐
23020       tials in rclone will fail.
23021
23022       Once configured you can then use rclone like this,
23023
23024       List directories in top level of your Mega
23025
23026              rclone lsd remote:
23027
23028       List all the files in your Mega
23029
23030              rclone ls remote:
23031
23032       To copy a local directory to an Mega directory called backup
23033
23034              rclone copy /home/source remote:backup
23035
23036   Modified time and hashes
23037       Mega does not support modification times or hashes yet.
23038
23039   Restricted filename characters
23040       Character   Value   Replacement
23041       ────────────────────────────────
23042       NUL         0x00         ␀
23043       /           0x2F        /
23044
23045       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
23046       view/#invalid-utf8), as they can't be used in JSON strings.
23047
23048   Duplicated files
23049       Mega  can  have two files with exactly the same name and path (unlike a
23050       normal file system).
23051
23052       Duplicated files cause problems with the syncing and you will see  mes‐
23053       sages in the log about duplicates.
23054
23055       Use rclone dedupe to fix duplicated files.
23056
23057   Failure to log-in
23058       Mega remotes seem to get blocked (reject logins) under "heavy use".  We
23059       haven't worked out the exact blocking rules but it seems to be  related
23060       to fast paced, successive rclone commands.
23061
23062       For  example,  executing this command 90 times in a row rclone link re‐
23063       mote:file will cause the remote to become "blocked".  This  is  not  an
23064       abnormal  situation, for example if you wish to get the public links of
23065       a directory with hundred of files...  After more or less  a  week,  the
23066       remote will remote accept rclone logins normally again.
23067
23068       You  can  mitigate  this  issue  by  mounting the remote it with rclone
23069       mount.  This will log-in when mounting and a  log-out  when  unmounting
23070       only.   You  can  also run rclone rcd and then use rclone rc to run the
23071       commands over the API to avoid logging in each time.
23072
23073       Rclone does not currently close mega sessions (you can see them in  the
23074       web interface), however closing the sessions does not solve the issue.
23075
23076       If  you  space  rclone commands by 3 seconds it will avoid blocking the
23077       remote.  We haven't identified the exact blocking rules, so perhaps one
23078       could  execute  the command 80 times without waiting and avoid blocking
23079       by waiting 3 seconds, then continuing...
23080
23081       Note that this has been observed by trial and error and  might  not  be
23082       set in stone.
23083
23084       Other  tools  seem  not  to produce this blocking effect, as they use a
23085       different working approach (state-based, using  sessionIDs  instead  of
23086       log-in)  which  isn't  compatible with the current stateless rclone ap‐
23087       proach.
23088
23089       Note that once blocked, the use of other tools (such as megacmd) is not
23090       a  sure workaround: following megacmd login times have been observed in
23091       succession for blocked remote: 7 minutes, 20 min, 30min, 30 min, 30min.
23092       Web access looks unaffected though.
23093
23094       Investigation  is  continuing in relation to workarounds based on time‐
23095       outs, pacers, retrials and tpslimits - if you discover something  rele‐
23096       vant, please post on the forum.
23097
23098       So,  if rclone was working nicely and suddenly you are unable to log-in
23099       and you are sure the user and the password are correct, likely you have
23100       got the remote blocked for a while.
23101
23102   Standard Options
23103       Here are the standard options specific to mega (Mega).
23104
23105   --mega-user
23106       User name
23107
23108       · Config: user
23109
23110       · Env Var: RCLONE_MEGA_USER
23111
23112       · Type: string
23113
23114       · Default: ""
23115
23116   --mega-pass
23117       Password.
23118
23119       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
23120       (https://rclone.org/commands/rclone_obscure/).
23121
23122       · Config: pass
23123
23124       · Env Var: RCLONE_MEGA_PASS
23125
23126       · Type: string
23127
23128       · Default: ""
23129
23130   Advanced Options
23131       Here are the advanced options specific to mega (Mega).
23132
23133   --mega-debug
23134       Output more debug from Mega.
23135
23136       If this flag is set (along with -vv) it will  print  further  debugging
23137       information from the mega backend.
23138
23139       · Config: debug
23140
23141       · Env Var: RCLONE_MEGA_DEBUG
23142
23143       · Type: bool
23144
23145       · Default: false
23146
23147   --mega-hard-delete
23148       Delete files permanently rather than putting them into the trash.
23149
23150       Normally  the mega backend will put all deletions into the trash rather
23151       than permanently deleting them.  If you specify this then  rclone  will
23152       permanently delete objects instead.
23153
23154       · Config: hard_delete
23155
23156       · Env Var: RCLONE_MEGA_HARD_DELETE
23157
23158       · Type: bool
23159
23160       · Default: false
23161
23162   --mega-encoding
23163       This sets the encoding for the backend.
23164
23165       See:  the  encoding  section  in the overview (https://rclone.org/over
23166       view/#encoding) for more info.
23167
23168       · Config: encoding
23169
23170       · Env Var: RCLONE_MEGA_ENCODING
23171
23172       · Type: MultiEncoder
23173
23174       · Default: Slash,InvalidUtf8,Dot
23175
23176   Limitations
23177       This      backend      uses      the      go-mega      go       library
23178       (https://github.com/t3rm1n4l/go-mega) which is an opensource go library
23179       implementing the Mega API.  There doesn't appear to be  any  documenta‐
23180       tion    for    the    mega   protocol   beyond   the   mega   C++   SDK
23181       (https://github.com/meganz/sdk) source code so there are likely quite a
23182       few errors still remaining in this library.
23183
23184       Mega allows duplicate files which may confuse rclone.
23185
23186   Memory
23187       The  memory backend is an in RAM backend.  It does not persist its data
23188       - use the local backend for that.
23189
23190       The memory backend behaves like a bucket based remote (e.g.  like  s3).
23191       Because  it has no parameters you can just use it with the :memory: re‐
23192       mote name.
23193
23194       You can configure it as a remote like this with rclone  config  too  if
23195       you want to:
23196
23197              No remotes found - make a new one
23198              n) New remote
23199              s) Set configuration password
23200              q) Quit config
23201              n/s/q> n
23202              name> remote
23203              Type of storage to configure.
23204              Enter a string value. Press Enter for the default ("").
23205              Choose a number from below, or type in your own value
23206              [snip]
23207              XX / Memory
23208                 \ "memory"
23209              [snip]
23210              Storage> memory
23211              ** See help for memory backend at: https://rclone.org/memory/ **
23212
23213              Remote config
23214
23215              --------------------
23216              [remote]
23217              type = memory
23218              --------------------
23219              y) Yes this is OK (default)
23220              e) Edit this remote
23221              d) Delete this remote
23222              y/e/d> y
23223
23224       Because the memory backend isn't persistent it is most useful for test‐
23225       ing or with an rclone server or rclone mount, e.g.
23226
23227              rclone mount :memory: /mnt/tmp
23228              rclone serve webdav :memory:
23229              rclone serve sftp :memory:
23230
23231   Modified time and hashes
23232       The memory backend supports MD5 hashes and modification times  accurate
23233       to 1 nS.
23234
23235   Restricted filename characters
23236       The  memory  backend  replaces  the  default  restricted characters set
23237       (https://rclone.org/overview/#restricted-characters).
23238
23239   Microsoft Azure Blob Storage
23240       Paths are specified as remote:container (or remote: for  the  lsd  com‐
23241       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
23242       er/path/to/dir.
23243
23244       Here is an example of making a Microsoft Azure Blob Storage  configura‐
23245       tion.  For a remote called remote.  First run:
23246
23247               rclone config
23248
23249       This will guide you through an interactive setup process:
23250
23251              No remotes found - make a new one
23252              n) New remote
23253              s) Set configuration password
23254              q) Quit config
23255              n/s/q> n
23256              name> remote
23257              Type of storage to configure.
23258              Choose a number from below, or type in your own value
23259              [snip]
23260              XX / Microsoft Azure Blob Storage
23261                 \ "azureblob"
23262              [snip]
23263              Storage> azureblob
23264              Storage Account Name
23265              account> account_name
23266              Storage Account Key
23267              key> base64encodedkey==
23268              Endpoint for the service - leave blank normally.
23269              endpoint>
23270              Remote config
23271              --------------------
23272              [remote]
23273              account = account_name
23274              key = base64encodedkey==
23275              endpoint =
23276              --------------------
23277              y) Yes this is OK
23278              e) Edit this remote
23279              d) Delete this remote
23280              y/e/d> y
23281
23282       See all containers
23283
23284              rclone lsd remote:
23285
23286       Make a new container
23287
23288              rclone mkdir remote:container
23289
23290       List the contents of a container
23291
23292              rclone ls remote:container
23293
23294       Sync /home/local/directory to the remote container, deleting any excess
23295       files in the container.
23296
23297              rclone sync -i /home/local/directory remote:container
23298
23299   --fast-list
23300       This remote supports --fast-list which allows you to use fewer transac‐
23301       tions   in   exchange   for   more   memory.    See   the  rclone  docs
23302       (https://rclone.org/docs/#fast-list) for more details.
23303
23304   Modified time
23305       The modified time is stored as metadata on the object  with  the  mtime
23306       key.  It is stored using RFC3339 Format time with nanosecond precision.
23307       The metadata is supplied during directory listings so there is no over‐
23308       head to using it.
23309
23310   Restricted filename characters
23311       In    addition    to    the    default    restricted   characters   set
23312       (https://rclone.org/overview/#restricted-characters)   the    following
23313       characters are also replaced:
23314
23315       Character   Value   Replacement
23316       ────────────────────────────────
23317       /           0x2F        /
23318       \           0x5C        \
23319
23320       File  names can also not end with the following characters.  These only
23321       get replaced if they are the last character in the name:
23322
23323       Character   Value   Replacement
23324       ────────────────────────────────
23325       .           0x2E        .
23326
23327       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
23328       view/#invalid-utf8), as they can't be used in JSON strings.
23329
23330   Hashes
23331       MD5  hashes are stored with blobs.  However blobs that were uploaded in
23332       chunks only have an MD5 if the source remote was capable of MD5 hashes,
23333       e.g.  the local disk.
23334
23335   Authenticating with Azure Blob Storage
23336       Rclone has 3 ways of authenticating with Azure Blob Storage:
23337
23338   Account and Key
23339       This is the most straight forward and least flexible way.  Just fill in
23340       the account and key lines and leave the rest blank.
23341
23342   SAS URL
23343       This can be an account level SAS URL or container level SAS URL.
23344
23345       To use it leave account, key blank and fill in sas_url.
23346
23347       An account level SAS URL or container level SAS  URL  can  be  obtained
23348       from the Azure portal or the Azure Storage Explorer.  To get a contain‐
23349       er level SAS URL right click on a container in the Azure Blob  explorer
23350       in the Azure portal.
23351
23352       If  you  use a container level SAS URL, rclone operations are permitted
23353       only on a particular container, e.g.
23354
23355              rclone ls azureblob:container
23356
23357       You can also list the single container from the root.  This  will  only
23358       show the container specified by the SAS URL.
23359
23360              $ rclone lsd azureblob:
23361              container/
23362
23363       Note that you can't see or access any other containers - this will fail
23364
23365              rclone ls azureblob:othercontainer
23366
23367       Container level SAS URLs are useful for temporarily allowing third par‐
23368       ties access to a single container or putting credentials  into  an  un‐
23369       trusted environment such as a CI build server.
23370
23371   Standard Options
23372       Here  are  the  standard options specific to azureblob (Microsoft Azure
23373       Blob Storage).
23374
23375   --azureblob-account
23376       Storage Account Name (leave blank to use SAS URL or Emulator)
23377
23378       · Config: account
23379
23380       · Env Var: RCLONE_AZUREBLOB_ACCOUNT
23381
23382       · Type: string
23383
23384       · Default: ""
23385
23386   --azureblob-service-principal-file
23387       Path to file containing credentials for use with a service principal.
23388
23389       Leave blank normally.  Needed only if you want to use a service princi‐
23390       pal instead of interactive login.
23391
23392              $ az sp create-for-rbac --name "<name>" \
23393                --role "Storage Blob Data Owner" \
23394                --scopes "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>" \
23395                > azure-principal.json
23396
23397       See  Use Azure CLI to assign an Azure role for access to blob and queue
23398       data    (https://docs.microsoft.com/en-us/azure/storage/common/storage-
23399       auth-aad-rbac-cli) for more details.
23400
23401       · Config: service_principal_file
23402
23403       · Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE
23404
23405       · Type: string
23406
23407       · Default: ""
23408
23409   --azureblob-key
23410       Storage Account Key (leave blank to use SAS URL or Emulator)
23411
23412       · Config: key
23413
23414       · Env Var: RCLONE_AZUREBLOB_KEY
23415
23416       · Type: string
23417
23418       · Default: ""
23419
23420   --azureblob-sas-url
23421       SAS  URL  for  container  level  access  only (leave blank if using ac‐
23422       count/key or Emulator)
23423
23424       · Config: sas_url
23425
23426       · Env Var: RCLONE_AZUREBLOB_SAS_URL
23427
23428       · Type: string
23429
23430       · Default: ""
23431
23432   --azureblob-use-msi
23433       Use a managed service identity to authenticate (only works in Azure)
23434
23435       When  true,  use  a  managed  service   identity   (https://docs.micro
23436       soft.com/en-us/azure/active-directory/managed-identities-azure-re‐
23437       sources/) to authenticate to Azure Storage instead of a  SAS  token  or
23438       account key.
23439
23440       If  the  VM(SS)  on which this program is running has a system-assigned
23441       identity, it will be used by default.  If  the  resource  has  no  sys‐
23442       tem-assigned  but exactly one user-assigned identity, the user-assigned
23443       identity will be used by default.  If the  resource  has  multiple  us‐
23444       er-assigned  identities,  the identity to use must be explicitly speci‐
23445       fied  using  exactly  one  of  the  msi_object_id,  msi_client_id,   or
23446       msi_mi_res_id parameters.
23447
23448       · Config: use_msi
23449
23450       · Env Var: RCLONE_AZUREBLOB_USE_MSI
23451
23452       · Type: bool
23453
23454       · Default: false
23455
23456   --azureblob-use-emulator
23457       Uses local storage emulator if provided as 'true' (leave blank if using
23458       real azure storage endpoint)
23459
23460       · Config: use_emulator
23461
23462       · Env Var: RCLONE_AZUREBLOB_USE_EMULATOR
23463
23464       · Type: bool
23465
23466       · Default: false
23467
23468   Advanced Options
23469       Here are the advanced options specific to  azureblob  (Microsoft  Azure
23470       Blob Storage).
23471
23472   --azureblob-msi-object-id
23473       Object  ID  of  the  user-assigned  MSI to use, if any.  Leave blank if
23474       msi_client_id or msi_mi_res_id specified.
23475
23476       · Config: msi_object_id
23477
23478       · Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID
23479
23480       · Type: string
23481
23482       · Default: ""
23483
23484   --azureblob-msi-client-id
23485       Object ID of the user-assigned MSI to use,  if  any.   Leave  blank  if
23486       msi_object_id or msi_mi_res_id specified.
23487
23488       · Config: msi_client_id
23489
23490       · Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID
23491
23492       · Type: string
23493
23494       · Default: ""
23495
23496   --azureblob-msi-mi-res-id
23497       Azure resource ID of the user-assigned MSI to use, if any.  Leave blank
23498       if msi_client_id or msi_object_id specified.
23499
23500       · Config: msi_mi_res_id
23501
23502       · Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID
23503
23504       · Type: string
23505
23506       · Default: ""
23507
23508   --azureblob-endpoint
23509       Endpoint for the service Leave blank normally.
23510
23511       · Config: endpoint
23512
23513       · Env Var: RCLONE_AZUREBLOB_ENDPOINT
23514
23515       · Type: string
23516
23517       · Default: ""
23518
23519   --azureblob-upload-cutoff
23520       Cutoff for switching to chunked upload (<= 256MB).  (Deprecated)
23521
23522       · Config: upload_cutoff
23523
23524       · Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF
23525
23526       · Type: string
23527
23528       · Default: ""
23529
23530   --azureblob-chunk-size
23531       Upload chunk size (<= 100MB).
23532
23533       Note that this is stored in memory and there may be up to "--transfers"
23534       chunks stored at once in memory.
23535
23536       · Config: chunk_size
23537
23538       · Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE
23539
23540       · Type: SizeSuffix
23541
23542       · Default: 4M
23543
23544   --azureblob-list-chunk
23545       Size of blob list.
23546
23547       This sets the number of blobs requested in each listing chunk.  Default
23548       is the maximum, 5000.  "List blobs" requests are  permitted  2  minutes
23549       per megabyte to complete.  If an operation is taking longer than 2 min‐
23550       utes  per  megabyte  on  average,   it   will   time   out   (   source
23551       (https://docs.microsoft.com/en-us/rest/api/storageservices/setting-
23552       timeouts-for-blob-service-operations#exceptions-to-default-timeout-in‐
23553       terval)  ).  This can be used to limit the number of blobs items to re‐
23554       turn, to avoid the time out.
23555
23556       · Config: list_chunk
23557
23558       · Env Var: RCLONE_AZUREBLOB_LIST_CHUNK
23559
23560       · Type: int
23561
23562       · Default: 5000
23563
23564   --azureblob-access-tier
23565       Access tier of blob: hot, cool or archive.
23566
23567       Archived blobs can be restored by setting access tier to hot  or  cool.
23568       Leave  blank  if you intend to use default access tier, which is set at
23569       account level
23570
23571       If there is no "access tier" specified, rclone doesn't apply any  tier.
23572       rclone  performs  "Set Tier" operation on blobs while uploading, if ob‐
23573       jects are not modified, specifying "access tier" to new one  will  have
23574       no effect.  If blobs are in "archive tier" at remote, trying to perform
23575       data transfer operations from remote will not be allowed.  User  should
23576       first restore by tiering blob to "Hot" or "Cool".
23577
23578       · Config: access_tier
23579
23580       · Env Var: RCLONE_AZUREBLOB_ACCESS_TIER
23581
23582       · Type: string
23583
23584       · Default: ""
23585
23586   --azureblob-archive-tier-delete
23587       Delete archive tier blobs before overwriting.
23588
23589       Archive tier blobs cannot be updated.  So without this flag, if you at‐
23590       tempt to update an archive tier blob, then rclone will produce the  er‐
23591       ror:
23592
23593              can't update archive tier blob without --azureblob-archive-tier-delete
23594
23595       With  this flag set then before rclone attempts to overwrite an archive
23596       tier blob, it will delete the existing blob before  uploading  its  re‐
23597       placement.   This  has  the potential for data loss if the upload fails
23598       (unlike updating a normal blob) and also may cost more  since  deleting
23599       archive tier blobs early may be chargable.
23600
23601       · Config: archive_tier_delete
23602
23603       · Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE
23604
23605       · Type: bool
23606
23607       · Default: false
23608
23609   --azureblob-disable-checksum
23610       Don't store MD5 checksum with object metadata.
23611
23612       Normally rclone will calculate the MD5 checksum of the input before up‐
23613       loading it so it can add it to metadata on the object.  This  is  great
23614       for  data  integrity checking but can cause long delays for large files
23615       to start uploading.
23616
23617       · Config: disable_checksum
23618
23619       · Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM
23620
23621       · Type: bool
23622
23623       · Default: false
23624
23625   --azureblob-memory-pool-flush-time
23626       How often internal memory buffer pools will be flushed.  Uploads  which
23627       requires  additional  buffers  (f.e multipart) will use memory pool for
23628       allocations.  This option controls how often unused buffers will be re‐
23629       moved from the pool.
23630
23631       · Config: memory_pool_flush_time
23632
23633       · Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME
23634
23635       · Type: Duration
23636
23637       · Default: 1m0s
23638
23639   --azureblob-memory-pool-use-mmap
23640       Whether to use mmap buffers in internal memory pool.
23641
23642       · Config: memory_pool_use_mmap
23643
23644       · Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP
23645
23646       · Type: bool
23647
23648       · Default: false
23649
23650   --azureblob-encoding
23651       This sets the encoding for the backend.
23652
23653       See:  the  encoding  section  in the overview (https://rclone.org/over
23654       view/#encoding) for more info.
23655
23656       · Config: encoding
23657
23658       · Env Var: RCLONE_AZUREBLOB_ENCODING
23659
23660       · Type: MultiEncoder
23661
23662       · Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8
23663
23664   Limitations
23665       MD5 sums are only uploaded with chunked files if the source has an  MD5
23666       sum.  This will always be the case for a local to azure copy.
23667
23668       rclone about is not supported by the Microsoft Azure Blob storage back‐
23669       end.  Backends without this capability cannot determine free space  for
23670       an  rclone  mount or use policy mfs (most free space) as a member of an
23671       rclone union remote.
23672
23673       See   List   of   backends   that   do   not   support   rclone   about
23674       (https://rclone.org/overview/#optional-features)   See   rclone   about
23675       (https://rclone.org/commands/rclone_about/)
23676
23677   Azure Storage Emulator Support
23678       You can test rclone with storage emulator locally, to do this make sure
23679       azure  storage  emulator installed locally and set up a new remote with
23680       rclone  config  follow  instructions  described  in  introduction,  set
23681       use_emulator config as true, you do not need to provide default account
23682       name or key if using emulator.
23683
23684   Microsoft OneDrive
23685       Paths are specified as remote:path
23686
23687       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
23688
23689       The initial setup for OneDrive involves getting a token from  Microsoft
23690       which  you need to do in your browser.  rclone config walks you through
23691       it.
23692
23693       Here is an example of how to make a remote called remote.  First run:
23694
23695               rclone config
23696
23697       This will guide you through an interactive setup process:
23698
23699              e) Edit existing remote
23700              n) New remote
23701              d) Delete remote
23702              r) Rename remote
23703              c) Copy remote
23704              s) Set configuration password
23705              q) Quit config
23706              e/n/d/r/c/s/q> n
23707              name> remote
23708              Type of storage to configure.
23709              Enter a string value. Press Enter for the default ("").
23710              Choose a number from below, or type in your own value
23711              [snip]
23712              XX / Microsoft OneDrive
23713                 \ "onedrive"
23714              [snip]
23715              Storage> onedrive
23716              Microsoft App Client Id
23717              Leave blank normally.
23718              Enter a string value. Press Enter for the default ("").
23719              client_id>
23720              Microsoft App Client Secret
23721              Leave blank normally.
23722              Enter a string value. Press Enter for the default ("").
23723              client_secret>
23724              Edit advanced config? (y/n)
23725              y) Yes
23726              n) No
23727              y/n> n
23728              Remote config
23729              Use auto config?
23730               * Say Y if not sure
23731               * Say N if you are working on a remote or headless machine
23732              y) Yes
23733              n) No
23734              y/n> y
23735              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
23736              Log in and authorize rclone for access
23737              Waiting for code...
23738              Got code
23739              Choose a number from below, or type in an existing value
23740               1 / OneDrive Personal or Business
23741                 \ "onedrive"
23742               2 / Sharepoint site
23743                 \ "sharepoint"
23744               3 / Type in driveID
23745                 \ "driveid"
23746               4 / Type in SiteID
23747                 \ "siteid"
23748               5 / Search a Sharepoint site
23749                 \ "search"
23750              Your choice> 1
23751              Found 1 drives, please select the one you want to use:
23752              0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
23753              Chose drive to use:> 0
23754              Found drive 'root' of type 'business', URL: https://org-my.sharepoint.com/personal/you/Documents
23755              Is that okay?
23756              y) Yes
23757              n) No
23758              y/n> y
23759              --------------------
23760              [remote]
23761              type = onedrive
23762              token = {"access_token":"youraccesstoken","token_type":"Bearer","refresh_token":"yourrefreshtoken","expiry":"2018-08-26T22:39:52.486512262+08:00"}
23763              drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk
23764              drive_type = business
23765              --------------------
23766              y) Yes this is OK
23767              e) Edit this remote
23768              d) Delete this remote
23769              y/e/d> y
23770
23771       See the remote setup docs (https://rclone.org/remote_setup/) for how to
23772       set it up on a machine with no Internet browser available.
23773
23774       Note  that rclone runs a webserver on your local machine to collect the
23775       token as returned from Microsoft.  This only runs from  the  moment  it
23776       opens  your  browser  to the moment you get back the verification code.
23777       This is on http://127.0.0.1:53682/ and this it may require you  to  un‐
23778       block it temporarily if you are running a host firewall.
23779
23780       Once configured you can then use rclone like this,
23781
23782       List directories in top level of your OneDrive
23783
23784              rclone lsd remote:
23785
23786       List all the files in your OneDrive
23787
23788              rclone ls remote:
23789
23790       To copy a local directory to an OneDrive directory called backup
23791
23792              rclone copy /home/source remote:backup
23793
23794   Getting your own Client ID and Key
23795       You  can  use  your own Client ID if the default (client_id left blank)
23796       one doesn't work for you or you see lots of  throttling.   The  default
23797       Client  ID  and  Key  is shared by all rclone users when performing re‐
23798       quests.
23799
23800       If you are having problems with them (E.g.,  seeing  a  lot  of  throt‐
23801       tling),  you  can get your own Client ID and Key by following the steps
23802       below:
23803
23804       1. Open            https://portal.azure.com/#blade/Microsoft_AAD_Regis‐
23805          teredApps/ApplicationsListBlade and then click New registration.
23806
23807       2. Enter a name for your app, choose account type Accounts in any orga‐
23808          nizational directory (Any Azure AD directory - Multitenant) and per‐
23809          sonal  Microsoft accounts (e.g. Skype, Xbox), select Web in Redirect
23810          URI, then type (do not copy and paste)  http://localhost:53682/  and
23811          click Register.  Copy and keep the Application (client) ID under the
23812          app name for later use.
23813
23814       3. Under manage select Certificates & secrets, click New client secret.
23815          Copy and keep that secret for later use.
23816
23817       4. Under  manage select API permissions, click Add a permission and se‐
23818          lect Microsoft Graph then select delegated permissions.
23819
23820       5. Search and select the following permissions: Files.Read, Files.Read‐
23821          Write,   Files.Read.All,  Files.ReadWrite.All,  offline_access,  Us‐
23822          er.Read.  Once selected click Add permissions at the bottom.
23823
23824       Now the application is complete.  Run rclone config to create or edit a
23825       OneDrive  remote.   Supply the app ID and password as Client ID and Se‐
23826       cret, respectively.  rclone will walk you through the remaining steps.
23827
23828   Modification time and hashes
23829       OneDrive allows modification times to be set on objects accurate  to  1
23830       second.   These  will be used to detect whether objects need syncing or
23831       not.
23832
23833       OneDrive personal supports SHA1 type hashes.  OneDrive for business and
23834       Sharepoint  Server support QuickXorHash (https://docs.microsoft.com/en-
23835       us/onedrive/developer/code-snippets/quickxorhash).
23836
23837       For all types of OneDrive you can use the --checksum flag.
23838
23839   Restricted filename characters
23840       In   addition   to    the    default    restricted    characters    set
23841       (https://rclone.org/overview/#restricted-characters)    the   following
23842       characters are also replaced:
23843
23844       Character   Value   Replacement
23845       ────────────────────────────────
23846       "           0x22        "
23847       *           0x2A        *
23848       :           0x3A        :
23849       <           0x3C        <
23850       >           0x3E        >
23851       ?           0x3F        ?
23852       \           0x5C        \
23853       |           0x7C        |
23854
23855       File names can also not end with the following characters.  These  only
23856       get replaced if they are the last character in the name:
23857
23858       Character   Value   Replacement
23859       ────────────────────────────────
23860       SP          0x20         ␠
23861       .           0x2E        .
23862
23863       File names can also not begin with the following characters.  These on‐
23864       ly get replaced if they are the first character in the name:
23865
23866       Character   Value   Replacement
23867       ────────────────────────────────
23868       SP          0x20         ␠
23869       ~           0x7E        ~
23870
23871       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
23872       view/#invalid-utf8), as they can't be used in JSON strings.
23873
23874   Deleting files
23875       Any  files  you delete with rclone will end up in the trash.  Microsoft
23876       doesn't provide an API to permanently delete files, nor  to  empty  the
23877       trash,  so you will have to do that with one of Microsoft's apps or via
23878       the OneDrive website.
23879
23880   Standard Options
23881       Here  are  the  standard  options  specific  to   onedrive   (Microsoft
23882       OneDrive).
23883
23884   --onedrive-client-id
23885       OAuth Client Id Leave blank normally.
23886
23887       · Config: client_id
23888
23889       · Env Var: RCLONE_ONEDRIVE_CLIENT_ID
23890
23891       · Type: string
23892
23893       · Default: ""
23894
23895   --onedrive-client-secret
23896       OAuth Client Secret Leave blank normally.
23897
23898       · Config: client_secret
23899
23900       · Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET
23901
23902       · Type: string
23903
23904       · Default: ""
23905
23906   --onedrive-region
23907       Choose national cloud region for OneDrive.
23908
23909       · Config: region
23910
23911       · Env Var: RCLONE_ONEDRIVE_REGION
23912
23913       · Type: string
23914
23915       · Default: "global"
23916
23917       · Examples:
23918
23919         · "global"
23920
23921           · Microsoft Cloud Global
23922
23923         · "us"
23924
23925           · Microsoft Cloud for US Government
23926
23927         · "de"
23928
23929           · Microsoft Cloud Germany
23930
23931         · "cn"
23932
23933           · Azure and Office 365 operated by 21Vianet in China
23934
23935   Advanced Options
23936       Here   are   the  advanced  options  specific  to  onedrive  (Microsoft
23937       OneDrive).
23938
23939   --onedrive-token
23940       OAuth Access Token as a JSON blob.
23941
23942       · Config: token
23943
23944       · Env Var: RCLONE_ONEDRIVE_TOKEN
23945
23946       · Type: string
23947
23948       · Default: ""
23949
23950   --onedrive-auth-url
23951       Auth server URL.  Leave blank to use the provider defaults.
23952
23953       · Config: auth_url
23954
23955       · Env Var: RCLONE_ONEDRIVE_AUTH_URL
23956
23957       · Type: string
23958
23959       · Default: ""
23960
23961   --onedrive-token-url
23962       Token server url.  Leave blank to use the provider defaults.
23963
23964       · Config: token_url
23965
23966       · Env Var: RCLONE_ONEDRIVE_TOKEN_URL
23967
23968       · Type: string
23969
23970       · Default: ""
23971
23972   --onedrive-chunk-size
23973       Chunk size to upload files with - must be  multiple  of  320k  (327,680
23974       bytes).
23975
23976       Above  this  size  files  will  be  chunked  - must be multiple of 320k
23977       (327,680 bytes) and should not exceed 250M (262,144,000 bytes) else you
23978       may encounter "Microsoft.SharePoint.Client.InvalidClientQueryException:
23979       The request message is too big." Note that the chunks will be  buffered
23980       into memory.
23981
23982       · Config: chunk_size
23983
23984       · Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE
23985
23986       · Type: SizeSuffix
23987
23988       · Default: 10M
23989
23990   --onedrive-drive-id
23991       The ID of the drive to use
23992
23993       · Config: drive_id
23994
23995       · Env Var: RCLONE_ONEDRIVE_DRIVE_ID
23996
23997       · Type: string
23998
23999       · Default: ""
24000
24001   --onedrive-drive-type
24002       The type of the drive ( personal | business | documentLibrary )
24003
24004       · Config: drive_type
24005
24006       · Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE
24007
24008       · Type: string
24009
24010       · Default: ""
24011
24012   --onedrive-expose-onenote-files
24013       Set to make OneNote files show up in directory listings.
24014
24015       By default rclone will hide OneNote files in directory listings because
24016       operations like "Open" and "Update" won't work on them.  But  this  be‐
24017       haviour may also prevent you from deleting them.  If you want to delete
24018       OneNote files or otherwise want them to show up in  directory  listing,
24019       set this option.
24020
24021       · Config: expose_onenote_files
24022
24023       · Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES
24024
24025       · Type: bool
24026
24027       · Default: false
24028
24029   --onedrive-server-side-across-configs
24030       Allow  server-side  operations  (e.g.   copy)  to work across different
24031       onedrive configs.
24032
24033       This will only work if you are copying between  two  OneDrive  Personal
24034       drives AND the files to copy are already shared between them.  In other
24035       cases, rclone will fall back to normal copy  (which  will  be  slightly
24036       slower).
24037
24038       · Config: server_side_across_configs
24039
24040       · Env Var: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS
24041
24042       · Type: bool
24043
24044       · Default: false
24045
24046   --onedrive-no-versions
24047       Remove all versions on modifying operations
24048
24049       Onedrive  for  business  creates versions when rclone uploads new files
24050       overwriting an existing one and when it sets the modification time.
24051
24052       These versions take up space out of the quota.
24053
24054       This flag checks for versions after file upload and  setting  modifica‐
24055       tion time and removes all but the last version.
24056
24057       NB  Onedrive personal can't currently delete versions so don't use this
24058       flag there.
24059
24060       · Config: no_versions
24061
24062       · Env Var: RCLONE_ONEDRIVE_NO_VERSIONS
24063
24064       · Type: bool
24065
24066       · Default: false
24067
24068   --onedrive-link-scope
24069       Set the scope of the links created by the link command.
24070
24071       · Config: link_scope
24072
24073       · Env Var: RCLONE_ONEDRIVE_LINK_SCOPE
24074
24075       · Type: string
24076
24077       · Default: "anonymous"
24078
24079       · Examples:
24080
24081         · "anonymous"
24082
24083           · Anyone with the link has access,  without  needing  to  sign  in.
24084             This  may include people outside of your organization.  Anonymous
24085             link support may be disabled by an administrator.
24086
24087         · "organization"
24088
24089           · Anyone signed into your organization (tenant) can use the link to
24090             get  access.   Only available in OneDrive for Business and Share‐
24091             Point.
24092
24093   --onedrive-link-type
24094       Set the type of the links created by the link command.
24095
24096       · Config: link_type
24097
24098       · Env Var: RCLONE_ONEDRIVE_LINK_TYPE
24099
24100       · Type: string
24101
24102       · Default: "view"
24103
24104       · Examples:
24105
24106         · "view"
24107
24108           · Creates a read-only link to the item.
24109
24110         · "edit"
24111
24112           · Creates a read-write link to the item.
24113
24114         · "embed"
24115
24116           · Creates an embeddable link to the item.
24117
24118   --onedrive-link-password
24119       Set the password for links created by the link command.
24120
24121       At the time of writing this only works with OneDrive personal paid  ac‐
24122       counts.
24123
24124       · Config: link_password
24125
24126       · Env Var: RCLONE_ONEDRIVE_LINK_PASSWORD
24127
24128       · Type: string
24129
24130       · Default: ""
24131
24132   --onedrive-encoding
24133       This sets the encoding for the backend.
24134
24135       See:  the  encoding  section  in the overview (https://rclone.org/over
24136       view/#encoding) for more info.
24137
24138       · Config: encoding
24139
24140       · Env Var: RCLONE_ONEDRIVE_ENCODING
24141
24142       · Type: MultiEncoder
24143
24144       · Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
24145         Slash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,In‐
24146         validUtf8,Dot
24147
24148   Limitations
24149       If you don't use rclone for 90 days  the  refresh  token  will  expire.
24150       This  will  result  in  authorization problems.  This is easy to fix by
24151       running the rclone config reconnect remote: command to get a new  token
24152       and refresh token.
24153
24154   Naming
24155       Note  that OneDrive is case insensitive so you can't have a file called
24156       "Hello.doc" and one called "hello.doc".
24157
24158       There are quite a few characters that can't be in OneDrive file  names.
24159       These  can't  occur  on Windows platforms, but on non-Windows platforms
24160       they are common.  Rclone will map these names to and from an  identical
24161       looking  unicode  equivalent.  For example if a file has a ? in it will
24162       be mapped to ? instead.
24163
24164   File sizes
24165       The largest allowed file size is 250GB for both OneDrive  Personal  and
24166       OneDrive  for  Business  (Updated  13 Jan 2021) (https://support.micro
24167       soft.com/en-us/office/invalid-file-names-and-file-types-in-onedrive-
24168       and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa?ui=en-us&rs=en-
24169       us&ad=us#individualfilesize).
24170
24171   Path length
24172       The entire path, including the file name, must contain fewer  than  400
24173       characters  for  OneDrive, OneDrive for Business and SharePoint Online.
24174       If you are encrypting file and folder names with rclone, you  may  want
24175       to  pay  attention  to  this limitation because the encrypted names are
24176       typically longer than the original ones.
24177
24178   Number of files
24179       OneDrive seems to be OK with at least 50,000 files in a folder, but  at
24180       100,000 rclone will get errors listing the directory like couldn’t list
24181       files: UnknownError:.  See #2707  (https://github.com/rclone/rclone/is
24182       sues/2707) for more info.
24183
24184       An  official  document  about  the  limitations  for different types of
24185       OneDrive  can  be  found  here  (https://support.office.com/en-us/arti
24186       cle/invalid-file-names-and-file-types-in-onedrive-onedrive-for-busi‐
24187       ness-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa).
24188
24189   Versions
24190       Every change in a file OneDrive causes the service to create a new ver‐
24191       sion  of the the file.  This counts against a users quota.  For example
24192       changing the modification time of a file creates a second  version,  so
24193       the file apparently uses twice the space.
24194
24195       For  example  the copy command is affected by this as rclone copies the
24196       file and then afterwards sets the modification time to match the source
24197       file which uses another version.
24198
24199       You  can  use  the rclone cleanup command (see below) to remove all old
24200       versions.
24201
24202       Or you can set the no_versions parameter to true and rclone will remove
24203       versions  after operations which create new versions.  This takes extra
24204       transactions so only enable it if you need it.
24205
24206       Note At the time of writing Onedrive Personal creates versions (but not
24207       for  setting  the  modification time) but the API for removing them re‐
24208       turns "API not found" so cleanup and no_versions should not be used  on
24209       Onedrive Personal.
24210
24211   Disabling versioning
24212       Starting October 2018, users will no longer be able to disable version‐
24213       ing by default.  This  is  because  Microsoft  has  brought  an  update
24214       (https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/New-Up
24215       dates-to-OneDrive-and-SharePoint-Team-Site-Versioning/ba-p/204390)   to
24216       the  mechanism.   To change this new default setting, a PowerShell com‐
24217       mand is required to be run by a SharePoint admin.  If you are an admin,
24218       you can run these commands in PowerShell to change that setting:
24219
24220       1. Install-Module -Name Microsoft.Online.SharePoint.PowerShell (in case
24221          you haven't installed this already)
24222
24223       2. Import-Module    Microsoft.Online.SharePoint.PowerShell    -Disable‐
24224          NameChecking
24225
24226       3. Connect-SPOService  -Url https://YOURSITE-admin.sharepoint.com -Cre‐
24227          dential YOU@YOURSITE.COM (replacing YOURSITE, YOU, YOURSITE.COM with
24228          the actual values; this will prompt for your credentials)
24229
24230       4. Set-SPOTenant -EnableMinimumVersionRequirement $False
24231
24232       5. Disconnect-SPOService (to disconnect from the server)
24233
24234       Below  are  the  steps  for  normal users to disable versioning. If you
24235       don't see the "No Versioning" option, make sure the above  requirements
24236       are met.
24237
24238       User Weropol (https://github.com/Weropol) has found a method to disable
24239       versioning on OneDrive
24240
24241       1. Open the settings menu by clicking on the gear symbol at the top  of
24242          the OneDrive Business page.
24243
24244       2. Click Site settings.
24245
24246       3. Once  on  the  Site settings page, navigate to Site Administration >
24247          Site libraries and lists.
24248
24249       4. Click Customize "Documents".
24250
24251       5. Click General Settings > Versioning Settings.
24252
24253       6. Under Document Version History  select  the  option  No  versioning.
24254          Note:  This will disable the creation of new file versions, but will
24255          not remove any previous versions.  Your documents are safe.
24256
24257       7. Apply the changes by clicking OK.
24258
24259       8. Use rclone to upload or modify files.   (I  also  use  the  --no-up‐
24260          date-modtime flag)
24261
24262       9. Restore the versioning settings after using rclone.  (Optional)
24263
24264   Cleanup
24265       OneDrive  supports  rclone  cleanup which causes rclone to look through
24266       every file under the path supplied and delete all version but the  cur‐
24267       rent  version.   Because  this  involves traversing all the files, then
24268       querying each file for versions it can  be  quite  slow.   Rclone  does
24269       --checkers  tests in parallel.  The command also supports -i which is a
24270       great way to see what it would do.
24271
24272              rclone cleanup -i remote:path/subdir # interactively remove all old version for path/subdir
24273              rclone cleanup remote:path/subdir    # unconditionally remove all old version for path/subdir
24274
24275       NB Onedrive personal can't currently delete versions
24276
24277   Troubleshooting
24278   Unexpected file size/hash differences on Sharepoint
24279       It  is   a   known   (https://github.com/OneDrive/onedrive-api-docs/is
24280       sues/935#issuecomment-441741631) issue that Sharepoint (not OneDrive or
24281       OneDrive for Business) silently modifies uploaded files, mainly  Office
24282       files  (.docx, .xlsx, etc.), causing file size and hash checks to fail.
24283       There are also other situations that will cause OneDrive to report  in‐
24284       consistent  file  sizes.   To  use  rclone  with such affected files on
24285       Sharepoint, you may disable these checks  with  the  following  command
24286       line arguments:
24287
24288              --ignore-checksum --ignore-size
24289
24290       Alternatively,  if  you have write access to the OneDrive files, it may
24291       be possible to fix this problem for certain files,  by  attempting  the
24292       steps     below.     Open    the    web    interface    for    OneDrive
24293       (https://onedrive.live.com) and find the affected files (which will  be
24294       in  the  error messages/log for rclone).  Simply click on each of these
24295       files, causing OneDrive to open them on the web.  This will cause  each
24296       file  to be converted in place to a format that is functionally equiva‐
24297       lent but which will no longer trigger the size discrepancy.   Once  all
24298       problematic  files are converted you will no longer need the ignore op‐
24299       tions above.
24300
24301   Replacing/deleting existing files on Sharepoint gets "item not found"
24302       It  is   a   known   (https://github.com/OneDrive/onedrive-api-docs/is
24303       sues/1068)  issue  that  Sharepoint (not OneDrive or OneDrive for Busi‐
24304       ness) may return "item not found" errors when users try to  replace  or
24305       delete uploaded files; this seems to mainly affect Office files (.docx,
24306       .xlsx, etc.).  As a workaround, you may  use  the  --backup-dir  <BACK‐
24307       UP_DIR>  command  line  argument  so  rclone  moves the files to be re‐
24308       placed/deleted into a given backup directory (instead of  directly  re‐
24309       placing/deleting  them).   For  example, to instruct rclone to move the
24310       files into the directory rclone-backup-dir on backend mysharepoint, you
24311       may use:
24312
24313              --backup-dir mysharepoint:rclone-backup-dir
24314
24315   access_denied (AADSTS65005)
24316              Error: access_denied
24317              Code: AADSTS65005
24318              Description: Using application 'rclone' is currently not supported for your organization [YOUR_ORGANIZATION] because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [YOUR_ORGANIZATION] before the application rclone can be provisioned.
24319
24320       This  means  that  rclone  can't use the OneDrive for Business API with
24321       your account.  You can't do much about it, maybe write an email to your
24322       admins.
24323
24324       However,  there  are other ways to interact with your OneDrive account.
24325       Have a look at the  webdav  backend:  https://rclone.org/webdav/#share‐
24326       point
24327
24328   invalid_grant (AADSTS50076)
24329              Error: invalid_grant
24330              Code: AADSTS50076
24331              Description: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '...'.
24332
24333       If  you  see the error above after enabling multi-factor authentication
24334       for your account, you can fix it by refreshing your OAuth  refresh  to‐
24335       ken.   To  do that, run rclone config, and choose to edit your OneDrive
24336       backend.  Then, you don't need to actually make any changes  until  you
24337       reach  this  question: Already have a token - refresh?.  For this ques‐
24338       tion, answer y and go through the process to refresh your  token,  just
24339       like  the  first  time  the  backend is configured.  After this, rclone
24340       should work again for this backend.
24341
24342   OpenDrive
24343       Paths are specified as remote:path
24344
24345       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
24346
24347       Here is an example of how to make a remote called remote.  First run:
24348
24349               rclone config
24350
24351       This will guide you through an interactive setup process:
24352
24353              n) New remote
24354              d) Delete remote
24355              q) Quit config
24356              e/n/d/q> n
24357              name> remote
24358              Type of storage to configure.
24359              Choose a number from below, or type in your own value
24360              [snip]
24361              XX / OpenDrive
24362                 \ "opendrive"
24363              [snip]
24364              Storage> opendrive
24365              Username
24366              username>
24367              Password
24368              y) Yes type in my own password
24369              g) Generate random password
24370              y/g> y
24371              Enter the password:
24372              password:
24373              Confirm the password:
24374              password:
24375              --------------------
24376              [remote]
24377              username =
24378              password = *** ENCRYPTED ***
24379              --------------------
24380              y) Yes this is OK
24381              e) Edit this remote
24382              d) Delete this remote
24383              y/e/d> y
24384
24385       List directories in top level of your OpenDrive
24386
24387              rclone lsd remote:
24388
24389       List all the files in your OpenDrive
24390
24391              rclone ls remote:
24392
24393       To copy a local directory to an OpenDrive directory called backup
24394
24395              rclone copy /home/source remote:backup
24396
24397   Modified time and MD5SUMs
24398       OpenDrive allows modification times to be set on objects accurate to  1
24399       second.   These  will be used to detect whether objects need syncing or
24400       not.
24401
24402   Restricted filename characters
24403       Character   Value   Replacement
24404       ────────────────────────────────
24405       NUL         0x00         ␀
24406       /           0x2F        /
24407       "           0x22        "
24408       *           0x2A        *
24409       :           0x3A        :
24410       <           0x3C        <
24411       >           0x3E        >
24412       ?           0x3F        ?
24413       \           0x5C        \
24414       |           0x7C        |
24415
24416       File names can also not begin or end  with  the  following  characters.
24417       These  only get replaced if they are the first or last character in the
24418       name:
24419
24420       Character   Value   Replacement
24421       ────────────────────────────────
24422       SP          0x20         ␠
24423       HT          0x09         ␉
24424       LF          0x0A         ␊
24425       VT          0x0B         ␋
24426       CR          0x0D         ␍
24427
24428       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
24429       view/#invalid-utf8), as they can't be used in JSON strings.
24430
24431   Standard Options
24432       Here are the standard options specific to opendrive (OpenDrive).
24433
24434   --opendrive-username
24435       Username
24436
24437       · Config: username
24438
24439       · Env Var: RCLONE_OPENDRIVE_USERNAME
24440
24441       · Type: string
24442
24443       · Default: ""
24444
24445   --opendrive-password
24446       Password.
24447
24448       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
24449       (https://rclone.org/commands/rclone_obscure/).
24450
24451       · Config: password
24452
24453       · Env Var: RCLONE_OPENDRIVE_PASSWORD
24454
24455       · Type: string
24456
24457       · Default: ""
24458
24459   Advanced Options
24460       Here are the advanced options specific to opendrive (OpenDrive).
24461
24462   --opendrive-encoding
24463       This sets the encoding for the backend.
24464
24465       See: the encoding section  in  the  overview  (https://rclone.org/over
24466       view/#encoding) for more info.
24467
24468       · Config: encoding
24469
24470       · Env Var: RCLONE_OPENDRIVE_ENCODING
24471
24472       · Type: MultiEncoder
24473
24474       · Default:    Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Back‐
24475         Slash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot
24476
24477   --opendrive-chunk-size
24478       Files will be uploaded in chunks this size.
24479
24480       Note that these chunks are buffered in memory so increasing  them  will
24481       increase memory use.
24482
24483       · Config: chunk_size
24484
24485       · Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE
24486
24487       · Type: SizeSuffix
24488
24489       · Default: 10M
24490
24491   Limitations
24492       Note that OpenDrive is case insensitive so you can't have a file called
24493       "Hello.doc" and one called "hello.doc".
24494
24495       There are quite a few characters that can't be in OpenDrive file names.
24496       These  can't  occur  on Windows platforms, but on non-Windows platforms
24497       they are common.  Rclone will map these names to and from an  identical
24498       looking  unicode  equivalent.  For example if a file has a ? in it will
24499       be mapped to ? instead.
24500
24501       rclone about is not supported by the OpenDrive backend.  Backends with‐
24502       out  this capability cannot determine free space for an rclone mount or
24503       use policy mfs (most free space) as a member of an rclone union remote.
24504
24505       See   List   of   backends   that   do   not   support   rclone   about
24506       (https://rclone.org/overview/#optional-features)   See   rclone   about
24507       (https://rclone.org/commands/rclone_about/)
24508
24509   QingStor
24510       Paths are specified as remote:bucket (or remote: for the lsd  command.)
24511       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
24512
24513       Here is an example of making an QingStor configuration.  First run
24514
24515              rclone config
24516
24517       This will guide you through an interactive setup process.
24518
24519              No remotes found - make a new one
24520              n) New remote
24521              r) Rename remote
24522              c) Copy remote
24523              s) Set configuration password
24524              q) Quit config
24525              n/r/c/s/q> n
24526              name> remote
24527              Type of storage to configure.
24528              Choose a number from below, or type in your own value
24529              [snip]
24530              XX / QingStor Object Storage
24531                 \ "qingstor"
24532              [snip]
24533              Storage> qingstor
24534              Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank.
24535              Choose a number from below, or type in your own value
24536               1 / Enter QingStor credentials in the next step
24537                 \ "false"
24538               2 / Get QingStor credentials from the environment (env vars or IAM)
24539                 \ "true"
24540              env_auth> 1
24541              QingStor Access Key ID - leave blank for anonymous access or runtime credentials.
24542              access_key_id> access_key
24543              QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials.
24544              secret_access_key> secret_key
24545              Enter an endpoint URL to connection QingStor API.
24546              Leave blank will use the default value "https://qingstor.com:443"
24547              endpoint>
24548              Zone connect to. Default is "pek3a".
24549              Choose a number from below, or type in your own value
24550                 / The Beijing (China) Three Zone
24551               1 | Needs location constraint pek3a.
24552                 \ "pek3a"
24553                 / The Shanghai (China) First Zone
24554               2 | Needs location constraint sh1a.
24555                 \ "sh1a"
24556              zone> 1
24557              Number of connection retry.
24558              Leave blank will use the default value "3".
24559              connection_retries>
24560              Remote config
24561              --------------------
24562              [remote]
24563              env_auth = false
24564              access_key_id = access_key
24565              secret_access_key = secret_key
24566              endpoint =
24567              zone = pek3a
24568              connection_retries =
24569              --------------------
24570              y) Yes this is OK
24571              e) Edit this remote
24572              d) Delete this remote
24573              y/e/d> y
24574
24575       This remote is called remote and can now be used like this
24576
24577       See all buckets
24578
24579              rclone lsd remote:
24580
24581       Make a new bucket
24582
24583              rclone mkdir remote:bucket
24584
24585       List the contents of a bucket
24586
24587              rclone ls remote:bucket
24588
24589       Sync  /home/local/directory  to  the remote bucket, deleting any excess
24590       files in the bucket.
24591
24592              rclone sync -i /home/local/directory remote:bucket
24593
24594   --fast-list
24595       This remote supports --fast-list which allows you to use fewer transac‐
24596       tions   in   exchange   for   more   memory.    See   the  rclone  docs
24597       (https://rclone.org/docs/#fast-list) for more details.
24598
24599   Multipart uploads
24600       rclone supports multipart uploads with QingStor which means that it can
24601       upload  files bigger than 5GB.  Note that files uploaded with multipart
24602       upload don't have an MD5SUM.
24603
24604       Note that incomplete multipart uploads older than 24 hours can  be  re‐
24605       moved  with  rclone  cleanup  remote:bucket  just for one bucket rclone
24606       cleanup remote: for all buckets.  QingStor does not ever remove  incom‐
24607       plete multipart uploads so it may be necessary to run this from time to
24608       time.
24609
24610   Buckets and Zone
24611       With QingStor you can list buckets (rclone lsd) using any zone, but you
24612       can  only  access  the content of a bucket from the zone it was created
24613       in.  If you attempt to access a bucket from the wrong  zone,  you  will
24614       get an error, incorrect zone, the bucket is not in 'XXX' zone.
24615
24616   Authentication
24617       There are two ways to supply rclone with a set of QingStor credentials.
24618       In order of precedence:
24619
24620       · Directly in the rclone configuration file (as  configured  by  rclone
24621         config)
24622
24623         · set access_key_id and secret_access_key
24624
24625       · Runtime configuration:
24626
24627         · set env_auth to true in the config file
24628
24629         · Exporting the following environment variables before running rclone
24630
24631           · Access Key ID: QS_ACCESS_KEY_ID or QS_ACCESS_KEY
24632
24633           · Secret Access Key: QS_SECRET_ACCESS_KEY or QS_SECRET_KEY
24634
24635   Restricted filename characters
24636       The  control  characters 0x00-0x1F and / are replaced as in the default
24637       restricted  characters  set   (https://rclone.org/overview/#restricted-
24638       characters).  Note that 0x7F is not replaced.
24639
24640       Invalid  UTF-8  bytes  will  also be replaced (https://rclone.org/over
24641       view/#invalid-utf8), as they can't be used in JSON strings.
24642
24643   Standard Options
24644       Here are the standard options specific to  qingstor  (QingCloud  Object
24645       Storage).
24646
24647   --qingstor-env-auth
24648       Get  QingStor  credentials from runtime.  Only applies if access_key_id
24649       and secret_access_key is blank.
24650
24651       · Config: env_auth
24652
24653       · Env Var: RCLONE_QINGSTOR_ENV_AUTH
24654
24655       · Type: bool
24656
24657       · Default: false
24658
24659       · Examples:
24660
24661         · "false"
24662
24663           · Enter QingStor credentials in the next step
24664
24665         · "true"
24666
24667           · Get QingStor credentials from the environment (env vars or IAM)
24668
24669   --qingstor-access-key-id
24670       QingStor Access Key ID Leave blank for anonymous access or runtime cre‐
24671       dentials.
24672
24673       · Config: access_key_id
24674
24675       · Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID
24676
24677       · Type: string
24678
24679       · Default: ""
24680
24681   --qingstor-secret-access-key
24682       QingStor  Secret Access Key (password) Leave blank for anonymous access
24683       or runtime credentials.
24684
24685       · Config: secret_access_key
24686
24687       · Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY
24688
24689       · Type: string
24690
24691       · Default: ""
24692
24693   --qingstor-endpoint
24694       Enter an endpoint URL to connection QingStor API.  Leave blank will use
24695       the default value "https://qingstor.com:443"
24696
24697       · Config: endpoint
24698
24699       · Env Var: RCLONE_QINGSTOR_ENDPOINT
24700
24701       · Type: string
24702
24703       · Default: ""
24704
24705   --qingstor-zone
24706       Zone to connect to.  Default is "pek3a".
24707
24708       · Config: zone
24709
24710       · Env Var: RCLONE_QINGSTOR_ZONE
24711
24712       · Type: string
24713
24714       · Default: ""
24715
24716       · Examples:
24717
24718         · "pek3a"
24719
24720           · The Beijing (China) Three Zone
24721
24722           · Needs location constraint pek3a.
24723
24724         · "sh1a"
24725
24726           · The Shanghai (China) First Zone
24727
24728           · Needs location constraint sh1a.
24729
24730         · "gd2a"
24731
24732           · The Guangdong (China) Second Zone
24733
24734           · Needs location constraint gd2a.
24735
24736   Advanced Options
24737       Here  are  the  advanced options specific to qingstor (QingCloud Object
24738       Storage).
24739
24740   --qingstor-connection-retries
24741       Number of connection retries.
24742
24743       · Config: connection_retries
24744
24745       · Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES
24746
24747       · Type: int
24748
24749       · Default: 3
24750
24751   --qingstor-upload-cutoff
24752       Cutoff for switching to chunked upload
24753
24754       Any files larger than this will be uploaded in  chunks  of  chunk_size.
24755       The minimum is 0 and the maximum is 5GB.
24756
24757       · Config: upload_cutoff
24758
24759       · Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF
24760
24761       · Type: SizeSuffix
24762
24763       · Default: 200M
24764
24765   --qingstor-chunk-size
24766       Chunk size to use for uploading.
24767
24768       When uploading files larger than upload_cutoff they will be uploaded as
24769       multipart uploads using this chunk size.
24770
24771       Note that  "--qingstor-upload-concurrency"  chunks  of  this  size  are
24772       buffered in memory per transfer.
24773
24774       If  you are transferring large files over high-speed links and you have
24775       enough memory, then increasing this will speed up the transfers.
24776
24777       · Config: chunk_size
24778
24779       · Env Var: RCLONE_QINGSTOR_CHUNK_SIZE
24780
24781       · Type: SizeSuffix
24782
24783       · Default: 4M
24784
24785   --qingstor-upload-concurrency
24786       Concurrency for multipart uploads.
24787
24788       This is the number of chunks of the same file that are uploaded concur‐
24789       rently.
24790
24791       NB  if  you set this to > 1 then the checksums of multipart uploads be‐
24792       come corrupted (the uploads themselves are not corrupted though).
24793
24794       If you are uploading small numbers of large files over high-speed links
24795       and  these uploads do not fully utilize your bandwidth, then increasing
24796       this may help to speed up the transfers.
24797
24798       · Config: upload_concurrency
24799
24800       · Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY
24801
24802       · Type: int
24803
24804       · Default: 1
24805
24806   --qingstor-encoding
24807       This sets the encoding for the backend.
24808
24809       See: the encoding section  in  the  overview  (https://rclone.org/over
24810       view/#encoding) for more info.
24811
24812       · Config: encoding
24813
24814       · Env Var: RCLONE_QINGSTOR_ENCODING
24815
24816       · Type: MultiEncoder
24817
24818       · Default: Slash,Ctl,InvalidUtf8
24819
24820   Limitations
24821       rclone  about is not supported by the qingstor backend.  Backends with‐
24822       out this capability cannot determine free space for an rclone mount  or
24823       use policy mfs (most free space) as a member of an rclone union remote.
24824
24825       See   List   of   backends   that   do   not   support   rclone   about
24826       (https://rclone.org/overview/#optional-features)   See   rclone   about
24827       (https://rclone.org/commands/rclone_about/)
24828
24829   Swift
24830       Swift   refers   to   OpenStack   Object   Storage  (https://docs.open
24831       stack.org/swift/latest/).  Commercial implementations of that being:
24832
24833       · Rackspace Cloud Files (https://www.rackspace.com/cloud/files/)
24834
24835       · Memset Memstore (https://www.memset.com/cloud/storage/)
24836
24837       · OVH  Object  Storage  (https://www.ovh.co.uk/public-cloud/storage/ob
24838         ject-storage/)
24839
24840       · Oracle Cloud Storage (https://cloud.oracle.com/storage-opc)
24841
24842       · IBM     Bluemix     Cloud     ObjectStorage    Swift    (https://con
24843         sole.bluemix.net/docs/infrastructure/objectstorage-swift/index.html)
24844
24845       Paths are specified as remote:container (or remote: for  the  lsd  com‐
24846       mand.)  You  may  put  subdirectories  in  too,  e.g.   remote:contain‐
24847       er/path/to/dir.
24848
24849       Here is an example of making a swift configuration.  First run
24850
24851              rclone config
24852
24853       This will guide you through an interactive setup process.
24854
24855              No remotes found - make a new one
24856              n) New remote
24857              s) Set configuration password
24858              q) Quit config
24859              n/s/q> n
24860              name> remote
24861              Type of storage to configure.
24862              Choose a number from below, or type in your own value
24863              [snip]
24864              XX / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
24865                 \ "swift"
24866              [snip]
24867              Storage> swift
24868              Get swift credentials from environment variables in standard OpenStack form.
24869              Choose a number from below, or type in your own value
24870               1 / Enter swift credentials in the next step
24871                 \ "false"
24872               2 / Get swift credentials from environment vars. Leave other fields blank if using this.
24873                 \ "true"
24874              env_auth> true
24875              User name to log in (OS_USERNAME).
24876              user>
24877              API key or password (OS_PASSWORD).
24878              key>
24879              Authentication URL for server (OS_AUTH_URL).
24880              Choose a number from below, or type in your own value
24881               1 / Rackspace US
24882                 \ "https://auth.api.rackspacecloud.com/v1.0"
24883               2 / Rackspace UK
24884                 \ "https://lon.auth.api.rackspacecloud.com/v1.0"
24885               3 / Rackspace v2
24886                 \ "https://identity.api.rackspacecloud.com/v2.0"
24887               4 / Memset Memstore UK
24888                 \ "https://auth.storage.memset.com/v1.0"
24889               5 / Memset Memstore UK v2
24890                 \ "https://auth.storage.memset.com/v2.0"
24891               6 / OVH
24892                 \ "https://auth.cloud.ovh.net/v3"
24893              auth>
24894              User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID).
24895              user_id>
24896              User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
24897              domain>
24898              Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME)
24899              tenant>
24900              Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID)
24901              tenant_id>
24902              Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
24903              tenant_domain>
24904              Region name - optional (OS_REGION_NAME)
24905              region>
24906              Storage URL - optional (OS_STORAGE_URL)
24907              storage_url>
24908              Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
24909              auth_token>
24910              AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION)
24911              auth_version>
24912              Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
24913              Choose a number from below, or type in your own value
24914               1 / Public (default, choose this if not sure)
24915                 \ "public"
24916               2 / Internal (use internal service net)
24917                 \ "internal"
24918               3 / Admin
24919                 \ "admin"
24920              endpoint_type>
24921              Remote config
24922              --------------------
24923              [test]
24924              env_auth = true
24925              user =
24926              key =
24927              auth =
24928              user_id =
24929              domain =
24930              tenant =
24931              tenant_id =
24932              tenant_domain =
24933              region =
24934              storage_url =
24935              auth_token =
24936              auth_version =
24937              endpoint_type =
24938              --------------------
24939              y) Yes this is OK
24940              e) Edit this remote
24941              d) Delete this remote
24942              y/e/d> y
24943
24944       This remote is called remote and can now be used like this
24945
24946       See all containers
24947
24948              rclone lsd remote:
24949
24950       Make a new container
24951
24952              rclone mkdir remote:container
24953
24954       List the contents of a container
24955
24956              rclone ls remote:container
24957
24958       Sync /home/local/directory to the remote container, deleting any excess
24959       files in the container.
24960
24961              rclone sync -i /home/local/directory remote:container
24962
24963   Configuration from an OpenStack credentials file
24964       An  OpenStack credentials file typically looks something something like
24965       this (without the comments)
24966
24967              export OS_AUTH_URL=https://a.provider.net/v2.0
24968              export OS_TENANT_ID=ffffffffffffffffffffffffffffffff
24969              export OS_TENANT_NAME="1234567890123456"
24970              export OS_USERNAME="123abc567xy"
24971              echo "Please enter your OpenStack Password: "
24972              read -sr OS_PASSWORD_INPUT
24973              export OS_PASSWORD=$OS_PASSWORD_INPUT
24974              export OS_REGION_NAME="SBG1"
24975              if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi
24976
24977       The config file needs to look something like  this  where  $OS_USERNAME
24978       represents  the  value of the OS_USERNAME variable - 123abc567xy in the
24979       example above.
24980
24981              [remote]
24982              type = swift
24983              user = $OS_USERNAME
24984              key = $OS_PASSWORD
24985              auth = $OS_AUTH_URL
24986              tenant = $OS_TENANT_NAME
24987
24988       Note that you may (or may not) need to set region  too  -  try  without
24989       first.
24990
24991   Configuration from the environment
24992       If  you  prefer  you can configure rclone to use swift using a standard
24993       set of OpenStack environment variables.
24994
24995       When you run through the config, make sure you choose true for env_auth
24996       and leave everything else blank.
24997
24998       rclone  will  then set any empty config parameters from the environment
24999       using standard OpenStack environment variables.  There is a list of the
25000       variables (https://godoc.org/github.com/ncw/swift#Connection.ApplyEnvi‐
25001       ronment) in the docs for the swift library.
25002
25003   Using an alternate authentication method
25004       If your  OpenStack  installation  uses  a  non-standard  authentication
25005       method  that  might  not  be  yet supported by rclone or the underlying
25006       swift library, you can authenticate externally (e.g.  calling  manually
25007       the  openstack  commands  to get a token).  Then, you just need to pass
25008       the two configuration variables auth_token and  storage_url.   If  they
25009       are  both  provided,  the other variables are ignored.  rclone will not
25010       try to authenticate but instead assume it is already authenticated  and
25011       use these two variables to access the OpenStack installation.
25012
25013   Using rclone without a config file
25014       You  can  use rclone with swift without a config file, if desired, like
25015       this:
25016
25017              source openstack-credentials-file
25018              export RCLONE_CONFIG_MYREMOTE_TYPE=swift
25019              export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true
25020              rclone lsd myremote:
25021
25022   --fast-list
25023       This remote supports --fast-list which allows you to use fewer transac‐
25024       tions   in   exchange   for   more   memory.    See   the  rclone  docs
25025       (https://rclone.org/docs/#fast-list) for more details.
25026
25027   --update and --use-server-modtime
25028       As noted below, the modified time is stored on metadata on the  object.
25029       It is used by default for all operations that require checking the time
25030       a file was last updated.  It allows rclone to  treat  the  remote  more
25031       like  a  true  filesystem, but it is inefficient because it requires an
25032       extra API call to retrieve the metadata.
25033
25034       For many operations, the time the object was last uploaded to  the  re‐
25035       mote  is  sufficient  to determine if it is "dirty".  By using --update
25036       along with --use-server-modtime, you can avoid the extra API  call  and
25037       simply  upload  files whose local modtime is newer than the time it was
25038       last uploaded.
25039
25040   Standard Options
25041       Here are the  standard  options  specific  to  swift  (OpenStack  Swift
25042       (Rackspace Cloud Files, Memset Memstore, OVH)).
25043
25044   --swift-env-auth
25045       Get  swift credentials from environment variables in standard OpenStack
25046       form.
25047
25048       · Config: env_auth
25049
25050       · Env Var: RCLONE_SWIFT_ENV_AUTH
25051
25052       · Type: bool
25053
25054       · Default: false
25055
25056       · Examples:
25057
25058         · "false"
25059
25060           · Enter swift credentials in the next step
25061
25062         · "true"
25063
25064           · Get swift credentials from environment vars.  Leave other  fields
25065             blank if using this.
25066
25067   --swift-user
25068       User name to log in (OS_USERNAME).
25069
25070       · Config: user
25071
25072       · Env Var: RCLONE_SWIFT_USER
25073
25074       · Type: string
25075
25076       · Default: ""
25077
25078   --swift-key
25079       API key or password (OS_PASSWORD).
25080
25081       · Config: key
25082
25083       · Env Var: RCLONE_SWIFT_KEY
25084
25085       · Type: string
25086
25087       · Default: ""
25088
25089   --swift-auth
25090       Authentication URL for server (OS_AUTH_URL).
25091
25092       · Config: auth
25093
25094       · Env Var: RCLONE_SWIFT_AUTH
25095
25096       · Type: string
25097
25098       · Default: ""
25099
25100       · Examples:
25101
25102         · "https://auth.api.rackspacecloud.com/v1.0"
25103
25104           · Rackspace US
25105
25106         · "https://lon.auth.api.rackspacecloud.com/v1.0"
25107
25108           · Rackspace UK
25109
25110         · "https://identity.api.rackspacecloud.com/v2.0"
25111
25112           · Rackspace v2
25113
25114         · "https://auth.storage.memset.com/v1.0"
25115
25116           · Memset Memstore UK
25117
25118         · "https://auth.storage.memset.com/v2.0"
25119
25120           · Memset Memstore UK v2
25121
25122         · "https://auth.cloud.ovh.net/v3"
25123
25124           · OVH
25125
25126   --swift-user-id
25127       User  ID  to  log in - optional - most swift systems use user and leave
25128       this blank (v3 auth) (OS_USER_ID).
25129
25130       · Config: user_id
25131
25132       · Env Var: RCLONE_SWIFT_USER_ID
25133
25134       · Type: string
25135
25136       · Default: ""
25137
25138   --swift-domain
25139       User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME)
25140
25141       · Config: domain
25142
25143       · Env Var: RCLONE_SWIFT_DOMAIN
25144
25145       · Type: string
25146
25147       · Default: ""
25148
25149   --swift-tenant
25150       Tenant name - optional for v1 auth, this or tenant_id  required  other‐
25151       wise (OS_TENANT_NAME or OS_PROJECT_NAME)
25152
25153       · Config: tenant
25154
25155       · Env Var: RCLONE_SWIFT_TENANT
25156
25157       · Type: string
25158
25159       · Default: ""
25160
25161   --swift-tenant-id
25162       Tenant  ID  -  optional  for v1 auth, this or tenant required otherwise
25163       (OS_TENANT_ID)
25164
25165       · Config: tenant_id
25166
25167       · Env Var: RCLONE_SWIFT_TENANT_ID
25168
25169       · Type: string
25170
25171       · Default: ""
25172
25173   --swift-tenant-domain
25174       Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME)
25175
25176       · Config: tenant_domain
25177
25178       · Env Var: RCLONE_SWIFT_TENANT_DOMAIN
25179
25180       · Type: string
25181
25182       · Default: ""
25183
25184   --swift-region
25185       Region name - optional (OS_REGION_NAME)
25186
25187       · Config: region
25188
25189       · Env Var: RCLONE_SWIFT_REGION
25190
25191       · Type: string
25192
25193       · Default: ""
25194
25195   --swift-storage-url
25196       Storage URL - optional (OS_STORAGE_URL)
25197
25198       · Config: storage_url
25199
25200       · Env Var: RCLONE_SWIFT_STORAGE_URL
25201
25202       · Type: string
25203
25204       · Default: ""
25205
25206   --swift-auth-token
25207       Auth Token from alternate authentication - optional (OS_AUTH_TOKEN)
25208
25209       · Config: auth_token
25210
25211       · Env Var: RCLONE_SWIFT_AUTH_TOKEN
25212
25213       · Type: string
25214
25215       · Default: ""
25216
25217   --swift-application-credential-id
25218       Application Credential ID (OS_APPLICATION_CREDENTIAL_ID)
25219
25220       · Config: application_credential_id
25221
25222       · Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID
25223
25224       · Type: string
25225
25226       · Default: ""
25227
25228   --swift-application-credential-name
25229       Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME)
25230
25231       · Config: application_credential_name
25232
25233       · Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME
25234
25235       · Type: string
25236
25237       · Default: ""
25238
25239   --swift-application-credential-secret
25240       Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET)
25241
25242       · Config: application_credential_secret
25243
25244       · Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET
25245
25246       · Type: string
25247
25248       · Default: ""
25249
25250   --swift-auth-version
25251       AuthVersion - optional - set to (1,2,3) if your auth URL has no version
25252       (ST_AUTH_VERSION)
25253
25254       · Config: auth_version
25255
25256       · Env Var: RCLONE_SWIFT_AUTH_VERSION
25257
25258       · Type: int
25259
25260       · Default: 0
25261
25262   --swift-endpoint-type
25263       Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE)
25264
25265       · Config: endpoint_type
25266
25267       · Env Var: RCLONE_SWIFT_ENDPOINT_TYPE
25268
25269       · Type: string
25270
25271       · Default: "public"
25272
25273       · Examples:
25274
25275         · "public"
25276
25277           · Public (default, choose this if not sure)
25278
25279         · "internal"
25280
25281           · Internal (use internal service net)
25282
25283         · "admin"
25284
25285           · Admin
25286
25287   --swift-storage-policy
25288       The storage policy to use when creating a new container
25289
25290       This  applies the specified storage policy when creating a new contain‐
25291       er.  The policy cannot be changed afterwards.  The  allowed  configura‐
25292       tion values and their meaning depend on your Swift storage provider.
25293
25294       · Config: storage_policy
25295
25296       · Env Var: RCLONE_SWIFT_STORAGE_POLICY
25297
25298       · Type: string
25299
25300       · Default: ""
25301
25302       · Examples:
25303
25304         · ""
25305
25306           · Default
25307
25308         · "pcs"
25309
25310           · OVH Public Cloud Storage
25311
25312         · "pca"
25313
25314           · OVH Public Cloud Archive
25315
25316   Advanced Options
25317       Here  are  the  advanced  options  specific  to  swift (OpenStack Swift
25318       (Rackspace Cloud Files, Memset Memstore, OVH)).
25319
25320   --swift-leave-parts-on-error
25321       If true avoid calling abort upload on a failure.  It should be  set  to
25322       true for resuming uploads across different sessions.
25323
25324       · Config: leave_parts_on_error
25325
25326       · Env Var: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR
25327
25328       · Type: bool
25329
25330       · Default: false
25331
25332   --swift-chunk-size
25333       Above this size files will be chunked into a _segments container.
25334
25335       Above  this size files will be chunked into a _segments container.  The
25336       default for this is 5GB which is its maximum value.
25337
25338       · Config: chunk_size
25339
25340       · Env Var: RCLONE_SWIFT_CHUNK_SIZE
25341
25342       · Type: SizeSuffix
25343
25344       · Default: 5G
25345
25346   --swift-no-chunk
25347       Don't chunk files during streaming upload.
25348
25349       When doing streaming uploads (e.g.  using rcat or mount)  setting  this
25350       flag will cause the swift backend to not upload chunked files.
25351
25352       This  will  limit  the maximum upload size to 5GB.  However non chunked
25353       files are easier to deal with and have an MD5SUM.
25354
25355       Rclone will still chunk files bigger than chunk_size when doing  normal
25356       copy operations.
25357
25358       · Config: no_chunk
25359
25360       · Env Var: RCLONE_SWIFT_NO_CHUNK
25361
25362       · Type: bool
25363
25364       · Default: false
25365
25366   --swift-encoding
25367       This sets the encoding for the backend.
25368
25369       See:  the  encoding  section  in the overview (https://rclone.org/over
25370       view/#encoding) for more info.
25371
25372       · Config: encoding
25373
25374       · Env Var: RCLONE_SWIFT_ENCODING
25375
25376       · Type: MultiEncoder
25377
25378       · Default: Slash,InvalidUtf8
25379
25380   Modified time
25381       The modified time  is  stored  as  metadata  on  the  object  as  X-Ob‐
25382       ject-Meta-Mtime as floating point since the epoch accurate to 1 ns.
25383
25384       This  is  a  de facto standard (used in the official python-swiftclient
25385       amongst others) for storing the modification time for an object.
25386
25387   Restricted filename characters
25388       Character   Value   Replacement
25389       ────────────────────────────────
25390       NUL         0x00         ␀
25391       /           0x2F        /
25392
25393       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
25394       view/#invalid-utf8), as they can't be used in JSON strings.
25395
25396   Limitations
25397       The  Swift API doesn't return a correct MD5SUM for segmented files (Dy‐
25398       namic or Static Large Objects) so rclone won't check or use the  MD5SUM
25399       for these.
25400
25401   Troubleshooting
25402   Rclone gives Failed to create file system for "remote:": Bad Request
25403       Due  to  an oddity of the underlying swift library, it gives a "Bad Re‐
25404       quest" error rather than a more sensible error when the  authentication
25405       fails for Swift.
25406
25407       So  this  most likely means your username / password is wrong.  You can
25408       investigate further with the --dump-bodies flag.
25409
25410       This may also be caused by specifying the  region  when  you  shouldn't
25411       have (e.g.  OVH).
25412
25413   Rclone gives Failed to create file system: Response didn't have storage url
25414       and auth token
25415       This is most likely caused by forgetting to specify  your  tenant  when
25416       setting up a swift remote.
25417
25418   pCloud
25419       Paths are specified as remote:path
25420
25421       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
25422
25423       The initial setup for pCloud involves getting a token from pCloud which
25424       you need to do in your browser.  rclone config walks you through it.
25425
25426       Here is an example of how to make a remote called remote.  First run:
25427
25428               rclone config
25429
25430       This will guide you through an interactive setup process:
25431
25432              No remotes found - make a new one
25433              n) New remote
25434              s) Set configuration password
25435              q) Quit config
25436              n/s/q> n
25437              name> remote
25438              Type of storage to configure.
25439              Choose a number from below, or type in your own value
25440              [snip]
25441              XX / Pcloud
25442                 \ "pcloud"
25443              [snip]
25444              Storage> pcloud
25445              Pcloud App Client Id - leave blank normally.
25446              client_id>
25447              Pcloud App Client Secret - leave blank normally.
25448              client_secret>
25449              Remote config
25450              Use auto config?
25451               * Say Y if not sure
25452               * Say N if you are working on a remote or headless machine
25453              y) Yes
25454              n) No
25455              y/n> y
25456              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
25457              Log in and authorize rclone for access
25458              Waiting for code...
25459              Got code
25460              --------------------
25461              [remote]
25462              client_id =
25463              client_secret =
25464              token = {"access_token":"XXX","token_type":"bearer","expiry":"0001-01-01T00:00:00Z"}
25465              --------------------
25466              y) Yes this is OK
25467              e) Edit this remote
25468              d) Delete this remote
25469              y/e/d> y
25470
25471       See the remote setup docs (https://rclone.org/remote_setup/) for how to
25472       set it up on a machine with no Internet browser available.
25473
25474       Note  that rclone runs a webserver on your local machine to collect the
25475       token as returned from pCloud.  This only runs from the moment it opens
25476       your browser to the moment you get back the verification code.  This is
25477       on http://127.0.0.1:53682/ and this it may require you  to  unblock  it
25478       temporarily if you are running a host firewall.
25479
25480       Once configured you can then use rclone like this,
25481
25482       List directories in top level of your pCloud
25483
25484              rclone lsd remote:
25485
25486       List all the files in your pCloud
25487
25488              rclone ls remote:
25489
25490       To copy a local directory to an pCloud directory called backup
25491
25492              rclone copy /home/source remote:backup
25493
25494   Modified time and hashes
25495       pCloud  allows  modification  times  to be set on objects accurate to 1
25496       second.  These will be used to detect whether objects need  syncing  or
25497       not.  In order to set a Modification time pCloud requires the object be
25498       re-uploaded.
25499
25500       pCloud supports MD5 and SHA1 type hashes in the US region but and  SHA1
25501       only in the EU region, so you can use the --checksum flag.
25502
25503       (Note that pCloud also support SHA256 in the EU region, but rclone does
25504       not have support for that yet.)
25505
25506   Restricted filename characters
25507       In   addition   to    the    default    restricted    characters    set
25508       (https://rclone.org/overview/#restricted-characters)    the   following
25509       characters are also replaced:
25510
25511       Character   Value   Replacement
25512       ────────────────────────────────
25513       \           0x5C        \
25514
25515       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
25516       view/#invalid-utf8), as they can't be used in JSON strings.
25517
25518   Deleting files
25519       Deleted files will be moved to the trash.  Your subscription level will
25520       determine how long items stay in the trash.  rclone cleanup can be used
25521       to empty the trash.
25522
25523   Root folder ID
25524       You  can  set  the  root_folder_id  for  rclone.  This is the directory
25525       (identified by its Folder ID) that rclone considers to be the  root  of
25526       your pCloud drive.
25527
25528       Normally  you  will leave this blank and rclone will determine the cor‐
25529       rect root to use itself.
25530
25531       However you can set this to restrict rclone to a specific folder  hier‐
25532       archy.
25533
25534       In order to do this you will have to find the Folder ID of the directo‐
25535       ry you wish rclone to display.  This will be the folder  field  of  the
25536       URL when you open the relevant folder in the pCloud web interface.
25537
25538       So  if  the  folder  you  want rclone to use has a URL which looks like
25539       https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=folder‐
25540       grid  in  the browser, then you use 5xxxxxxxx8 as the root_folder_id in
25541       the config.
25542
25543   Standard Options
25544       Here are the standard options specific to pcloud (Pcloud).
25545
25546   --pcloud-client-id
25547       OAuth Client Id Leave blank normally.
25548
25549       · Config: client_id
25550
25551       · Env Var: RCLONE_PCLOUD_CLIENT_ID
25552
25553       · Type: string
25554
25555       · Default: ""
25556
25557   --pcloud-client-secret
25558       OAuth Client Secret Leave blank normally.
25559
25560       · Config: client_secret
25561
25562       · Env Var: RCLONE_PCLOUD_CLIENT_SECRET
25563
25564       · Type: string
25565
25566       · Default: ""
25567
25568   Advanced Options
25569       Here are the advanced options specific to pcloud (Pcloud).
25570
25571   --pcloud-token
25572       OAuth Access Token as a JSON blob.
25573
25574       · Config: token
25575
25576       · Env Var: RCLONE_PCLOUD_TOKEN
25577
25578       · Type: string
25579
25580       · Default: ""
25581
25582   --pcloud-auth-url
25583       Auth server URL.  Leave blank to use the provider defaults.
25584
25585       · Config: auth_url
25586
25587       · Env Var: RCLONE_PCLOUD_AUTH_URL
25588
25589       · Type: string
25590
25591       · Default: ""
25592
25593   --pcloud-token-url
25594       Token server url.  Leave blank to use the provider defaults.
25595
25596       · Config: token_url
25597
25598       · Env Var: RCLONE_PCLOUD_TOKEN_URL
25599
25600       · Type: string
25601
25602       · Default: ""
25603
25604   --pcloud-encoding
25605       This sets the encoding for the backend.
25606
25607       See: the encoding section  in  the  overview  (https://rclone.org/over
25608       view/#encoding) for more info.
25609
25610       · Config: encoding
25611
25612       · Env Var: RCLONE_PCLOUD_ENCODING
25613
25614       · Type: MultiEncoder
25615
25616       · Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
25617
25618   --pcloud-root-folder-id
25619       Fill in for rclone to use a non root folder as its starting point.
25620
25621       · Config: root_folder_id
25622
25623       · Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID
25624
25625       · Type: string
25626
25627       · Default: "d0"
25628
25629   --pcloud-hostname
25630       Hostname to connect to.
25631
25632       This  is  normally set when rclone initially does the oauth connection,
25633       however you will need to set it by hand if you are using remote  config
25634       with rclone authorize.
25635
25636       · Config: hostname
25637
25638       · Env Var: RCLONE_PCLOUD_HOSTNAME
25639
25640       · Type: string
25641
25642       · Default: "api.pcloud.com"
25643
25644       · Examples:
25645
25646         · "api.pcloud.com"
25647
25648           · Original/US region
25649
25650         · "eapi.pcloud.com"
25651
25652           · EU region
25653
25654   premiumize.me
25655       Paths are specified as remote:path
25656
25657       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
25658
25659       The  initial  setup for premiumize.me (https://premiumize.me/) involves
25660       getting a token from premiumize.me which you need to do in your  brows‐
25661       er.  rclone config walks you through it.
25662
25663       Here is an example of how to make a remote called remote.  First run:
25664
25665               rclone config
25666
25667       This will guide you through an interactive setup process:
25668
25669              No remotes found - make a new one
25670              n) New remote
25671              s) Set configuration password
25672              q) Quit config
25673              n/s/q> n
25674              name> remote
25675              Type of storage to configure.
25676              Enter a string value. Press Enter for the default ("").
25677              Choose a number from below, or type in your own value
25678              [snip]
25679              XX / premiumize.me
25680                 \ "premiumizeme"
25681              [snip]
25682              Storage> premiumizeme
25683              ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ **
25684
25685              Remote config
25686              Use auto config?
25687               * Say Y if not sure
25688               * Say N if you are working on a remote or headless machine
25689              y) Yes
25690              n) No
25691              y/n> y
25692              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
25693              Log in and authorize rclone for access
25694              Waiting for code...
25695              Got code
25696              --------------------
25697              [remote]
25698              type = premiumizeme
25699              token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2029-08-07T18:44:15.548915378+01:00"}
25700              --------------------
25701              y) Yes this is OK
25702              e) Edit this remote
25703              d) Delete this remote
25704              y/e/d>
25705
25706       See the remote setup docs (https://rclone.org/remote_setup/) for how to
25707       set it up on a machine with no Internet browser available.
25708
25709       Note that rclone runs a webserver on your local machine to collect  the
25710       token  as  returned from premiumize.me.  This only runs from the moment
25711       it opens your browser to the moment you get back the verification code.
25712       This  is  on http://127.0.0.1:53682/ and this it may require you to un‐
25713       block it temporarily if you are running a host firewall.
25714
25715       Once configured you can then use rclone like this,
25716
25717       List directories in top level of your premiumize.me
25718
25719              rclone lsd remote:
25720
25721       List all the files in your premiumize.me
25722
25723              rclone ls remote:
25724
25725       To copy a local directory to an premiumize.me directory called backup
25726
25727              rclone copy /home/source remote:backup
25728
25729   Modified time and hashes
25730       premiumize.me does not support modification times or hashes,  therefore
25731       syncing will default to --size-only checking.  Note that using --update
25732       will work.
25733
25734   Restricted filename characters
25735       In   addition   to    the    default    restricted    characters    set
25736       (https://rclone.org/overview/#restricted-characters)    the   following
25737       characters are also replaced:
25738
25739       Character   Value   Replacement
25740       ────────────────────────────────
25741       \           0x5C        \
25742       "           0x22        "
25743
25744       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
25745       view/#invalid-utf8), as they can't be used in JSON strings.
25746
25747   Standard Options
25748       Here are the standard options specific to premiumizeme (premiumize.me).
25749
25750   --premiumizeme-api-key
25751       API Key.
25752
25753       This is not normally used - use oauth instead.
25754
25755       · Config: api_key
25756
25757       · Env Var: RCLONE_PREMIUMIZEME_API_KEY
25758
25759       · Type: string
25760
25761       · Default: ""
25762
25763   Advanced Options
25764       Here are the advanced options specific to premiumizeme (premiumize.me).
25765
25766   --premiumizeme-encoding
25767       This sets the encoding for the backend.
25768
25769       See:  the  encoding  section  in the overview (https://rclone.org/over
25770       view/#encoding) for more info.
25771
25772       · Config: encoding
25773
25774       · Env Var: RCLONE_PREMIUMIZEME_ENCODING
25775
25776       · Type: MultiEncoder
25777
25778       · Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot
25779
25780   Limitations
25781       Note that premiumize.me is case insensitive so you can't  have  a  file
25782       called "Hello.doc" and one called "hello.doc".
25783
25784       premiumize.me  file  names can't have the \ or " characters in.  rclone
25785       maps these to and from an identical looking unicode equivalents \  and
25786
25787
25788       premiumize.me only supports filenames up to 255 characters in length.
25789
25790   put.io
25791       Paths are specified as remote:path
25792
25793       put.io  paths may be as deep as required, e.g.  remote:directory/subdi‐
25794       rectory.
25795
25796       The initial setup for put.io involves getting a token from put.io which
25797       you need to do in your browser.  rclone config walks you through it.
25798
25799       Here is an example of how to make a remote called remote.  First run:
25800
25801               rclone config
25802
25803       This will guide you through an interactive setup process:
25804
25805              No remotes found - make a new one
25806              n) New remote
25807              s) Set configuration password
25808              q) Quit config
25809              n/s/q> n
25810              name> putio
25811              Type of storage to configure.
25812              Enter a string value. Press Enter for the default ("").
25813              Choose a number from below, or type in your own value
25814              [snip]
25815              XX / Put.io
25816                 \ "putio"
25817              [snip]
25818              Storage> putio
25819              ** See help for putio backend at: https://rclone.org/putio/ **
25820
25821              Remote config
25822              Use auto config?
25823               * Say Y if not sure
25824               * Say N if you are working on a remote or headless machine
25825              y) Yes
25826              n) No
25827              y/n> y
25828              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
25829              Log in and authorize rclone for access
25830              Waiting for code...
25831              Got code
25832              --------------------
25833              [putio]
25834              type = putio
25835              token = {"access_token":"XXXXXXXX","expiry":"0001-01-01T00:00:00Z"}
25836              --------------------
25837              y) Yes this is OK
25838              e) Edit this remote
25839              d) Delete this remote
25840              y/e/d> y
25841              Current remotes:
25842
25843              Name                 Type
25844              ====                 ====
25845              putio                putio
25846
25847              e) Edit existing remote
25848              n) New remote
25849              d) Delete remote
25850              r) Rename remote
25851              c) Copy remote
25852              s) Set configuration password
25853              q) Quit config
25854              e/n/d/r/c/s/q> q
25855
25856       Note  that rclone runs a webserver on your local machine to collect the
25857       token as returned from Google if you use auto config mode.   This  only
25858       runs  from  the moment it opens your browser to the moment you get back
25859       the verification code.  This is on http://127.0.0.1:53682/ and this  it
25860       may  require  you  to  unblock it temporarily if you are running a host
25861       firewall, or use manual mode.
25862
25863       You can then use it like this,
25864
25865       List directories in top level of your put.io
25866
25867              rclone lsd remote:
25868
25869       List all the files in your put.io
25870
25871              rclone ls remote:
25872
25873       To copy a local directory to a put.io directory called backup
25874
25875              rclone copy /home/source remote:backup
25876
25877   Restricted filename characters
25878       In   addition   to    the    default    restricted    characters    set
25879       (https://rclone.org/overview/#restricted-characters)    the   following
25880       characters are also replaced:
25881
25882       Character   Value   Replacement
25883       ────────────────────────────────
25884       \           0x5C        \
25885
25886       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
25887       view/#invalid-utf8), as they can't be used in JSON strings.
25888
25889   Advanced Options
25890       Here are the advanced options specific to putio (Put.io).
25891
25892   --putio-encoding
25893       This sets the encoding for the backend.
25894
25895       See:  the  encoding  section  in the overview (https://rclone.org/over
25896       view/#encoding) for more info.
25897
25898       · Config: encoding
25899
25900       · Env Var: RCLONE_PUTIO_ENCODING
25901
25902       · Type: MultiEncoder
25903
25904       · Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot
25905
25906   Seafile
25907       This is a backend for the  Seafile  (https://www.seafile.com/)  storage
25908       service: - It works with both the free community edition or the profes‐
25909       sional edition.  - Seafile versions 6.x and 7.x are all  supported.   -
25910       Encrypted  libraries  are  also  supported.   - It supports 2FA enabled
25911       users
25912
25913   Root mode vs Library mode
25914       There are two distinct modes you can setup your  remote:  -  you  point
25915       your  remote to the root of the server, meaning you don't specify a li‐
25916       brary during the configuration: Paths are specified as  remote:library.
25917       You may put subdirectories in too, e.g.  remote:library/path/to/dir.  -
25918       you point your remote to a specific library during  the  configuration:
25919       Paths  are  specified  as  remote:path/to/dir.  This is the recommended
25920       mode when using encrypted libraries.  (This mode is  possibly  slightly
25921       faster than the root mode)
25922
25923   Configuration in root mode
25924       Here is an example of making a seafile configuration for a user with no
25925       two-factor authentication.  First run
25926
25927              rclone config
25928
25929       This will guide you through an interactive setup process.  To authenti‐
25930       cate you will need the URL of your server, your email (or username) and
25931       your password.
25932
25933              No remotes found - make a new one
25934              n) New remote
25935              s) Set configuration password
25936              q) Quit config
25937              n/s/q> n
25938              name> seafile
25939              Type of storage to configure.
25940              Enter a string value. Press Enter for the default ("").
25941              Choose a number from below, or type in your own value
25942              [snip]
25943              XX / Seafile
25944                 \ "seafile"
25945              [snip]
25946              Storage> seafile
25947              ** See help for seafile backend at: https://rclone.org/seafile/ **
25948
25949              URL of seafile host to connect to
25950              Enter a string value. Press Enter for the default ("").
25951              Choose a number from below, or type in your own value
25952               1 / Connect to cloud.seafile.com
25953                 \ "https://cloud.seafile.com/"
25954              url> http://my.seafile.server/
25955              User name (usually email address)
25956              Enter a string value. Press Enter for the default ("").
25957              user> me@example.com
25958              Password
25959              y) Yes type in my own password
25960              g) Generate random password
25961              n) No leave this optional password blank (default)
25962              y/g> y
25963              Enter the password:
25964              password:
25965              Confirm the password:
25966              password:
25967              Two-factor authentication ('true' if the account has 2FA enabled)
25968              Enter a boolean value (true or false). Press Enter for the default ("false").
25969              2fa> false
25970              Name of the library. Leave blank to access all non-encrypted libraries.
25971              Enter a string value. Press Enter for the default ("").
25972              library>
25973              Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
25974              y) Yes type in my own password
25975              g) Generate random password
25976              n) No leave this optional password blank (default)
25977              y/g/n> n
25978              Edit advanced config? (y/n)
25979              y) Yes
25980              n) No (default)
25981              y/n> n
25982              Remote config
25983              Two-factor authentication is not enabled on this account.
25984              --------------------
25985              [seafile]
25986              type = seafile
25987              url = http://my.seafile.server/
25988              user = me@example.com
25989              pass = *** ENCRYPTED ***
25990              2fa = false
25991              --------------------
25992              y) Yes this is OK (default)
25993              e) Edit this remote
25994              d) Delete this remote
25995              y/e/d> y
25996
25997       This remote is called seafile.  It's  pointing  to  the  root  of  your
25998       seafile server and can now be used like this:
25999
26000       See all libraries
26001
26002              rclone lsd seafile:
26003
26004       Create a new library
26005
26006              rclone mkdir seafile:library
26007
26008       List the contents of a library
26009
26010              rclone ls seafile:library
26011
26012       Sync  /home/local/directory  to the remote library, deleting any excess
26013       files in the library.
26014
26015              rclone sync -i /home/local/directory seafile:library
26016
26017   Configuration in library mode
26018       Here's an example of a configuration in library mode with a  user  that
26019       has the two-factor authentication enabled.  Your 2FA code will be asked
26020       at the end of the configuration, and will attempt to authenticate you:
26021
26022              No remotes found - make a new one
26023              n) New remote
26024              s) Set configuration password
26025              q) Quit config
26026              n/s/q> n
26027              name> seafile
26028              Type of storage to configure.
26029              Enter a string value. Press Enter for the default ("").
26030              Choose a number from below, or type in your own value
26031              [snip]
26032              XX / Seafile
26033                 \ "seafile"
26034              [snip]
26035              Storage> seafile
26036              ** See help for seafile backend at: https://rclone.org/seafile/ **
26037
26038              URL of seafile host to connect to
26039              Enter a string value. Press Enter for the default ("").
26040              Choose a number from below, or type in your own value
26041               1 / Connect to cloud.seafile.com
26042                 \ "https://cloud.seafile.com/"
26043              url> http://my.seafile.server/
26044              User name (usually email address)
26045              Enter a string value. Press Enter for the default ("").
26046              user> me@example.com
26047              Password
26048              y) Yes type in my own password
26049              g) Generate random password
26050              n) No leave this optional password blank (default)
26051              y/g> y
26052              Enter the password:
26053              password:
26054              Confirm the password:
26055              password:
26056              Two-factor authentication ('true' if the account has 2FA enabled)
26057              Enter a boolean value (true or false). Press Enter for the default ("false").
26058              2fa> true
26059              Name of the library. Leave blank to access all non-encrypted libraries.
26060              Enter a string value. Press Enter for the default ("").
26061              library> My Library
26062              Library password (for encrypted libraries only). Leave blank if you pass it through the command line.
26063              y) Yes type in my own password
26064              g) Generate random password
26065              n) No leave this optional password blank (default)
26066              y/g/n> n
26067              Edit advanced config? (y/n)
26068              y) Yes
26069              n) No (default)
26070              y/n> n
26071              Remote config
26072              Two-factor authentication: please enter your 2FA code
26073              2fa code> 123456
26074              Authenticating...
26075              Success!
26076              --------------------
26077              [seafile]
26078              type = seafile
26079              url = http://my.seafile.server/
26080              user = me@example.com
26081              pass =
26082              2fa = true
26083              library = My Library
26084              --------------------
26085              y) Yes this is OK (default)
26086              e) Edit this remote
26087              d) Delete this remote
26088              y/e/d> y
26089
26090       You'll notice your password is blank in the  configuration.   It's  be‐
26091       cause we only need the password to authenticate you once.
26092
26093       You specified My Library during the configuration.  The root of the re‐
26094       mote is pointing at the root of the library My Library:
26095
26096       See all files in the library:
26097
26098              rclone lsd seafile:
26099
26100       Create a new directory inside the library
26101
26102              rclone mkdir seafile:directory
26103
26104       List the contents of a directory
26105
26106              rclone ls seafile:directory
26107
26108       Sync /home/local/directory to the remote library, deleting  any  excess
26109       files in the library.
26110
26111              rclone sync -i /home/local/directory seafile:
26112
26113   --fast-list
26114       Seafile  version  7+ supports --fast-list which allows you to use fewer
26115       transactions  in  exchange  for  more  memory.   See  the  rclone  docs
26116       (https://rclone.org/docs/#fast-list)  for  more  details.   Please note
26117       this is not supported on seafile server version 6.x
26118
26119   Restricted filename characters
26120       In   addition   to    the    default    restricted    characters    set
26121       (https://rclone.org/overview/#restricted-characters)    the   following
26122       characters are also replaced:
26123
26124       Character   Value   Replacement
26125       ────────────────────────────────
26126       /           0x2F        /
26127       "           0x22        "
26128       \           0x5C        \
26129
26130       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
26131       view/#invalid-utf8), as they can't be used in JSON strings.
26132
26133   Seafile and rclone link
26134       Rclone  supports generating share links for non-encrypted libraries on‐
26135       ly.  They can either be for a file or a directory:
26136
26137              rclone link seafile:seafile-tutorial.doc
26138              http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/
26139
26140       or if run on a directory you will get:
26141
26142              rclone link seafile:dir
26143              http://my.seafile.server/d/9ea2455f6f55478bbb0d/
26144
26145       Please note a share link is unique for each file or directory.  If  you
26146       run a link command on a file/dir that has already been shared, you will
26147       get the exact same link.
26148
26149   Compatibility
26150       It  has  been  actively  tested  using   the   seafile   docker   image
26151       (https://github.com/haiwen/seafile-docker)  of  these versions: - 6.3.4
26152       community edition - 7.0.5 community edition - 7.1.3 community edition
26153
26154       Versions below 6.0 are not supported.  Versions  between  6.0  and  6.3
26155       haven't been tested and might not work properly.
26156
26157   Standard Options
26158       Here are the standard options specific to seafile (seafile).
26159
26160   --seafile-url
26161       URL of seafile host to connect to
26162
26163       · Config: url
26164
26165       · Env Var: RCLONE_SEAFILE_URL
26166
26167       · Type: string
26168
26169       · Default: ""
26170
26171       · Examples:
26172
26173         · "https://cloud.seafile.com/"
26174
26175           · Connect to cloud.seafile.com
26176
26177   --seafile-user
26178       User name (usually email address)
26179
26180       · Config: user
26181
26182       · Env Var: RCLONE_SEAFILE_USER
26183
26184       · Type: string
26185
26186       · Default: ""
26187
26188   --seafile-pass
26189       Password
26190
26191       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
26192       (https://rclone.org/commands/rclone_obscure/).
26193
26194       · Config: pass
26195
26196       · Env Var: RCLONE_SEAFILE_PASS
26197
26198       · Type: string
26199
26200       · Default: ""
26201
26202   --seafile-2fa
26203       Two-factor authentication ('true' if the account has 2FA enabled)
26204
26205       · Config: 2fa
26206
26207       · Env Var: RCLONE_SEAFILE_2FA
26208
26209       · Type: bool
26210
26211       · Default: false
26212
26213   --seafile-library
26214       Name of the library.  Leave  blank  to  access  all  non-encrypted  li‐
26215       braries.
26216
26217       · Config: library
26218
26219       · Env Var: RCLONE_SEAFILE_LIBRARY
26220
26221       · Type: string
26222
26223       · Default: ""
26224
26225   --seafile-library-key
26226       Library  password  (for  encrypted libraries only).  Leave blank if you
26227       pass it through the command line.
26228
26229       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
26230       (https://rclone.org/commands/rclone_obscure/).
26231
26232       · Config: library_key
26233
26234       · Env Var: RCLONE_SEAFILE_LIBRARY_KEY
26235
26236       · Type: string
26237
26238       · Default: ""
26239
26240   --seafile-auth-token
26241       Authentication token
26242
26243       · Config: auth_token
26244
26245       · Env Var: RCLONE_SEAFILE_AUTH_TOKEN
26246
26247       · Type: string
26248
26249       · Default: ""
26250
26251   Advanced Options
26252       Here are the advanced options specific to seafile (seafile).
26253
26254   --seafile-create-library
26255       Should rclone create a library if it doesn't exist
26256
26257       · Config: create_library
26258
26259       · Env Var: RCLONE_SEAFILE_CREATE_LIBRARY
26260
26261       · Type: bool
26262
26263       · Default: false
26264
26265   --seafile-encoding
26266       This sets the encoding for the backend.
26267
26268       See:  the  encoding  section  in the overview (https://rclone.org/over
26269       view/#encoding) for more info.
26270
26271       · Config: encoding
26272
26273       · Env Var: RCLONE_SEAFILE_ENCODING
26274
26275       · Type: MultiEncoder
26276
26277       · Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8
26278
26279   SFTP
26280       SFTP   is   the   Secure    (or    SSH)    File    Transfer    Protocol
26281       (https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol).
26282
26283       The SFTP backend can be used with a number of different providers:
26284
26285       · C14
26286
26287       · rsync.net
26288
26289       SFTP runs over SSH v2 and is installed as standard with most modern SSH
26290       installations.
26291
26292       Paths are specified as remote:path.  If the path does not begin with  a
26293       /  it is relative to the home directory of the user.  An empty path re‐
26294       mote: refers to the user's home directory.
26295
26296       "Note that some SFTP servers will need the leading / -  Synology  is  a
26297       good  example of this.  rsync.net, on the other hand, requires users to
26298       OMIT the leading /.
26299
26300       Here is an example of making an SFTP configuration.  First run
26301
26302              rclone config
26303
26304       This will guide you through an interactive setup process.
26305
26306              No remotes found - make a new one
26307              n) New remote
26308              s) Set configuration password
26309              q) Quit config
26310              n/s/q> n
26311              name> remote
26312              Type of storage to configure.
26313              Choose a number from below, or type in your own value
26314              [snip]
26315              XX / SSH/SFTP Connection
26316                 \ "sftp"
26317              [snip]
26318              Storage> sftp
26319              SSH host to connect to
26320              Choose a number from below, or type in your own value
26321               1 / Connect to example.com
26322                 \ "example.com"
26323              host> example.com
26324              SSH username, leave blank for current username, $USER
26325              user> sftpuser
26326              SSH port, leave blank to use default (22)
26327              port>
26328              SSH password, leave blank to use ssh-agent.
26329              y) Yes type in my own password
26330              g) Generate random password
26331              n) No leave this optional password blank
26332              y/g/n> n
26333              Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent.
26334              key_file>
26335              Remote config
26336              --------------------
26337              [remote]
26338              host = example.com
26339              user = sftpuser
26340              port =
26341              pass =
26342              key_file =
26343              --------------------
26344              y) Yes this is OK
26345              e) Edit this remote
26346              d) Delete this remote
26347              y/e/d> y
26348
26349       This remote is called remote and can now be used like this:
26350
26351       See all directories in the home directory
26352
26353              rclone lsd remote:
26354
26355       Make a new directory
26356
26357              rclone mkdir remote:path/to/directory
26358
26359       List the contents of a directory
26360
26361              rclone ls remote:path/to/directory
26362
26363       Sync /home/local/directory to the remote directory, deleting any excess
26364       files in the directory.
26365
26366              rclone sync -i /home/local/directory remote:directory
26367
26368   SSH Authentication
26369       The SFTP remote supports three authentication methods:
26370
26371       · Password
26372
26373       · Key file, including certificate signed keys
26374
26375       · ssh-agent
26376
26377       Key  files  should  be  PEM-encoded  private  key  files.  For instance
26378       /home/$USER/.ssh/id_rsa.  Only unencrypted  OpenSSH  or  PEM  encrypted
26379       files are supported.
26380
26381       The  key file can be specified in either an external file (key_file) or
26382       contained within the rclone config file (key_pem).  If using key_pem in
26383       the config file, the entry should be on a single line with new line (''
26384       or '') separating lines.  i.e.
26385
26386       key_pem = -----BEGIN RSA PRIVATE KEY-----0gAMbMbaSsd-----END  RSA  PRI‐
26387       VATE KEY-----
26388
26389       This will generate it correctly for key_pem for use in the config:
26390
26391              awk '{printf "%s\\n", $0}' < ~/.ssh/id_rsa
26392
26393       If  you  don't  specify pass, key_file, or key_pem then rclone will at‐
26394       tempt to contact an ssh-agent.
26395
26396       You can also specify key_use_agent to force the usage of an  ssh-agent.
26397       In this case key_file or key_pem can also be specified to force the us‐
26398       age of a specific key in the ssh-agent.
26399
26400       Using an ssh-agent is the only way to load encrypted  OpenSSH  keys  at
26401       the moment.
26402
26403       If  you  set  the  --sftp-ask-password option, rclone will prompt for a
26404       password when needed and no password has been configured.
26405
26406       If you have a certificate then you can provide the path to  the  public
26407       key that contains the certificate.  For example:
26408
26409              [remote]
26410              type = sftp
26411              host = example.com
26412              user = sftpuser
26413              key_file = ~/id_rsa
26414              pubkey_file = ~/id_rsa-cert.pub
26415
26416       If  you  concatenate a cert with a private key then you can specify the
26417       merged file in both places.
26418
26419       Note: the cert must come first in the file.  e.g.
26420
26421              cat id_rsa-cert.pub id_rsa > merged_key
26422
26423   Host key validation
26424       By default rclone will not check the server's host key for  validation.
26425       This  can  allow  an attacker to replace a server with their own and if
26426       you use password authentication then this can lead to that password be‐
26427       ing exposed.
26428
26429       Host key matching, using standard known_hosts files can be turned on by
26430       enabling the known_hosts_file option.  This can point to the file main‐
26431       tained by OpenSSH or can point to a unique file.
26432
26433       e.g.
26434
26435              [remote]
26436              type = sftp
26437              host = example.com
26438              user = sftpuser
26439              pass =
26440              known_hosts_file = ~/.ssh/known_hosts
26441
26442       There are some limitations:
26443
26444       · rclone  will  not manage this file for you.  If the key is missing or
26445         wrong then the connection will be refused.
26446
26447       · If the server is set up for a certificate host key then the entry  in
26448         the known_hosts file must be the @cert-authority entry for the CA
26449
26450       · Unlike  OpenSSH,  the libraries used by rclone do not permit (at time
26451         of writing) multiple host keys to be listed for a server.   Only  the
26452         first entry is used.
26453
26454       If  the  host  key provided by the server does not match the one in the
26455       file (or is missing) then the connection will be aborted and  an  error
26456       returned such as
26457
26458              NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key mismatch
26459
26460       or
26461
26462              NewFs: couldn't connect SSH: ssh: handshake failed: knownhosts: key is unknown
26463
26464       If you see an error such as
26465
26466              NewFs: couldn't connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22
26467
26468       then it is likely the server has presented a CA signed host certificate
26469       and you will need to add the appropriate @cert-authority entry.
26470
26471       The known_hosts_file setting can be set during rclone config as an  ad‐
26472       vanced option.
26473
26474   ssh-agent on macOS
26475       Note  that there seem to be various problems with using an ssh-agent on
26476       macOS due to recent changes in the OS.  The most effective  work-around
26477       seems to be to start an ssh-agent in each session, e.g.
26478
26479              eval `ssh-agent -s` && ssh-add -A
26480
26481       And then at the end of the session
26482
26483              eval `ssh-agent -k`
26484
26485       These commands can be used in scripts of course.
26486
26487   Modified time
26488       Modified times are stored on the server to 1 second precision.
26489
26490       Modified times are used in syncing and are fully supported.
26491
26492       Some  SFTP servers disable setting/modifying the file modification time
26493       after upload (for  example,  certain  configurations  of  ProFTPd  with
26494       mod_sftp).   If you are using one of these servers, you can set the op‐
26495       tion set_modtime = false in your RClone backend configuration  to  dis‐
26496       able this behaviour.
26497
26498   Standard Options
26499       Here are the standard options specific to sftp (SSH/SFTP Connection).
26500
26501   --sftp-host
26502       SSH host to connect to
26503
26504       · Config: host
26505
26506       · Env Var: RCLONE_SFTP_HOST
26507
26508       · Type: string
26509
26510       · Default: ""
26511
26512       · Examples:
26513
26514         · "example.com"
26515
26516           · Connect to example.com
26517
26518   --sftp-user
26519       SSH username, leave blank for current username, $USER
26520
26521       · Config: user
26522
26523       · Env Var: RCLONE_SFTP_USER
26524
26525       · Type: string
26526
26527       · Default: ""
26528
26529   --sftp-port
26530       SSH port, leave blank to use default (22)
26531
26532       · Config: port
26533
26534       · Env Var: RCLONE_SFTP_PORT
26535
26536       · Type: string
26537
26538       · Default: ""
26539
26540   --sftp-pass
26541       SSH password, leave blank to use ssh-agent.
26542
26543       NB   Input   to   this   must   be   obscured   -  see  rclone  obscure
26544       (https://rclone.org/commands/rclone_obscure/).
26545
26546       · Config: pass
26547
26548       · Env Var: RCLONE_SFTP_PASS
26549
26550       · Type: string
26551
26552       · Default: ""
26553
26554   --sftp-key-pem
26555       Raw PEM-encoded private key, If specified, will override  key_file  pa‐
26556       rameter.
26557
26558       · Config: key_pem
26559
26560       · Env Var: RCLONE_SFTP_KEY_PEM
26561
26562       · Type: string
26563
26564       · Default: ""
26565
26566   --sftp-key-file
26567       Path  to PEM-encoded private key file, leave blank or set key-use-agent
26568       to use ssh-agent.
26569
26570       Leading ~ will be expanded in the file name as will  environment  vari‐
26571       ables such as ${RCLONE_CONFIG_DIR}.
26572
26573       · Config: key_file
26574
26575       · Env Var: RCLONE_SFTP_KEY_FILE
26576
26577       · Type: string
26578
26579       · Default: ""
26580
26581   --sftp-key-file-pass
26582       The passphrase to decrypt the PEM-encoded private key file.
26583
26584       Only  PEM  encrypted key files (old OpenSSH format) are supported.  En‐
26585       crypted keys in the new OpenSSH format can't be used.
26586
26587       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
26588       (https://rclone.org/commands/rclone_obscure/).
26589
26590       · Config: key_file_pass
26591
26592       · Env Var: RCLONE_SFTP_KEY_FILE_PASS
26593
26594       · Type: string
26595
26596       · Default: ""
26597
26598   --sftp-pubkey-file
26599       Optional path to public key file.
26600
26601       Set this if you have a signed certificate you want to use for authenti‐
26602       cation.
26603
26604       Leading ~ will be expanded in the file name as will  environment  vari‐
26605       ables such as ${RCLONE_CONFIG_DIR}.
26606
26607       · Config: pubkey_file
26608
26609       · Env Var: RCLONE_SFTP_PUBKEY_FILE
26610
26611       · Type: string
26612
26613       · Default: ""
26614
26615   --sftp-key-use-agent
26616       When set forces the usage of the ssh-agent.
26617
26618       When key-file is also set, the ".pub" file of the specified key-file is
26619       read and only the associated key is requested from the ssh-agent.  This
26620       allows  to avoid Too many authentication failures for *username* errors
26621       when the ssh-agent contains many keys.
26622
26623       · Config: key_use_agent
26624
26625       · Env Var: RCLONE_SFTP_KEY_USE_AGENT
26626
26627       · Type: bool
26628
26629       · Default: false
26630
26631   --sftp-use-insecure-cipher
26632       Enable the use of insecure ciphers and key exchange methods.
26633
26634       This enables the use of the following insecure ciphers and key exchange
26635       methods:
26636
26637       · aes128-cbc
26638
26639       · aes192-cbc
26640
26641       · aes256-cbc
26642
26643       · 3des-cbc
26644
26645       · diffie-hellman-group-exchange-sha256
26646
26647       · diffie-hellman-group-exchange-sha1
26648
26649       Those algorithms are insecure and may allow plaintext data to be recov‐
26650       ered by an attacker.
26651
26652       · Config: use_insecure_cipher
26653
26654       · Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER
26655
26656       · Type: bool
26657
26658       · Default: false
26659
26660       · Examples:
26661
26662         · "false"
26663
26664           · Use default Cipher list.
26665
26666         · "true"
26667
26668           · Enables  the  use  of  the  aes128-cbc  cipher  and  diffie-hell‐
26669             man-group-exchange-sha256, diffie-hellman-group-exchange-sha1 key
26670             exchange.
26671
26672   --sftp-disable-hashcheck
26673       Disable the execution of SSH commands to determine if remote file hash‐
26674       ing  is available.  Leave blank or set to false to enable hashing (rec‐
26675       ommended), set to true to disable hashing.
26676
26677       · Config: disable_hashcheck
26678
26679       · Env Var: RCLONE_SFTP_DISABLE_HASHCHECK
26680
26681       · Type: bool
26682
26683       · Default: false
26684
26685   Advanced Options
26686       Here are the advanced options specific to sftp (SSH/SFTP Connection).
26687
26688   --sftp-known-hosts-file
26689       Optional path to known_hosts file.
26690
26691       Set this value to enable server host key validation.
26692
26693       Leading ~ will be expanded in the file name as will  environment  vari‐
26694       ables such as ${RCLONE_CONFIG_DIR}.
26695
26696       · Config: known_hosts_file
26697
26698       · Env Var: RCLONE_SFTP_KNOWN_HOSTS_FILE
26699
26700       · Type: string
26701
26702       · Default: ""
26703
26704       · Examples:
26705
26706         · "~/.ssh/known_hosts"
26707
26708           · Use OpenSSH's known_hosts file
26709
26710   --sftp-ask-password
26711       Allow asking for SFTP password when needed.
26712
26713       If  this is set and no password is supplied then rclone will: - ask for
26714       a password - not contact the ssh agent
26715
26716       · Config: ask_password
26717
26718       · Env Var: RCLONE_SFTP_ASK_PASSWORD
26719
26720       · Type: bool
26721
26722       · Default: false
26723
26724   --sftp-path-override
26725       Override path used by SSH connection.
26726
26727       This allows checksum calculation when SFTP and SSH paths are different.
26728       This issue affects among others Synology NAS boxes.
26729
26730       Shared folders can be found in directories representing volumes
26731
26732              rclone sync /home/local/directory remote:/directory --ssh-path-override /volume2/directory
26733
26734       Home directory can be found in a shared folder called "home"
26735
26736              rclone sync /home/local/directory remote:/home/directory --ssh-path-override /volume1/homes/USER/directory
26737
26738       · Config: path_override
26739
26740       · Env Var: RCLONE_SFTP_PATH_OVERRIDE
26741
26742       · Type: string
26743
26744       · Default: ""
26745
26746   --sftp-set-modtime
26747       Set the modified time on the remote if set.
26748
26749       · Config: set_modtime
26750
26751       · Env Var: RCLONE_SFTP_SET_MODTIME
26752
26753       · Type: bool
26754
26755       · Default: true
26756
26757   --sftp-md5sum-command
26758       The command used to read md5 hashes.  Leave blank for autodetect.
26759
26760       · Config: md5sum_command
26761
26762       · Env Var: RCLONE_SFTP_MD5SUM_COMMAND
26763
26764       · Type: string
26765
26766       · Default: ""
26767
26768   --sftp-sha1sum-command
26769       The command used to read sha1 hashes.  Leave blank for autodetect.
26770
26771       · Config: sha1sum_command
26772
26773       · Env Var: RCLONE_SFTP_SHA1SUM_COMMAND
26774
26775       · Type: string
26776
26777       · Default: ""
26778
26779   --sftp-skip-links
26780       Set to skip any symlinks and any other non regular files.
26781
26782       · Config: skip_links
26783
26784       · Env Var: RCLONE_SFTP_SKIP_LINKS
26785
26786       · Type: bool
26787
26788       · Default: false
26789
26790   --sftp-subsystem
26791       Specifies the SSH2 subsystem on the remote host.
26792
26793       · Config: subsystem
26794
26795       · Env Var: RCLONE_SFTP_SUBSYSTEM
26796
26797       · Type: string
26798
26799       · Default: "sftp"
26800
26801   --sftp-server-command
26802       Specifies the path or command to run a sftp server on the remote host.
26803
26804       The subsystem option is ignored when server_command is defined.
26805
26806       · Config: server_command
26807
26808       · Env Var: RCLONE_SFTP_SERVER_COMMAND
26809
26810       · Type: string
26811
26812       · Default: ""
26813
26814   --sftp-use-fstat
26815       If set use fstat instead of stat
26816
26817       Some  servers  limit  the  amount  of open files and calling Stat after
26818       opening the file will throw an error from  the  server.   Setting  this
26819       flag will call Fstat instead of Stat which is called on an already open
26820       file handle.
26821
26822       It has been found that this helps with IBM Sterling SFTP servers  which
26823       have  "extractability"  level  set  to 1 which means only 1 file can be
26824       opened at any given time.
26825
26826       · Config: use_fstat
26827
26828       · Env Var: RCLONE_SFTP_USE_FSTAT
26829
26830       · Type: bool
26831
26832       · Default: false
26833
26834   Limitations
26835       SFTP supports checksums if the same login has shell access  and  md5sum
26836       or  sha1sum  as  well  as  echo  are in the remote's PATH.  This remote
26837       checksumming (file hashing) is  recommended  and  enabled  by  default.
26838       Disabling  the  checksumming  may  be required if you are connecting to
26839       SFTP servers which are not under your control, and to which the  execu‐
26840       tion  of  remote  commands is prohibited.  Set the configuration option
26841       disable_hashcheck to true to disable checksumming.
26842
26843       SFTP also supports about if the same login has shell access and df  are
26844       in  the  remote's PATH.  about will return the total space, free space,
26845       and used space on the remote for the disk of the specified path on  the
26846       remote  or, if not set, the disk of the root on the remote.  about will
26847       fail if it does not have shell access or if df is not in  the  remote's
26848       PATH.
26849
26850       Note  that  some  SFTP servers (e.g.  Synology) the paths are different
26851       for SSH and SFTP so the hashes can't be calculated properly.  For  them
26852       using disable_hashcheck is a good idea.
26853
26854       The only ssh agent supported under Windows is Putty's pageant.
26855
26856       The  Go  SSH  library  disables the use of the aes128-cbc cipher by de‐
26857       fault, due to security concerns.  This can be re-enabled on a  per-con‐
26858       nection basis by setting the use_insecure_cipher setting in the config‐
26859       uration file to true.  Further details on the insecurity of this cipher
26860       can  be  found  [in this paper] (http://www.isg.rhul.ac.uk/~kp/SandPfi‐
26861       nal.pdf).
26862
26863       SFTP    isn't    supported    under    plan9    until    this     issue
26864       (https://github.com/pkg/sftp/issues/156) is fixed.
26865
26866       Note  that  since  SFTP isn't HTTP based the following flags don't work
26867       with it: --dump-headers, --dump-bodies, --dump-auth
26868
26869       Note that --timeout isn't supported (but --contimeout is).
26870
26871   C14
26872       C14 is supported through the SFTP backend.
26873
26874       See  C14's  documentation  (https://www.online.net/en/storage/c14-cold-
26875       storage)
26876
26877   rsync.net
26878       rsync.net is supported through the SFTP backend.
26879
26880       See      rsync.net's      documentation      of     rclone     examples
26881       (https://www.rsync.net/products/rclone.html).
26882
26883   SugarSync
26884       SugarSync (https://sugarsync.com) is a cloud service that  enables  ac‐
26885       tive  synchronization  of  files across computers and other devices for
26886       file backup, access, syncing, and sharing.
26887
26888       The initial setup for SugarSync involves getting a token from SugarSync
26889       which you can do with rclone.  rclone config walks you through it.
26890
26891       Here is an example of how to make a remote called remote.  First run:
26892
26893               rclone config
26894
26895       This will guide you through an interactive setup process:
26896
26897              No remotes found - make a new one
26898              n) New remote
26899              s) Set configuration password
26900              q) Quit config
26901              n/s/q> n
26902              name> remote
26903              Type of storage to configure.
26904              Enter a string value. Press Enter for the default ("").
26905              Choose a number from below, or type in your own value
26906              [snip]
26907              XX / Sugarsync
26908                 \ "sugarsync"
26909              [snip]
26910              Storage> sugarsync
26911              ** See help for sugarsync backend at: https://rclone.org/sugarsync/ **
26912
26913              Sugarsync App ID.
26914              Leave blank to use rclone's.
26915              Enter a string value. Press Enter for the default ("").
26916              app_id>
26917              Sugarsync Access Key ID.
26918              Leave blank to use rclone's.
26919              Enter a string value. Press Enter for the default ("").
26920              access_key_id>
26921              Sugarsync Private Access Key
26922              Leave blank to use rclone's.
26923              Enter a string value. Press Enter for the default ("").
26924              private_access_key>
26925              Permanently delete files if true
26926              otherwise put them in the deleted files.
26927              Enter a boolean value (true or false). Press Enter for the default ("false").
26928              hard_delete>
26929              Edit advanced config? (y/n)
26930              y) Yes
26931              n) No (default)
26932              y/n> n
26933              Remote config
26934              Username (email address)> nick@craig-wood.com
26935              Your Sugarsync password is only required during setup and will not be stored.
26936              password:
26937              --------------------
26938              [remote]
26939              type = sugarsync
26940              refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX
26941              --------------------
26942              y) Yes this is OK (default)
26943              e) Edit this remote
26944              d) Delete this remote
26945              y/e/d> y
26946
26947       Note that the config asks for your email and password but doesn't store
26948       them, it only uses them to get the initial token.
26949
26950       Once configured you can then use rclone like this,
26951
26952       List directories (sync folders) in top level of your SugarSync
26953
26954              rclone lsd remote:
26955
26956       List all the files in your SugarSync folder "Test"
26957
26958              rclone ls remote:Test
26959
26960       To copy a local directory to an SugarSync folder called backup
26961
26962              rclone copy /home/source remote:backup
26963
26964       Paths are specified as remote:path
26965
26966       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
26967
26968       NB you can't create files in the top level folder you have to create  a
26969       folder, which rclone will create as a "Sync Folder" with SugarSync.
26970
26971   Modified time and hashes
26972       SugarSync  does  not  support  modification  times or hashes, therefore
26973       syncing will default to --size-only checking.  Note that using --update
26974       will work as rclone can read the time files were uploaded.
26975
26976   Restricted filename characters
26977       SugarSync    replaces    the    default   restricted   characters   set
26978       (https://rclone.org/overview/#restricted-characters) except for DEL.
26979
26980       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
26981       view/#invalid-utf8), as they can't be used in XML strings.
26982
26983   Deleting files
26984       Deleted files will be moved to the "Deleted items" folder by default.
26985
26986       However you can supply the flag --sugarsync-hard-delete or set the con‐
26987       fig parameter hard_delete = true if you would like files to be  deleted
26988       straight away.
26989
26990   Standard Options
26991       Here are the standard options specific to sugarsync (Sugarsync).
26992
26993   --sugarsync-app-id
26994       Sugarsync App ID.
26995
26996       Leave blank to use rclone's.
26997
26998       · Config: app_id
26999
27000       · Env Var: RCLONE_SUGARSYNC_APP_ID
27001
27002       · Type: string
27003
27004       · Default: ""
27005
27006   --sugarsync-access-key-id
27007       Sugarsync Access Key ID.
27008
27009       Leave blank to use rclone's.
27010
27011       · Config: access_key_id
27012
27013       · Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID
27014
27015       · Type: string
27016
27017       · Default: ""
27018
27019   --sugarsync-private-access-key
27020       Sugarsync Private Access Key
27021
27022       Leave blank to use rclone's.
27023
27024       · Config: private_access_key
27025
27026       · Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY
27027
27028       · Type: string
27029
27030       · Default: ""
27031
27032   --sugarsync-hard-delete
27033       Permanently  delete  files  if  true  otherwise put them in the deleted
27034       files.
27035
27036       · Config: hard_delete
27037
27038       · Env Var: RCLONE_SUGARSYNC_HARD_DELETE
27039
27040       · Type: bool
27041
27042       · Default: false
27043
27044   Advanced Options
27045       Here are the advanced options specific to sugarsync (Sugarsync).
27046
27047   --sugarsync-refresh-token
27048       Sugarsync refresh token
27049
27050       Leave blank normally, will be auto configured by rclone.
27051
27052       · Config: refresh_token
27053
27054       · Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN
27055
27056       · Type: string
27057
27058       · Default: ""
27059
27060   --sugarsync-authorization
27061       Sugarsync authorization
27062
27063       Leave blank normally, will be auto configured by rclone.
27064
27065       · Config: authorization
27066
27067       · Env Var: RCLONE_SUGARSYNC_AUTHORIZATION
27068
27069       · Type: string
27070
27071       · Default: ""
27072
27073   --sugarsync-authorization-expiry
27074       Sugarsync authorization expiry
27075
27076       Leave blank normally, will be auto configured by rclone.
27077
27078       · Config: authorization_expiry
27079
27080       · Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY
27081
27082       · Type: string
27083
27084       · Default: ""
27085
27086   --sugarsync-user
27087       Sugarsync user
27088
27089       Leave blank normally, will be auto configured by rclone.
27090
27091       · Config: user
27092
27093       · Env Var: RCLONE_SUGARSYNC_USER
27094
27095       · Type: string
27096
27097       · Default: ""
27098
27099   --sugarsync-root-id
27100       Sugarsync root id
27101
27102       Leave blank normally, will be auto configured by rclone.
27103
27104       · Config: root_id
27105
27106       · Env Var: RCLONE_SUGARSYNC_ROOT_ID
27107
27108       · Type: string
27109
27110       · Default: ""
27111
27112   --sugarsync-deleted-id
27113       Sugarsync deleted folder id
27114
27115       Leave blank normally, will be auto configured by rclone.
27116
27117       · Config: deleted_id
27118
27119       · Env Var: RCLONE_SUGARSYNC_DELETED_ID
27120
27121       · Type: string
27122
27123       · Default: ""
27124
27125   --sugarsync-encoding
27126       This sets the encoding for the backend.
27127
27128       See: the encoding section  in  the  overview  (https://rclone.org/over
27129       view/#encoding) for more info.
27130
27131       · Config: encoding
27132
27133       · Env Var: RCLONE_SUGARSYNC_ENCODING
27134
27135       · Type: MultiEncoder
27136
27137       · Default: Slash,Ctl,InvalidUtf8,Dot
27138
27139   Limitations
27140       rclone about is not supported by the SugarSync backend.  Backends with‐
27141       out this capability cannot determine free space for an rclone mount  or
27142       use policy mfs (most free space) as a member of an rclone union remote.
27143
27144       See   List   of   backends   that   do   not   support   rclone   about
27145       (https://rclone.org/overview/#optional-features)   See   rclone   about
27146       (https://rclone.org/commands/rclone_about/)
27147
27148   Tardigrade
27149       Tardigrade   (https://tardigrade.io)   is  an  encrypted,  secure,  and
27150       cost-effective object storage service that enables you to  store,  back
27151       up, and archive large amounts of data in a decentralized manner.
27152
27153   Setup
27154       To make a new Tardigrade configuration you need one of the following: *
27155       Access  Grant  that  someone  else  shared  with  you.    *   API   Key
27156       (https://documentation.tardigrade.io/getting-started/uploading-your-
27157       first-object/create-an-api-key) of a Tardigrade project you are a  mem‐
27158       ber of.
27159
27160       Here is an example of how to make a remote called remote.  First run:
27161
27162               rclone config
27163
27164       This will guide you through an interactive setup process:
27165
27166   Setup with access grant
27167              No remotes found - make a new one
27168              n) New remote
27169              s) Set configuration password
27170              q) Quit config
27171              n/s/q> n
27172              name> remote
27173              Type of storage to configure.
27174              Enter a string value. Press Enter for the default ("").
27175              Choose a number from below, or type in your own value
27176              [snip]
27177              XX / Tardigrade Decentralized Cloud Storage
27178                 \ "tardigrade"
27179              [snip]
27180              Storage> tardigrade
27181              ** See help for tardigrade backend at: https://rclone.org/tardigrade/ **
27182
27183              Choose an authentication method.
27184              Enter a string value. Press Enter for the default ("existing").
27185              Choose a number from below, or type in your own value
27186               1 / Use an existing access grant.
27187                 \ "existing"
27188               2 / Create a new access grant from satellite address, API key, and passphrase.
27189                 \ "new"
27190              provider> existing
27191              Access Grant.
27192              Enter a string value. Press Enter for the default ("").
27193              access_grant> your-access-grant-received-by-someone-else
27194              Remote config
27195              --------------------
27196              [remote]
27197              type = tardigrade
27198              access_grant = your-access-grant-received-by-someone-else
27199              --------------------
27200              y) Yes this is OK (default)
27201              e) Edit this remote
27202              d) Delete this remote
27203              y/e/d> y
27204
27205   Setup with API key and passphrase
27206              No remotes found - make a new one
27207              n) New remote
27208              s) Set configuration password
27209              q) Quit config
27210              n/s/q> n
27211              name> remote
27212              Type of storage to configure.
27213              Enter a string value. Press Enter for the default ("").
27214              Choose a number from below, or type in your own value
27215              [snip]
27216              XX / Tardigrade Decentralized Cloud Storage
27217                 \ "tardigrade"
27218              [snip]
27219              Storage> tardigrade
27220              ** See help for tardigrade backend at: https://rclone.org/tardigrade/ **
27221
27222              Choose an authentication method.
27223              Enter a string value. Press Enter for the default ("existing").
27224              Choose a number from below, or type in your own value
27225               1 / Use an existing access grant.
27226                 \ "existing"
27227               2 / Create a new access grant from satellite address, API key, and passphrase.
27228                 \ "new"
27229              provider> new
27230              Satellite Address. Custom satellite address should match the format: `<nodeid>@<address>:<port>`.
27231              Enter a string value. Press Enter for the default ("us-central-1.tardigrade.io").
27232              Choose a number from below, or type in your own value
27233               1 / US Central 1
27234                 \ "us-central-1.tardigrade.io"
27235               2 / Europe West 1
27236                 \ "europe-west-1.tardigrade.io"
27237               3 / Asia East 1
27238                 \ "asia-east-1.tardigrade.io"
27239              satellite_address> 1
27240              API Key.
27241              Enter a string value. Press Enter for the default ("").
27242              api_key> your-api-key-for-your-tardigrade-project
27243              Encryption Passphrase. To access existing objects enter passphrase used for uploading.
27244              Enter a string value. Press Enter for the default ("").
27245              passphrase> your-human-readable-encryption-passphrase
27246              Remote config
27247              --------------------
27248              [remote]
27249              type = tardigrade
27250              satellite_address = 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S@us-central-1.tardigrade.io:7777
27251              api_key = your-api-key-for-your-tardigrade-project
27252              passphrase = your-human-readable-encryption-passphrase
27253              access_grant = the-access-grant-generated-from-the-api-key-and-passphrase
27254              --------------------
27255              y) Yes this is OK (default)
27256              e) Edit this remote
27257              d) Delete this remote
27258              y/e/d> y
27259
27260   Usage
27261       Paths  are specified as remote:bucket (or remote: for the lsf command.)
27262       You may put subdirectories in too, e.g.  remote:bucket/path/to/dir.
27263
27264       Once configured you can then use rclone like this.
27265
27266   Create a new bucket
27267       Use the mkdir command to create new bucket, e.g.  bucket.
27268
27269              rclone mkdir remote:bucket
27270
27271   List all buckets
27272       Use the lsf command to list all buckets.
27273
27274              rclone lsf remote:
27275
27276       Note the colon (:) character at the end of the command line.
27277
27278   Delete a bucket
27279       Use the rmdir command to delete an empty bucket.
27280
27281              rclone rmdir remote:bucket
27282
27283       Use the purge command to delete a non-empty bucket with  all  its  con‐
27284       tent.
27285
27286              rclone purge remote:bucket
27287
27288   Upload objects
27289       Use the copy command to upload an object.
27290
27291              rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/
27292
27293       The  --progress flag is for displaying progress information.  Remove it
27294       if you don't need this information.
27295
27296       Use a folder in the local path to upload all its objects.
27297
27298              rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/
27299
27300       Only modified files will be copied.
27301
27302   List objects
27303       Use the ls command to list recursively all objects in a bucket.
27304
27305              rclone ls remote:bucket
27306
27307       Add the folder to the remote path to list recursively  all  objects  in
27308       this folder.
27309
27310              rclone ls remote:bucket/path/to/dir/
27311
27312       Use  the lsf command to list non-recursively all objects in a bucket or
27313       a folder.
27314
27315              rclone lsf remote:bucket/path/to/dir/
27316
27317   Download objects
27318       Use the copy command to download an object.
27319
27320              rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/
27321
27322       The --progress flag is for displaying progress information.  Remove  it
27323       if you don't need this information.
27324
27325       Use a folder in the remote path to download all its objects.
27326
27327              rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/
27328
27329   Delete objects
27330       Use the deletefile command to delete a single object.
27331
27332              rclone deletefile remote:bucket/path/to/dir/file.ext
27333
27334       Use the delete command to delete all object in a folder.
27335
27336              rclone delete remote:bucket/path/to/dir/
27337
27338   Print the total size of objects
27339       Use  the size command to print the total size of objects in a bucket or
27340       a folder.
27341
27342              rclone size remote:bucket/path/to/dir/
27343
27344   Sync two Locations
27345       Use the sync command to sync the source to  the  destination,  changing
27346       the destination only, deleting any excess files.
27347
27348              rclone sync -i --progress /home/local/directory/ remote:bucket/path/to/dir/
27349
27350       The  --progress flag is for displaying progress information.  Remove it
27351       if you don't need this information.
27352
27353       Since this can cause data loss, test first with the --dry-run  flag  to
27354       see exactly what would be copied and deleted.
27355
27356       The sync can be done also from Tardigrade to the local file system.
27357
27358              rclone sync -i --progress remote:bucket/path/to/dir/ /home/local/directory/
27359
27360       Or between two Tardigrade buckets.
27361
27362              rclone sync -i --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/
27363
27364       Or even between another cloud storage and Tardigrade.
27365
27366              rclone sync -i --progress s3:bucket/path/to/dir/ tardigrade:bucket/path/to/dir/
27367
27368   Standard Options
27369       Here are the standard options specific to tardigrade (Tardigrade Decen‐
27370       tralized Cloud Storage).
27371
27372   --tardigrade-provider
27373       Choose an authentication method.
27374
27375       · Config: provider
27376
27377       · Env Var: RCLONE_TARDIGRADE_PROVIDER
27378
27379       · Type: string
27380
27381       · Default: "existing"
27382
27383       · Examples:
27384
27385         · "existing"
27386
27387           · Use an existing access grant.
27388
27389         · "new"
27390
27391           · Create a new access grant from satellite address,  API  key,  and
27392             passphrase.
27393
27394   --tardigrade-access-grant
27395       Access Grant.
27396
27397       · Config: access_grant
27398
27399       · Env Var: RCLONE_TARDIGRADE_ACCESS_GRANT
27400
27401       · Type: string
27402
27403       · Default: ""
27404
27405   --tardigrade-satellite-address
27406       Satellite  Address.   Custom satellite address should match the format:
27407       <nodeid>@<address>:<port>.
27408
27409       · Config: satellite_address
27410
27411       · Env Var: RCLONE_TARDIGRADE_SATELLITE_ADDRESS
27412
27413       · Type: string
27414
27415       · Default: "us-central-1.tardigrade.io"
27416
27417       · Examples:
27418
27419         · "us-central-1.tardigrade.io"
27420
27421           · US Central 1
27422
27423         · "europe-west-1.tardigrade.io"
27424
27425           · Europe West 1
27426
27427         · "asia-east-1.tardigrade.io"
27428
27429           · Asia East 1
27430
27431   --tardigrade-api-key
27432       API Key.
27433
27434       · Config: api_key
27435
27436       · Env Var: RCLONE_TARDIGRADE_API_KEY
27437
27438       · Type: string
27439
27440       · Default: ""
27441
27442   --tardigrade-passphrase
27443       Encryption Passphrase.  To access  existing  objects  enter  passphrase
27444       used for uploading.
27445
27446       · Config: passphrase
27447
27448       · Env Var: RCLONE_TARDIGRADE_PASSPHRASE
27449
27450       · Type: string
27451
27452       · Default: ""
27453
27454   Limitations
27455       rclone  about is not supported by the rclone Tardigrade backend.  Back‐
27456       ends without this capability cannot determine free space for an  rclone
27457       mount  or  use  policy  mfs  (most free space) as a member of an rclone
27458       union remote.
27459
27460       See   List   of   backends   that   do   not   support   rclone   about
27461       (https://rclone.org/overview/#optional-features)   See   rclone   about
27462       (https://rclone.org/commands/rclone_about/)
27463
27464   Union
27465       The union remote provides a unification similar to UnionFS using  other
27466       remotes.
27467
27468       Paths may be as deep as required or a local path, e.g.  remote:directo‐
27469       ry/subdirectory or /directory/subdirectory.
27470
27471       During the initial setup with rclone config you will  specify  the  up‐
27472       stream remotes as a space separated list.  The upstream remotes can ei‐
27473       ther be a local paths or other remotes.
27474
27475       Attribute :ro and :nc can be attach to the end of path to tag  the  re‐
27476       mote  as read only or no create, e.g.  remote:directory/subdirectory:ro
27477       or remote:directory/subdirectory:nc.
27478
27479       Subfolders can be used in upstream  remotes.   Assume  a  union  remote
27480       named  backup with the remotes mydrive:private/backup.  Invoking rclone
27481       mkdir backup:desktop is exactly the same as invoking rclone  mkdir  my‐
27482       drive:private/backup/desktop.
27483
27484       There  will  be  no  special handling of paths containing ..  segments.
27485       Invoking rclone mkdir backup:../desktop is exactly the same as invoking
27486       rclone mkdir mydrive:private/backup/../desktop.
27487
27488   Behavior / Policies
27489       The   behavior  of  union  backend  is  inspired  by  trapexit/mergerfs
27490       (https://github.com/trapexit/mergerfs).  All functions are grouped into
27491       3  categories:  action,  create  and search.  These functions and cate‐
27492       gories can be assigned a policy which dictates what file  or  directory
27493       is chosen when performing that behavior.  Any policy can be assigned to
27494       a function or category though some may not be very useful in  practice.
27495       For  instance:  rand  (random) may be useful for file creation (create)
27496       but could lead to very odd behavior if used for delete  if  there  were
27497       more than one copy of the file.
27498
27499   Function / Category classifications
27500       Cate‐    Description       Functions
27501       gory
27502       ─────────────────────────────────────────────────────────────────────────────
27503       action   Writing  Exist‐   move, rmdir, rmdirs, delete, purge and copy, sync
27504                ing file          (as destination when file exist)
27505       create   Create  non-ex‐   copy, sync (as destination when file not exist)
27506                isting file
27507       search   Reading     and   ls, lsd, lsl, cat, md5sum, sha1sum and copy, sync
27508                listing file      (as source)
27509       N/A                        size, about
27510
27511   Path Preservation
27512       Policies,  as described below, are of two basic types.  path preserving
27513       and non-path preserving.
27514
27515       All policies which start with ep (epff, eplfs,  eplus,  epmfs,  eprand)
27516       are path preserving.  ep stands for existing path.
27517
27518       A  path  preserving policy will only consider upstreams where the rela‐
27519       tive path being accessed already exists.
27520
27521       When using non-path preserving policies paths will be created in target
27522       upstreams as necessary.
27523
27524   Quota Relevant Policies
27525       Some policies rely on quota information.  These policies should be used
27526       only if your upstreams support the respective quota fields.
27527
27528       Policy       Required Field
27529       ────────────────────────────
27530       lfs, eplfs   Free
27531       mfs, epmfs   Free
27532       lus, eplus   Used
27533       lno, eplno   Objects
27534
27535       To check if your upstream supports the field, run rclone about  remote:
27536       [flags] and see if the required field exists.
27537
27538   Filters
27539       Policies basically search upstream remotes and create a list of files /
27540       paths for functions to work on.  The policy is responsible for  filter‐
27541       ing  and sorting.  The policy type defines the sorting but filtering is
27542       mostly uniform as described below.
27543
27544       · No search policies filter.
27545
27546       · All action policies will filter  out  remotes  which  are  tagged  as
27547         read-only.
27548
27549       · All create policies will filter out remotes which are tagged read-on‐
27550         ly or no-create.
27551
27552       If all remotes are filtered an error will be returned.
27553
27554   Policy descriptions
27555       The   policies   definition   are   inspired    by    trapexit/mergerfs
27556       (https://github.com/trapexit/mergerfs)  but not exactly the same.  Some
27557       policy definition could be different due to the much larger latency  of
27558       remote file systems.
27559
27560       Policy             Description
27561       ──────────────────────────────────────────────────────────────────────────
27562       all                Search category: same as epall.  Action category: same
27563                          as epall.  Create category: act on all upstreams.
27564       epall  (existing   Search  category:  Given this order configured, act on
27565       path, all)         the first one found where the  relative  path  exists.
27566                          Action category: apply to all found.  Create category:
27567                          act on all upstreams where the relative path exists.
27568       epff   (existing   Act on the first one found, by the time upstreams  re‐
27569       path,      first   ply, where the relative path exists.
27570       found)
27571       eplfs  (existing   Of all the upstreams on which the relative path exists
27572       path, least free   choose the one with the least free space.
27573       space)
27574       eplus  (existing   Of all the upstreams on which the relative path exists
27575       path, least used   choose the one with the least used space.
27576       space)
27577       eplno  (existing   Of all the upstreams on which the relative path exists
27578       path, least num‐   choose the one with the least number of objects.
27579       ber of objects)
27580       epmfs  (existing   Of all the upstreams on which the relative path exists
27581       path,  most free   choose the one with the most free space.
27582       space)
27583       eprand (existing   Calls epall and then randomizes.  Returns only one up‐
27584       path, random)      stream.
27585       ff (first found)   Search  category: same as epff.  Action category: same
27586                          as epff.  Create category: Act on the first one  found
27587                          by the time upstreams reply.
27588       lfs  (least free   Search category: same as eplfs.  Action category: same
27589       space)             as eplfs.  Create category: Pick the upstream with the
27590                          least available free space.
27591       lus (least  used   Search category: same as eplus.  Action category: same
27592       space)             as eplus.  Create category: Pick the upstream with the
27593                          least used space.
27594       lno  (least num‐   Search category: same as eplno.  Action category: same
27595       ber of objects)    as eplno.  Create category: Pick the upstream with the
27596                          least number of objects.
27597       mfs  (most  free   Search category: same as epmfs.  Action category: same
27598       space)             as epmfs.  Create category: Pick the upstream with the
27599                          most available free space.
27600       newest             Pick the file / directory with the largest mtime.
27601       rand (random)      Calls  all  and then randomizes.  Returns only one up‐
27602                          stream.
27603
27604   Setup
27605       Here is an example of how to make a union called remote for local fold‐
27606       ers.  First run:
27607
27608               rclone config
27609
27610       This will guide you through an interactive setup process:
27611
27612              No remotes found - make a new one
27613              n) New remote
27614              s) Set configuration password
27615              q) Quit config
27616              n/s/q> n
27617              name> remote
27618              Type of storage to configure.
27619              Choose a number from below, or type in your own value
27620              [snip]
27621              XX / Union merges the contents of several remotes
27622                 \ "union"
27623              [snip]
27624              Storage> union
27625              List of space separated upstreams.
27626              Can be 'upstreama:test/dir upstreamb:', '\"upstreama:test/space:ro dir\" upstreamb:', etc.
27627              Enter a string value. Press Enter for the default ("").
27628              upstreams> remote1:dir1 remote2:dir2 remote3:dir3
27629              Policy to choose upstream on ACTION class.
27630              Enter a string value. Press Enter for the default ("epall").
27631              action_policy>
27632              Policy to choose upstream on CREATE class.
27633              Enter a string value. Press Enter for the default ("epmfs").
27634              create_policy>
27635              Policy to choose upstream on SEARCH class.
27636              Enter a string value. Press Enter for the default ("ff").
27637              search_policy>
27638              Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used.
27639              Enter a signed integer. Press Enter for the default ("120").
27640              cache_time>
27641              Remote config
27642              --------------------
27643              [remote]
27644              type = union
27645              upstreams = remote1:dir1 remote2:dir2 remote3:dir3
27646              --------------------
27647              y) Yes this is OK
27648              e) Edit this remote
27649              d) Delete this remote
27650              y/e/d> y
27651              Current remotes:
27652
27653              Name                 Type
27654              ====                 ====
27655              remote               union
27656
27657              e) Edit existing remote
27658              n) New remote
27659              d) Delete remote
27660              r) Rename remote
27661              c) Copy remote
27662              s) Set configuration password
27663              q) Quit config
27664              e/n/d/r/c/s/q> q
27665
27666       Once configured you can then use rclone like this,
27667
27668       List  directories  in  top  level in remote1:dir1, remote2:dir2 and re‐
27669       mote3:dir3
27670
27671              rclone lsd remote:
27672
27673       List all the files in remote1:dir1, remote2:dir2 and remote3:dir3
27674
27675              rclone ls remote:
27676
27677       Copy another local directory to  the  union  directory  called  source,
27678       which will be placed into remote3:dir3
27679
27680              rclone copy C:\source remote:source
27681
27682   Standard Options
27683       Here  are the standard options specific to union (Union merges the con‐
27684       tents of several upstream fs).
27685
27686   --union-upstreams
27687       List of space separated  upstreams.   Can  be  'upstreama:test/dir  up‐
27688       streamb:', '"upstreama:test/space:ro dir" upstreamb:', etc.
27689
27690       · Config: upstreams
27691
27692       · Env Var: RCLONE_UNION_UPSTREAMS
27693
27694       · Type: string
27695
27696       · Default: ""
27697
27698   --union-action-policy
27699       Policy to choose upstream on ACTION category.
27700
27701       · Config: action_policy
27702
27703       · Env Var: RCLONE_UNION_ACTION_POLICY
27704
27705       · Type: string
27706
27707       · Default: "epall"
27708
27709   --union-create-policy
27710       Policy to choose upstream on CREATE category.
27711
27712       · Config: create_policy
27713
27714       · Env Var: RCLONE_UNION_CREATE_POLICY
27715
27716       · Type: string
27717
27718       · Default: "epmfs"
27719
27720   --union-search-policy
27721       Policy to choose upstream on SEARCH category.
27722
27723       · Config: search_policy
27724
27725       · Env Var: RCLONE_UNION_SEARCH_POLICY
27726
27727       · Type: string
27728
27729       · Default: "ff"
27730
27731   --union-cache-time
27732       Cache  time  of usage and free space (in seconds).  This option is only
27733       useful when a path preserving policy is used.
27734
27735       · Config: cache_time
27736
27737       · Env Var: RCLONE_UNION_CACHE_TIME
27738
27739       · Type: int
27740
27741       · Default: 120
27742
27743   WebDAV
27744       Paths are specified as remote:path
27745
27746       Paths may be as deep as required, e.g.  remote:directory/subdirectory.
27747
27748       To configure the WebDAV remote you will need to have a URL for it,  and
27749       a  username and password.  If you know what kind of system you are con‐
27750       necting to then rclone can enable extra features.
27751
27752       Here is an example of how to make a remote called remote.  First run:
27753
27754               rclone config
27755
27756       This will guide you through an interactive setup process:
27757
27758              No remotes found - make a new one
27759              n) New remote
27760              s) Set configuration password
27761              q) Quit config
27762              n/s/q> n
27763              name> remote
27764              Type of storage to configure.
27765              Choose a number from below, or type in your own value
27766              [snip]
27767              XX / Webdav
27768                 \ "webdav"
27769              [snip]
27770              Storage> webdav
27771              URL of http host to connect to
27772              Choose a number from below, or type in your own value
27773               1 / Connect to example.com
27774                 \ "https://example.com"
27775              url> https://example.com/remote.php/webdav/
27776              Name of the Webdav site/service/software you are using
27777              Choose a number from below, or type in your own value
27778               1 / Nextcloud
27779                 \ "nextcloud"
27780               2 / Owncloud
27781                 \ "owncloud"
27782               3 / Sharepoint
27783                 \ "sharepoint"
27784               4 / Other site/service or software
27785                 \ "other"
27786              vendor> 1
27787              User name
27788              user> user
27789              Password.
27790              y) Yes type in my own password
27791              g) Generate random password
27792              n) No leave this optional password blank
27793              y/g/n> y
27794              Enter the password:
27795              password:
27796              Confirm the password:
27797              password:
27798              Bearer token instead of user/pass (e.g. a Macaroon)
27799              bearer_token>
27800              Remote config
27801              --------------------
27802              [remote]
27803              type = webdav
27804              url = https://example.com/remote.php/webdav/
27805              vendor = nextcloud
27806              user = user
27807              pass = *** ENCRYPTED ***
27808              bearer_token =
27809              --------------------
27810              y) Yes this is OK
27811              e) Edit this remote
27812              d) Delete this remote
27813              y/e/d> y
27814
27815       Once configured you can then use rclone like this,
27816
27817       List directories in top level of your WebDAV
27818
27819              rclone lsd remote:
27820
27821       List all the files in your WebDAV
27822
27823              rclone ls remote:
27824
27825       To copy a local directory to an WebDAV directory called backup
27826
27827              rclone copy /home/source remote:backup
27828
27829   Modified time and hashes
27830       Plain WebDAV does not support modified times.  However when  used  with
27831       Owncloud or Nextcloud rclone will support modified times.
27832
27833       Likewise  plain  WebDAV does not support hashes, however when used with
27834       Owncloud or Nextcloud rclone will support SHA1 and MD5 hashes.  Depend‐
27835       ing  on the exact version of Owncloud or Nextcloud hashes may appear on
27836       all objects, or only on objects which had a hash uploaded with them.
27837
27838   Standard Options
27839       Here are the standard options specific to webdav (Webdav).
27840
27841   --webdav-url
27842       URL of http host to connect to
27843
27844       · Config: url
27845
27846       · Env Var: RCLONE_WEBDAV_URL
27847
27848       · Type: string
27849
27850       · Default: ""
27851
27852       · Examples:
27853
27854         · "https://example.com"
27855
27856           · Connect to example.com
27857
27858   --webdav-vendor
27859       Name of the Webdav site/service/software you are using
27860
27861       · Config: vendor
27862
27863       · Env Var: RCLONE_WEBDAV_VENDOR
27864
27865       · Type: string
27866
27867       · Default: ""
27868
27869       · Examples:
27870
27871         · "nextcloud"
27872
27873           · Nextcloud
27874
27875         · "owncloud"
27876
27877           · Owncloud
27878
27879         · "sharepoint"
27880
27881           · Sharepoint
27882
27883         · "other"
27884
27885           · Other site/service or software
27886
27887   --webdav-user
27888       User name
27889
27890       · Config: user
27891
27892       · Env Var: RCLONE_WEBDAV_USER
27893
27894       · Type: string
27895
27896       · Default: ""
27897
27898   --webdav-pass
27899       Password.
27900
27901       NB  Input  to  this   must   be   obscured   -   see   rclone   obscure
27902       (https://rclone.org/commands/rclone_obscure/).
27903
27904       · Config: pass
27905
27906       · Env Var: RCLONE_WEBDAV_PASS
27907
27908       · Type: string
27909
27910       · Default: ""
27911
27912   --webdav-bearer-token
27913       Bearer token instead of user/pass (e.g.  a Macaroon)
27914
27915       · Config: bearer_token
27916
27917       · Env Var: RCLONE_WEBDAV_BEARER_TOKEN
27918
27919       · Type: string
27920
27921       · Default: ""
27922
27923   Advanced Options
27924       Here are the advanced options specific to webdav (Webdav).
27925
27926   --webdav-bearer-token-command
27927       Command to run to get a bearer token
27928
27929       · Config: bearer_token_command
27930
27931       · Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND
27932
27933       · Type: string
27934
27935       · Default: ""
27936
27937   Provider notes
27938       See below for notes on specific providers.
27939
27940   Owncloud
27941       Click on the settings cog in the bottom right of the page and this will
27942       show the WebDAV URL that rclone needs in the config step.  It will look
27943       something like https://example.com/remote.php/webdav/.
27944
27945       Owncloud supports modified times using the X-OC-Mtime header.
27946
27947   Nextcloud
27948       This  is  configured  in  an  identical  way  to  Owncloud.   Note that
27949       Nextcloud initially did not support streaming of files  (rcat)  whereas
27950       Owncloud did, but this (https://github.com/nextcloud/nextcloud-snap/is
27951       sues/365) seems to be  fixed  as  of  2020-11-27  (tested  with  rclone
27952       v1.53.1 and Nextcloud Server v19).
27953
27954   Sharepoint
27955       Rclone can be used with Sharepoint provided by OneDrive for Business or
27956       Office365 Education Accounts.  This feature is only needed for a few of
27957       these  Accounts,  mostly  Office365 Education ones.  These accounts are
27958       sometimes   not   verified   by   the    domain    owner    github#1975
27959       (https://github.com/rclone/rclone/issues/1975)
27960
27961       This  means  that  these accounts can't be added using the official API
27962       (other Accounts should work with the "onedrive" option).   However,  it
27963       is possible to access them using webdav.
27964
27965       To  use  a  sharepoint remote with rclone, add it like this: First, you
27966       need to get your remote's URL:
27967
27968       · Go here (https://onedrive.live.com/about/en-us/signin/) to open  your
27969         OneDrive or to sign in
27970
27971       · Now  take  a look at your address bar, the URL should look like this:
27972         https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_lay‐
27973         outs/15/onedrive.aspx
27974
27975       You'll  only need this URL up to the email address.  After that, you'll
27976       most likely want to add "/Documents".  That subdirectory  contains  the
27977       actual data stored on your OneDrive.
27978
27979       Add   the   remote   to   rclone   like  this:  Configure  the  url  as
27980       https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
27981       and  use  your normal account email and password for user and pass.  If
27982       you have 2FA enabled, you have to generate an app  password.   Set  the
27983       vendor to sharepoint.
27984
27985       Your config file should look like this:
27986
27987              [sharepoint]
27988              type = webdav
27989              url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents
27990              vendor = other
27991              user = YourEmailAddress
27992              pass = encryptedpassword
27993
27994   Required Flags for SharePoint
27995       As  SharePoint  does  some  special things with uploaded documents, you
27996       won't be able to use the documents size or the documents hash  to  com‐
27997       pare if a file has been changed since the upload / which file is newer.
27998
27999       For  Rclone calls copying files (especially Office files such as .docx,
28000       .xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should ap‐
28001       pend  these  flags  to  ensure Rclone uses the "Last Modified" datetime
28002       property to compare your documents:
28003
28004              --ignore-size --ignore-checksum --update
28005
28006   dCache
28007       dCache is a storage system that supports many protocols and authentica‐
28008       tion/authorisation schemes.  For WebDAV clients, it allows users to au‐
28009       thenticate with username and password  (BASIC),  X.509,  Kerberos,  and
28010       various bearer tokens, including Macaroons (https://www.dcache.org/man
28011       uals/workshop-2017-05-29-Umea/000-Final/anupam_macaroons_v02.pdf)   and
28012       OpenID-Connect   (https://en.wikipedia.org/wiki/OpenID_Connect)  access
28013       tokens.
28014
28015       Configure as normal using the other type.  Don't enter  a  username  or
28016       password, instead enter your Macaroon as the bearer_token.
28017
28018       The config will end up looking something like this.
28019
28020              [dcache]
28021              type = webdav
28022              url = https://dcache...
28023              vendor = other
28024              user =
28025              pass =
28026              bearer_token = your-macaroon
28027
28028       There  is  a  script  (https://github.com/sara-nl/GridScripts/blob/mas
28029       ter/get-macaroon) that obtains a Macaroon from  a  dCache  WebDAV  end‐
28030       point, and creates an rclone config file.
28031
28032       Macaroons   may   also  be  obtained  from  the  dCacheView  web-brows‐
28033       er/JavaScript client that comes with dCache.
28034
28035   OpenID-Connect
28036       dCache also supports authenticating with OpenID-Connect access  tokens.
28037       OpenID-Connect  is a protocol (based on OAuth 2.0) that allows services
28038       to identify users who have authenticated with some central service.
28039
28040       Support for OpenID-Connect in rclone is currently achieved using anoth‐
28041       er   software  package  called  oidc-agent  (https://github.com/indigo-
28042       dc/oidc-agent).  This is a command-line tool that facilitates obtaining
28043       an access token.  Once installed and configured, an access token is ob‐
28044       tained by running the oidc-token command.  The following example  shows
28045       a (shortened) access token obtained from the XDC OIDC Provider.
28046
28047              paul@celebrimbor:~$ oidc-token XDC
28048              eyJraWQ[...]QFXDt0
28049              paul@celebrimbor:~$
28050
28051       Note Before the oidc-token command will work, the refresh token must be
28052       loaded into the oidc agent.  This is done  with  the  oidc-add  command
28053       (e.g.,  oidc-add  XDC).  This is typically done once per login session.
28054       Full details on this and how to  register  oidc-agent  with  your  OIDC
28055       Provider  are provided in the oidc-agent documentation (https://indigo-
28056       dc.gitbooks.io/oidc-agent/).
28057
28058       The rclone bearer_token_command configuration option is used  to  fetch
28059       the access token from oidc-agent.
28060
28061       Configure  as a normal WebDAV endpoint, using the 'other' vendor, leav‐
28062       ing the username and password empty.  When prompted, choose to edit the
28063       advanced  config  and  enter  the  command to get a bearer token (e.g.,
28064       oidc-agent XDC).
28065
28066       The  following  example  config  shows  a  WebDAV  endpoint  that  uses
28067       oidc-agent to supply an access token from the XDC OIDC Provider.
28068
28069              [dcache]
28070              type = webdav
28071              url = https://dcache.example.org/
28072              vendor = other
28073              bearer_token_command = oidc-token XDC
28074
28075   Yandex Disk
28076       Yandex  Disk (https://disk.yandex.com) is a cloud storage solution cre‐
28077       ated by Yandex (https://yandex.com).
28078
28079       Here is an example of making a yandex configuration.  First run
28080
28081              rclone config
28082
28083       This will guide you through an interactive setup process:
28084
28085              No remotes found - make a new one
28086              n) New remote
28087              s) Set configuration password
28088              n/s> n
28089              name> remote
28090              Type of storage to configure.
28091              Choose a number from below, or type in your own value
28092              [snip]
28093              XX / Yandex Disk
28094                 \ "yandex"
28095              [snip]
28096              Storage> yandex
28097              Yandex Client Id - leave blank normally.
28098              client_id>
28099              Yandex Client Secret - leave blank normally.
28100              client_secret>
28101              Remote config
28102              Use auto config?
28103               * Say Y if not sure
28104               * Say N if you are working on a remote or headless machine
28105              y) Yes
28106              n) No
28107              y/n> y
28108              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
28109              Log in and authorize rclone for access
28110              Waiting for code...
28111              Got code
28112              --------------------
28113              [remote]
28114              client_id =
28115              client_secret =
28116              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"bearer","expiry":"2016-12-29T12:27:11.362788025Z"}
28117              --------------------
28118              y) Yes this is OK
28119              e) Edit this remote
28120              d) Delete this remote
28121              y/e/d> y
28122
28123       See the remote setup docs (https://rclone.org/remote_setup/) for how to
28124       set it up on a machine with no Internet browser available.
28125
28126       Note  that rclone runs a webserver on your local machine to collect the
28127       token as returned from Yandex Disk.  This only runs from the moment  it
28128       opens  your  browser  to the moment you get back the verification code.
28129       This is on http://127.0.0.1:53682/ and this it may require you  to  un‐
28130       block it temporarily if you are running a host firewall.
28131
28132       Once configured you can then use rclone like this,
28133
28134       See top level directories
28135
28136              rclone lsd remote:
28137
28138       Make a new directory
28139
28140              rclone mkdir remote:directory
28141
28142       List the contents of a directory
28143
28144              rclone ls remote:directory
28145
28146       Sync  /home/local/directory  to  the  remote  path, deleting any excess
28147       files in the path.
28148
28149              rclone sync -i /home/local/directory remote:directory
28150
28151       Yandex paths may be as deep as required, e.g.   remote:directory/subdi‐
28152       rectory.
28153
28154   Modified time
28155       Modified  times are supported and are stored accurate to 1 ns in custom
28156       metadata called rclone_modified in RFC3339 with nanoseconds format.
28157
28158   MD5 checksums
28159       MD5 checksums are natively supported by Yandex Disk.
28160
28161   Emptying Trash
28162       If you wish to empty your trash you can use the rclone cleanup  remote:
28163       command  which  will  permanently  delete all your trashed files.  This
28164       command does not take any path arguments.
28165
28166   Quota information
28167       To view your current quota you can use the rclone about remote: command
28168       which will display your usage limit (quota) and the current usage.
28169
28170   Restricted filename characters
28171       The default restricted characters set (https://rclone.org/overview/#re‐
28172       stricted-characters) are replaced.
28173
28174       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
28175       view/#invalid-utf8), as they can't be used in JSON strings.
28176
28177   Limitations
28178       When  uploading  very large files (bigger than about 5GB) you will need
28179       to increase the --timeout parameter.  This  is  because  Yandex  pauses
28180       (perhaps  to calculate the MD5SUM for the entire file) before returning
28181       confirmation that the file has been uploaded.  The default handling  of
28182       timeouts  in rclone is to assume a 5 minute pause is an error and close
28183       the connection - you'll see net/http: timeout awaiting response headers
28184       errors  in the logs if this is happening.  Setting the timeout to twice
28185       the max size of file in GB should be enough, so if you want to upload a
28186       30GB file set a timeout of 2 * 30 = 60m, that is --timeout 60m.
28187
28188   Standard Options
28189       Here are the standard options specific to yandex (Yandex Disk).
28190
28191   --yandex-client-id
28192       OAuth Client Id Leave blank normally.
28193
28194       · Config: client_id
28195
28196       · Env Var: RCLONE_YANDEX_CLIENT_ID
28197
28198       · Type: string
28199
28200       · Default: ""
28201
28202   --yandex-client-secret
28203       OAuth Client Secret Leave blank normally.
28204
28205       · Config: client_secret
28206
28207       · Env Var: RCLONE_YANDEX_CLIENT_SECRET
28208
28209       · Type: string
28210
28211       · Default: ""
28212
28213   Advanced Options
28214       Here are the advanced options specific to yandex (Yandex Disk).
28215
28216   --yandex-token
28217       OAuth Access Token as a JSON blob.
28218
28219       · Config: token
28220
28221       · Env Var: RCLONE_YANDEX_TOKEN
28222
28223       · Type: string
28224
28225       · Default: ""
28226
28227   --yandex-auth-url
28228       Auth server URL.  Leave blank to use the provider defaults.
28229
28230       · Config: auth_url
28231
28232       · Env Var: RCLONE_YANDEX_AUTH_URL
28233
28234       · Type: string
28235
28236       · Default: ""
28237
28238   --yandex-token-url
28239       Token server url.  Leave blank to use the provider defaults.
28240
28241       · Config: token_url
28242
28243       · Env Var: RCLONE_YANDEX_TOKEN_URL
28244
28245       · Type: string
28246
28247       · Default: ""
28248
28249   --yandex-encoding
28250       This sets the encoding for the backend.
28251
28252       See:  the  encoding  section  in the overview (https://rclone.org/over
28253       view/#encoding) for more info.
28254
28255       · Config: encoding
28256
28257       · Env Var: RCLONE_YANDEX_ENCODING
28258
28259       · Type: MultiEncoder
28260
28261       · Default: Slash,Del,Ctl,InvalidUtf8,Dot
28262
28263   Zoho Workdrive
28264       Zoho WorkDrive (https://www.zoho.com/workdrive/) is a cloud storage so‐
28265       lution created by Zoho (https://zoho.com).
28266
28267       Here is an example of making a zoho configuration.  First run
28268
28269              rclone config
28270
28271       This will guide you through an interactive setup process:
28272
28273              No remotes found - make a new one
28274              n) New remote
28275              s) Set configuration password
28276              n/s> n
28277              name> remote
28278              Type of storage to configure.
28279              Enter a string value. Press Enter for the default ("").
28280              Choose a number from below, or type in your own value
28281              [snip]
28282              XX / Zoho
28283                 \ "zoho"
28284              [snip]
28285              Storage> zoho
28286              ** See help for zoho backend at: https://rclone.org/zoho/ **
28287
28288              OAuth Client Id
28289              Leave blank normally.
28290              Enter a string value. Press Enter for the default ("").
28291              client_id>
28292              OAuth Client Secret
28293              Leave blank normally.
28294              Enter a string value. Press Enter for the default ("").
28295              client_secret>
28296              Edit advanced config? (y/n)
28297              y) Yes
28298              n) No (default)
28299              y/n> n
28300              Remote config
28301              Use auto config?
28302               * Say Y if not sure
28303               * Say N if you are working on a remote or headless machine
28304              y) Yes (default)
28305              n) No
28306              y/n>
28307              If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ
28308              Log in and authorize rclone for access
28309              Waiting for code...
28310              Got code
28311              Choose a number from below, or type in your own value
28312               1 / MyTeam
28313                 \ "4u28602177065ff22426787a6745dba8954eb"
28314              Enter a Team ID> 1
28315              Choose a number from below, or type in your own value
28316               1 / General
28317                 \ "4u2869d2aa6fca04f4f2f896b6539243b85b1"
28318              Enter a Workspace ID> 1
28319              --------------------
28320              [remote]
28321              type = zoho
28322              token = {"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Zoho-oauthtoken","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expiry":"2020-10-12T00:54:52.370275223+02:00"}
28323              root_folder_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
28324              --------------------
28325              y) Yes this is OK (default)
28326              e) Edit this remote
28327              d) Delete this remote
28328              y/e/d>
28329
28330       See the remote setup docs (https://rclone.org/remote_setup/) for how to
28331       set it up on a machine with no Internet browser available.
28332
28333       Note that rclone runs a webserver on your local machine to collect  the
28334       token  as returned from Zoho Workdrive.  This only runs from the moment
28335       it opens your browser to the moment you get back the verification code.
28336       This  is  on http://127.0.0.1:53682/ and this it may require you to un‐
28337       block it temporarily if you are running a host firewall.
28338
28339       Once configured you can then use rclone like this,
28340
28341       See top level directories
28342
28343              rclone lsd remote:
28344
28345       Make a new directory
28346
28347              rclone mkdir remote:directory
28348
28349       List the contents of a directory
28350
28351              rclone ls remote:directory
28352
28353       Sync /home/local/directory to the  remote  path,  deleting  any  excess
28354       files in the path.
28355
28356              rclone sync -i /home/local/directory remote:directory
28357
28358       Zoho  paths may be as deep as required, eg remote:directory/subdirecto‐
28359       ry.
28360
28361   Modified time
28362       Modified times are currently not supported for Zoho Workdrive
28363
28364   Checksums
28365       No checksums are supported.
28366
28367   Usage information
28368       To view your current quota you can use the rclone about remote: command
28369       which will display your current usage.
28370
28371   Restricted filename characters
28372       Only  control  characters  and invalid UTF-8 are replaced.  In addition
28373       most Unicode full-width characters are not supported at all and will be
28374       removed from filenames during upload.
28375
28376   Standard Options
28377       Here are the standard options specific to zoho (Zoho).
28378
28379   --zoho-region
28380       Zoho region to connect to.  You'll have to use the region you organiza‐
28381       tion is registered in.
28382
28383       · Config: region
28384
28385       · Env Var: RCLONE_ZOHO_REGION
28386
28387       · Type: string
28388
28389       · Default: ""
28390
28391       · Examples:
28392
28393         · "com"
28394
28395           · United states / Global
28396
28397         · "eu"
28398
28399           · Europe
28400
28401         · "in"
28402
28403           · India
28404
28405         · "com.au"
28406
28407           · Australia
28408
28409   Advanced Options
28410       Here are the advanced options specific to zoho (Zoho).
28411
28412   --zoho-encoding
28413       This sets the encoding for the backend.
28414
28415       See: the encoding section  in  the  overview  (https://rclone.org/over
28416       view/#encoding) for more info.
28417
28418       · Config: encoding
28419
28420       · Env Var: RCLONE_ZOHO_ENCODING
28421
28422       · Type: MultiEncoder
28423
28424       · Default: Del,Ctl,InvalidUtf8
28425
28426   Local Filesystem
28427       Local   paths   are   specified   as   normal  filesystem  paths,  e.g.
28428       /path/to/wherever, so
28429
28430              rclone sync -i /home/source /tmp/destination
28431
28432       Will sync /home/source to /tmp/destination
28433
28434       These can be configured into the config file  for  consistencies  sake,
28435       but it is probably easier not to.
28436
28437   Modified time
28438       Rclone  reads and writes the modified time using an accuracy determined
28439       by the OS.  Typically this is 1ns on Linux, 10 ns on Windows and 1 Sec‐
28440       ond on OS X.
28441
28442   Filenames
28443       Filenames  should be encoded in UTF-8 on disk.  This is the normal case
28444       for Windows and OS X.
28445
28446       There is a bit more uncertainty in the Linux world, but  new  distribu‐
28447       tions  will  have  UTF-8  encoded files names.  If you are using an old
28448       Linux filesystem with non UTF-8 file names (e.g.  latin1) then you  can
28449       use  the  convmv tool to convert the filesystem to UTF-8.  This tool is
28450       available in most distributions' package managers.
28451
28452       If an invalid (non-UTF8) filename is read, the invalid characters  will
28453       be  replaced  with  a  quoted representation of the invalid bytes.  The
28454       name gro\xdf will be transferred as gro‛DF.  rclone will emit  a  debug
28455       message in this case (use -v to see), e.g.
28456
28457              Local file system at .: Replacing invalid UTF-8 characters in "gro\xdf"
28458
28459   Restricted characters
28460       On  non  Windows  platforms  the following characters are replaced when
28461       handling file names.
28462
28463       Character   Value   Replacement
28464       ────────────────────────────────
28465       NUL         0x00         ␀
28466       /           0x2F        /
28467
28468       When running on Windows the following characters  are  replaced.   This
28469       list  is based on the Windows file naming conventions (https://docs.mi
28470       crosoft.com/de-de/windows/desktop/FileIO/naming-a-file#naming-conven‐
28471       tions).
28472
28473       Character   Value   Replacement
28474       ────────────────────────────────
28475       NUL         0x00         ␀
28476       SOH         0x01         ␁
28477       STX         0x02         ␂
28478       ETX         0x03         ␃
28479       EOT         0x04         ␄
28480       ENQ         0x05         ␅
28481       ACK         0x06         ␆
28482       BEL         0x07         ␇
28483       BS          0x08         ␈
28484       HT          0x09         ␉
28485       LF          0x0A         ␊
28486       VT          0x0B         ␋
28487       FF          0x0C         ␌
28488       CR          0x0D         ␍
28489       SO          0x0E         ␎
28490       SI          0x0F         ␏
28491       DLE         0x10         ␐
28492       DC1         0x11         ␑
28493       DC2         0x12         ␒
28494       DC3         0x13         ␓
28495       DC4         0x14         ␔
28496       NAK         0x15         ␕
28497       SYN         0x16         ␖
28498       ETB         0x17         ␗
28499       CAN         0x18         ␘
28500       EM          0x19         ␙
28501       SUB         0x1A         ␚
28502       ESC         0x1B         ␛
28503       FS          0x1C         ␜
28504       GS          0x1D         ␝
28505       RS          0x1E         ␞
28506       US          0x1F         ␟
28507       /           0x2F        /
28508       "           0x22        "
28509       *           0x2A        *
28510       :           0x3A        :
28511       <           0x3C        <
28512       >           0x3E        >
28513       ?           0x3F        ?
28514       \           0x5C        \
28515       |           0x7C        |
28516
28517       File  names  on Windows can also not end with the following characters.
28518       These only get replaced if they are the last character in the name:
28519
28520       Character   Value   Replacement
28521       ────────────────────────────────
28522       SP          0x20         ␠
28523       .           0x2E        .
28524
28525       Invalid UTF-8 bytes will  also  be  replaced  (https://rclone.org/over
28526       view/#invalid-utf8), as they can't be converted to UTF-16.
28527
28528   Long paths on Windows
28529       Rclone  handles  long  paths  automatically, by converting all paths to
28530       long UNC paths  (https://msdn.microsoft.com/en-us/library/windows/desk
28531       top/aa365247(v=vs.85).aspx#maxpath)  which  allows  paths  up to 32,767
28532       characters.
28533
28534       This is why you will see that your paths, for instance c:\files is con‐
28535       verted  to  the UNC path \\?\c:\files in the output, and \\server\share
28536       is converted to \\?\UNC\server\share.
28537
28538       However, in rare cases this may cause problems with buggy  file  system
28539       drivers  like  EncFS (https://github.com/rclone/rclone/issues/261).  To
28540       disable UNC conversion globally, add this to your .rclone.conf file:
28541
28542              [local]
28543              nounc = true
28544
28545       If you want to selectively disable UNC, you can add it  to  a  separate
28546       entry like this:
28547
28548              [nounc]
28549              type = local
28550              nounc = true
28551
28552       And use rclone like this:
28553
28554       rclone copy c:\src nounc:z:\dst
28555
28556       This  will  use  UNC paths on c:\src but not on z:\dst.  Of course this
28557       will cause problems if the absolute path length of a file  exceeds  258
28558       characters on z, so only use this option if you have to.
28559
28560   Symlinks / Junction points
28561       Normally  rclone  will ignore symlinks or junction points (which behave
28562       like symlinks under Windows).
28563
28564       If you supply --copy-links or -L then rclone will  follow  the  symlink
28565       and  copy the pointed to file or directory.  Note that this flag is in‐
28566       compatible with -links / -l.
28567
28568       This flag applies to all commands.
28569
28570       For example, supposing you have a directory structure like this
28571
28572              $ tree /tmp/a
28573              /tmp/a
28574              ├── b -> ../b
28575              ├── expected -> ../expected
28576              ├── one
28577              └── two
28578                  └── three
28579
28580       Then you can see the difference with and without the flag like this
28581
28582              $ rclone ls /tmp/a
28583                      6 one
28584                      6 two/three
28585
28586       and
28587
28588              $ rclone -L ls /tmp/a
28589                   4174 expected
28590                      6 one
28591                      6 two/three
28592                      6 b/two
28593                      6 b/one
28594
28595   --links, -l
28596       Normally rclone will ignore symlinks or junction points  (which  behave
28597       like symlinks under Windows).
28598
28599       If  you  supply this flag then rclone will copy symbolic links from the
28600       local storage, and store them as text files, with a '.rclonelink'  suf‐
28601       fix in the remote storage.
28602
28603       The  text  file will contain the target of the symbolic link (see exam‐
28604       ple).
28605
28606       This flag applies to all commands.
28607
28608       For example, supposing you have a directory structure like this
28609
28610              $ tree /tmp/a
28611              /tmp/a
28612              ├── file1 -> ./file4
28613              └── file2 -> /home/user/file3
28614
28615       Copying the entire directory with '-l'
28616
28617              $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/
28618
28619       The remote files are created with a '.rclonelink' suffix
28620
28621              $ rclone ls remote:/tmp/a
28622                     5 file1.rclonelink
28623                    14 file2.rclonelink
28624
28625       The remote files will contain the target of the symbolic links
28626
28627              $ rclone cat remote:/tmp/a/file1.rclonelink
28628              ./file4
28629
28630              $ rclone cat remote:/tmp/a/file2.rclonelink
28631              /home/user/file3
28632
28633       Copying them back with '-l'
28634
28635              $ rclone copyto -l remote:/tmp/a/ /tmp/b/
28636
28637              $ tree /tmp/b
28638              /tmp/b
28639              ├── file1 -> ./file4
28640              └── file2 -> /home/user/file3
28641
28642       However, if copied back without '-l'
28643
28644              $ rclone copyto remote:/tmp/a/ /tmp/b/
28645
28646              $ tree /tmp/b
28647              /tmp/b
28648              ├── file1.rclonelink
28649              └── file2.rclonelink
28650
28651       Note that this flag is incompatible with -copy-links / -L.
28652
28653   Restricting filesystems with --one-file-system
28654       Normally rclone will recurse through filesystems as mounted.
28655
28656       However if you set --one-file-system or -x this tells rclone to stay in
28657       the  filesystem specified by the root and not to recurse into different
28658       file systems.
28659
28660       For example if you have a directory hierarchy like this
28661
28662              root
28663              ├── disk1     - disk1 mounted on the root
28664              │   └── file3 - stored on disk1
28665              ├── disk2     - disk2 mounted on the root
28666              │   └── file4 - stored on disk12
28667              ├── file1     - stored on the root disk
28668              └── file2     - stored on the root disk
28669
28670       Using rclone --one-file-system copy root remote: will only  copy  file1
28671       and file2.  Eg
28672
28673              $ rclone -q --one-file-system ls root
28674                      0 file1
28675                      0 file2
28676
28677              $ rclone -q ls root
28678                      0 disk1/file3
28679                      0 disk2/file4
28680                      0 file1
28681                      0 file2
28682
28683       NB  Rclone  (like  most  unix tools such as du, rsync and tar) treats a
28684       bind mount to the same device as being on the same filesystem.
28685
28686       NB This flag is only available on Unix based systems.  On systems where
28687       it isn't supported (e.g.  Windows) it will be ignored.
28688
28689   Standard Options
28690       Here are the standard options specific to local (Local Disk).
28691
28692   --local-nounc
28693       Disable UNC (long path names) conversion on Windows
28694
28695       · Config: nounc
28696
28697       · Env Var: RCLONE_LOCAL_NOUNC
28698
28699       · Type: string
28700
28701       · Default: ""
28702
28703       · Examples:
28704
28705         · "true"
28706
28707           · Disables long file names
28708
28709   Advanced Options
28710       Here are the advanced options specific to local (Local Disk).
28711
28712   --copy-links / -L
28713       Follow symlinks and copy the pointed to item.
28714
28715       · Config: copy_links
28716
28717       · Env Var: RCLONE_LOCAL_COPY_LINKS
28718
28719       · Type: bool
28720
28721       · Default: false
28722
28723   --links / -l
28724       Translate symlinks to/from regular files with a '.rclonelink' extension
28725
28726       · Config: links
28727
28728       · Env Var: RCLONE_LOCAL_LINKS
28729
28730       · Type: bool
28731
28732       · Default: false
28733
28734   --skip-links
28735       Don't warn about skipped symlinks.  This flag disables warning messages
28736       on skipped symlinks or junction points, as you  explicitly  acknowledge
28737       that they should be skipped.
28738
28739       · Config: skip_links
28740
28741       · Env Var: RCLONE_LOCAL_SKIP_LINKS
28742
28743       · Type: bool
28744
28745       · Default: false
28746
28747   --local-zero-size-links
28748       Assume the Stat size of links is zero (and read them instead)
28749
28750       On  some  virtual filesystems (such ash LucidLink), reading a link size
28751       via a Stat call always returns 0.  However, on unix  it  reads  as  the
28752       length  of  the text in the link.  This may cause errors like this when
28753       syncing:
28754
28755              Failed to copy: corrupted on transfer: sizes differ 0 vs 13
28756
28757       Setting this flag causes rclone to read the link and use  that  as  the
28758       size of the link instead of 0 which in most cases fixes the problem.
28759
28760       · Config: zero_size_links
28761
28762       · Env Var: RCLONE_LOCAL_ZERO_SIZE_LINKS
28763
28764       · Type: bool
28765
28766       · Default: false
28767
28768   --local-no-unicode-normalization
28769       Don't apply unicode normalization to paths and filenames (Deprecated)
28770
28771       This  flag is deprecated now.  Rclone no longer normalizes unicode file
28772       names, but it compares them with unicode normalization in the sync rou‐
28773       tine instead.
28774
28775       · Config: no_unicode_normalization
28776
28777       · Env Var: RCLONE_LOCAL_NO_UNICODE_NORMALIZATION
28778
28779       · Type: bool
28780
28781       · Default: false
28782
28783   --local-no-check-updated
28784       Don't check to see if the files change during upload
28785
28786       Normally  rclone checks the size and modification time of files as they
28787       are being uploaded and aborts with a message which starts "can't copy -
28788       source file is being updated" if the file changes during upload.
28789
28790       However  on  some  file  systems  this modification time check may fail
28791       (e.g.  Glusterfs #2206  (https://github.com/rclone/rclone/issues/2206))
28792       so this check can be disabled with this flag.
28793
28794       If  this  flag  is  set, rclone will use its best efforts to transfer a
28795       file which is being updated.  If the file is only having things append‐
28796       ed  to it (e.g.  a log) then rclone will transfer the log file with the
28797       size it had the first time rclone saw it.
28798
28799       If the file is being modified throughout (not just  appended  to)  then
28800       the transfer may fail with a hash check failure.
28801
28802       In detail, once the file has had stat() called on it for the first time
28803       we:
28804
28805       · Only transfer the size that stat gave
28806
28807       · Only checksum the size that stat gave
28808
28809       · Don't update the stat info for the file
28810
28811       · Config: no_check_updated
28812
28813       · Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED
28814
28815       · Type: bool
28816
28817       · Default: false
28818
28819   --one-file-system / -x
28820       Don't cross filesystem boundaries (unix/macOS only).
28821
28822       · Config: one_file_system
28823
28824       · Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM
28825
28826       · Type: bool
28827
28828       · Default: false
28829
28830   --local-case-sensitive
28831       Force the filesystem to report itself as case sensitive.
28832
28833       Normally the local backend declares itself as case insensitive on  Win‐
28834       dows/macOS  and  case  sensitive for everything else.  Use this flag to
28835       override the default choice.
28836
28837       · Config: case_sensitive
28838
28839       · Env Var: RCLONE_LOCAL_CASE_SENSITIVE
28840
28841       · Type: bool
28842
28843       · Default: false
28844
28845   --local-case-insensitive
28846       Force the filesystem to report itself as case insensitive
28847
28848       Normally the local backend declares itself as case insensitive on  Win‐
28849       dows/macOS  and  case  sensitive for everything else.  Use this flag to
28850       override the default choice.
28851
28852       · Config: case_insensitive
28853
28854       · Env Var: RCLONE_LOCAL_CASE_INSENSITIVE
28855
28856       · Type: bool
28857
28858       · Default: false
28859
28860   --local-no-sparse
28861       Disable sparse files for multi-thread downloads
28862
28863       On Windows platforms rclone will make  sparse  files  when  doing  mul‐
28864       ti-thread  downloads.  This avoids long pauses on large files where the
28865       OS zeros the file.  However sparse files may  be  undesirable  as  they
28866       cause disk fragmentation and can be slow to work with.
28867
28868       · Config: no_sparse
28869
28870       · Env Var: RCLONE_LOCAL_NO_SPARSE
28871
28872       · Type: bool
28873
28874       · Default: false
28875
28876   --local-no-set-modtime
28877       Disable setting modtime
28878
28879       Normally  rclone updates modification time of files after they are done
28880       uploading.  This can cause permissions issues on Linux  platforms  when
28881       the  user  rclone is running as does not own the file uploaded, such as
28882       when copying to a CIFS mount owned by another user.  If this option  is
28883       enabled, rclone will no longer update the modtime after copying a file.
28884
28885       · Config: no_set_modtime
28886
28887       · Env Var: RCLONE_LOCAL_NO_SET_MODTIME
28888
28889       · Type: bool
28890
28891       · Default: false
28892
28893   --local-encoding
28894       This sets the encoding for the backend.
28895
28896       See:  the  encoding  section  in the overview (https://rclone.org/over
28897       view/#encoding) for more info.
28898
28899       · Config: encoding
28900
28901       · Env Var: RCLONE_LOCAL_ENCODING
28902
28903       · Type: MultiEncoder
28904
28905       · Default: Slash,Dot
28906
28907   Backend commands
28908       Here are the commands specific to the local backend.
28909
28910       Run them with
28911
28912              rclone backend COMMAND remote:
28913
28914       The help below will explain what arguments each command takes.
28915
28916       See   the    "rclone    backend"    command    (https://rclone.org/com
28917       mands/rclone_backend/)  for  more info on how to pass options and argu‐
28918       ments.
28919
28920       These can be run on a running backend using the rc command backend/com‐
28921       mand (https://rclone.org/rc/#backend/command).
28922
28923   noop
28924       A null operation for testing backend commands
28925
28926              rclone backend noop remote: [options] [<arguments>+]
28927
28928       This is a test command which has some options you can try to change the
28929       output.
28930
28931       Options:
28932
28933       · "echo": echo the input arguments
28934
28935       · "error": return an error based on option value
28936

Changelog

28938   v1.54.0 - 2021-02-02
28939       See           commits            (https://github.com/rclone/rclone/com
28940       pare/v1.53.0...v1.54.0)
28941
28942       · New backends
28943
28944         · Compression remote (experimental)(buengese)
28945
28946         · Enterprise File Fabric (Nick Craig-Wood)
28947
28948           · This  work  was  sponsored by Storage Made Easy (https://storage
28949             madeeasy.com/)
28950
28951         · HDFS (Hadoop Distributed File System) (Yury Stankevich)
28952
28953         · Zoho workdrive (buengese)
28954
28955       · New Features
28956
28957         · Deglobalise the config (Nick Craig-Wood)
28958
28959           · Global config now read from the context
28960
28961           · Global config can be passed into the rc
28962
28963           · This work was sponsored by Digitalis (digitalis.io)
28964
28965         · Add --bwlimit for upload and download (Nick Craig-Wood)
28966
28967           · Obey bwlimit in http Transport for better limiting
28968
28969         · Enhance systemd integration (Hekmon)
28970
28971           · log level identification
28972
28973           · manual activation with flag
28974
28975           · automatic systemd launch detection
28976
28977           · Don't compile systemd log integration for non unix systems  (Ben‐
28978             jamin Gustin)
28979
28980         · Add a download flag to hashsum and related commands to force rclone
28981           to download and hash files locally (lostheli)
28982
28983         · build
28984
28985           · Raise minimum go version to go1.12 (Nick Craig-Wood)
28986
28987         · check
28988
28989           · Make  the  error  count  match  up  in  the  log  message   (Nick
28990             Craig-Wood)
28991
28992         · cmd
28993
28994           · Add --progress-terminal-title to print ETA to terminal title (La‐
28995             Sombra)
28996
28997           · Make backend env vars show in help as the  defaults  for  backend
28998             flags (Nick Craig-Wood)
28999
29000         · dedupe
29001
29002           · Add --by-hash to dedupe on hash not file name (Nick Craig-Wood)
29003
29004           · Add --dedupe-mode list to just list dupes, changing nothing (Nick
29005             Craig-Wood)
29006
29007           · Add warning if used on a remote which can't have duplicate  names
29008             (Nick Craig-Wood)
29009
29010         · flags:  Improve  error  message when reading environment vars (Nick
29011           Craig-Wood)
29012
29013         · fs
29014
29015           · Add Shutdown optional method for backends (Nick Craig-Wood)
29016
29017           · When using --files-from check files concurrently (zhucan)
29018
29019           · Accumulate stats when using --dry-run (Ingo Weiss)
29020
29021           · Always show stats when using  --dry-run  or  --interactive  (Nick
29022             Craig-Wood)
29023
29024           · Add  support for flag --no-console on windows to hide the console
29025             window (albertony)
29026
29027         · genautocomplete: Add support to output to stdout (Ingo)
29028
29029         · ncdu
29030
29031           · Highlight read errors instead of aborting (Claudio Bantaloukas)
29032
29033           · Add sort by average size in directory (Adam Plánský)
29034
29035           · Add toggle option for average size in directory - key  'a'  (Adam
29036             Plánský)
29037
29038           · Add empty folder flag into ncdu browser (Adam Plánský)
29039
29040           · Add  ! (errror) and .  (unreadable) file flags to go with e (emp‐
29041             ty) (Nick Craig-Wood)
29042
29043         · obscure: Make rclone osbcure - ignore newline at end of line  (Nick
29044           Craig-Wood)
29045
29046         · operations
29047
29048           · Add  logs  when  need  to  upload  files  to  set mod times (Nick
29049             Craig-Wood)
29050
29051           · Move and copy log name of the destination object in verbose (Adam
29052             Plánský)
29053
29054           · Add size if known to skipped items and JSON log (Nick Craig-Wood)
29055
29056         · rc
29057
29058           · Prefer  actual listener address if using ":port" or "addr:0" only
29059             (Nick Craig-Wood)
29060
29061           · Add listener for finished jobs (Aleksandar Jankovic)
29062
29063         · serve ftp: Add options to enable TLS (Deepak Sah)
29064
29065         · serve http/webdav: Redirect requests to the base url without the  /
29066           (Nick Craig-Wood)
29067
29068         · serve restic: Implement object cache (Nick Craig-Wood)
29069
29070         · stats: Add counter for deleted directories (Nick Craig-Wood)
29071
29072         · sync: Only print "There was nothing to transfer" if no errors (Nick
29073           Craig-Wood)
29074
29075         · webui
29076
29077           · Prompt user for updating webui if an update is  available  (Chai‐
29078             tanya Bankanhal)
29079
29080           · Fix plugins initialization (negative0)
29081
29082       · Bug Fixes
29083
29084         · build
29085
29086           · Explicitly set ARM version to fix build (Nick Craig-Wood)
29087
29088           · Don't  explicitly  set  ARM  version  to  fix  ARMv5  build (Nick
29089             Craig-Wood)
29090
29091           · Fix nfpm install (Nick Craig-Wood)
29092
29093           · Fix  docker  build  by  upgrading  ilteoood/docker_buildx   (Nick
29094             Craig-Wood)
29095
29096           · Temporary fix for Windows build errors (Ivan Andreev)
29097
29098         · fs
29099
29100           · Fix  nil  pointer  on  copy  & move operations directly to remote
29101             (Anagh Kumar Baranwal)
29102
29103           · Fix parsing of ..  when joining remotes (Nick Craig-Wood)
29104
29105         · log: Fix enabling  systemd  logging  when  using  --log-file  (Nick
29106           Craig-Wood)
29107
29108         · move: Fix data loss when moving the same object (Nick Craig-Wood)
29109
29110         · operations
29111
29112           · Fix   --cutof-mode   hard   not  cutting  off  immediately  (Nick
29113             Craig-Wood)
29114
29115           · Fix --immutable error message (Nick Craig-Wood)
29116
29117         · sync
29118
29119           · Fix --cutoff-mode soft & cautious so it doesn't end the  transfer
29120             early (Nick Craig-Wood)
29121
29122           · Fix --immutable errors retrying many times (Nick Craig-Wood)
29123
29124       · Docs
29125
29126         · Many fixes and a rewrite of the filtering docs (edwardxml)
29127
29128         · Many spelling and grammar problems (Josh Soref)
29129
29130         · Doc  fixes for commands delete, purge, rmdir, rmdirs and mount (al‐
29131           bertony)
29132
29133         · And thanks to these people for many doc fixes too numerous to list
29134
29135           · Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher Stewart
29136
29137           · CokeMine, David, Dov Murik, Durval Menezes, Evan Harris, gtorelly
29138
29139           · Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent,
29140
29141           · Martin Michlmayr, Milly, Sơn Trần-Nguyễn
29142
29143       · Mount
29144
29145         · Update systemd status with cache stats (Hekmon)
29146
29147         · Disable bazil/fuse based mount on macOS (Nick Craig-Wood)
29148
29149           · Make mount be cmount under macOS (Nick Craig-Wood)
29150
29151         · Implement mknod to make NFS file creation work (Nick Craig-Wood)
29152
29153         · Make sure we don't call umount more than once (Nick Craig-Wood)
29154
29155         · Don't  call  host.Umount  if  a  signal  has  been  received  (Nick
29156           Craig-Wood)
29157
29158         · More user friendly mounting as network drive on windows (albertony)
29159
29160         · Cleanup OS specific option handling and documentation (albertony)
29161
29162         · Detect   if   uid  or  gid  are  set  in  same  option  string:  -o
29163           uid=123,gid=456 (albertony)
29164
29165         · Don't attempt to unmount if fs has  been  destroyed  already  (Nick
29166           Craig-Wood)
29167
29168       · VFS
29169
29170         · Fix  virtual  entries  causing  deleted files to still appear (Nick
29171           Craig-Wood)
29172
29173         · Fix "file  already  exists"  error  for  stale  cache  files  (Nick
29174           Craig-Wood)
29175
29176         · Fix file leaks with --vfs-cache-mode full and --buffer-size 0 (Nick
29177           Craig-Wood)
29178
29179         · Fix invalid cache path on windows when using  :backend:  as  remote
29180           (albertony)
29181
29182       · Local
29183
29184         · Continue  listing files/folders when a circular symlink is detected
29185           (Manish Gupta)
29186
29187         · New flag  --local-zero-size-links  to  fix  sync  on  some  virtual
29188           filesystems (Riccardo Iaconelli)
29189
29190       · Azure Blob
29191
29192         · Add support for service principals (James Lim)
29193
29194         · Utilize streaming capabilities (Denis Neuling)
29195
29196         · Update SDK to v0.13.0 and fix API breakage (Nick Craig-Wood, Mitsuo
29197           Heijo)
29198
29199         · Fix setting of mime types (Nick Craig-Wood)
29200
29201         · Fix crash when listing outside a SAS URL's root (Nick Craig-Wood)
29202
29203         · Delete  archive  tier  blobs  before  update   if   --azureblob-ar‐
29204           chive-tier-delete (Nick Craig-Wood)
29205
29206         · Add support for managed identities (Brad Ackerman)
29207
29208         · Fix crash on startup (Nick Craig-Wood)
29209
29210         · Add examples for access tier (Bob Pusateri)
29211
29212         · Fix  memory usage by upgrading the SDK and implementing a Transfer‐
29213           Manager (Nick Craig-Wood)
29214
29215         · Require go1.14+ to compile due to SDK changes (Nick Craig-Wood)
29216
29217       · B2
29218
29219         · Make NewObject use less expensive API calls (Nick Craig-Wood)
29220
29221         · Fixed possible crash when accessing Backblaze b2 remote (lluuaapp)
29222
29223       · Box
29224
29225         · Fix NewObject for files that differ in case (Nick Craig-Wood)
29226
29227         · Fix finding directories in a case insentive way (Nick Craig-Wood)
29228
29229       · Chunker
29230
29231         · Skip long local hashing, hash in-transit (fixes) (Ivan Andreev)
29232
29233         · Set Features.ReadMimeType=false as  Object.MimeType  not  supported
29234           (Nick Craig-Wood)
29235
29236         · Fix  case-insensitive  NewObject, test metadata detection (Ivan An‐
29237           dreev)
29238
29239       · Drive
29240
29241         · Implement "rclone backend copyid" command for copying files  by  ID
29242           (Nick Craig-Wood)
29243
29244         · Added  flag  --drive-stop-on-download-limit  to stop transfers when
29245           the download limit is exceeded (Anagh Kumar Baranwal)
29246
29247         · Implement CleanUp workaround for team drives (buengese)
29248
29249         · Allow  shortcut  resolution  and  creation  to  be  retried   (Nick
29250           Craig-Wood)
29251
29252         · Log that emptying the trash can take some time (Nick Craig-Wood)
29253
29254         · Add xdg office icons to xdg desktop files (Pau Rodriguez-Estivill)
29255
29256       · Dropbox
29257
29258         · Add support for viewing shared files and folders (buengese)
29259
29260         · Implement IDer (buengese)
29261
29262         · Set  Features.ReadMimeType=false  as  Object.MimeType not supported
29263           (Nick Craig-Wood)
29264
29265         · Tidy repeated error message (Nick Craig-Wood)
29266
29267         · Make malformed_path errors from too long files not retriable  (Nick
29268           Craig-Wood)
29269
29270         · Test  file  name  length  before  upload  to  fix upload loop (Nick
29271           Craig-Wood)
29272
29273         · Enable short lived access tokens (Nick Craig-Wood)
29274
29275       · Fichier
29276
29277         · Set  Features.ReadMimeType=true  as  Object.MimeType  is  supported
29278           (Nick Craig-Wood)
29279
29280       · FTP
29281
29282         · Add --ftp-disable-msld option to ignore MLSD for really old servers
29283           (Nick Craig-Wood)
29284
29285         · Make --tpslimit apply (Nick Craig-Wood)
29286
29287       · Google Cloud Storage
29288
29289         · Storage class object header support (Laurens Janssen)
29290
29291         · Fix anonymous client to use rclone's HTTP client (Nick Craig-Wood)
29292
29293         · Fix Entry doesn't belong in directory "" (same as directory) -  ig‐
29294           noring (Nick Craig-Wood)
29295
29296       · Googlephotos
29297
29298         · New flag --gphotos-include-archived (Nicolas Rueff)
29299
29300       · Jottacloud
29301
29302         · Don't erroniously report support for writing mime types (buengese)
29303
29304         · Add support for Telia Cloud (#4930) (Patrik Nordlén)
29305
29306       · Mailru
29307
29308         · Fix uploads after recent changes on server (Ivan Andreev)
29309
29310         · Fix range requests after June 2020 changes on server (Ivan Andreev)
29311
29312         · Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
29313
29314         · Remove deprecated protocol quirks (Ivan Andreev)
29315
29316         · Accept special folders eg camera-upload (Ivan Andreev)
29317
29318         · Avoid prehashing of large local files (Ivan Andreev)
29319
29320       · Memory
29321
29322         · Fix setting of mime types (Nick Craig-Wood)
29323
29324       · Onedrive
29325
29326         · Add support for china region operated by 21vianet and other region‐
29327           al suppliers (#4963) (NyaMisty)
29328
29329         · Warn on gateway timeout errors (Nick Craig-Wood)
29330
29331         · Fall back to normal copy if server-side  copy  unavailable  (#4903)
29332           (Alex Chen)
29333
29334         · Fix  server-side  copy completely disabled on OneDrive for Business
29335           (Cnly)
29336
29337         · (business only) workaround to replace existing file on  server-side
29338           copy (#4904) (Alex Chen)
29339
29340         · Enhance  link  creation with expiry, scope, type and password (Nick
29341           Craig-Wood)
29342
29343         · Remove % and # from the set of  encoded  characters  (#4909)  (Alex
29344           Chen)
29345
29346         · Support addressing site by server-relative URL (#4761) (kice)
29347
29348       · Opendrive
29349
29350         · Fix finding directories in a case insensitive way (Nick Craig-Wood)
29351
29352       · Pcloud
29353
29354         · Fix setting of mime types (Nick Craig-Wood)
29355
29356       · Premiumizeme
29357
29358         · Fix finding directories in a case insensitive way (Nick Craig-Wood)
29359
29360       · Qingstor
29361
29362         · Fix error propagation in CleanUp (Nick Craig-Wood)
29363
29364         · Fix rclone cleanup (Nick Craig-Wood)
29365
29366       · S3
29367
29368         · Added --s3-disable-http2 to disable http/2 (Anagh Kumar Baranwal)
29369
29370         · Complete SSE-C implementation (Nick Craig-Wood)
29371
29372         · Fix hashes on small files with AWS:KMS and SSE-C (Nick Craig-Wood)
29373
29374         · Add  MD5  metadata  to  objects  uploaded  with SSE-AWS/SSE-C (Nick
29375           Craig-Wood)
29376
29377         · Update docs with a Reducing Costs section (Nick Craig-Wood)
29378
29379         · Added error handling for error code 429  indicating  too  many  re‐
29380           quests (Anagh Kumar Baranwal)
29381
29382         · Add requester pays option (kelv)
29383
29384         · Fix  copy  multipart  with  v2 auth failing with 'SignatureDoesNot‐
29385           Match' (Louis Koo)
29386
29387         · Add --s3-no-head parameter to minimise transactions on upload (Nick
29388           Craig-Wood)
29389
29390       · SFTP
29391
29392         · Allow cert based auth via optional pubkey (Stephen Harris)
29393
29394         · Allow  user  to  optionally  check server hosts key to add security
29395           (Stephen Harris)
29396
29397         · Defer asking for user passwords until the SSH  connection  succeeds
29398           (Stephen Harris)
29399
29400         · Remember entered password in AskPass mode (Stephen Harris)
29401
29402         · Implement Shutdown method (Nick Craig-Wood)
29403
29404         · Implement keyboard interactive authentication (Nick Craig-Wood)
29405
29406         · Make --tpslimit apply (Nick Craig-Wood)
29407
29408         · Implement --sftp-use-fstat (Nick Craig-Wood)
29409
29410       · Sugarsync
29411
29412         · Fix NewObject for files that differ in case (Nick Craig-Wood)
29413
29414         · Fix finding directories in a case insentive way (Nick Craig-Wood)
29415
29416       · Swift
29417
29418         · Fix  deletion  of  parts  of  Static Large Object (SLO) (Nguyễn Hữu
29419           Luân)
29420
29421         · Ensure  partially  uploaded  large  files   are   uploaded   unless
29422           --swift-leave-parts-on-error (Nguyễn Hữu Luân)
29423
29424       · Tardigrade
29425
29426         · Upgrade to uplink v1.4.1 (Caleb Case)
29427
29428       · WebDAV
29429
29430         · Updated  docs  to  show  streaming  to nextcloud is working (Durval
29431           Menezes)
29432
29433       · Yandex
29434
29435         · Set Features.WriteMimeType=false as Yandex ignores mime types (Nick
29436           Craig-Wood)
29437
29438   v1.53.4 - 2021-01-20
29439       See            commits           (https://github.com/rclone/rclone/com
29440       pare/v1.53.3...v1.53.4)
29441
29442       · Bug Fixes
29443
29444         · accounting: Fix data race in Transferred() (Maciej Zimnoch)
29445
29446         · build
29447
29448           · Stop tagged releases making a current beta (Nick Craig-Wood)
29449
29450           · Upgrade docker buildx action (Matteo Pietro Dazzi)
29451
29452           · Add -buildmode to cross-compile.go (Nick Craig-Wood)
29453
29454           · Fix  docker  build  by  upgrading  ilteoood/docker_buildx   (Nick
29455             Craig-Wood)
29456
29457           · Revert  GitHub  actions  brew  fix  since this is now fixed (Nick
29458             Craig-Wood)
29459
29460           · Fix brew install --cask syntax for macOS build (Nick Craig-Wood)
29461
29462           · Update nfpm syntax to  fix  build  of  .deb/.rpm  packages  (Nick
29463             Craig-Wood)
29464
29465           · Fix for Windows build errors (Ivan Andreev)
29466
29467         · fs: Parseduration: fixed tests to use UTC time (Ankur Gupta)
29468
29469         · fshttp: Prevent overlap of HTTP headers in logs (Nathan Collins)
29470
29471         · rc
29472
29473           · Fix core/command giving 500 internal error (Nick Craig-Wood)
29474
29475           · Add Copy method to rc.Params (Nick Craig-Wood)
29476
29477           · Fix  500  error  when  marshalling errors from core/command (Nick
29478             Craig-Wood)
29479
29480           · plugins: Create plugins files only if webui is  enabled.   (nega‐
29481             tive0)
29482
29483         · serve http: Fix serving files of unknown length (Nick Craig-Wood)
29484
29485         · serve  sftp:  Fix  authentication on one connection blocking others
29486           (Nick Craig-Wood)
29487
29488       · Mount
29489
29490         · Add optional brew tag to throw an error when using mount in the bi‐
29491           naries installed via Homebrew (Anagh Kumar Baranwal)
29492
29493         · Add  "."  and  ".." to directories to match cmount and expectations
29494           (Nick Craig-Wood)
29495
29496       · VFS
29497
29498         · Make cache dir absolute before using it to fix path too long errors
29499           (Nick Craig-Wood)
29500
29501       · Chunker
29502
29503         · Improve detection of incompatible metadata (Ivan Andreev)
29504
29505       · Google Cloud Storage
29506
29507         · Fix server side copy of large objects (Nick Craig-Wood)
29508
29509       · Jottacloud
29510
29511         · Fix token renewer to fix long uploads (Nick Craig-Wood)
29512
29513         · Fix  token  refresh  failed:  is  not  a  regular  file error (Nick
29514           Craig-Wood)
29515
29516       · Pcloud
29517
29518         · Only use SHA1 hashes in EU region (Nick Craig-Wood)
29519
29520       · Sharefile
29521
29522         · Undo Fix backend due to API swapping  integers  for  strings  (Nick
29523           Craig-Wood)
29524
29525       · WebDAV
29526
29527         · Fix Open Range requests to fix 4shared mount (Nick Craig-Wood)
29528
29529         · Add "Depth: 0" to GET requests to fix bitrix (Nick Craig-Wood)
29530
29531   v1.53.3 - 2020-11-19
29532       See            commits           (https://github.com/rclone/rclone/com
29533       pare/v1.53.2...v1.53.3)
29534
29535       · Bug Fixes
29536
29537         · random: Fix incorrect  use  of  math/rand  instead  of  crypto/rand
29538           CVE-2020-28924 (Nick Craig-Wood)
29539
29540           · Passwords you have generated with rclone config may be insecure
29541
29542           · See  issue  #4783  (https://github.com/rclone/rclone/issues/4783)
29543             for more details and a checking tool
29544
29545         · random: Seed math/rand in one place with crypto strong  seed  (Nick
29546           Craig-Wood)
29547
29548       · VFS
29549
29550         · Fix vfs/refresh calls with fs= parameter (Nick Craig-Wood)
29551
29552       · Sharefile
29553
29554         · Fix  backend  due  to  API  swapping  integers  for  strings  (Nick
29555           Craig-Wood)
29556
29557   v1.53.2 - 2020-10-26
29558       See           commits            (https://github.com/rclone/rclone/com
29559       pare/v1.53.1...v1.53.2)
29560
29561       · Bug Fixes
29562
29563         · acounting
29564
29565           · Fix   incorrect   speed  and  transferTime  in  core/stats  (Nick
29566             Craig-Wood)
29567
29568           · Stabilize display order of transfers on Windows (Nick Craig-Wood)
29569
29570         · operations
29571
29572           · Fix use of --suffix without --backup-dir (Nick Craig-Wood)
29573
29574           · Fix spurious "--checksum is in use but the source and destination
29575             have no hashes in common" (Nick Craig-Wood)
29576
29577         · build
29578
29579           · Work around GitHub actions brew problem (Nick Craig-Wood)
29580
29581           · Stop  using  set-env  and  set-path  in  the GitHub actions (Nick
29582             Craig-Wood)
29583
29584       · Mount
29585
29586         · mount2: Fix the swapped UID / GID values (Russell Cattelan)
29587
29588       · VFS
29589
29590         · Detect and recover from a file being removed  externally  from  the
29591           cache (Nick Craig-Wood)
29592
29593         · Fix a deadlock vulnerability in downloaders.Close (Leo Luan)
29594
29595         · Fix a race condition in retryFailedResets (Leo Luan)
29596
29597         · Fix missed concurrency control between some item operations and re‐
29598           set (Leo Luan)
29599
29600         · Add exponential backoff during ENOSPC retries (Leo Luan)
29601
29602         · Add a missed update of used cache space (Leo Luan)
29603
29604         · Fix --no-modtime to not attempt to  set  modtimes  (as  documented)
29605           (Nick Craig-Wood)
29606
29607       · Local
29608
29609         · Fix  sizes  and  syncing  with  --links  option  on  Windows  (Nick
29610           Craig-Wood)
29611
29612       · Chunker
29613
29614         · Disable ListR to fix missing files on GDrive (workaround) (Ivan An‐
29615           dreev)
29616
29617         · Fix upload over crypt (Ivan Andreev)
29618
29619       · Fichier
29620
29621         · Increase maximum file size from 100GB to 300GB (gyutw)
29622
29623       · Jottacloud
29624
29625         · Remove  clientSecret  from config when upgrading to token based au‐
29626           thentication (buengese)
29627
29628         · Avoid double url escaping of device/mountpoint (albertony)
29629
29630         · Remove DirMove workaround as  it's  not  required  anymore  -  also
29631           (buengese)
29632
29633       · Mailru
29634
29635         · Fix uploads after recent changes on server (Ivan Andreev)
29636
29637         · Fix range requests after june changes on server (Ivan Andreev)
29638
29639         · Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev)
29640
29641       · Onedrive
29642
29643         · Fix disk usage for sharepoint (Nick Craig-Wood)
29644
29645       · S3
29646
29647         · Add missing regions for AWS (Anagh Kumar Baranwal)
29648
29649       · Seafile
29650
29651         · Fix accessing libraries > 2GB on 32 bit systems (Muffin King)
29652
29653       · SFTP
29654
29655         · Always convert the checksum to lower case (buengese)
29656
29657       · Union
29658
29659         · Create root directories if none exist (Nick Craig-Wood)
29660
29661   v1.53.1 - 2020-09-13
29662       See            commits           (https://github.com/rclone/rclone/com
29663       pare/v1.53.0...v1.53.1)
29664
29665       · Bug Fixes
29666
29667         · accounting: Remove new line from end  of  --stats-one-line  display
29668           (Nick Craig-Wood)
29669
29670         · check
29671
29672           · Add back missing --download flag (Nick Craig-Wood)
29673
29674           · Fix docs (Nick Craig-Wood)
29675
29676         · docs
29677
29678           · Note --log-file does append (Nick Craig-Wood)
29679
29680           · Add full stops for consistency in rclone --help (edwardxml)
29681
29682           · Add Tencent COS to s3 provider list (wjielai)
29683
29684           · Updated mount command to reflect that it requires Go 1.13 or new‐
29685             er (Evan Harris)
29686
29687           · jottacloud: Mention that uploads from local disk will not need to
29688             cache files to disk for md5 calculation (albertony)
29689
29690           · Fix formatting of rc docs page (Nick Craig-Wood)
29691
29692         · build
29693
29694           · Include  vendor  tar  ball  in  release  and  fix  startdev (Nick
29695             Craig-Wood)
29696
29697           · Fix  "Illegal  instruction"  error   for   ARMv6   builds   (Nick
29698             Craig-Wood)
29699
29700           · Fix architecture name in ARMv7 build (Nick Craig-Wood)
29701
29702       · VFS
29703
29704         · Fix  spurious  error "vfs cache: failed to _ensure cache EOF" (Nick
29705           Craig-Wood)
29706
29707         · Log an ERROR if we  fail  to  set  the  file  to  be  sparse  (Nick
29708           Craig-Wood)
29709
29710       · Local
29711
29712         · Log  an  ERROR  if  we  fail  to  set  the  file to be sparse (Nick
29713           Craig-Wood)
29714
29715       · Drive
29716
29717         · Re-adds special oauth help text (Tim Gallant)
29718
29719       · Opendrive
29720
29721         · Do not retry 400 errors (Evan Harris)
29722
29723   v1.53.0 - 2020-09-02
29724       See           commits            (https://github.com/rclone/rclone/com
29725       pare/v1.52.0...v1.53.0)
29726
29727       · New Features
29728
29729         · The VFS layer (https://rclone.org/commands/rclone_mount/#vfs-virtu‐
29730           al-file-system) was heavily reworked for this release -  see  below
29731           for more details
29732
29733         · Interactive  mode -i/--interactive (https://rclone.org/docs/#inter‐
29734           active) for destructive operations (fishbullet)
29735
29736         · Add   --bwlimit-file   (https://rclone.org/docs/#bwlimit-file-band‐
29737           width-spec) flag to limit speeds of individual file transfers (Nick
29738           Craig-Wood)
29739
29740         · Transfers are sorted by start time in the stats and progress output
29741           (Max Sum)
29742
29743         · Make sure backends expand ~ and environment vars in file names they
29744           use (Nick Craig-Wood)
29745
29746         · Add --refresh-times  (https://rclone.org/docs/#refresh-times)  flag
29747           to set modtimes on hashless backends (Nick Craig-Wood)
29748
29749         · build
29750
29751           · Remove vendor directory in favour of Go modules (Nick Craig-Wood)
29752
29753           · Build with go1.15.x by default (Nick Craig-Wood)
29754
29755           · Drop macOS 386 build as it is no longer supported by go1.15 (Nick
29756             Craig-Wood)
29757
29758           · Add ARMv7 to the supported builds (Nick Craig-Wood)
29759
29760           · Enable rclone cmount on macOS (Nick Craig-Wood)
29761
29762           · Make rclone build with gccgo (Nick Craig-Wood)
29763
29764           · Make rclone build with wasm (Nick Craig-Wood)
29765
29766           · Change beta numbering to be semver compatible (Nick Craig-Wood)
29767
29768           · Add file properties and icon to Windows executable (albertony)
29769
29770           · Add experimental interface for integrating rclone  into  browsers
29771             (Nick Craig-Wood)
29772
29773         · lib: Add file name compression (Klaus Post)
29774
29775         · rc
29776
29777           · Allow  installation  and  use  of  plugins  and test plugins with
29778             rclone-webui (Chaitanya Bankanhal)
29779
29780           · Add reverse proxy pluginsHandler for serving  plugins  (Chaitanya
29781             Bankanhal)
29782
29783           · Add mount/listmounts option for listing current mounts (Chaitanya
29784             Bankanhal)
29785
29786           · Add operations/uploadfile to upload a file through rc  using  en‐
29787             coding multipart/form-data (Chaitanya Bankanhal)
29788
29789           · Add core/command to execute rclone terminal commands.  (Chaitanya
29790             Bankanhal)
29791
29792         · rclone check
29793
29794           · Add  reporting  of  filenames  for   same/missing/changed   (Nick
29795             Craig-Wood)
29796
29797           · Make   check   command   obey   --dry-run/-i/--interactive  (Nick
29798             Craig-Wood)
29799
29800           · Make check do --checkers files concurrently (Nick Craig-Wood)
29801
29802           · Retry downloads if they fail when using the --download flag (Nick
29803             Craig-Wood)
29804
29805           · Make it show stats by default (Nick Craig-Wood)
29806
29807         · rclone  obscure:  Allow obscure command to accept password on STDIN
29808           (David Ibarra)
29809
29810         · rclone config
29811
29812           · Set RCLONE_CONFIG_DIR for use in config  files  and  subprocesses
29813             (Nick Craig-Wood)
29814
29815           · Reject remote names starting with a dash.  (jtagcat)
29816
29817         · rclone  cryptcheck:  Add  reporting  of  filenames  for  same/miss‐
29818           ing/changed (Nick Craig-Wood)
29819
29820         · rclone dedupe: Make it obey the --size-only flag for duplicate  de‐
29821           tection (Nick Craig-Wood)
29822
29823         · rclone link: Add --expire and --unlink flags (Roman Kredentser)
29824
29825         · rclone  mkdir:  Warn  when  using mkdir on remotes which can't have
29826           empty directories (Nick Craig-Wood)
29827
29828         · rclone rc: Allow JSON parameters to  simplify  command  line  usage
29829           (Nick Craig-Wood)
29830
29831         · rclone serve ftp
29832
29833           · Don't   compile   on  <  go1.13  after  dependency  update  (Nick
29834             Craig-Wood)
29835
29836           · Add error message if auth proxy fails (Nick Craig-Wood)
29837
29838           · Use refactored goftp.io/server library for  binary  shrink  (Nick
29839             Craig-Wood)
29840
29841         · rclone  serve  restic: Expose interfaces so that rclone can be used
29842           as a library from within restic (Jack)
29843
29844         · rclone sync: Add --track-renames-strategy leaf (Nick Craig-Wood)
29845
29846         · rclone touch: Add ability to set nanosecond resolution times  (Nick
29847           Craig-Wood)
29848
29849         · rclone  tree:  Remove  -i  shorthand for --noindent as it conflicts
29850           with -i/--interactive (Nick Craig-Wood)
29851
29852       · Bug Fixes
29853
29854         · accounting
29855
29856           · Fix documentation for speed/speedAvg (Nick Craig-Wood)
29857
29858           · Fix elapsed time not show actual time since beginning  (Chaitanya
29859             Bankanhal)
29860
29861           · Fix deadlock in stats printing (Nick Craig-Wood)
29862
29863         · build
29864
29865           · Fix file handle leak in GitHub release tool (Garrett Squire)
29866
29867         · rclone  check:  Fix successful retries with --download counting er‐
29868           rors (Nick Craig-Wood)
29869
29870         · rclone dedupe:  Fix  logging  to  be  easier  to  understand  (Nick
29871           Craig-Wood)
29872
29873       · Mount
29874
29875         · Warn  macOS  users  that  mount  implementation  is  changing (Nick
29876           Craig-Wood)
29877
29878           · to test the new  implementation  use  rclone  cmount  instead  of
29879             rclone mount
29880
29881           · this is because the library rclone uses has dropped macOS support
29882
29883         · rc interface
29884
29885           · Add call for unmount all (Chaitanya Bankanhal)
29886
29887           · Make   mount/mount   remote  control  take  vfsOpt  option  (Nick
29888             Craig-Wood)
29889
29890           · Add mountOpt to mount/mount (Nick Craig-Wood)
29891
29892           · Add VFS and Mount options to mount/listmounts (Nick Craig-Wood)
29893
29894         · Catch panics in cgofuse initialization and turn into error messages
29895           (Nick Craig-Wood)
29896
29897         · Always supply stat information in Readdir (Nick Craig-Wood)
29898
29899         · Add  support for reading unknown length files using direct IO (Win‐
29900           dows) (Nick Craig-Wood)
29901
29902         · Fix On Windows don't add -o uid/gid=-1 if user supplies -o uid/gid.
29903           (Nick Craig-Wood)
29904
29905         · Fix macOS losing directory contents in cmount (Nick Craig-Wood)
29906
29907         · Fix volume name broken in recent refactor (Nick Craig-Wood)
29908
29909       · VFS
29910
29911         · Implement partial reads for --vfs-cache-mode full (Nick Craig-Wood)
29912
29913         · Add  --vfs-writeback  option  to delay writes back to cloud storage
29914           (Nick Craig-Wood)
29915
29916         · Add --vfs-read-ahead parameter for use with  --vfs-cache-mode  full
29917           (Nick Craig-Wood)
29918
29919         · Restart pending uploads on restart of the cache (Nick Craig-Wood)
29920
29921         · Support synchronous cache space recovery upon ENOSPC (Leo Luan)
29922
29923         · Allow  ReadAt and WriteAt to run concurrently with themselves (Nick
29924           Craig-Wood)
29925
29926         · Change modtime of file before upload to current (Rob Calistri)
29927
29928         · Recommend --vfs-cache-modes writes on backends which  can't  stream
29929           (Nick Craig-Wood)
29930
29931         · Add an optional fs parameter to vfs rc methods (Nick Craig-Wood)
29932
29933         · Fix  errors  when  using  >  260 char files in the cache in Windows
29934           (Nick Craig-Wood)
29935
29936         · Fix  renaming  of  items  while  they  are  being  uploaded   (Nick
29937           Craig-Wood)
29938
29939         · Fix  very  high  load  caused  by  slow  directory  listings  (Nick
29940           Craig-Wood)
29941
29942         · Fix renamed files not being uploaded with --vfs-cache-mode  minimal
29943           (Nick Craig-Wood)
29944
29945         · Fix  directory  locking  caused  by  slow  directory listings (Nick
29946           Craig-Wood)
29947
29948         · Fix  saving  from  chrome  without  --vfs-cache-mode  writes  (Nick
29949           Craig-Wood)
29950
29951       · Local
29952
29953         · Add --local-no-updated to provide a consistent view of changing ob‐
29954           jects (Nick Craig-Wood)
29955
29956         · Add --local-no-set-modtime option to prevent modtime changes (tyhu‐
29957           ber1)
29958
29959         · Fix  race  conditions  updating  and  reading Object metadata (Nick
29960           Craig-Wood)
29961
29962       · Cache
29963
29964         · Make any created backends  be  cached  to  fix  rc  problems  (Nick
29965           Craig-Wood)
29966
29967         · Fix dedupe on caches wrapping drives (Nick Craig-Wood)
29968
29969       · Crypt
29970
29971         · Add --crypt-server-side-across-configs flag (Nick Craig-Wood)
29972
29973         · Make  any  created  backends  be  cached  to  fix rc problems (Nick
29974           Craig-Wood)
29975
29976       · Alias
29977
29978         · Make any created backends  be  cached  to  fix  rc  problems  (Nick
29979           Craig-Wood)
29980
29981       · Azure Blob
29982
29983         · Don't compile on < go1.13 after dependency update (Nick Craig-Wood)
29984
29985       · B2
29986
29987         · Implement server-side copy for files > 5GB (Nick Craig-Wood)
29988
29989         · Cancel  in  progress  multipart  uploads  and copies on rclone exit
29990           (Nick Craig-Wood)
29991
29992         · Note that b2's encoding now allows   but  rclone's  hasn't  changed
29993           (Nick Craig-Wood)
29994
29995         · Fix transfers when using download_url (Nick Craig-Wood)
29996
29997       · Box
29998
29999         · Implement rclone cleanup (buengese)
30000
30001         · Cancel  in  progress  multipart  uploads  and copies on rclone exit
30002           (Nick Craig-Wood)
30003
30004         · Allow authentication with access token (David)
30005
30006       · Chunker
30007
30008         · Make any created backends  be  cached  to  fix  rc  problems  (Nick
30009           Craig-Wood)
30010
30011       · Drive
30012
30013         · Add  rclone backend drives to list shared drives (teamdrives) (Nick
30014           Craig-Wood)
30015
30016         · Implement rclone backend untrash (Nick Craig-Wood)
30017
30018         · Work around drive bug which didn't set modtime of copied docs (Nick
30019           Craig-Wood)
30020
30021         · Added  --drive-starred-only  to  only show starred files (Jay McEn‐
30022           tire)
30023
30024         · Deprecate --drive-alternate-export as it is no longer needed  (the‐
30025           mylogin)
30026
30027         · Fix   duplication   of   Google  docs  on  server-side  copy  (Nick
30028           Craig-Wood)
30029
30030         · Fix "panic: send on closed  channel"  when  recycling  dir  entries
30031           (Nick Craig-Wood)
30032
30033       · Dropbox
30034
30035         · Add  copyright  detector  info  in  limitations section in the docs
30036           (Alex Guerrero)
30037
30038         · Fix rclone link by removing expires parameter (Nick Craig-Wood)
30039
30040       · Fichier
30041
30042         · Detect Flood detected: IP Locked error  and  sleep  for  30s  (Nick
30043           Craig-Wood)
30044
30045       · FTP
30046
30047         · Add explicit TLS support (Heiko Bornholdt)
30048
30049         · Add  support  for --dump bodies and --dump auth for debugging (Nick
30050           Craig-Wood)
30051
30052         · Fix interoperation with pure-ftpd (Nick Craig-Wood)
30053
30054       · Google Cloud Storage
30055
30056         · Add support for anonymous access (Kai Lüke)
30057
30058       · Jottacloud
30059
30060         · Bring back legacy authentication for use with  whitelabel  versions
30061           (buengese)
30062
30063         · Switch  to new api root - also implement a very ugly workaround for
30064           the DirMove failures (buengese)
30065
30066       · Onedrive
30067
30068         · Rework cancel of multipart uploads on rclone exit (Nick Craig-Wood)
30069
30070         · Implement rclone cleanup (Nick Craig-Wood)
30071
30072         · Add  --onedrive-no-versions  flag  to  remove  old  versions  (Nick
30073           Craig-Wood)
30074
30075       · Pcloud
30076
30077         · Implement rclone link for public link creation (buengese)
30078
30079       · Qingstor
30080
30081         · Cancel   in   progress  multipart  uploads  on  rclone  exit  (Nick
30082           Craig-Wood)
30083
30084       · S3
30085
30086         · Preserve metadata when doing multipart copy (Nick Craig-Wood)
30087
30088         · Cancel in progress multipart uploads  and  copies  on  rclone  exit
30089           (Nick Craig-Wood)
30090
30091         · Add rclone link for public link sharing (Roman Kredentser)
30092
30093         · Add  rclone backend restore command to restore objects from GLACIER
30094           (Nick Craig-Wood)
30095
30096         · Add rclone cleanup and rclone backend cleanup to  clean  unfinished
30097           multipart uploads (Nick Craig-Wood)
30098
30099         · Add rclone backend list-multipart-uploads to list unfinished multi‐
30100           part uploads (Nick Craig-Wood)
30101
30102         · Add --s3-max-upload-parts support (Kamil Trzciński)
30103
30104         · Add --s3-no-check-bucket for  minimising  rclone  transactions  and
30105           perms (Nick Craig-Wood)
30106
30107         · Add  --s3-profile  and  --s3-shared-credentials-file  options (Nick
30108           Craig-Wood)
30109
30110         · Use regional s3 us-east-1 endpoint (David)
30111
30112         · Add Scaleway provider (Vincent Feltz)
30113
30114         · Update IBM COS endpoints (Egor Margineanu)
30115
30116         · Reduce the default --s3-copy-cutoff to < 5GB for Backblaze S3  com‐
30117           patibility (Nick Craig-Wood)
30118
30119         · Fix detection of bucket existing (Nick Craig-Wood)
30120
30121       · SFTP
30122
30123         · Use  the absolute path instead of the relative path for listing for
30124           improved compatibility (Nick Craig-Wood)
30125
30126         · Add --sftp-subsystem and --sftp-server-command options (aus)
30127
30128       · Swift
30129
30130         · Fix dangling large objects breaking the listing (Nick Craig-Wood)
30131
30132         · Fix purge not deleting directory markers (Nick Craig-Wood)
30133
30134         · Fix update multipart object removing all of  its  own  parts  (Nick
30135           Craig-Wood)
30136
30137         · Fix missing hash from object returned from upload (Nick Craig-Wood)
30138
30139       · Tardigrade
30140
30141         · Upgrade to uplink v1.2.0 (Kaloyan Raev)
30142
30143       · Union
30144
30145         · Fix writing with the all policy (Nick Craig-Wood)
30146
30147       · WebDAV
30148
30149         · Fix directory creation with 4shared (Nick Craig-Wood)
30150
30151   v1.52.3 - 2020-08-07
30152       See            commits           (https://github.com/rclone/rclone/com
30153       pare/v1.52.2...v1.52.3)
30154
30155       · Bug Fixes
30156
30157         · docs
30158
30159           · Disable smart typography (e.g.  en-dash) in MANUAL.* and man page
30160             (Nick Craig-Wood)
30161
30162           · Update install.md to reflect minimum Go version (Evan Harris)
30163
30164           · Update install from source instructions (Nick Craig-Wood)
30165
30166           · make_manual: Support SOURCE_DATE_EPOCH (Morten Linderud)
30167
30168         · log:  Fix  --use-json-log going to stderr not --log-file on Windows
30169           (Nick Craig-Wood)
30170
30171         · serve dlna: Fix file list on Samsung Series 6+ TVs  (Matteo  Pietro
30172           Dazzi)
30173
30174         · sync:  Fix  deadlock  with  --track-renames-strategy  modtime (Nick
30175           Craig-Wood)
30176
30177       · Cache
30178
30179         · Fix moveto/copyto remote:file remote:file2 (Nick Craig-Wood)
30180
30181       · Drive
30182
30183         · Stop using root_folder_id as a cache (Nick Craig-Wood)
30184
30185         · Make dangling shortcuts appear in listings (Nick Craig-Wood)
30186
30187         · Drop "Disabling ListR" messages down to debug (Nick Craig-Wood)
30188
30189         · Workaround and policy for Google Drive API (Dmitry Ustalov)
30190
30191       · FTP
30192
30193         · Add note to docs about  home  vs  root  directory  selection  (Nick
30194           Craig-Wood)
30195
30196       · Onedrive
30197
30198         · Fix reverting to Copy when Move would have worked (Nick Craig-Wood)
30199
30200         · Avoid comma rendered in URL in onedrive.md (Kevin)
30201
30202       · Pcloud
30203
30204         · Fix oauth on European region "eapi.pcloud.com" (Nick Craig-Wood)
30205
30206       · S3
30207
30208         · Fix  bucket Region auto detection when Region unset in config (Nick
30209           Craig-Wood)
30210
30211   v1.52.2 - 2020-06-24
30212       See           commits            (https://github.com/rclone/rclone/com
30213       pare/v1.52.1...v1.52.2)
30214
30215       · Bug Fixes
30216
30217         · build
30218
30219           · Fix docker release build action (Nick Craig-Wood)
30220
30221           · Fix custom timezone in Docker image (NoLooseEnds)
30222
30223         · check:  Fix misleading message which printed errors instead of dif‐
30224           ferences (Nick Craig-Wood)
30225
30226         · errors: Add WSAECONNREFUSED and more to the list of retriable  Win‐
30227           dows errors (Nick Craig-Wood)
30228
30229         · rcd: Fix incorrect prometheus metrics (Gary Kim)
30230
30231         · serve  restic:  Fix  flags  so they use environment variables (Nick
30232           Craig-Wood)
30233
30234         · serve webdav: Fix flags so they  use  environment  variables  (Nick
30235           Craig-Wood)
30236
30237         · sync: Fix --track-renames-strategy modtime (Nick Craig-Wood)
30238
30239       · Drive
30240
30241         · Fix  not  being  able to delete a directory with a trashed shortcut
30242           (Nick Craig-Wood)
30243
30244         · Fix creating a directory inside a shortcut (Nick Craig-Wood)
30245
30246         · Fix   --drive-impersonate   with   cached   root_folder_id    (Nick
30247           Craig-Wood)
30248
30249       · SFTP
30250
30251         · Fix SSH key PEM loading (Zac Rubin)
30252
30253       · Swift
30254
30255         · Speed  up  deletes  by not retrying segment container deletes (Nick
30256           Craig-Wood)
30257
30258       · Tardigrade
30259
30260         · Upgrade to uplink v1.1.1 (Caleb Case)
30261
30262       · WebDAV
30263
30264         · Fix free/used display for  rclone  about/df  for  certain  backends
30265           (Nick Craig-Wood)
30266
30267   v1.52.1 - 2020-06-10
30268       See            commits           (https://github.com/rclone/rclone/com
30269       pare/v1.52.0...v1.52.1)
30270
30271       · Bug Fixes
30272
30273         · lib/file: Fix SetSparse on Windows 7 which fixes downloads of files
30274           > 250MB (Nick Craig-Wood)
30275
30276         · build
30277
30278           · Update  go.mod  to  go1.14  to  enable  -mod=vendor  build  (Nick
30279             Craig-Wood)
30280
30281           · Remove quicktest from Dockerfile (Nick Craig-Wood)
30282
30283           · Build Docker images with GitHub actions (Matteo Pietro Dazzi)
30284
30285           · Update Docker build workflows (Nick Craig-Wood)
30286
30287           · Set user_allow_other in /etc/fuse.conf in the Docker image  (Nick
30288             Craig-Wood)
30289
30290           · Fix xgo build after go1.14 go.mod update (Nick Craig-Wood)
30291
30292         · docs
30293
30294           · Add  link  to  source  and  modified time to footer of every page
30295             (Nick Craig-Wood)
30296
30297           · Remove manually  set  dates  and  use  git  dates  instead  (Nick
30298             Craig-Wood)
30299
30300           · Minor  tense, punctuation, brevity and positivity changes for the
30301             home page (edwardxml)
30302
30303           · Remove leading slash in page reference  in  footer  when  present
30304             (Nick Craig-Wood)
30305
30306           · Note  commands  which  need  obscured  input  in  the  docs (Nick
30307             Craig-Wood)
30308
30309           · obscure: Write more help as we are referencing it elsewhere (Nick
30310             Craig-Wood)
30311
30312       · VFS
30313
30314         · Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick
30315           Craig-Wood)
30316
30317       · Drive
30318
30319         · Fix missing items when listing  using  --fast-list  /  ListR  (Nick
30320           Craig-Wood)
30321
30322       · Putio
30323
30324         · Fix panic on Object.Open (Cenk Alti)
30325
30326       · S3
30327
30328         · Fix  upload  of single files into buckets without create permission
30329           (Nick Craig-Wood)
30330
30331         · Fix --header-upload (Nick Craig-Wood)
30332
30333       · Tardigrade
30334
30335         · Fix listing bug by upgrading to v1.0.7
30336
30337         · Set UserAgent to rclone (Caleb Case)
30338
30339   v1.52.0 - 2020-05-27
30340       Special thanks to Martin Michlmayr for proof reading and correcting all
30341       the docs and Edward Barker for helping re-write the front page.
30342
30343       See            commits           (https://github.com/rclone/rclone/com
30344       pare/v1.51.0...v1.52.0)
30345
30346       · New backends
30347
30348         · Tardigrade (https://rclone.org/tardigrade/) backend  for  use  with
30349           storj.io (Caleb Case)
30350
30351         · Union   (https://rclone.org/union/)   re-write   to  have  multiple
30352           writable remotes (Max Sum)
30353
30354         · Seafile (/seafile) for Seafile server (Fred @creativeprojects)
30355
30356       · New commands
30357
30358         · backend: command for backend specific commands (see backends) (Nick
30359           Craig-Wood)
30360
30361         · cachestats:  Deprecate  in  favour  of  rclone backend stats cache:
30362           (Nick Craig-Wood)
30363
30364         · dbhashsum: Deprecate in favour of rclone hashsum DropboxHash  (Nick
30365           Craig-Wood)
30366
30367       · New Features
30368
30369         · Add  --header-download  and  --header-upload flags for setting HTTP
30370           headers when uploading/downloading (Tim Gallant)
30371
30372         · Add --header flag to add HTTP headers  to  every  HTTP  transaction
30373           (Nick Craig-Wood)
30374
30375         · Add  --check-first  to  do  all  checking before starting transfers
30376           (Nick Craig-Wood)
30377
30378         · Add --track-renames-strategy for configurable matching criteria for
30379           --track-renames (Bernd Schoolmann)
30380
30381         · Add  --cutoff-mode  hard,soft,cautious  (Shing  Kit Chan & Franklyn
30382           Tackitt)
30383
30384         · Filter flags (e.g.  --files-from -) can read from  stdin  (fishbul‐
30385           let)
30386
30387         · Add --error-on-no-transfer option (Jon Fautley)
30388
30389         · Implement  --order-by xxx,mixed for copying some small and some big
30390           files (Nick Craig-Wood)
30391
30392         · Allow --max-backlog to be negative meaning  as  large  as  possible
30393           (Nick Craig-Wood)
30394
30395         · Added --no-unicode-normalization flag to allow Unicode filenames to
30396           remain unique (Ben Zenker)
30397
30398         · Allow --min-age/--max-age to take a date  as  well  as  a  duration
30399           (Nick Craig-Wood)
30400
30401         · Add   rename  statistics  for  file  and  directory  renames  (Nick
30402           Craig-Wood)
30403
30404         · Add statistics output to JSON log (reddi)
30405
30406         · Make stats be printed on non-zero exit code (Nick Craig-Wood)
30407
30408         · When running  --password-command  allow  use  of  stdin  (Sébastien
30409           Gross)
30410
30411         · Stop empty strings being a valid remote path (Nick Craig-Wood)
30412
30413         · accounting:   support   WriterTo  for  less  memory  copying  (Nick
30414           Craig-Wood)
30415
30416         · build
30417
30418           · Update to use go1.14 for the build (Nick Craig-Wood)
30419
30420           · Add -trimpath to release build  for  reproduceable  builds  (Nick
30421             Craig-Wood)
30422
30423           · Remove GOOS and GOARCH from Dockerfile (Brandon Philips)
30424
30425         · config
30426
30427           · Fsync  the  config file after writing to save more reliably (Nick
30428             Craig-Wood)
30429
30430           · Add --obscure and  --no-obscure  flags  to  config  create/update
30431             (Nick Craig-Wood)
30432
30433           · Make config show take remote: as well as remote (Nick Craig-Wood)
30434
30435         · copyurl: Add --no-clobber flag (Denis)
30436
30437         · delete: Added --rmdirs flag to delete directories as well (Kush)
30438
30439         · filter: Added --files-from-raw flag (Ankur Gupta)
30440
30441         · genautocomplete: Add support for fish shell (Matan Rosenberg)
30442
30443         · log: Add support for syslog LOCAL facilities (Patryk Jakuszew)
30444
30445         · lsjson:  Add  --hash-type  parameter  and use it in lsf to speed up
30446           hashing (Nick Craig-Wood)
30447
30448         · rc
30449
30450           · Add  -o/--opt  and  -a/--arg  for  more  structured  input  (Nick
30451             Craig-Wood)
30452
30453           · Implement  backend/command  for running backend specific commands
30454             remotely (Nick Craig-Wood)
30455
30456           · Add mount/mount command for starting rclone  mount  via  the  API
30457             (Chaitanya)
30458
30459         · rcd: Add Prometheus metrics support (Gary Kim)
30460
30461         · serve http
30462
30463           · Added a --template flag for user defined markup (calistri)
30464
30465           · Add   Last-Modified   headers  to  files  and  directories  (Nick
30466             Craig-Wood)
30467
30468         · serve sftp: Add support for multiple host keys by  repeating  --key
30469           flag (Maxime Suret)
30470
30471         · touch:  Add  --localtime flag to make --timestamp localtime not UTC
30472           (Nick Craig-Wood)
30473
30474       · Bug Fixes
30475
30476         · accounting
30477
30478           · Restore "Max number of stats groups  reached"  log  line  (Michał
30479             Matczuk)
30480
30481           · Correct   exitcode  on  Transfer  Limit  Exceeded  flag.   (Anuar
30482             Serdaliyev)
30483
30484           · Reset bytes read during copy retry (Ankur Gupta)
30485
30486           · Fix race clearing stats (Nick Craig-Wood)
30487
30488         · copy: Only create empty directories when they don't  exist  on  the
30489           remote (Ishuah Kariuki)
30490
30491         · dedupe:  Stop  dedupe  deleting  files  with  identical  IDs  (Nick
30492           Craig-Wood)
30493
30494         · oauth
30495
30496           · Use custom http client so that --no-check-certificate is  honored
30497             by oauth token fetch (Mark Spieth)
30498
30499           · Replace deprecated oauth2.NoContext (Lars Lehtonen)
30500
30501         · operations
30502
30503           · Fix  setting  the timestamp on Windows for multithread copy (Nick
30504             Craig-Wood)
30505
30506           · Make rcat obey --ignore-checksum (Nick Craig-Wood)
30507
30508           · Make --max-transfer more accurate (Nick Craig-Wood)
30509
30510         · rc
30511
30512           · Fix dropped error (Lars Lehtonen)
30513
30514           · Fix misplaced http server config (Xiaoxing Ye)
30515
30516           · Disable duplicate log (ElonH)
30517
30518         · serve dlna
30519
30520           · Cds: don't specify childCount at all when unknown (Dan Walters)
30521
30522           · Cds: use modification time as date in dlna metadata (Dan Walters)
30523
30524         · serve restic: Fix tests  after  restic  project  removed  vendoring
30525           (Nick Craig-Wood)
30526
30527         · sync
30528
30529           · Fix incorrect "nothing to transfer" message using --delete-before
30530             (Nick Craig-Wood)
30531
30532           · Only create empty directories when they don't exist on the remote
30533             (Ishuah Kariuki)
30534
30535       · Mount
30536
30537         · Add   --async-read   flag   to  disable  asynchronous  reads  (Nick
30538           Craig-Wood)
30539
30540         · Ignore --allow-root flag with a warning as it has been removed  up‐
30541           stream (Nick Craig-Wood)
30542
30543         · Warn  if  --allow-non-empty  used on Windows and clarify docs (Nick
30544           Craig-Wood)
30545
30546         · Constrain to go1.13 or above otherwise bazil.org/fuse fails to com‐
30547           pile (Nick Craig-Wood)
30548
30549         · Fix fail because of too long volume name (evileye)
30550
30551         · Report 1PB free for unknown disk sizes (Nick Craig-Wood)
30552
30553         · Map more rclone errors into file systems errors (Nick Craig-Wood)
30554
30555         · Fix disappearing cwd problem (Nick Craig-Wood)
30556
30557         · Use ReaddirPlus on Windows to improve directory listing performance
30558           (Nick Craig-Wood)
30559
30560         · Send a hint as to whether the filesystem is case insensitive or not
30561           (Nick Craig-Wood)
30562
30563         · Add rc command mount/types (Nick Craig-Wood)
30564
30565         · Change maximum leaf name length to 1024 bytes (Nick Craig-Wood)
30566
30567       · VFS
30568
30569         · Add  --vfs-read-wait  and  --vfs-write-wait  flags  to control time
30570           waiting for a sequential read/write (Nick Craig-Wood)
30571
30572         · Change default --vfs-read-wait to 20ms (it was 5ms and not  config‐
30573           urable) (Nick Craig-Wood)
30574
30575         · Make df output more consistent on a rclone mount.  (Yves G)
30576
30577         · Report 1PB free for unknown disk sizes (Nick Craig-Wood)
30578
30579         · Fix  race  condition  caused  by unlocked reading of Dir.path (Nick
30580           Craig-Wood)
30581
30582         · Make File lock and Dir lock not overlap  to  avoid  deadlock  (Nick
30583           Craig-Wood)
30584
30585         · Implement lock ordering between File and Dir to eliminate deadlocks
30586           (Nick Craig-Wood)
30587
30588         · Factor the vfs cache into its own package (Nick Craig-Wood)
30589
30590         · Pin the Fs in use in the Fs cache (Nick Craig-Wood)
30591
30592         · Add SetSys() methods to Node to allow caching stuff on a node (Nick
30593           Craig-Wood)
30594
30595         · Ignore  file  not  found  errors  from  Hash  in Read.Release (Nick
30596           Craig-Wood)
30597
30598         · Fix hang in read wait code (Nick Craig-Wood)
30599
30600       · Local
30601
30602         · Speed up multi thread downloads by using sparse  files  on  Windows
30603           (Nick Craig-Wood)
30604
30605         · Implement  --local-no-sparse  flag for disabling sparse files (Nick
30606           Craig-Wood)
30607
30608         · Implement  rclone  backend  noop   for   testing   purposes   (Nick
30609           Craig-Wood)
30610
30611         · Fix "file not found" errors on post transfer Hash calculation (Nick
30612           Craig-Wood)
30613
30614       · Cache
30615
30616         · Implement rclone backend stats command (Nick Craig-Wood)
30617
30618         · Fix Server Side Copy with Temp Upload (Brandon McNama)
30619
30620         · Remove Unused Functions (Lars Lehtonen)
30621
30622         · Disable race tests until bbolt is fixed (Nick Craig-Wood)
30623
30624         · Move methods used for testing into test file (greatroar)
30625
30626         · Add Pin and Unpin and canonicalised lookup (Nick Craig-Wood)
30627
30628         · Use proper import path go.etcd.io/bbolt (Robert-André Mauchin)
30629
30630       · Crypt
30631
30632         · Calculate hashes for uploads from local disk (Nick Craig-Wood)
30633
30634           · This allows crypted Jottacloud uploads without using local disk
30635
30636           · This means crypted s3/b2 uploads will now have hashes
30637
30638         · Added rclone backend decode/encode commands to replicate  function‐
30639           ality of cryptdecode (Anagh Kumar Baranwal)
30640
30641         · Get  rid  of  the unused Cipher interface as it obfuscated the code
30642           (Nick Craig-Wood)
30643
30644       · Azure Blob
30645
30646         · Implement streaming of unknown sized files so rcat is now supported
30647           (Nick Craig-Wood)
30648
30649         · Implement memory pooling to control memory use (Nick Craig-Wood)
30650
30651         · Add --azureblob-disable-checksum flag (Nick Craig-Wood)
30652
30653         · Retry InvalidBlobOrBlock error as it may indicate block concurrency
30654           problems (Nick Craig-Wood)
30655
30656         · Remove unused Object.parseTimeString() (Lars Lehtonen)
30657
30658         · Fix  permission  error  on  SAS  URL  limited  to  container  (Nick
30659           Craig-Wood)
30660
30661       · B2
30662
30663         · Add support for --header-upload and --header-download (Tim Gallant)
30664
30665         · Ignore directory markers at the root also (Nick Craig-Wood)
30666
30667         · Force the case of the SHA1 to lowercase (Nick Craig-Wood)
30668
30669         · Remove unused largeUpload.clearUploadURL() (Lars Lehtonen)
30670
30671       · Box
30672
30673         · Add support for --header-upload and --header-download (Tim Gallant)
30674
30675         · Implement About to read size used (Nick Craig-Wood)
30676
30677         · Add token renew function for jwt auth (David Bramwell)
30678
30679         · Added  support  for  interchangeable  root  folder  for Box backend
30680           (Sunil Patra)
30681
30682         · Remove unnecessary iat from jws claims (David)
30683
30684       · Drive
30685
30686         · Follow shortcuts by default, skip with --drive-skip-shortcuts (Nick
30687           Craig-Wood)
30688
30689         · Implement  rclone  backend  shortcut command for creating shortcuts
30690           (Nick Craig-Wood)
30691
30692         · Added rclone backend command  to  change  service_account_file  and
30693           chunk_size (Anagh Kumar Baranwal)
30694
30695         · Fix missing files when using --fast-list and --drive-shared-with-me
30696           (Nick Craig-Wood)
30697
30698         · Fix  duplicate  items  when  using   --drive-shared-with-me   (Nick
30699           Craig-Wood)
30700
30701         · Extend --drive-stop-on-upload-limit to respond to teamDriveFileLim‐
30702           itExceeded.  (harry)
30703
30704         · Don't delete files with multiple parents to avoid data  loss  (Nick
30705           Craig-Wood)
30706
30707         · Server  side  copy  docs  use  default  description  if empty (Nick
30708           Craig-Wood)
30709
30710       · Dropbox
30711
30712         · Make error insufficient space to be fatal (harry)
30713
30714         · Add info about required redirect url (Elan Ruusamäe)
30715
30716       · Fichier
30717
30718         · Add support for --header-upload and --header-download (Tim Gallant)
30719
30720         · Implement  custom  pacer  to  deal  with  the  new  rate   limiting
30721           (buengese)
30722
30723       · FTP
30724
30725         · Fix lockup when using concurrency limit on failed connections (Nick
30726           Craig-Wood)
30727
30728         · Fix lockup on failed upload  when  using  concurrency  limit  (Nick
30729           Craig-Wood)
30730
30731         · Fix  lockup  on  Close  failures when using concurrency limit (Nick
30732           Craig-Wood)
30733
30734         · Work around pureftp sending spurious 150 messages (Nick Craig-Wood)
30735
30736       · Google Cloud Storage
30737
30738         · Add  support  for  --header-upload  and   --header-download   (Nick
30739           Craig-Wood)
30740
30741         · Add ARCHIVE storage class to help (Adam Stroud)
30742
30743         · Ignore directory markers at the root (Nick Craig-Wood)
30744
30745       · Googlephotos
30746
30747         · Make the start year configurable (Daven)
30748
30749         · Add support for --header-upload and --header-download (Tim Gallant)
30750
30751         · Create feature/favorites directory (Brandon Philips)
30752
30753         · Fix "concurrent map write" error (Nick Craig-Wood)
30754
30755         · Don't put an image in error message (Nick Craig-Wood)
30756
30757       · HTTP
30758
30759         · Improved  directory  listing  with  new template from Caddy project
30760           (calisro)
30761
30762       · Jottacloud
30763
30764         · Implement --jottacloud-trashed-only (buengese)
30765
30766         · Add support for --header-upload and --header-download (Tim Gallant)
30767
30768         · Use  RawURLEncoding  when  decoding  base64  encoded  login   token
30769           (buengese)
30770
30771         · Implement cleanup (buengese)
30772
30773         · Update  docs  regarding cleanup, removed remains from old auth, and
30774           added warning about special mountpoints.  (albertony)
30775
30776       · Mailru
30777
30778         · Describe 2FA requirements (valery1707)
30779
30780       · Onedrive
30781
30782         · Implement --onedrive-server-side-across-configs (Nick Craig-Wood)
30783
30784         · Add support for --header-upload and --header-download (Tim Gallant)
30785
30786         · Fix occasional 416 errors on multipart uploads (Nick Craig-Wood)
30787
30788         · Added maximum chunk size limit warning in the docs (Harry)
30789
30790         · Fix missing drive on config (Nick Craig-Wood)
30791
30792         · Make error quotaLimitReached to be fatal (harry)
30793
30794       · Opendrive
30795
30796         · Add support for --header-upload and --header-download (Tim Gallant)
30797
30798       · Pcloud
30799
30800         · Added support for interchangeable root folder  for  pCloud  backend
30801           (Sunil Patra)
30802
30803         · Add support for --header-upload and --header-download (Tim Gallant)
30804
30805         · Fix  initial  config  "Auth  state  doesn't  match"  message  (Nick
30806           Craig-Wood)
30807
30808       · Premiumizeme
30809
30810         · Add support for --header-upload and --header-download (Tim Gallant)
30811
30812         · Prune unused functions (Lars Lehtonen)
30813
30814       · Putio
30815
30816         · Add  support  for  --header-upload  and   --header-download   (Nick
30817           Craig-Wood)
30818
30819         · Make downloading files use the rclone http Client (Nick Craig-Wood)
30820
30821         · Fix   parsing   of  remotes  with  leading  and  trailing  /  (Nick
30822           Craig-Wood)
30823
30824       · Qingstor
30825
30826         · Make rclone cleanup remove pending multipart uploads older than 24h
30827           (Nick Craig-Wood)
30828
30829         · Try harder to cancel failed multipart uploads (Nick Craig-Wood)
30830
30831         · Prune multiUploader.list() (Lars Lehtonen)
30832
30833         · Lint fix (Lars Lehtonen)
30834
30835       · S3
30836
30837         · Add support for --header-upload and --header-download (Tim Gallant)
30838
30839         · Use memory pool for buffer allocations (Maciej Zimnoch)
30840
30841         · Add SSE-C support for AWS, Ceph, and MinIO (Jack Anderson)
30842
30843         · Fail fast multipart upload (Michał Matczuk)
30844
30845         · Report   errors   on   bucket   creation  (mkdir)  correctly  (Nick
30846           Craig-Wood)
30847
30848         · Specify  that  Minio  supports  URL  encoding  in  listings   (Nick
30849           Craig-Wood)
30850
30851         · Added 500 as retryErrorCode (Michał Matczuk)
30852
30853         · Use  --low-level-retries  as  the number of SDK retries (Aleksandar
30854           Janković)
30855
30856         · Fix multipart abort context (Aleksandar Jankovic)
30857
30858         · Replace deprecated session.New()  with  session.NewSession()  (Lars
30859           Lehtonen)
30860
30861         · Use  the  provided size parameter when allocating a new memory pool
30862           (Joachim Brandon LeBlanc)
30863
30864         · Use rclone's low level retries instead of AWS SDK  to  fix  listing
30865           retries (Nick Craig-Wood)
30866
30867         · Ignore directory markers at the root also (Nick Craig-Wood)
30868
30869         · Use single memory pool (Michał Matczuk)
30870
30871         · Do not resize buf on put to memBuf (Michał Matczuk)
30872
30873         · Improve docs for --s3-disable-checksum (Nick Craig-Wood)
30874
30875         · Don't  leak  memory  or  tokens  in edge cases for multipart upload
30876           (Nick Craig-Wood)
30877
30878       · Seafile
30879
30880         · Implement 2FA (Fred)
30881
30882       · SFTP
30883
30884         · Added --sftp-pem-key to support inline key files (calisro)
30885
30886         · Fix post transfer copies failing with 0 size  when  using  set_mod‐
30887           time=false (Nick Craig-Wood)
30888
30889       · Sharefile
30890
30891         · Add support for --header-upload and --header-download (Tim Gallant)
30892
30893       · Sugarsync
30894
30895         · Add support for --header-upload and --header-download (Tim Gallant)
30896
30897       · Swift
30898
30899         · Add   support   for  --header-upload  and  --header-download  (Nick
30900           Craig-Wood)
30901
30902         · Fix cosmetic issue in error message (Martin Michlmayr)
30903
30904       · Union
30905
30906         · Implement multiple writable remotes (Max Sum)
30907
30908         · Fix server-side copy (Max Sum)
30909
30910         · Implement ListR (Max Sum)
30911
30912         · Enable ListR when upstreams contain local (Max Sum)
30913
30914       · WebDAV
30915
30916         · Add support for --header-upload and --header-download (Tim Gallant)
30917
30918         · Fix X-OC-Mtime header for Transip compatibility (Nick Craig-Wood)
30919
30920         · Report full and consistent usage with about (Yves G)
30921
30922       · Yandex
30923
30924         · Add support for --header-upload and --header-download (Tim Gallant)
30925
30926   v1.51.0 - 2020-02-01
30927       · New backends
30928
30929         · Memory (https://rclone.org/memory/) (Nick Craig-Wood)
30930
30931         · Sugarsync (https://rclone.org/sugarsync/) (Nick Craig-Wood)
30932
30933       · New Features
30934
30935         · Adjust all backends  to  have  --backend-encoding  parameter  (Nick
30936           Craig-Wood)
30937
30938           · this  enables  the encoding for special characters to be adjusted
30939             or disabled
30940
30941         · Add --max-duration flag to control the maximum duration of a trans‐
30942           fer session (boosh)
30943
30944         · Add --expect-continue-timeout flag, default 1s (Nick Craig-Wood)
30945
30946         · Add  --no-check-dest  flag for copying without testing the destina‐
30947           tion (Nick Craig-Wood)
30948
30949         · Implement --order-by flag to order transfers (Nick Craig-Wood)
30950
30951         · accounting
30952
30953           · Don't show  entries  in  both  transferring  and  checking  (Nick
30954             Craig-Wood)
30955
30956           · Add option to delete stats (Aleksandar Jankovic)
30957
30958         · build
30959
30960           · Compress the test builds with gzip (Nick Craig-Wood)
30961
30962           · Implement  a  framework  for  starting  test servers during tests
30963             (Nick Craig-Wood)
30964
30965         · cmd: Always print elapsed time to tenth place seconds  in  progress
30966           (Gary Kim)
30967
30968         · config
30969
30970           · Add  --password-command  to  allow dynamic config password (Damon
30971             Permezel)
30972
30973           · Give config questions default values (Nick Craig-Wood)
30974
30975           · Check a remote exists when creating a new one (Nick Craig-Wood)
30976
30977         · copyurl: Add --stdout flag to write to stdout (Nick Craig-Wood)
30978
30979         · dedupe: Implement keep smallest too (Nick Craig-Wood)
30980
30981         · hashsum: Add flag --base64 flag (landall)
30982
30983         · lsf: Speed up on s3/swift/etc by not reading  mimetype  by  default
30984           (Nick Craig-Wood)
30985
30986         · lsjson: Add --no-mimetype flag (Nick Craig-Wood)
30987
30988         · rc:  Add  methods  to  turn  on  blocking and mutex profiling (Nick
30989           Craig-Wood)
30990
30991         · rcd
30992
30993           · Adding group parameter to stats (Chaitanya)
30994
30995           · Move webgui apart; option to disable browser (Xiaoxing Ye)
30996
30997         · serve sftp: Add support for public key with auth proxy (Paul  Tins‐
30998           ley)
30999
31000         · stats: Show deletes in stats and hide zero stats (anuar45)
31001
31002       · Bug Fixes
31003
31004         · accounting
31005
31006           · Fix error counter counting multiple times (Ankur Gupta)
31007
31008           · Fix error count shown as checks (Cnly)
31009
31010           · Clear finished transfer in stats-reset (Maciej Zimnoch)
31011
31012           · Added  StatsInfo  locking  in  statsGroups  sum  function (Michał
31013             Matczuk)
31014
31015         · asyncreader: Fix EOF error (buengese)
31016
31017         · check: Fix --one-way recursing more directories than  it  needs  to
31018           (Nick Craig-Wood)
31019
31020         · chunkedreader:  Disable  hash  calculation  for first segment (Nick
31021           Craig-Wood)
31022
31023         · config
31024
31025           · Do not open browser on headless on drive/gcs/google  photos  (Xi‐
31026             aoxing Ye)
31027
31028           · SetValueAndSave ignore error if config section does not exist yet
31029             (buengese)
31030
31031         · cmd: Fix completion with an encrypted config (Danil Semelenov)
31032
31033         · dbhashsum:  Stop  it  returning  UNSUPPORTED   on   dropbox   (Nick
31034           Craig-Wood)
31035
31036         · dedupe: Add missing modes to help string (Nick Craig-Wood)
31037
31038         · operations
31039
31040           · Fix  dedupe  continuing  on errors like insufficientFilePersimmon
31041             (SezalAgrawal)
31042
31043           · Clear accounting before low level retry (Maciej Zimnoch)
31044
31045           · Write debug message when hashes could not be checked (Ole Schütt)
31046
31047           · Move interface assertion to  tests  to  remove  pflag  dependency
31048             (Nick Craig-Wood)
31049
31050           · Make   NewOverrideObjectInfo   public   and   factor  uses  (Nick
31051             Craig-Wood)
31052
31053         · proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood)
31054
31055         · vendor
31056
31057           · Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood)
31058
31059           · Update github.com/t3rm1n4l/go-mega to fix  mega  "illegal  base64
31060             data at input byte 22" (Nick Craig-Wood)
31061
31062           · Update termbox-go to fix ncdu command on FreeBSD (Kuang-che Wu)
31063
31064           · Update t3rm1n4l/go-mega - fixes mega: couldn't login: crypto/aes:
31065             invalid key size 0 (Nick Craig-Wood)
31066
31067       · Mount
31068
31069         · Enable async reads for a 20% speedup (Nick Craig-Wood)
31070
31071         · Replace use of WriteAt with Write for  cache  mode  >=  writes  and
31072           O_APPEND (Brett Dutro)
31073
31074         · Make sure we call unmount when exiting (Nick Craig-Wood)
31075
31076         · Don't  build  on  go1.10  as bazil/fuse no longer supports it (Nick
31077           Craig-Wood)
31078
31079         · When setting dates discard out of range dates (Nick Craig-Wood)
31080
31081       · VFS
31082
31083         · Add  a  newly  created  file  straight  into  the  directory  (Nick
31084           Craig-Wood)
31085
31086         · Only calculate one hash for reads for a speedup (Nick Craig-Wood)
31087
31088         · Make  ReadAt  for  non cached files work better with non-sequential
31089           reads (Nick Craig-Wood)
31090
31091         · Fix edge cases when reading ModTime from file (Nick Craig-Wood)
31092
31093         · Make sure existing files opened for write show correct  size  (Nick
31094           Craig-Wood)
31095
31096         · Don't  cache  the  path  in  RW  file objects to fix renaming (Nick
31097           Craig-Wood)
31098
31099         · Fix rename of open files when using the VFS cache (Nick Craig-Wood)
31100
31101         · When renaming files in the cache, rename the cache item  in  memory
31102           too (Nick Craig-Wood)
31103
31104         · Fix  open file renaming on drive when using --vfs-cache-mode writes
31105           (Nick Craig-Wood)
31106
31107         · Fix incorrect modtime for  mv  into  mount  with  --vfs-cache-modes
31108           writes (Nick Craig-Wood)
31109
31110         · On  rename,  rename  in  cache  too if the file exists (Anagh Kumar
31111           Baranwal)
31112
31113       · Local
31114
31115         · Make source file being updated  errors  be  NoLowLevelRetry  errors
31116           (Nick Craig-Wood)
31117
31118         · Fix update of hidden files on Windows (Nick Craig-Wood)
31119
31120       · Cache
31121
31122         · Follow    move    of   upstream   library   github.com/coreos/bbolt
31123           github.com/etcd-io/bbolt (Nick Craig-Wood)
31124
31125         · Fix fatal error: concurrent map writes (Nick Craig-Wood)
31126
31127       · Crypt
31128
31129         · Reorder the filename encryption options (Thomas Eales)
31130
31131         · Correctly handle trailing dot (buengese)
31132
31133       · Chunker
31134
31135         · Reduce length of temporary suffix (Ivan Andreev)
31136
31137       · Drive
31138
31139         · Add --drive-stop-on-upload-limit flag to  stop  syncs  when  upload
31140           limit reached (Nick Craig-Wood)
31141
31142         · Add  --drive-use-shared-date to use date file was shared instead of
31143           modified date (Garry McNulty)
31144
31145         · Make sure invalid auth for teamdrives always reports an error (Nick
31146           Craig-Wood)
31147
31148         · Fix --fast-list when using appDataFolder (Nick Craig-Wood)
31149
31150         · Use  multipart resumable uploads for streaming and uploads in mount
31151           (Nick Craig-Wood)
31152
31153         · Log an ERROR if an incomplete search is returned (Nick Craig-Wood)
31154
31155         · Hide dangerous config from the configurator (Nick Craig-Wood)
31156
31157       · Dropbox
31158
31159         · Treat insufficient_space  errors  as  non  retriable  errors  (Nick
31160           Craig-Wood)
31161
31162       · Jottacloud
31163
31164         · Use new auth method used by official client (buengese)
31165
31166         · Add URL to generate Login Token to config wizard (Nick Craig-Wood)
31167
31168         · Add support whitelabel versions (buengese)
31169
31170       · Koofr
31171
31172         · Use rclone HTTP client.  (jaKa)
31173
31174       · Onedrive
31175
31176         · Add Sites.Read.All permission (Benjamin Richter)
31177
31178         · Add support "Retry-After" header (Motonori IWAMURO)
31179
31180       · Opendrive
31181
31182         · Implement --opendrive-chunk-size (Nick Craig-Wood)
31183
31184       · S3
31185
31186         · Re-implement   multipart   upload   to   fix  memory  issues  (Nick
31187           Craig-Wood)
31188
31189         · Add --s3-copy-cutoff for size to switch  to  multipart  copy  (Nick
31190           Craig-Wood)
31191
31192         · Add new region Asia Pacific (Hong Kong) (Outvi V)
31193
31194         · Reduce  memory  usage streaming files by reducing max stream upload
31195           size (Nick Craig-Wood)
31196
31197         · Add --s3-list-chunk option for bucket listing (Thomas Kriechbaumer)
31198
31199         · Force path style bucket access to off  for  AWS  deprecation  (Nick
31200           Craig-Wood)
31201
31202         · Use AWS web identity role provider if available (Tennix)
31203
31204         · Add StackPath Object Storage Support (Dave Koston)
31205
31206         · Fix ExpiryWindow value (Aleksandar Jankovic)
31207
31208         · Fix DisableChecksum condition (Aleksandar Janković)
31209
31210         · Fix URL decoding of NextMarker (Nick Craig-Wood)
31211
31212       · SFTP
31213
31214         · Add  --sftp-skip-links to skip symlinks and non regular files (Nick
31215           Craig-Wood)
31216
31217         · Retry Creation of Connection (Sebastian Brandt)
31218
31219         · Fix "failed to parse private key file: ssh: not an  encrypted  key"
31220           error (Nick Craig-Wood)
31221
31222         · Open  files  for  update  write  only to fix AWS SFTP interop (Nick
31223           Craig-Wood)
31224
31225       · Swift
31226
31227         · Reserve segments of dynamic large object  when  delete  objects  in
31228           container what was enabled versioning.  (Nguyễn Hữu Luân)
31229
31230         · Fix parsing of X-Object-Manifest (Nick Craig-Wood)
31231
31232         · Update OVH API endpoint (unbelauscht)
31233
31234       · WebDAV
31235
31236         · Make nextcloud only upload SHA1 checksums (Nick Craig-Wood)
31237
31238         · Fix  case  of  "Bearer"  in Authorization: header to agree with RFC
31239           (Nick Craig-Wood)
31240
31241         · Add Referer header to fix problems with WAFs (Nick Craig-Wood)
31242
31243   v1.50.2 - 2019-11-19
31244       · Bug Fixes
31245
31246         · accounting: Fix memory leak on retries operations (Nick Craig-Wood)
31247
31248       · Drive
31249
31250         · Fix listing of the root  directory  with  drive.files  scope  (Nick
31251           Craig-Wood)
31252
31253         · Fix    --drive-root-folder-id   with   team/shared   drives   (Nick
31254           Craig-Wood)
31255
31256   v1.50.1 - 2019-11-02
31257       · Bug Fixes
31258
31259         · hash: Fix accidentally  changed  hash  names  for  DropboxHash  and
31260           CRC-32 (Nick Craig-Wood)
31261
31262         · fshttp:  Fix  error reporting on tpslimit token bucket errors (Nick
31263           Craig-Wood)
31264
31265         · fshttp: Don't print token bucket errors on context cancelled  (Nick
31266           Craig-Wood)
31267
31268       · Local
31269
31270         · Fix listings of .  on Windows (Nick Craig-Wood)
31271
31272       · Onedrive
31273
31274         · Fix DirMove/Move after Onedrive change (Xiaoxing Ye)
31275
31276   v1.50.0 - 2019-10-26
31277       · New backends
31278
31279         · Citrix Sharefile (https://rclone.org/sharefile/) (Nick Craig-Wood)
31280
31281         · Chunker (https://rclone.org/chunker/) - an overlay backend to split
31282           files into smaller parts (Ivan Andreev)
31283
31284         · Mail.ru Cloud (https://rclone.org/mailru/) (Ivan Andreev)
31285
31286       · New Features
31287
31288         · encodings (Fabian Möller & Nick Craig-Wood)
31289
31290           · All backends now use file name encoding to ensure any  file  name
31291             can be written to any backend.
31292
31293           · See  the  restricted  file  name  docs  (https://rclone.org/over
31294             view/#restricted-filenames) for more info and the  local  backend
31295             docs (/local/#filenames).
31296
31297           · Some file names may look different in rclone if you are using any
31298             control  characters  in  names  or  unicode   FULLWIDTH   symbols
31299             (https://en.wikipedia.org/wiki/Halfwidth_and_Full
31300             width_Forms_(Unicode_block)).
31301
31302         · build
31303
31304           · Update to use go1.13 for the build (Nick Craig-Wood)
31305
31306           · Drop support for go1.9 (Nick Craig-Wood)
31307
31308           · Build rclone with GitHub actions (Nick Craig-Wood)
31309
31310           · Convert python scripts to python3 (Nick Craig-Wood)
31311
31312           · Swap Azure/go-ansiterm for mattn/go-colorable (Nick Craig-Wood)
31313
31314           · Dockerfile fixes (Matei David)
31315
31316           · Add  plugin  support  (https://github.com/rclone/rclone/blob/mas
31317             ter/CONTRIBUTING.md#writing-a-plugin)  for  backends and commands
31318             (Richard Patel)
31319
31320         · config
31321
31322           · Use alternating Red/Green in config to make  more  obvious  (Nick
31323             Craig-Wood)
31324
31325         · contrib
31326
31327           · Add sample DLNA server Docker Compose manifest.  (pataquets)
31328
31329           · Add sample WebDAV server Docker Compose manifest.  (pataquets)
31330
31331         · copyurl
31332
31333           · Add --auto-filename flag for using file name from URL in destina‐
31334             tion path (Denis)
31335
31336         · serve dlna:
31337
31338           · Many compatibility improvements (Dan Walters)
31339
31340           · Support for external srt subtitles (Dan Walters)
31341
31342         · rc
31343
31344           · Added command core/quit (Saksham Khanna)
31345
31346       · Bug Fixes
31347
31348         · sync
31349
31350           · Make --update/-u not transfer files that  haven't  changed  (Nick
31351             Craig-Wood)
31352
31353           · Free  objects  after  they  come out of the transfer pipe to save
31354             memory (Nick Craig-Wood)
31355
31356           · Fix --files-from without --no-traverse  doing  a  recursive  scan
31357             (Nick Craig-Wood)
31358
31359         · operations
31360
31361           · Fix accounting for server-side copies (Nick Craig-Wood)
31362
31363           · Display 'All duplicates removed' only if dedupe successful (Sezal
31364             Agrawal)
31365
31366           · Display 'Deleted X extra copies' only if dedupe successful (Sezal
31367             Agrawal)
31368
31369         · accounting
31370
31371           · Only  allow  up to 100 completed transfers in the accounting list
31372             to save memory (Nick Craig-Wood)
31373
31374           · Cull the old time ranges  when  possible  to  save  memory  (Nick
31375             Craig-Wood)
31376
31377           · Fix panic due to server-side copy fallback (Ivan Andreev)
31378
31379           · Fix  memory leak noticeable for transfers of large numbers of ob‐
31380             jects (Nick Craig-Wood)
31381
31382           · Fix total duration calculation (Nick Craig-Wood)
31383
31384         · cmd
31385
31386           · Fix environment variables not setting command  line  flags  (Nick
31387             Craig-Wood)
31388
31389           · Make  autocomplete  compatible  with  bash's posix mode for macOS
31390             (Danil Semelenov)
31391
31392           · Make --progress work in git bash on Windows (Nick Craig-Wood)
31393
31394           · Fix 'compopt: command not found' on autocomplete on macOS  (Danil
31395             Semelenov)
31396
31397         · config
31398
31399           · Fix  setting  of  non  top level flags from environment variables
31400             (Nick Craig-Wood)
31401
31402           · Check  config  names  more  carefully  and  report  errors  (Nick
31403             Craig-Wood)
31404
31405           · Remove  error:  can't use --size-only and --ignore-size together.
31406             (Nick Craig-Wood)
31407
31408         · filter: Prevent mixing options when --files-from is in use (Michele
31409           Caci)
31410
31411         · serve  sftp:  Fix  crash on unsupported operations (e.g.  Readlink)
31412           (Nick Craig-Wood)
31413
31414       · Mount
31415
31416         · Allow files of unknown size to be read properly (Nick Craig-Wood)
31417
31418         · Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood)
31419
31420         · Fix panic on File.Open (Nick Craig-Wood)
31421
31422         · Fix "mount_fusefs: -o timeout=: option not  supported"  on  FreeBSD
31423           (Nick Craig-Wood)
31424
31425         · Don't  pass  huge  filenames  (>4k)  to FUSE as it can't cope (Nick
31426           Craig-Wood)
31427
31428       · VFS
31429
31430         · Add flag --vfs-case-insensitive for windows/macOS mounts (Ivan  An‐
31431           dreev)
31432
31433         · Make  objects  of  unknown  size  readable  through  the  VFS (Nick
31434           Craig-Wood)
31435
31436         · Move writeback of dirty data out of close()  method  into  its  own
31437           method  (FlushWrites)  and  remove close() call from Flush() (Brett
31438           Dutro)
31439
31440         · Stop empty dirs disappearing when renamed on bucket  based  remotes
31441           (Nick Craig-Wood)
31442
31443         · Stop  change notify polling clearing so much of the directory cache
31444           (Nick Craig-Wood)
31445
31446       · Azure Blob
31447
31448         · Disable logging to the Windows event log (Nick Craig-Wood)
31449
31450       · B2
31451
31452         · Remove unverified: prefix on sha1 to improve  interop  (e.g.   with
31453           CyberDuck) (Nick Craig-Wood)
31454
31455       · Box
31456
31457         · Add options to get access token via JWT auth (David)
31458
31459       · Drive
31460
31461         · Disable  HTTP/2  by  default to work around INTERNAL_ERROR problems
31462           (Nick Craig-Wood)
31463
31464         · Make sure that drive root ID is always canonical (Nick Craig-Wood)
31465
31466         · Fix --drive-shared-with-me from the  root  with  lsand  --fast-list
31467           (Nick Craig-Wood)
31468
31469         · Fix ChangeNotify polling for shared drives (Nick Craig-Wood)
31470
31471         · Fix   change   notify   polling   when  using  appDataFolder  (Nick
31472           Craig-Wood)
31473
31474       · Dropbox
31475
31476         · Make disallowed filenames errors not retry (Nick Craig-Wood)
31477
31478         · Fix nil pointer exception on restricted files (Nick Craig-Wood)
31479
31480       · Fichier
31481
31482         · Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood)
31483
31484       · FTP
31485
31486         · Allow disabling EPSV mode (Jon Fautley)
31487
31488       · HTTP
31489
31490         · HEAD directory entries in parallel to speedup (Nick Craig-Wood)
31491
31492         · Add --http-no-head to stop rclone  doing  HEAD  in  listings  (Nick
31493           Craig-Wood)
31494
31495       · Putio
31496
31497         · Add ability to resume uploads (Cenk Alti)
31498
31499       · S3
31500
31501         · Fix signature v2_auth headers (Anthony Rusdi)
31502
31503         · Fix encoding for control characters (Nick Craig-Wood)
31504
31505         · Only ask for URL encoded directory listings if we need them on Ceph
31506           (Nick Craig-Wood)
31507
31508         · Add option for multipart failure behaviour (Aleksandar Jankovic)
31509
31510         · Support for multipart copy (庄天翼)
31511
31512         · Fix nil pointer reference if no metadata returned for object  (Nick
31513           Craig-Wood)
31514
31515       · SFTP
31516
31517         · Fix  --sftp-ask-password  trying  to  contact  the  ssh agent (Nick
31518           Craig-Wood)
31519
31520         · Fix hashes of files with backslashes (Nick Craig-Wood)
31521
31522         · Include more ciphers with --sftp-use-insecure-cipher  (Carlos  Fer‐
31523           reyra)
31524
31525       · WebDAV
31526
31527         · Parse and return Sharepoint error response (Henning Surmeier)
31528
31529   v1.49.5 - 2019-10-05
31530       · Bug Fixes
31531
31532         · Revert  back  to  go1.12.x  for  the v1.49.x builds as go1.13.x was
31533           causing issues (Nick Craig-Wood)
31534
31535         · Fix rpm packages by using master builds of nfpm (Nick Craig-Wood)
31536
31537         · Fix macOS build after brew changes (Nick Craig-Wood)
31538
31539   v1.49.4 - 2019-09-29
31540       · Bug Fixes
31541
31542         · cmd/rcd: Address ZipSlip vulnerability (Richard Patel)
31543
31544         · accounting: Fix file handle leak on errors (Nick Craig-Wood)
31545
31546         · oauthutil: Fix security problem when running with two users on  the
31547           same machine (Nick Craig-Wood)
31548
31549       · FTP
31550
31551         · Fix  listing  of an empty root returning: error dir not found (Nick
31552           Craig-Wood)
31553
31554       · S3
31555
31556         · Fix SetModTime on GLACIER/ARCHIVE  objects  and  implement  set/get
31557           tier (Nick Craig-Wood)
31558
31559   v1.49.3 - 2019-09-15
31560       · Bug Fixes
31561
31562         · accounting
31563
31564           · Fix total duration calculation (Aleksandar Jankovic)
31565
31566           · Fix "file already closed" on transfer retries (Nick Craig-Wood)
31567
31568   v1.49.2 - 2019-09-08
31569       · New Features
31570
31571         · build: Add Docker workflow support (Alfonso Montero)
31572
31573       · Bug Fixes
31574
31575         · accounting:   Fix  locking  in  Transfer  to  avoid  deadlock  with
31576           --progress (Nick Craig-Wood)
31577
31578         · docs: Fix template argument for mktemp in install.sh (Cnly)
31579
31580         · operations: Fix -u/--update with google photos / files  of  unknown
31581           size (Nick Craig-Wood)
31582
31583         · rc: Fix docs for config/create /update /password (Nick Craig-Wood)
31584
31585       · Google Cloud Storage
31586
31587         · Fix need for elevated permissions on SetModTime (Nick Craig-Wood)
31588
31589   v1.49.1 - 2019-08-28
31590       · Bug Fixes
31591
31592         · config:  Fix  generated  passwords  being  stored as empty password
31593           (Nick Craig-Wood)
31594
31595         · rcd: Added missing parameter for web-gui info logs.  (Chaitanya)
31596
31597       · Googlephotos
31598
31599         · Fix crash on error response (Nick Craig-Wood)
31600
31601       · Onedrive
31602
31603         · Fix crash on error response (Nick Craig-Wood)
31604
31605   v1.49.0 - 2019-08-26
31606       · New backends
31607
31608         · 1fichier (https://rclone.org/fichier/) (Laura Hausmann)
31609
31610         · Google Photos (https://rclone.org/googlephotos/) (Nick Craig-Wood)
31611
31612         · Putio (https://rclone.org/putio/) (Cenk Alti)
31613
31614         · premiumize.me (https://rclone.org/premiumizeme/) (Nick Craig-Wood)
31615
31616       · New Features
31617
31618         · Experimental web GUI (https://rclone.org/gui/)  (Chaitanya  Bankan‐
31619           hal)
31620
31621         · Implement --compare-dest & --copy-dest (yparitcher)
31622
31623         · Implement  --suffix  without --backup-dir for backup to current dir
31624           (yparitcher)
31625
31626         · config reconnect to re-login (re-run the oauth login) for the back‐
31627           end.  (Nick Craig-Wood)
31628
31629         · config userinfo to discover which user you are logged in as.  (Nick
31630           Craig-Wood)
31631
31632         · config disconnect to disconnect you (log  out)  from  the  backend.
31633           (Nick Craig-Wood)
31634
31635         · Add --use-json-log for JSON logging (justinalin)
31636
31637         · Add context propagation to rclone (Aleksandar Jankovic)
31638
31639         · Reworking  internal statistics interfaces so they work with rc jobs
31640           (Aleksandar Jankovic)
31641
31642         · Add Higher units for ETA (AbelThar)
31643
31644         · Update rclone logos to new design (Andreas Chlupka)
31645
31646         · hash: Add CRC-32 support (Cenk Alti)
31647
31648         · help showbackend: Fixed advanced option category when there are  no
31649           standard options (buengese)
31650
31651         · ncdu: Display/Copy to Clipboard Current Path (Gary Kim)
31652
31653         · operations:
31654
31655           · Run hashing operations in parallel (Nick Craig-Wood)
31656
31657           · Don't  calculate  checksums  when  using  --ignore-checksum (Nick
31658             Craig-Wood)
31659
31660           · Check  transfer  hashes  when  using   --size-only   mode   (Nick
31661             Craig-Wood)
31662
31663           · Disable  multi  thread  copy  for  local  to  local  copies (Nick
31664             Craig-Wood)
31665
31666           · Debug successful hashes as well as failures (Nick Craig-Wood)
31667
31668         · rc
31669
31670           · Add ability to stop async jobs (Aleksandar Jankovic)
31671
31672           · Return current settings if core/bwlimit called without parameters
31673             (Nick Craig-Wood)
31674
31675           · Rclone-WebUI integration with rclone (Chaitanya Bankanhal)
31676
31677           · Added command line parameter to control the cross origin resource
31678             sharing (CORS) in the  rcd.   (Security  Improvement)  (Chaitanya
31679             Bankanhal)
31680
31681           · Add  anchor  tags  to  the  docs  so  links  are consistent (Nick
31682             Craig-Wood)
31683
31684           · Remove _async key from input parameters after  parsing  so  later
31685             operations won't get confused (buengese)
31686
31687           · Add call to clear stats (Aleksandar Jankovic)
31688
31689         · rcd
31690
31691           · Auto-login for web-gui (Chaitanya Bankanhal)
31692
31693           · Implement --baseurl for rcd and web-gui (Chaitanya Bankanhal)
31694
31695         · serve dlna
31696
31697           · Only  select  interfaces  which  can  multicast  for  SSDP  (Nick
31698             Craig-Wood)
31699
31700           · Add more builtin mime types to cover standard  audio/video  (Nick
31701             Craig-Wood)
31702
31703           · Fix  missing  mime  types on Android causing missing videos (Nick
31704             Craig-Wood)
31705
31706         · serve ftp
31707
31708           · Refactor to bring into  line  with  other  serve  commands  (Nick
31709             Craig-Wood)
31710
31711           · Implement --auth-proxy (Nick Craig-Wood)
31712
31713         · serve http: Implement --baseurl (Nick Craig-Wood)
31714
31715         · serve restic: Implement --baseurl (Nick Craig-Wood)
31716
31717         · serve sftp
31718
31719           · Implement auth proxy (Nick Craig-Wood)
31720
31721           · Fix detection of whether server is authorized (Nick Craig-Wood)
31722
31723         · serve webdav
31724
31725           · Implement --baseurl (Nick Craig-Wood)
31726
31727           · Support --auth-proxy (Nick Craig-Wood)
31728
31729       · Bug Fixes
31730
31731         · Make "bad record MAC" a retriable error (Nick Craig-Wood)
31732
31733         · copyurl:   Fix   copying   files  that  return  HTTP  errors  (Nick
31734           Craig-Wood)
31735
31736         · march:  Fix  checking  sub-directories  when  using   --no-traverse
31737           (buengese)
31738
31739         · rc
31740
31741           · Fix unmarshalable http.AuthFn in options and put in test for mar‐
31742             shalability (Nick Craig-Wood)
31743
31744           · Move job expire flags to rc to fix initialization  problem  (Nick
31745             Craig-Wood)
31746
31747           · Fix --loopback with rc/list and others (Nick Craig-Wood)
31748
31749         · rcat:   Fix   slowdown   on  systems  with  multiple  hashes  (Nick
31750           Craig-Wood)
31751
31752         · rcd: Fix permissions problems on cache directory with web gui down‐
31753           load (Nick Craig-Wood)
31754
31755       · Mount
31756
31757         · Default  --daemon-timout  to  15 minutes on macOS and FreeBSD (Nick
31758           Craig-Wood)
31759
31760         · Update docs to show mounting from root OK for  bucket  based  (Nick
31761           Craig-Wood)
31762
31763         · Remove nonseekable flag from write files (Nick Craig-Wood)
31764
31765       · VFS
31766
31767         · Make write without cache more efficient (Nick Craig-Wood)
31768
31769         · Fix --vfs-cache-mode minimal and writes ignoring cached files (Nick
31770           Craig-Wood)
31771
31772       · Local
31773
31774         · Add  --local-case-sensitive  and   --local-case-insensitive   (Nick
31775           Craig-Wood)
31776
31777         · Avoid  polluting  page  cache  when uploading local files to remote
31778           backends (Michał Matczuk)
31779
31780         · Don't calculate any hashes by default (Nick Craig-Wood)
31781
31782         · Fadvise run syscall on a dedicated go routine (Michał Matczuk)
31783
31784       · Azure Blob
31785
31786         · Azure Storage Emulator support (Sandeep)
31787
31788         · Updated config help details to remove connection string  references
31789           (Sandeep)
31790
31791         · Make all operations work from the root (Nick Craig-Wood)
31792
31793       · B2
31794
31795         · Implement link sharing (yparitcher)
31796
31797         · Enable server-side copy to copy between buckets (Nick Craig-Wood)
31798
31799         · Make all operations work from the root (Nick Craig-Wood)
31800
31801       · Drive
31802
31803         · Fix server-side copy of big files (Nick Craig-Wood)
31804
31805         · Update API for teamdrive use (Nick Craig-Wood)
31806
31807         · Add error for purge with --drive-trashed-only (ginvine)
31808
31809       · Fichier
31810
31811         · Make FolderID int and adjust related code (buengese)
31812
31813       · Google Cloud Storage
31814
31815         · Reduce   oauth   scope  requested  as  suggested  by  Google  (Nick
31816           Craig-Wood)
31817
31818         · Make all operations work from the root (Nick Craig-Wood)
31819
31820       · HTTP
31821
31822         · Add  --http-headers  flag  for  setting  arbitrary  headers   (Nick
31823           Craig-Wood)
31824
31825       · Jottacloud
31826
31827         · Use new api for retrieving internal username (buengese)
31828
31829         · Refactor configuration and minor cleanup (buengese)
31830
31831       · Koofr
31832
31833         · Support setting modification times on Koofr backend.  (jaKa)
31834
31835       · Opendrive
31836
31837         · Refactor  to  use  existing  lib/rest  facilities for uploads (Nick
31838           Craig-Wood)
31839
31840       · Qingstor
31841
31842         · Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood)
31843
31844         · Make all operations work from the root (Nick Craig-Wood)
31845
31846       · S3
31847
31848         · Add INTELLIGENT_TIERING storage class (Matti Niemenmaa)
31849
31850         · Make all operations work from the root (Nick Craig-Wood)
31851
31852       · SFTP
31853
31854         · Add missing interface check and fix About (Nick Craig-Wood)
31855
31856         · Completely ignore all modtime checks if SetModTime=false (Jon Faut‐
31857           ley)
31858
31859         · Support md5/sha1 with rsync.net (Nick Craig-Wood)
31860
31861         · Save  the md5/sha1 command in use to the config file for efficiency
31862           (Nick Craig-Wood)
31863
31864         · Opt-in     support     for     diffie-hellman-group-exchange-sha256
31865           diffie-hellman-group-exchange-sha1 (Yi FU)
31866
31867       · Swift
31868
31869         · Use  FixRangeOption  to  fix  0  length  files  via  the  VFS (Nick
31870           Craig-Wood)
31871
31872         · Fix upload when using no_chunk to return  the  correct  size  (Nick
31873           Craig-Wood)
31874
31875         · Make all operations work from the root (Nick Craig-Wood)
31876
31877         · Fix  segments leak during failed large file uploads.  (nguyenhuulu‐
31878           an434)
31879
31880       · WebDAV
31881
31882         · Add --webdav-bearer-token-command (Nick Craig-Wood)
31883
31884         · Refresh token when it  expires  with  --webdav-bearer-token-command
31885           (Nick Craig-Wood)
31886
31887         · Add  docs for using bearer_token_command with oidc-agent (Paul Mil‐
31888           lar)
31889
31890   v1.48.0 - 2019-06-15
31891       · New commands
31892
31893         · serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood)
31894
31895       · New Features
31896
31897         · Multi threaded downloads to local storage (Nick Craig-Wood)
31898
31899           · controlled with --multi-thread-cutoff and --multi-thread-streams
31900
31901         · Use rclone.conf from rclone executable directory to enable portable
31902           use (albertony)
31903
31904         · Allow sync of a file and a directory with the same name (forgems)
31905
31906           · this is common on bucket based remotes, e.g.  s3, gcs
31907
31908         · Add --ignore-case-sync for forced case insensitivity (garry415)
31909
31910         · Implement  --stats-one-line-date  and  --stats-one-line-date-format
31911           (Peter Berbec)
31912
31913         · Log an ERROR for all commands which exit with non-zero status (Nick
31914           Craig-Wood)
31915
31916         · Use  go-homedir  to  read  the  home  directory more reliably (Nick
31917           Craig-Wood)
31918
31919         · Enable creating encrypted config through external script invocation
31920           (Wojciech Smigielski)
31921
31922         · build: Drop support for go1.8 (Nick Craig-Wood)
31923
31924         · config: Make config create/update encrypt passwords where necessary
31925           (Nick Craig-Wood)
31926
31927         · copyurl: Honor --no-check-certificate (Stefan Breunig)
31928
31929         · install: Linux skip man pages if no mandb (didil)
31930
31931         · lsf: Support showing the Tier of the object (Nick Craig-Wood)
31932
31933         · lsjson
31934
31935           · Added EncryptedPath to output (calisro)
31936
31937           · Support showing the Tier of the object (Nick Craig-Wood)
31938
31939           · Add IsBucket field for bucket based remote listing  of  the  root
31940             (Nick Craig-Wood)
31941
31942         · rc
31943
31944           · Add  --loopback  flag  to  run commands directly without a server
31945             (Nick Craig-Wood)
31946
31947           · Add operations/fsinfo: Return information about the remote  (Nick
31948             Craig-Wood)
31949
31950           · Skip auth for OPTIONS request (Nick Craig-Wood)
31951
31952           · cmd/providers:  Add  DefaultStr,  ValueStr  and Type fields (Nick
31953             Craig-Wood)
31954
31955           · jobs: Make job expiry timeouts configurable (Aleksandar Jankovic)
31956
31957         · serve dlna reworked and improved (Dan Walters)
31958
31959         · serve ftp: add --ftp-public-ip flag to specify public IP (calistri)
31960
31961         · serve restic: Add support for --private-repos in serve restic (Flo‐
31962           rian Apolloner)
31963
31964         · serve webdav: Combine serve webdav and serve http (Gary Kim)
31965
31966         · size: Ignore negative sizes when calculating total (Garry McNulty)
31967
31968       · Bug Fixes
31969
31970         · Make  move  and  copy  individual  files  obey  --backup-dir  (Nick
31971           Craig-Wood)
31972
31973         · If --ignore-checksum is in effect, don't calculate  checksum  (Nick
31974           Craig-Wood)
31975
31976         · moveto: Fix case-insensitive same remote move (Gary Kim)
31977
31978         · rc:   Fix  serving  bucket  based  objects  with  --rc-serve  (Nick
31979           Craig-Wood)
31980
31981         · serve webdav: Fix serveDir not being updated with changes from web‐
31982           dav (Gary Kim)
31983
31984       · Mount
31985
31986         · Fix poll interval documentation (Animosity022)
31987
31988       · VFS
31989
31990         · Make  WriteAt  for non cached files work with non-sequential writes
31991           (Nick Craig-Wood)
31992
31993       · Local
31994
31995         · Only  calculate  the  required  hashes  for   big   speedup   (Nick
31996           Craig-Wood)
31997
31998         · Log  errors  when  listing  instead  of  returning  an  error (Nick
31999           Craig-Wood)
32000
32001         · Fix preallocate warning on Linux with ZFS (Nick Craig-Wood)
32002
32003       · Crypt
32004
32005         · Make rclone dedupe work through crypt (Nick Craig-Wood)
32006
32007         · Fix wrapping of ChangeNotify to decrypt directories properly  (Nick
32008           Craig-Wood)
32009
32010         · Support  PublicLink  (rclone  link)  of  underlying  backend  (Nick
32011           Craig-Wood)
32012
32013         · Implement Optional methods SetTier, GetTier (Nick Craig-Wood)
32014
32015       · B2
32016
32017         · Implement server-side copy (Nick Craig-Wood)
32018
32019         · Implement SetModTime (Nick Craig-Wood)
32020
32021       · Drive
32022
32023         · Fix move and copy from TeamDrive to GDrive (Fionera)
32024
32025         · Add notes that cleanup works  in  the  background  on  drive  (Nick
32026           Craig-Wood)
32027
32028         · Add --drive-server-side-across-configs to default back to old serv‐
32029           er-side copy semantics by default (Nick Craig-Wood)
32030
32031         · Add --drive-size-as-quota to show storage quota usage for file size
32032           (Garry McNulty)
32033
32034       · FTP
32035
32036         · Add FTP List timeout (Jeff Quinn)
32037
32038         · Add FTP over TLS support (Gary Kim)
32039
32040         · Add --ftp-no-check-certificate option for FTPS (Gary Kim)
32041
32042       · Google Cloud Storage
32043
32044         · Fix upload errors when uploading pre 1970 files (Nick Craig-Wood)
32045
32046       · Jottacloud
32047
32048         · Add support for selecting device and mountpoint.  (buengese)
32049
32050       · Mega
32051
32052         · Add cleanup support (Gary Kim)
32053
32054       · Onedrive
32055
32056         · More accurately check if root is found (Cnly)
32057
32058       · S3
32059
32060         · Support  S3 Accelerated endpoints with --s3-use-accelerate-endpoint
32061           (Nick Craig-Wood)
32062
32063         · Add config info for Wasabi's EU Central endpoint (Robert Marko)
32064
32065         · Make SetModTime work for GLACIER while syncing (Philip Harvey)
32066
32067       · SFTP
32068
32069         · Add About support (Gary Kim)
32070
32071         · Fix about parsing of df results so it can  cope  with  -ve  results
32072           (Nick Craig-Wood)
32073
32074         · Send   custom   client  version  and  debug  server  version  (Nick
32075           Craig-Wood)
32076
32077       · WebDAV
32078
32079         · Retry on 423 Locked errors (Nick Craig-Wood)
32080
32081   v1.47.0 - 2019-04-13
32082       · New backends
32083
32084         · Backend for Koofr cloud storage service.  (jaKa)
32085
32086       · New Features
32087
32088         · Resume downloads if the reader fails in copy (Nick Craig-Wood)
32089
32090           · this means rclone will restart transfers if the source has an er‐
32091             ror
32092
32093           · this is most useful for downloads or cloud to cloud copies
32094
32095         · Use --fast-list for listing operations where it won't use more mem‐
32096           ory (Nick Craig-Wood)
32097
32098           · this should speed up the following operations  on  remotes  which
32099             support ListR
32100
32101           · dedupe,  serve restic lsf, ls, lsl, lsjson, lsd, md5sum, sha1sum,
32102             hashsum, size, delete, cat, settier
32103
32104           · use --disable ListR to get old behaviour if required
32105
32106         · Make --files-from traverse the destination unless --no-traverse  is
32107           set (Nick Craig-Wood)
32108
32109           · this  fixes  --files-from with Google drive and excessive API use
32110             in general.
32111
32112         · Make server-side copy account bytes and obey  --max-transfer  (Nick
32113           Craig-Wood)
32114
32115         · Add  --create-empty-src-dirs flag and default to not creating empty
32116           dirs (ishuah)
32117
32118         · Add client side TLS/SSL flags  --ca-cert/--client-cert/--client-key
32119           (Nick Craig-Wood)
32120
32121         · Implement  --suffix-keep-extension  for  use  with  --suffix  (Nick
32122           Craig-Wood)
32123
32124         · build:
32125
32126           · Switch to semver compliant version tags to be go modules  compli‐
32127             ant (Nick Craig-Wood)
32128
32129           · Update to use go1.12.x for the build (Nick Craig-Wood)
32130
32131         · serve  dlna:  Add connection manager service description to improve
32132           compatibility (Dan Walters)
32133
32134         · lsf: Add 'e' format to show encrypted names and  'o'  for  original
32135           IDs (Nick Craig-Wood)
32136
32137         · lsjson: Added --files-only and --dirs-only flags (calistri)
32138
32139         · rc:  Implement  operations/publiclink the equivalent of rclone link
32140           (Nick Craig-Wood)
32141
32142       · Bug Fixes
32143
32144         · accounting: Fix total ETA when --stats-unit bits is in effect (Nick
32145           Craig-Wood)
32146
32147         · Bash TAB completion
32148
32149           · Use  private  custom func to fix clash between rclone and kubectl
32150             (Nick Craig-Wood)
32151
32152           · Fix for remotes with underscores in their names (Six)
32153
32154           · Fix completion of remotes (Florian Gamböck)
32155
32156           · Fix autocompletion of remote paths with spaces (Danil Semelenov)
32157
32158         · serve dlna: Fix root XML service descriptor (Dan Walters)
32159
32160         · ncdu:  Fix  display  corruption  with  Chinese   characters   (Nick
32161           Craig-Wood)
32162
32163         · Add  SIGTERM  to  signals which run the exit handlers on unix (Nick
32164           Craig-Wood)
32165
32166         · rc: Reload filter when  the  options  are  set  via  the  rc  (Nick
32167           Craig-Wood)
32168
32169       · VFS / Mount
32170
32171         · Fix  FreeBSD: Ignore Truncate if called with no readers and already
32172           the correct size (Nick Craig-Wood)
32173
32174         · Read directory and check for a file before mkdir (Nick Craig-Wood)
32175
32176         · Shorten the locking window for vfs/refresh (Nick Craig-Wood)
32177
32178       · Azure Blob
32179
32180         · Enable MD5 checksums when uploading files bigger than the  "Cutoff"
32181           (Dr.Rx)
32182
32183         · Fix SAS URL support (Nick Craig-Wood)
32184
32185       · B2
32186
32187         · Allow manual configuration of backblaze downloadUrl (Vince)
32188
32189         · Ignore already_hidden error on remove (Nick Craig-Wood)
32190
32191         · Ignore malformed src_last_modified_millis (Nick Craig-Wood)
32192
32193       · Drive
32194
32195         · Add --skip-checksum-gphotos to ignore incorrect checksums on Google
32196           Photos (Nick Craig-Wood)
32197
32198         · Allow server-side move/copy between different remotes.  (Fionera)
32199
32200         · Add docs on team drives and --fast-list eventual consistency  (Nes‐
32201           tar47)
32202
32203         · Fix imports of text files (Nick Craig-Wood)
32204
32205         · Fix range requests on 0 length files (Nick Craig-Wood)
32206
32207         · Fix creation of duplicates with server-side copy (Nick Craig-Wood)
32208
32209       · Dropbox
32210
32211         · Retry blank errors to fix long listings (Nick Craig-Wood)
32212
32213       · FTP
32214
32215         · Add  --ftp-concurrency to limit maximum number of connections (Nick
32216           Craig-Wood)
32217
32218       · Google Cloud Storage
32219
32220         · Fall back to default application credentials (marcintustin)
32221
32222         · Allow bucket policy only buckets (Nick Craig-Wood)
32223
32224       · HTTP
32225
32226         · Add --http-no-slash for websites with directories with  no  slashes
32227           (Nick Craig-Wood)
32228
32229         · Remove duplicates from listings (Nick Craig-Wood)
32230
32231         · Fix socket leak on 404 errors (Nick Craig-Wood)
32232
32233       · Jottacloud
32234
32235         · Fix token refresh (Sebastian Bünger)
32236
32237         · Add device registration (Oliver Heyme)
32238
32239       · Onedrive
32240
32241         · Implement  graceful cancel of multipart uploads if rclone is inter‐
32242           rupted (Cnly)
32243
32244         · Always add trailing colon to path when addressing items, (Cnly)
32245
32246         · Return errors instead of panic for invalid uploads (Fabian Möller)
32247
32248       · S3
32249
32250         · Add support for "Glacier Deep Archive" storage class (Manu)
32251
32252         · Update Dreamhost endpoint (Nick Craig-Wood)
32253
32254         · Note incompatibility with CEPH Jewel (Nick Craig-Wood)
32255
32256       · SFTP
32257
32258         · Allow custom ssh client config (Alexandru Bumbacea)
32259
32260       · Swift
32261
32262         · Obey Retry-After to enable OVH  restore  from  cold  storage  (Nick
32263           Craig-Wood)
32264
32265         · Work around token expiry on CEPH (Nick Craig-Wood)
32266
32267       · WebDAV
32268
32269         · Allow   IsCollection  property  to  be  integer  or  boolean  (Nick
32270           Craig-Wood)
32271
32272         · Fix race when creating directories (Nick Craig-Wood)
32273
32274         · Fix About/df when  reading  the  available/total  returns  0  (Nick
32275           Craig-Wood)
32276
32277   v1.46 - 2019-02-09
32278       · New backends
32279
32280         · Support  Alibaba  Cloud  (Aliyun)  OSS  via  the  s3  backend (Nick
32281           Craig-Wood)
32282
32283       · New commands
32284
32285         · serve dlna: serves a remove via DLNA for  the  local  network  (ni‐
32286           colov)
32287
32288       · New Features
32289
32290         · copy, move: Restore deprecated --no-traverse flag (Nick Craig-Wood)
32291
32292           · This is useful for when transferring a small number of files into
32293             a large destination
32294
32295         · genautocomplete: Add remote path  completion  for  bash  completion
32296           (Christopher Peterson & Danil Semelenov)
32297
32298         · Buffer  memory  handling reworked to return memory to the OS better
32299           (Nick Craig-Wood)
32300
32301           · Buffer recycling library to replace sync.Pool
32302
32303           · Optionally use memory mapped memory for better memory shrinking
32304
32305           · Enable with --use-mmap if having memory problems  -  not  default
32306             yet
32307
32308         · Parallelise  reading  of  files  specified  by  --files-from  (Nick
32309           Craig-Wood)
32310
32311         · check: Add stats showing total files matched.  (Dario Guzik)
32312
32313         · Allow rename/delete open files under Windows (Nick Craig-Wood)
32314
32315         · lsjson: Use exactly the correct number of  decimal  places  in  the
32316           seconds (Nick Craig-Wood)
32317
32318         · Add  cookie  support with cmdline switch --use-cookies for all HTTP
32319           based remotes (qip)
32320
32321         · Warn if --checksum is set but there are no hashes  available  (Nick
32322           Craig-Wood)
32323
32324         · Rework rate limiting (pacer) to be more accurate and allow bursting
32325           (Nick Craig-Wood)
32326
32327         · Improve error reporting for  too  many/few  arguments  in  commands
32328           (Nick Craig-Wood)
32329
32330         · listremotes:  Remove  -l  short  flag  as it conflicts with the new
32331           global flag (weetmuts)
32332
32333         · Make http serving with auth generate INFO  messages  on  auth  fail
32334           (Nick Craig-Wood)
32335
32336       · Bug Fixes
32337
32338         · Fix layout of stats (Nick Craig-Wood)
32339
32340         · Fix --progress crash under Windows Jenkins (Nick Craig-Wood)
32341
32342         · Fix  transfer  of google/onedrive docs by calling Rcat in Copy when
32343           size is -1 (Cnly)
32344
32345         · copyurl: Fix checking of --dry-run (Denis Skovpen)
32346
32347       · Mount
32348
32349         · Check that mountpoint and local directory to  mount  don't  overlap
32350           (Nick Craig-Wood)
32351
32352         · Fix mount size under 32 bit Windows (Nick Craig-Wood)
32353
32354       · VFS
32355
32356         · Implement  renaming  of  directories  for  backends without DirMove
32357           (Nick Craig-Wood)
32358
32359           · now all backends except b2 support renaming directories
32360
32361         · Implement --vfs-cache-max-size to limit the total size of the cache
32362           (Nick Craig-Wood)
32363
32364         · Add  --dir-perms  and --file-perms flags to set default permissions
32365           (Nick Craig-Wood)
32366
32367         · Fix  deadlock  on  concurrent  operations  on  a  directory   (Nick
32368           Craig-Wood)
32369
32370         · Fix  deadlock  between  RWFileHandle.close  and  File.Remove  (Nick
32371           Craig-Wood)
32372
32373         · Fix renaming/deleting open files with  cache  mode  "writes"  under
32374           Windows (Nick Craig-Wood)
32375
32376         · Fix panic on rename with --dry-run set (Nick Craig-Wood)
32377
32378         · Fix vfs/refresh with recurse=true needing the --fast-list flag
32379
32380       · Local
32381
32382         · Add  support  for -l/--links (symbolic link translation) (yair@uni‐
32383           corn)
32384
32385           · this works by showing links as link.rclonelink - see local  back‐
32386             end docs for more info
32387
32388           · this errors if used with -L/--copy-links
32389
32390         · Fix renaming/deleting open files on Windows (Nick Craig-Wood)
32391
32392       · Crypt
32393
32394         · Check  for  maximum  length before decrypting filename to fix panic
32395           (Garry McNulty)
32396
32397       · Azure Blob
32398
32399         · Allow building azureblob backend on *BSD (themylogin)
32400
32401         · Use the rclone HTTP client to support --dump  headers,  --tpslimit,
32402           etc.  (Nick Craig-Wood)
32403
32404         · Use  the  s3  pacer  for  0  delay  in  non  error conditions (Nick
32405           Craig-Wood)
32406
32407         · Ignore directory markers (Nick Craig-Wood)
32408
32409         · Stop  Mkdir  attempting  to  create   existing   containers   (Nick
32410           Craig-Wood)
32411
32412       · B2
32413
32414         · cleanup:  will  remove unfinished large files >24hrs old (Garry Mc‐
32415           Nulty)
32416
32417         · For a bucket limited application key check the  bucket  name  (Nick
32418           Craig-Wood)
32419
32420           · before this, rclone would use the authorised bucket regardless of
32421             what you put on the command line
32422
32423         · Added --b2-disable-checksum flag (Wojciech Smigielski)
32424
32425           · this enables large files to be uploaded without a SHA-1 hash  for
32426             speed reasons
32427
32428       · Drive
32429
32430         · Set default pacer to 100ms for 10 tps (Nick Craig-Wood)
32431
32432           · This fits the Google defaults much better and reduces the 403 er‐
32433             rors massively
32434
32435           · Add --drive-pacer-min-sleep and  --drive-pacer-burst  to  control
32436             the pacer
32437
32438         · Improve ChangeNotify support for items with multiple parents (Fabi‐
32439           an Möller)
32440
32441         · Fix ListR for items with multiple parents  -  this  fixes  oddities
32442           with vfs/refresh (Fabian Möller)
32443
32444         · Fix using --drive-impersonate and appfolders (Nick Craig-Wood)
32445
32446         · Fix  google  docs  in  rclone mount for some (not all) applications
32447           (Nick Craig-Wood)
32448
32449       · Dropbox
32450
32451         · Retry-After support for Dropbox backend (Mathieu Carbou)
32452
32453       · FTP
32454
32455         · Wait for 60 seconds for a connection to Close then declare it  dead
32456           (Nick Craig-Wood)
32457
32458           · helps with indefinite hangs on some FTP servers
32459
32460       · Google Cloud Storage
32461
32462         · Update google cloud storage endpoints (weetmuts)
32463
32464       · HTTP
32465
32466         · Add  an  example  with username and password which is supported but
32467           wasn't documented (Nick Craig-Wood)
32468
32469         · Fix  backend  with  --files-from  and  non-existent   files   (Nick
32470           Craig-Wood)
32471
32472       · Hubic
32473
32474         · Make  error  message more informative if authentication fails (Nick
32475           Craig-Wood)
32476
32477       · Jottacloud
32478
32479         · Resume and deduplication support (Oliver Heyme)
32480
32481         · Use token auth for all API requests Don't  store  password  anymore
32482           (Sebastian Bünger)
32483
32484         · Add support for 2-factor authentication (Sebastian Bünger)
32485
32486       · Mega
32487
32488         · Implement  v2  account  login which fixes logins for newer Mega ac‐
32489           counts (Nick Craig-Wood)
32490
32491         · Return error if an unknown length file is attempted to be  uploaded
32492           (Nick Craig-Wood)
32493
32494         · Add new error codes for better error reporting (Nick Craig-Wood)
32495
32496       · Onedrive
32497
32498         · Fix broken support for "shared with me" folders (Alex Chen)
32499
32500         · Fix root ID not normalised (Cnly)
32501
32502         · Return err instead of panic on unknown-sized uploads (Cnly)
32503
32504       · Qingstor
32505
32506         · Fix go routine leak on multipart upload errors (Nick Craig-Wood)
32507
32508         · Add upload chunk size/concurrency/cutoff control (Nick Craig-Wood)
32509
32510         · Default --qingstor-upload-concurrency to 1 to work around bug (Nick
32511           Craig-Wood)
32512
32513       · S3
32514
32515         · Implement --s3-upload-cutoff for single  part  uploads  below  this
32516           (Nick Craig-Wood)
32517
32518         · Change --s3-upload-concurrency default to 4 to increase performance
32519           (Nick Craig-Wood)
32520
32521         · Add --s3-bucket-acl to control bucket ACL (Nick Craig-Wood)
32522
32523         · Auto  detect  region  for  buckets  on  operation   failure   (Nick
32524           Craig-Wood)
32525
32526         · Add GLACIER storage class (William Cocker)
32527
32528         · Add Scaleway to s3 documentation (Rémy Léone)
32529
32530         · Add AWS endpoint eu-north-1 (weetmuts)
32531
32532       · SFTP
32533
32534         · Add support for PEM encrypted private keys (Fabian Möller)
32535
32536         · Add option to force the usage of an ssh-agent (Fabian Möller)
32537
32538         · Perform environment variable expansion on key-file (Fabian Möller)
32539
32540         · Fix   rmdir   on  Windows  based  servers  (e.g.   CrushFTP)  (Nick
32541           Craig-Wood)
32542
32543         · Fix rmdir deleting directory contents on some  SFTP  servers  (Nick
32544           Craig-Wood)
32545
32546         · Fix error on dangling symlinks (Nick Craig-Wood)
32547
32548       · Swift
32549
32550         · Add  --swift-no-chunk  to  disable  segmented uploads in rcat/mount
32551           (Nick Craig-Wood)
32552
32553         · Introduce application credential auth support (kayrus)
32554
32555         · Fix memory usage by slimming Object (Nick Craig-Wood)
32556
32557         · Fix extra requests on upload (Nick Craig-Wood)
32558
32559         · Fix reauth on big files (Nick Craig-Wood)
32560
32561       · Union
32562
32563         · Fix poll-interval not working (Nick Craig-Wood)
32564
32565       · WebDAV
32566
32567         · Support About which means rclone mount will show the  correct  disk
32568           size (Nick Craig-Wood)
32569
32570         · Support  MD5  and  SHA1  hashes  with  Owncloud and Nextcloud (Nick
32571           Craig-Wood)
32572
32573         · Fail soft on time parsing errors (Nick Craig-Wood)
32574
32575         · Fix infinite loop on failed directory creation (Nick Craig-Wood)
32576
32577         · Fix identification of directories for  Bitrix  Site  Manager  (Nick
32578           Craig-Wood)
32579
32580         · Fix upload of 0 length files on some servers (Nick Craig-Wood)
32581
32582         · Fix  if  MKCOL  fails  with  423 Locked assume the directory exists
32583           (Nick Craig-Wood)
32584
32585   v1.45 - 2018-11-24
32586       · New backends
32587
32588         · The Yandex backend was re-written - see below for  details  (Sebas‐
32589           tian Bünger)
32590
32591       · New commands
32592
32593         · rcd:  New  command  just  to  serve  the  remote  control API (Nick
32594           Craig-Wood)
32595
32596       · New Features
32597
32598         · The remote control API (rc) was greatly expanded to allow full con‐
32599           trol over rclone (Nick Craig-Wood)
32600
32601           · sensitive  operations  require  authorization or the --rc-no-auth
32602             flag
32603
32604           · config/* operations to configure rclone
32605
32606           · options/* for reading/setting command line flags
32607
32608           · operations/* for all low level operations, e.g.  copy file,  list
32609             directory
32610
32611           · sync/* for sync, copy and move
32612
32613           · --rc-files flag to serve files on the rc http server
32614
32615             · this is for building web native GUIs for rclone
32616
32617           · Optionally serving objects on the rc http server
32618
32619           · Ensure  rclone  fails  to start up if the --rc port is in use al‐
32620             ready
32621
32622           · See the rc docs (https://rclone.org/rc/) for more info
32623
32624         · sync/copy/move
32625
32626           · Make --files-from only read the objects specified and don't  scan
32627             directories (Nick Craig-Wood)
32628
32629             · This  is a huge speed improvement for destinations with lots of
32630               files
32631
32632         · filter: Add --ignore-case flag (Nick Craig-Wood)
32633
32634         · ncdu: Add remove function ('d' key) (Henning Surmeier)
32635
32636         · rc command
32637
32638           · Add --json flag for structured JSON input (Nick Craig-Wood)
32639
32640           · Add --user and --pass flags and interpret  --rc-user,  --rc-pass,
32641             --rc-addr (Nick Craig-Wood)
32642
32643         · build
32644
32645           · Require go1.8 or later for compilation (Nick Craig-Wood)
32646
32647           · Enable softfloat on MIPS arch (Scott Edlund)
32648
32649           · Integration test framework revamped with a better report and bet‐
32650             ter retries (Nick Craig-Wood)
32651
32652       · Bug Fixes
32653
32654         · cmd: Make --progress update the stats correctly at  the  end  (Nick
32655           Craig-Wood)
32656
32657         · config:  Create  config  directory  on  save if it is missing (Nick
32658           Craig-Wood)
32659
32660         · dedupe: Check for existing filename before  renaming  a  dupe  file
32661           (ssaqua)
32662
32663         · move: Don't create directories with --dry-run (Nick Craig-Wood)
32664
32665         · operations:  Fix  Purge  and  Rmdirs when dir is not the root (Nick
32666           Craig-Wood)
32667
32668         · serve http/webdav/restic: Ensure rclone exits if the port is in use
32669           (Nick Craig-Wood)
32670
32671       · Mount
32672
32673         · Make --volname work for Windows and macOS (Nick Craig-Wood)
32674
32675       · Azure Blob
32676
32677         · Avoid context deadline exceeded error by setting a large TryTimeout
32678           value (brused27)
32679
32680         · Fix erroneous Rmdir error "directory not empty" (Nick Craig-Wood)
32681
32682         · Wait for up to  60s  to  create  a  just  deleted  container  (Nick
32683           Craig-Wood)
32684
32685       · Dropbox
32686
32687         · Add dropbox impersonate support (Jake Coggiano)
32688
32689       · Jottacloud
32690
32691         · Fix bug in --fast-list handing of empty folders (albertony)
32692
32693       · Opendrive
32694
32695         · Fix transfer of files with + and & in (Nick Craig-Wood)
32696
32697         · Fix retries of upload chunks (Nick Craig-Wood)
32698
32699       · S3
32700
32701         · Set  ACL  for server-side copies to that provided by the user (Nick
32702           Craig-Wood)
32703
32704         · Fix role_arn, credential_source, ...  (Erik Swanson)
32705
32706         · Add config info for Wasabi's US-West endpoint (Henry Ptasinski)
32707
32708       · SFTP
32709
32710         · Ensure file hash checking is really disabled (Jon Fautley)
32711
32712       · Swift
32713
32714         · Add pacer for retries to make swift more reliable (Nick Craig-Wood)
32715
32716       · WebDAV
32717
32718         · Add Content-Type to PUT requests (Nick Craig-Wood)
32719
32720         · Fix config parsing so --webdav-user and  --webdav-pass  flags  work
32721           (Nick Craig-Wood)
32722
32723         · Add RFC3339 date format (Ralf Hemberger)
32724
32725       · Yandex
32726
32727         · The yandex backend was re-written (Sebastian Bünger)
32728
32729           · This implements low level retries (Sebastian Bünger)
32730
32731           · Copy,  Move,  DirMove,  PublicLink  and About optional interfaces
32732             (Sebastian Bünger)
32733
32734           · Improved general error handling (Sebastian Bünger)
32735
32736           · Removed ListR for now due to  inconsistent  behaviour  (Sebastian
32737             Bünger)
32738
32739   v1.44 - 2018-10-15
32740       · New commands
32741
32742         · serve ftp: Add ftp server (Antoine GIRARD)
32743
32744         · settier:   perform   storage  tier  changes  on  supported  remotes
32745           (sandeepkru)
32746
32747       · New Features
32748
32749         · Reworked command line help
32750
32751           · Make default help less verbose (Nick Craig-Wood)
32752
32753           · Split flags up into global and backend flags (Nick Craig-Wood)
32754
32755           · Implement  specialised  help  for  flags   and   backends   (Nick
32756             Craig-Wood)
32757
32758           · Show  URL  of  backend  help  page  when  starting  config  (Nick
32759             Craig-Wood)
32760
32761         · stats: Long names now split in center (Joanna Marek)
32762
32763         · Add --log-format flag for more control over log output (dcpu)
32764
32765         · rc: Add support for OPTIONS and basic CORS (frenos)
32766
32767         · stats: show FatalErrors and NoRetryErrors in stats (Cédric Connes)
32768
32769       · Bug Fixes
32770
32771         · Fix -P not ending with a new line (Nick Craig-Wood)
32772
32773         · config: don't create default config dir when user supplies --config
32774           (albertony)
32775
32776         · Don't  print  non-ASCII characters with --progress on windows (Nick
32777           Craig-Wood)
32778
32779         · Correct logs for excluded items (ssaqua)
32780
32781       · Mount
32782
32783         · Remove EXPERIMENTAL tags (Nick Craig-Wood)
32784
32785       · VFS
32786
32787         · Fix race condition detected by serve ftp tests (Nick Craig-Wood)
32788
32789         · Add vfs/poll-interval rc command (Fabian Möller)
32790
32791         · Enable rename for nearly all remotes using server-side Move or Copy
32792           (Nick Craig-Wood)
32793
32794         · Reduce directory cache cleared by poll-interval (Fabian Möller)
32795
32796         · Remove EXPERIMENTAL tags (Nick Craig-Wood)
32797
32798       · Local
32799
32800         · Skip bad symlinks in dir listing with -L enabled (Cédric Connes)
32801
32802         · Preallocate   files   on  Windows  to  reduce  fragmentation  (Nick
32803           Craig-Wood)
32804
32805         · Preallocate files on linux with fallocate(2) (Nick Craig-Wood)
32806
32807       · Cache
32808
32809         · Add cache/fetch rc function (Fabian Möller)
32810
32811         · Fix worker scale down (Fabian Möller)
32812
32813         · Improve performance by not sending info requests for cached  chunks
32814           (dcpu)
32815
32816         · Fix error return value of cache/fetch rc method (Fabian Möller)
32817
32818         · Documentation fix for cache-chunk-total-size (Anagh Kumar Baranwal)
32819
32820         · Preserve leading / in wrapped remote path (Fabian Möller)
32821
32822         · Add  plex_insecure  option  to  skip certificate validation (Fabian
32823           Möller)
32824
32825         · Remove entries that no longer exist in the source (dcpu)
32826
32827       · Crypt
32828
32829         · Preserve leading / in wrapped remote path (Fabian Möller)
32830
32831       · Alias
32832
32833         · Fix handling of Windows network paths (Nick Craig-Wood)
32834
32835       · Azure Blob
32836
32837         · Add --azureblob-list-chunk parameter (Santiago Rodríguez)
32838
32839         · Implemented settier command support on azureblob remote.  (sandeep‐
32840           kru)
32841
32842         · Work around SDK bug which causes errors for chunk-sized files (Nick
32843           Craig-Wood)
32844
32845       · Box
32846
32847         · Implement link sharing.  (Sebastian Bünger)
32848
32849       · Drive
32850
32851         · Add --drive-import-formats - google docs can now be imported (Fabi‐
32852           an Möller)
32853
32854           · Rewrite mime type and extension handling (Fabian Möller)
32855
32856           · Add document links (Fabian Möller)
32857
32858           · Add support for multipart document extensions (Fabian Möller)
32859
32860           · Add support for apps-script to json export (Fabian Möller)
32861
32862           · Fix escaped chars in documents during list (Fabian Möller)
32863
32864         · Add  --drive-v2-download-min-size  a  workaround for slow downloads
32865           (Fabian Möller)
32866
32867         · Improve directory notifications in ChangeNotify (Fabian Möller)
32868
32869         · When listing team drives  in  config,  continue  on  failure  (Nick
32870           Craig-Wood)
32871
32872       · FTP
32873
32874         · Add  a  small  pause after failed upload before deleting file (Nick
32875           Craig-Wood)
32876
32877       · Google Cloud Storage
32878
32879         · Fix service_account_file being ignored (Fabian Möller)
32880
32881       · Jottacloud
32882
32883         · Minor improvement in quota info (omit if unlimited) (albertony)
32884
32885         · Add --fast-list support (albertony)
32886
32887         · Add permanent delete support: --jottacloud-hard-delete (albertony)
32888
32889         · Add link sharing support (albertony)
32890
32891         · Fix handling of reserved characters.  (Sebastian Bünger)
32892
32893         · Fix socket leak on Object.Remove (Nick Craig-Wood)
32894
32895       · Onedrive
32896
32897         · Rework to support Microsoft Graph (Cnly)
32898
32899           · NB this will require re-authenticating the remote
32900
32901         · Removed upload cutoff and always do session uploads (Oliver Heyme)
32902
32903         · Use single-part upload for empty files (Cnly)
32904
32905         · Fix new fields not saved when editing old config (Alex Chen)
32906
32907         · Fix sometimes special chars in filenames not replaced (Alex Chen)
32908
32909         · Ignore OneNote files by default (Alex Chen)
32910
32911         · Add link sharing support (jackyzy823)
32912
32913       · S3
32914
32915         · Use custom  pacer,  to  retry  operations  when  reasonable  (Craig
32916           Miskell)
32917
32918         · Use  configured  server-side-encryption  and  storage class options
32919           when calling CopyObject() (Paul Kohout)
32920
32921         · Make --s3-v2-auth flag (Nick Craig-Wood)
32922
32923         · Fix v2 auth on files with spaces (Nick Craig-Wood)
32924
32925       · Union
32926
32927         · Implement union backend which reads from multiple  backends  (Felix
32928           Brucker)
32929
32930         · Implement  optional  interfaces  (Move,  DirMove, Copy, etc.) (Nick
32931           Craig-Wood)
32932
32933         · Fix ChangeNotify to support multiple remotes (Fabian Möller)
32934
32935         · Fix --backup-dir on union backend (Nick Craig-Wood)
32936
32937       · WebDAV
32938
32939         · Add another time format (Nick Craig-Wood)
32940
32941         · Add a small pause after failed upload before  deleting  file  (Nick
32942           Craig-Wood)
32943
32944         · Add workaround for missing mtime (buergi)
32945
32946         · Sharepoint: Renew cookies after 12hrs (Henning Surmeier)
32947
32948       · Yandex
32949
32950         · Remove redundant nil checks (teresy)
32951
32952   v1.43.1 - 2018-09-07
32953       Point release to fix hubic and azureblob backends.
32954
32955       · Bug Fixes
32956
32957         · ncdu: Return error instead of log.Fatal in Show (Fabian Möller)
32958
32959         · cmd: Fix crash with --progress and --stats 0 (Nick Craig-Wood)
32960
32961         · docs: Tidy website display (Anagh Kumar Baranwal)
32962
32963       · Azure Blob:
32964
32965         · Fix multi-part uploads.  (sandeepkru)
32966
32967       · Hubic
32968
32969         · Fix uploads (Nick Craig-Wood)
32970
32971         · Retry  auth  fetching if it fails to make hubic more reliable (Nick
32972           Craig-Wood)
32973
32974   v1.43 - 2018-09-01
32975       · New backends
32976
32977         · Jottacloud (Sebastian Bünger)
32978
32979       · New commands
32980
32981         · copyurl: copies a URL to a remote (Denis)
32982
32983       · New Features
32984
32985         · Reworked config for backends (Nick Craig-Wood)
32986
32987           · All backend config can now be supplied by command line,  env  var
32988             or config file
32989
32990           · Advanced section in the config wizard for the optional items
32991
32992           · A  large  step  towards  rclone backends being usable in other go
32993             software
32994
32995           · Allow on the fly remotes with :backend: syntax
32996
32997         · Stats revamp
32998
32999           · Add  --progress/-P  flag  to  show  interactive  progress   (Nick
33000             Craig-Wood)
33001
33002           · Show   the  total  progress  of  the  sync  in  the  stats  (Nick
33003             Craig-Wood)
33004
33005           · Add --stats-one-line flag for single line stats (Nick Craig-Wood)
33006
33007         · Added weekday schedule into --bwlimit (Mateusz)
33008
33009         · lsjson: Add option to show the original object IDs (Fabian Möller)
33010
33011         · serve webdav: Make Content-Type without reading the  file  and  add
33012           --etag-hash (Nick Craig-Wood)
33013
33014         · build
33015
33016           · Build macOS with native compiler (Nick Craig-Wood)
33017
33018           · Update to use go1.11 for the build (Nick Craig-Wood)
33019
33020         · rc
33021
33022           · Added core/stats to return the stats (reddi1)
33023
33024         · version --check: Prints the current release and beta versions (Nick
33025           Craig-Wood)
33026
33027       · Bug Fixes
33028
33029         · accounting
33030
33031           · Fix time to completion estimates (Nick Craig-Wood)
33032
33033           · Fix moving average speed for file stats (Nick Craig-Wood)
33034
33035         · config:  Fix  error  reading  password  from  piped   input   (Nick
33036           Craig-Wood)
33037
33038         · move:  Fix --delete-empty-src-dirs flag to delete all empty dirs on
33039           move (ishuah)
33040
33041       · Mount
33042
33043         · Implement --daemon-timeout flag for OSXFUSE (Nick Craig-Wood)
33044
33045         · Fix mount --daemon not working with encrypted config (Alex Chen)
33046
33047         · Clip the number of blocks to 2^32-1 on macOS -  fixes  borg  backup
33048           (Nick Craig-Wood)
33049
33050       · VFS
33051
33052         · Enable vfs-read-chunk-size by default (Fabian Möller)
33053
33054         · Add the vfs/refresh rc command (Fabian Möller)
33055
33056         · Add non recursive mode to vfs/refresh rc command (Fabian Möller)
33057
33058         · Try to seek buffer on read only files (Fabian Möller)
33059
33060       · Local
33061
33062         · Fix  crash when deprecated --local-no-unicode-normalization is sup‐
33063           plied (Nick Craig-Wood)
33064
33065         · Fix mkdir error when trying to copy files to the root of a drive on
33066           windows (Nick Craig-Wood)
33067
33068       · Cache
33069
33070         · Fix  nil  pointer deref when using lsjson on cached directory (Nick
33071           Craig-Wood)
33072
33073         · Fix nil pointer  deref  for  occasional  crash  on  playback  (Nick
33074           Craig-Wood)
33075
33076       · Crypt
33077
33078         · Fix accounting when checking hashes on upload (Nick Craig-Wood)
33079
33080       · Amazon Cloud Drive
33081
33082         · Make  very  clear  in  the  docs  that rclone has no ACD keys (Nick
33083           Craig-Wood)
33084
33085       · Azure Blob
33086
33087         · Add connection string and SAS URL auth (Nick Craig-Wood)
33088
33089         · List the container to see if it exists (Nick Craig-Wood)
33090
33091         · Port new Azure Blob Storage SDK (sandeepkru)
33092
33093         · Added blob tier, tier between Hot, Cool and Archive.  (sandeepkru)
33094
33095         · Remove leading / from paths (Nick Craig-Wood)
33096
33097       · B2
33098
33099         · Support Application Keys (Nick Craig-Wood)
33100
33101         · Remove leading / from paths (Nick Craig-Wood)
33102
33103       · Box
33104
33105         · Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood)
33106
33107         · Make --box-commit-retries flag defaulting to 100 to fix  large  up‐
33108           loads (Nick Craig-Wood)
33109
33110       · Drive
33111
33112         · Add --drive-keep-revision-forever flag (lewapm)
33113
33114         · Handle gdocs when filtering file names in list (Fabian Möller)
33115
33116         · Support using --fast-list for large speedups (Fabian Möller)
33117
33118       · FTP
33119
33120         · Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood)
33121
33122       · Google Cloud Storage
33123
33124         · Fix index out of range error with --fast-list (Nick Craig-Wood)
33125
33126       · Jottacloud
33127
33128         · Fix MD5 error check (Oliver Heyme)
33129
33130         · Handle empty time values (Martin Polden)
33131
33132         · Calculate missing MD5s (Oliver Heyme)
33133
33134         · Docs, fixes and tests for MD5 calculation (Nick Craig-Wood)
33135
33136         · Add optional MimeTyper interface.  (Sebastian Bünger)
33137
33138         · Implement  optional  About  interface (for df support).  (Sebastian
33139           Bünger)
33140
33141       · Mega
33142
33143         · Wait for events instead of arbitrary sleeping (Nick Craig-Wood)
33144
33145         · Add --mega-hard-delete flag (Nick Craig-Wood)
33146
33147         · Fix failed logins with upper case chars in email (Nick Craig-Wood)
33148
33149       · Onedrive
33150
33151         · Shared folder support (Yoni Jah)
33152
33153         · Implement DirMove (Cnly)
33154
33155         · Fix  rmdir  sometimes  deleting  directories  with  contents  (Nick
33156           Craig-Wood)
33157
33158       · Pcloud
33159
33160         · Delete half uploaded files on upload error (Nick Craig-Wood)
33161
33162       · Qingstor
33163
33164         · Remove leading / from paths (Nick Craig-Wood)
33165
33166       · S3
33167
33168         · Fix index out of range error with --fast-list (Nick Craig-Wood)
33169
33170         · Add --s3-force-path-style (Nick Craig-Wood)
33171
33172         · Add support for KMS Key ID (bsteiss)
33173
33174         · Remove leading / from paths (Nick Craig-Wood)
33175
33176       · Swift
33177
33178         · Add storage_policy (Ruben Vandamme)
33179
33180         · Make  it  so just storage_url or auth_token can be overridden (Nick
33181           Craig-Wood)
33182
33183         · Fix server-side copy bug for unusual file names (Nick Craig-Wood)
33184
33185         · Remove leading / from paths (Nick Craig-Wood)
33186
33187       · WebDAV
33188
33189         · Ensure we call MKCOL with a URL with a trailing / for QNAP  interop
33190           (Nick Craig-Wood)
33191
33192         · If  root  ends  with  /  then  don't  check  if  it is a file (Nick
33193           Craig-Wood)
33194
33195         · Don't accept redirects when reading metadata (Nick Craig-Wood)
33196
33197         · Add bearer token (Macaroon) support for dCache (Nick Craig-Wood)
33198
33199         · Document dCache and Macaroons (Onno Zweers)
33200
33201         · Sharepoint recursion with different depth (Henning)
33202
33203         · Attempt to remove failed uploads (Nick Craig-Wood)
33204
33205       · Yandex
33206
33207         · Fix listing/deleting files in the root (Nick Craig-Wood)
33208
33209   v1.42 - 2018-06-16
33210       · New backends
33211
33212         · OpenDrive (Oliver Heyme, Jakub Karlicek, ncw)
33213
33214       · New commands
33215
33216         · deletefile command (Filip Bartodziej)
33217
33218       · New Features
33219
33220         · copy, move: Copy single  files  directly,  don't  use  --files-from
33221           work-around
33222
33223           · this makes them much more efficient
33224
33225         · Implement --max-transfer flag to quit transferring at a limit
33226
33227           · make exit code 8 for --max-transfer exceeded
33228
33229         · copy: copy empty source directories to destination (Ishuah Kariuki)
33230
33231         · check: Add --one-way flag (Kasper Byrdal Nielsen)
33232
33233         · Add siginfo handler for macOS for ctrl-T stats (kubatasiemski)
33234
33235         · rc
33236
33237           · add core/gc to run a garbage collection on demand
33238
33239           · enable go profiling by default on the --rc port
33240
33241           · return error from remote on failure
33242
33243         · lsf
33244
33245           · Add --absolute flag to add a leading / onto path names
33246
33247           · Add --csv flag for compliant CSV output
33248
33249           · Add 'm' format specifier to show the MimeType
33250
33251           · Implement 'i' format for showing object ID
33252
33253         · lsjson
33254
33255           · Add MimeType to the output
33256
33257           · Add ID field to output to show Object ID
33258
33259         · Add --retries-sleep flag (Benjamin Joseph Dag)
33260
33261         · Oauth tidy up web page and error handling (Henning Surmeier)
33262
33263       · Bug Fixes
33264
33265         · Password  prompt  output with --log-file fixed for unix (Filip Bar‐
33266           todziej)
33267
33268         · Calculate ModifyWindow each time on the fly to fix various problems
33269           (Stefan Breunig)
33270
33271       · Mount
33272
33273         · Only  print "File.rename error" if there actually is an error (Ste‐
33274           fan Breunig)
33275
33276         · Delay rename if file has open writers instead of  failing  outright
33277           (Stefan Breunig)
33278
33279         · Ensure atexit gets run on interrupt
33280
33281         · macOS enhancements
33282
33283           · Make --noappledouble --noapplexattr
33284
33285           · Add --volname flag and remove special chars from it
33286
33287           · Make Get/List/Set/Remove xattr return ENOSYS for efficiency
33288
33289           · Make --daemon work for macOS without CGO
33290
33291       · VFS
33292
33293         · Add  --vfs-read-chunk-size  and --vfs-read-chunk-size-limit (Fabian
33294           Möller)
33295
33296         · Fix ChangeNotify for new or changed folders (Fabian Möller)
33297
33298       · Local
33299
33300         · Fix symlink/junction point directory handling under Windows
33301
33302           · NB you will need to add -L to your command  line  to  copy  files
33303             with reparse points
33304
33305       · Cache
33306
33307         · Add non cached dirs on notifications (Remus Bunduc)
33308
33309         · Allow root to be expired from rc (Remus Bunduc)
33310
33311         · Clean remaining empty folders from temp upload path (Remus Bunduc)
33312
33313         · Cache lists using batch writes (Remus Bunduc)
33314
33315         · Use secure websockets for HTTPS Plex addresses (John Clayton)
33316
33317         · Reconnect plex websocket on failures (Remus Bunduc)
33318
33319         · Fix panic when running without plex configs (Remus Bunduc)
33320
33321         · Fix root folder caching (Remus Bunduc)
33322
33323       · Crypt
33324
33325         · Check the crypted hash of files when uploading for extra data secu‐
33326           rity
33327
33328       · Dropbox
33329
33330         · Make Dropbox for business folders accessible using an initial /  in
33331           the path
33332
33333       · Google Cloud Storage
33334
33335         · Low level retry all operations if necessary
33336
33337       · Google Drive
33338
33339         · Add --drive-acknowledge-abuse to download flagged files
33340
33341         · Add --drive-alternate-export to fix large doc export
33342
33343         · Don't attempt to choose Team Drives when using rclone config create
33344
33345         · Fix change list polling with team drives
33346
33347         · Fix ChangeNotify for folders (Fabian Möller)
33348
33349         · Fix about (and df on a mount) for team drives
33350
33351       · Onedrive
33352
33353         · Errorhandler for onedrive for business requests (Henning Surmeier)
33354
33355       · S3
33356
33357         · Adjust upload concurrency with --s3-upload-concurrency (themylogin)
33358
33359         · Fix --s3-chunk-size which was always using the minimum
33360
33361       · SFTP
33362
33363         · Add --ssh-path-override flag (Piotr Oleszczyk)
33364
33365         · Fix slow downloads for long latency connections
33366
33367       · Webdav
33368
33369         · Add workarounds for biz.mail.ru
33370
33371         · Ignore Reason-Phrase in status line to fix 4shared (Rodrigo)
33372
33373         · Better error message generation
33374
33375   v1.41 - 2018-04-28
33376       · New backends
33377
33378         · Mega support added
33379
33380         · Webdav now supports SharePoint cookie authentication (hensur)
33381
33382       · New commands
33383
33384         · link: create public link to files and folders (Stefan Breunig)
33385
33386         · about: gets quota info from a remote (a-roussos, ncw)
33387
33388         · hashsum: a generic tool for any hash to produce md5sum like output
33389
33390       · New Features
33391
33392         · lsd: Add -R flag and fix and update docs for all ls commands
33393
33394         · ncdu: added a "refresh" key - CTRL-L (Keith Goldfarb)
33395
33396         · serve restic: Add append-only mode (Steve Kriss)
33397
33398         · serve  restic:  Disallow  overwriting  files  in  append-only  mode
33399           (Alexander Neumann)
33400
33401         · serve restic: Print actual listener address (Matt Holt)
33402
33403         · size: Add --json flag (Matthew Holt)
33404
33405         · sync: implement --ignore-errors (Mateusz Pabian)
33406
33407         · dedupe: Add dedupe largest functionality (Richard Yang)
33408
33409         · fs: Extend SizeSuffix to include TB and PB for rclone about
33410
33411         · fs: add --dump goroutines and --dump openfiles for debugging
33412
33413         · rc: implement core/memstats to print internal memory usage info
33414
33415         · rc: new call rc/pid (Michael P.  Dubner)
33416
33417       · Compile
33418
33419         · Drop support for go1.6
33420
33421       · Release
33422
33423         · Fix make tarball (Chih-Hsuan Yen)
33424
33425       · Bug Fixes
33426
33427         · filter: fix --min-age and --max-age together check
33428
33429         · fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport
33430
33431         · lsd,lsf: make sure all times we output are in local time
33432
33433         · rc: fix setting bwlimit to unlimited
33434
33435         · rc: take note of the --rc-addr flag too as per the docs
33436
33437       · Mount
33438
33439         · Use About to return the correct disk total/used/free (e.g.  in df)
33440
33441         · Set --attr-timeout default to 1s - fixes:
33442
33443           · rclone using too much memory
33444
33445           · rclone not serving files to samba
33446
33447           · excessive time listing directories
33448
33449         · Fix df -i (upstream fix)
33450
33451       · VFS
33452
33453         · Filter files . and .. from directory listing
33454
33455         · Only make the VFS cache if --vfs-cache-mode > Off
33456
33457       · Local
33458
33459         · Add --local-no-check-updated to disable updated file checks
33460
33461         · Retry remove on Windows sharing violation error
33462
33463       · Cache
33464
33465         · Flush the memory cache after close
33466
33467         · Purge file data on notification
33468
33469         · Always forget parent dir for notifications
33470
33471         · Integrate with Plex websocket
33472
33473         · Add rc cache/stats (seuffert)
33474
33475         · Add info log on notification
33476
33477       · Box
33478
33479         · Fix failure reading large directories - parse  file/directory  size
33480           as float
33481
33482       · Dropbox
33483
33484         · Fix crypt+obfuscate on dropbox
33485
33486         · Fix repeatedly uploading the same files
33487
33488       · FTP
33489
33490         · Work around strange response from box FTP server
33491
33492         · More workarounds for FTP servers to fix mkParentDir error
33493
33494         · Fix no error on listing non-existent directory
33495
33496       · Google Cloud Storage
33497
33498         · Add service_account_credentials (Matt Holt)
33499
33500         · Detect bucket presence by listing it - minimises permissions needed
33501
33502         · Ignore zero length directory markers
33503
33504       · Google Drive
33505
33506         · Add service_account_credentials (Matt Holt)
33507
33508         · Fix directory move leaving a hardlinked directory behind
33509
33510         · Return proper google errors when Opening files
33511
33512         · When  initialized with a filepath, optional features used incorrect
33513           root path (Stefan Breunig)
33514
33515       · HTTP
33516
33517         · Fix sync for servers which don't return Content-Length in HEAD
33518
33519       · Onedrive
33520
33521         · Add QuickXorHash support for OneDrive for business
33522
33523         · Fix socket leak in multipart session upload
33524
33525       · S3
33526
33527         · Look in S3 named profile files for credentials
33528
33529         · Add --s3-disable-checksum to disable checksum uploading (Chris  Re‐
33530           dekop)
33531
33532         · Hierarchical configuration support (Giri Badanahatti)
33533
33534         · Add in config for all the supported S3 providers
33535
33536         · Add One Zone Infrequent Access storage class (Craig Rachel)
33537
33538         · Add --use-server-modtime support (Peter Baumgartner)
33539
33540         · Add --s3-chunk-size option to control multipart uploads
33541
33542         · Ignore zero length directory markers
33543
33544       · SFTP
33545
33546         · Update  docs to match code, fix typos and clarify disable_hashcheck
33547           prompt (Michael G.  Noll)
33548
33549         · Update docs with Synology quirks
33550
33551         · Fail soft with a debug on hash failure
33552
33553       · Swift
33554
33555         · Add --use-server-modtime support (Peter Baumgartner)
33556
33557       · Webdav
33558
33559         · Support SharePoint cookie authentication (hensur)
33560
33561         · Strip leading and trailing / off root
33562
33563   v1.40 - 2018-03-19
33564       · New backends
33565
33566         · Alias backend to create aliases for existing remote  names  (Fabian
33567           Möller)
33568
33569       · New commands
33570
33571         · lsf: list for parsing purposes (Jakub Tasiemski)
33572
33573           · by  default  this is a simple non recursive list of files and di‐
33574             rectories
33575
33576           · it can be configured to add more info in an easy to parse way
33577
33578         · serve restic: for serving a remote as a Restic REST endpoint
33579
33580           · This enables restic to use any backends that rclone can access
33581
33582           · Thanks Alexander Neumann for help, patches and review
33583
33584         · rc: enable the remote control of a running rclone
33585
33586           · The running rclone must be started with --rc and related flags.
33587
33588           · Currently there is support for bwlimit, and  flushing  for  mount
33589             and cache.
33590
33591       · New Features
33592
33593         · --max-delete flag to add a delete threshold (Bjørn Erik Pedersen)
33594
33595         · All backends now support RangeOption for ranged Open
33596
33597           · cat: Use RangeOption for limited fetches to make more efficient
33598
33599           · cryptcheck: make reading of nonce more efficient with RangeOption
33600
33601         · serve http/webdav/restic
33602
33603           · support SSL/TLS
33604
33605           · add --user --pass and --htpasswd for authentication
33606
33607         · copy/move:  detect  file  size  change  during  copy/move and abort
33608           transfer (ishuah)
33609
33610         · cryptdecode: added option to return encrypted file names.  (ishuah)
33611
33612         · lsjson: add --encrypted to show encrypted name (Jakub Tasiemski)
33613
33614         · Add --stats-file-name-length  to  specify  the  printed  file  name
33615           length for stats (Will Gunn)
33616
33617       · Compile
33618
33619         · Code base was shuffled and factored
33620
33621           · backends moved into a backend directory
33622
33623           · large packages split up
33624
33625           · See the CONTRIBUTING.md doc for info as to what lives where now
33626
33627         · Update to using go1.10 as the default go version
33628
33629         · Implement  daily full integration tests (https://pub.rclone.org/in
33630           tegration-tests/)
33631
33632       · Release
33633
33634         · Include a source tarball and sign it and the binaries
33635
33636         · Sign the git tags as part of the release process
33637
33638         · Add .deb and .rpm packages as part of the build
33639
33640         · Make a beta release for all branches on the main repo (but not pull
33641           requests)
33642
33643       · Bug Fixes
33644
33645         · config:  fixes errors on non existing config by loading config file
33646           only on first access
33647
33648         · config: retry saving the config after failure (Mateusz)
33649
33650         · sync: when using --backup-dir don't delete files if  we  can't  set
33651           their modtime
33652
33653           · this fixes odd behaviour with Dropbox and --backup-dir
33654
33655         · fshttp: fix idle timeouts for HTTP connections
33656
33657         · serve http: fix serving files with : in - fixes
33658
33659         · Fix  --exclude-if-present  to  ignore  directories which it doesn't
33660           have permission for (Iakov Davydov)
33661
33662         · Make accounting work properly with crypt and b2
33663
33664         · remove --no-traverse flag because it is obsolete
33665
33666       · Mount
33667
33668         · Add --attr-timeout flag to control attribute caching in kernel
33669
33670           · this now defaults to 0 which is correct but less efficient
33671
33672           · see the mount docs (https://rclone.org/commands/rclone_mount/#at‐
33673             tribute-caching) for more info
33674
33675         · Add --daemon flag to allow mount to run in the background (ishuah)
33676
33677         · Fix: Return ENOSYS rather than EIO on attempted link
33678
33679           · This fixes FileZilla accessing an rclone mount served over sftp.
33680
33681         · Fix setting modtime twice
33682
33683         · Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows
33684
33685         · Many bugs fixed in the VFS layer - see below
33686
33687       · VFS
33688
33689         · Many fixes for --vfs-cache-mode writes and above
33690
33691           · Update cached copy if we know it has changed (fixes stale data)
33692
33693           · Clean path names before using them in the cache
33694
33695           · Disable cache cleaner if --vfs-cache-poll-interval=0
33696
33697           · Fill and clean the cache immediately on startup
33698
33699         · Fix Windows opening every file when it stats the file
33700
33701         · Fix applying modtime for an open Write Handle
33702
33703         · Fix creation of files when truncating
33704
33705         · Write  0 bytes when flushing unwritten handles to avoid race condi‐
33706           tions in FUSE
33707
33708         · Downgrade "poll-interval is not supported" message to Info
33709
33710         · Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC
33711
33712       · Local
33713
33714         · Downgrade "invalid cross-device link: trying copy" to debug
33715
33716         · Make DirMove return fs.ErrorCantDirMove to allow fallback  to  Copy
33717           for cross device
33718
33719         · Fix race conditions updating the hashes
33720
33721       · Cache
33722
33723         · Add  support for polling - cache will update when remote changes on
33724           supported backends
33725
33726         · Reduce log level for Plex api
33727
33728         · Fix dir cache issue
33729
33730         · Implement --cache-db-wait-time flag
33731
33732         · Improve efficiency with RangeOption and RangeSeek
33733
33734         · Fix dirmove with temp fs enabled
33735
33736         · Notify vfs when using temp fs
33737
33738         · Offline uploading
33739
33740         · Remote control support for path flushing
33741
33742       · Amazon cloud drive
33743
33744         · Rclone no longer has any working keys - disable integration tests
33745
33746         · Implement DirChangeNotify to notify cache/vfs/mount of changes
33747
33748       · Azureblob
33749
33750         · Don't check for bucket/container presence if listing was OK
33751
33752           · this makes rclone do one less request per invocation
33753
33754         · Improve accounting for chunked uploads
33755
33756       · Backblaze B2
33757
33758         · Don't check for bucket/container presence if listing was OK
33759
33760           · this makes rclone do one less request per invocation
33761
33762       · Box
33763
33764         · Improve accounting for chunked uploads
33765
33766       · Dropbox
33767
33768         · Fix custom oauth client parameters
33769
33770       · Google Cloud Storage
33771
33772         · Don't check for bucket/container presence if listing was OK
33773
33774           · this makes rclone do one less request per invocation
33775
33776       · Google Drive
33777
33778         · Migrate to api v3 (Fabian Möller)
33779
33780         · Add scope configuration and root folder selection
33781
33782         · Add --drive-impersonate for service accounts
33783
33784           · thanks to everyone who tested, explored and contributed docs
33785
33786         · Add --drive-use-created-date to use created date as  modified  date
33787           (nbuchanan)
33788
33789         · Request the export formats only when required
33790
33791           · This makes rclone quicker when there are no google docs
33792
33793         · Fix finding paths with latin1 chars (a workaround for a drive bug)
33794
33795         · Fix copying of a single Google doc file
33796
33797         · Fix --drive-auth-owner-only to look in all directories
33798
33799       · HTTP
33800
33801         · Fix handling of directories with & in
33802
33803       · Onedrive
33804
33805         · Removed upload cutoff and always do session uploads
33806
33807           · this stops the creation of multiple versions on business onedrive
33808
33809         · Overwrite  object  size  value  with  real  size when reading file.
33810           (Victor)
33811
33812           · this fixes oddities when onedrive misreports the size of images
33813
33814       · Pcloud
33815
33816         · Remove unused chunked upload flag and code
33817
33818       · Qingstor
33819
33820         · Don't check for bucket/container presence if listing was OK
33821
33822           · this makes rclone do one less request per invocation
33823
33824       · S3
33825
33826         · Support hashes for multipart files (Chris Redekop)
33827
33828         · Initial support for IBM COS (S3) (Giri Badanahatti)
33829
33830         · Update docs to discourage use of v2 auth with CEPH and others
33831
33832         · Don't check for bucket/container presence if listing was OK
33833
33834           · this makes rclone do one less request per invocation
33835
33836         · Fix server-side copy and set modtime on files with + in
33837
33838       · SFTP
33839
33840         · Add option to disable remote  hash  check  command  execution  (Jon
33841           Fautley)
33842
33843         · Add  --sftp-ask-password  flag  to  prompt for password when needed
33844           (Leo R.  Lundgren)
33845
33846         · Add set_modtime configuration option
33847
33848         · Fix following of symlinks
33849
33850         · Fix reading config file outside of Fs setup
33851
33852         · Fix reading $USER in username fallback not $HOME
33853
33854         · Fix running under crontab - Use correct OS way of reading username
33855
33856       · Swift
33857
33858         · Fix refresh of authentication token
33859
33860           · in v1.39 a bug was introduced which ignored  new  tokens  -  this
33861             fixes it
33862
33863         · Fix extra HEAD transaction when uploading a new file
33864
33865         · Don't check for bucket/container presence if listing was OK
33866
33867           · this makes rclone do one less request per invocation
33868
33869       · Webdav
33870
33871         · Add new time formats to support mydrive.ch and others
33872
33873   v1.39 - 2017-12-23
33874       · New backends
33875
33876         · WebDAV
33877
33878           · tested with nextcloud, owncloud, put.io and others!
33879
33880         · Pcloud
33881
33882         · cache - wraps a cache around other backends (Remus Bunduc)
33883
33884           · useful in combination with mount
33885
33886           · NB this feature is in beta so use with care
33887
33888       · New commands
33889
33890         · serve command with subcommands:
33891
33892           · serve  webdav: this implements a webdav server for any rclone re‐
33893             mote.
33894
33895           · serve http: command to serve a remote over HTTP
33896
33897         · config: add sub commands for full config file management
33898
33899           · create/delete/dump/edit/file/password/providers/show/update
33900
33901         · touch: to create or update the timestamp of a file (Jakub  Tasiems‐
33902           ki)
33903
33904       · New Features
33905
33906         · curl install for rclone (Filip Bartodziej)
33907
33908         · --stats  now shows percentage, size, rate and ETA in condensed form
33909           (Ishuah Kariuki)
33910
33911         · --exclude-if-present to exclude a directory if a  file  is  present
33912           (Iakov Davydov)
33913
33914         · rmdirs: add --leave-root flag (lewapm)
33915
33916         · move:  add  --delete-empty-src-dirs  flag to remove dirs after move
33917           (Ishuah Kariuki)
33918
33919         · Add --dump flag, introduce --dump requests,  responses  and  remove
33920           --dump-auth, --dump-filters
33921
33922           · Obscure X-Auth-Token: from headers when dumping too
33923
33924         · Document  and  implement  exit  codes  for  different failure modes
33925           (Ishuah Kariuki)
33926
33927       · Compile
33928
33929       · Bug Fixes
33930
33931         · Retry lots more different types of errors to make multipart  trans‐
33932           fers more reliable
33933
33934         · Save the config before asking for a token, fixes disappearing oauth
33935           config
33936
33937         · Warn the user if --include and --exclude are used together  (Ernest
33938           Borowski)
33939
33940         · Fix duplicate files (e.g.  on Google drive) causing spurious copies
33941
33942         · Allow trailing and leading whitespace for passwords (Jason Rose)
33943
33944         · ncdu: fix crashes on empty directories
33945
33946         · rcat: fix goroutine leak
33947
33948         · moveto/copyto: Fix to allow copying to the same name
33949
33950       · Mount
33951
33952         · --vfs-cache mode to make writes into mounts more reliable.
33953
33954           · this requires caching files on the disk (see --cache-dir)
33955
33956           · As this is a new feature, use with care
33957
33958         · Use sdnotify to signal systemd the mount is ready (Fabian Möller)
33959
33960         · Check if directory is not empty before mounting (Ernest Borowski)
33961
33962       · Local
33963
33964         · Add error message for cross file system moves
33965
33966         · Fix equality check for times
33967
33968       · Dropbox
33969
33970         · Rework multipart upload
33971
33972           · buffer  the  chunks when uploading large files so they can be re‐
33973             tried
33974
33975           · change default chunk size to 48MB now we are  buffering  them  in
33976             memory
33977
33978           · retry every error after the first chunk is done successfully
33979
33980         · Fix error when renaming directories
33981
33982       · Swift
33983
33984         · Fix crash on bad authentication
33985
33986       · Google Drive
33987
33988         · Add service account support (Tim Cooijmans)
33989
33990       · S3
33991
33992         · Make   it   work   properly   with  Digital  Ocean  Spaces  (Andrew
33993           Starr-Bochicchio)
33994
33995         · Fix crash if a bad listing is received
33996
33997         · Add support for ECS task IAM roles (David Minor)
33998
33999       · Backblaze B2
34000
34001         · Fix multipart upload retries
34002
34003         · Fix --hard-delete to make it work 100% of the time
34004
34005       · Swift
34006
34007         · Allow authentication with storage URL and auth key (Giovanni Pizzi)
34008
34009         · Add new fields for swift configuration to support IBM Bluemix Swift
34010           (Pierre Carlson)
34011
34012         · Add OS_TENANT_ID and OS_USER_ID to config
34013
34014         · Allow configs with user id instead of user name
34015
34016         · Check  if  swift  segments  container  exists before creating (John
34017           Leach)
34018
34019         · Fix memory leak in swift transfers (upstream fix)
34020
34021       · SFTP
34022
34023         · Add option to enable the use of aes128-cbc cipher (Jon Fautley)
34024
34025       · Amazon cloud drive
34026
34027         · Fix download of large files failing with "Only one  auth  mechanism
34028           allowed"
34029
34030       · crypt
34031
34032         · Option to encrypt directory names or leave them intact
34033
34034         · Implement DirChangeNotify (Fabian Möller)
34035
34036       · onedrive
34037
34038         · Add  option to choose resourceURL during setup of OneDrive Business
34039           account if more than one is available for user
34040
34041   v1.38 - 2017-09-30
34042       · New backends
34043
34044         · Azure Blob Storage (thanks Andrei Dragomir)
34045
34046         · Box
34047
34048         · Onedrive for Business (thanks Oliver Heyme)
34049
34050         · QingStor from QingCloud (thanks wuyu)
34051
34052       · New commands
34053
34054         · rcat - read from standard input and stream upload
34055
34056         · tree - shows a nicely formatted recursive listing
34057
34058         · cryptdecode - decode crypted file names (thanks ishuah)
34059
34060         · config show - print the config file
34061
34062         · config file - print the config file location
34063
34064       · New Features
34065
34066         · Empty directories are deleted on sync
34067
34068         · dedupe - implement merging of duplicate directories
34069
34070         · check and cryptcheck made more consistent and use less memory
34071
34072         · cleanup for remaining remotes (thanks ishuah)
34073
34074         · --immutable for ensuring that files don't change (thanks Jacob  Mc‐
34075           Namee)
34076
34077         · --user-agent option (thanks Alex McGrath Kraak)
34078
34079         · --disable flag to disable optional features
34080
34081         · --bind flag for choosing the local addr on outgoing connections
34082
34083         · Support for zsh auto-completion (thanks bpicode)
34084
34085         · Stop normalizing file names but do a normalized compare in sync
34086
34087       · Compile
34088
34089         · Update to using go1.9 as the default go version
34090
34091         · Remove snapd build due to maintenance problems
34092
34093       · Bug Fixes
34094
34095         · Improve  retriable  error  detection  which makes multipart uploads
34096           better
34097
34098         · Make check obey --ignore-size
34099
34100         · Fix bwlimit toggle in conjunction with schedules (thanks cbruegg)
34101
34102         · config ensures newly written config is on the same mount
34103
34104       · Local
34105
34106         · Revert to copy when moving file across file system boundaries
34107
34108         · --skip-links to suppress symlink warnings (thanks Zhiming Wang)
34109
34110       · Mount
34111
34112         · Re-use rcat internals to support uploads from all remotes
34113
34114       · Dropbox
34115
34116         · Fix "entry doesn't belong in directory" error
34117
34118         · Stop using deprecated API methods
34119
34120       · Swift
34121
34122         · Fix server-side copy to empty container with --fast-list
34123
34124       · Google Drive
34125
34126         · Change the default for --drive-use-trash to true
34127
34128       · S3
34129
34130         · Set session token when using STS (thanks Girish Ramakrishnan)
34131
34132         · Glacier docs and error messages (thanks Jan Varho)
34133
34134         · Read 1000 (not 1024) items in dir listings to fix Wasabi
34135
34136       · Backblaze B2
34137
34138         · Fix SHA1 mismatch when downloading files with no SHA1
34139
34140         · Calculate missing hashes on the fly instead of spooling
34141
34142         · --b2-hard-delete to permanently delete  (not  hide)  files  (thanks
34143           John Papandriopoulos)
34144
34145       · Hubic
34146
34147         · Fix  creating  containers  - no longer have to use the default con‐
34148           tainer
34149
34150       · Swift
34151
34152         · Optionally configure from a standard set of  OpenStack  environment
34153           vars
34154
34155         · Add endpoint_type config
34156
34157       · Google Cloud Storage
34158
34159         · Fix bucket creation to work with limited permission users
34160
34161       · SFTP
34162
34163         · Implement connection pooling for multiple ssh connections
34164
34165         · Limit new connections per second
34166
34167         · Add  support for MD5 and SHA1 hashes where available (thanks Chris‐
34168           tian Brüggemann)
34169
34170       · HTTP
34171
34172         · Fix URL encoding issues
34173
34174         · Fix directories with : in
34175
34176         · Fix panic with URL encoded content
34177
34178   v1.37 - 2017-07-22
34179       · New backends
34180
34181         · FTP - thanks to Antonio Messina
34182
34183         · HTTP - thanks to Vasiliy Tolstov
34184
34185       · New commands
34186
34187         · rclone ncdu - for exploring a remote with a text based user  inter‐
34188           face.
34189
34190         · rclone lsjson - for listing with a machine readable output
34191
34192         · rclone  dbhashsum - to show Dropbox style hashes of files (local or
34193           Dropbox)
34194
34195       · New Features
34196
34197         · Implement --fast-list flag
34198
34199           · This allows remotes to list recursively if they can
34200
34201           · This uses less transactions (important if you pay for them)
34202
34203           · This may or may not be quicker
34204
34205           · This will use more memory as it has to hold the listing in memory
34206
34207           · --old-sync-method deprecated - the remaining uses are covered  by
34208             --fast-list
34209
34210           · This involved a major re-write of all the listing code
34211
34212         · Add  --tpslimit and --tpslimit-burst to limit transactions per sec‐
34213           ond
34214
34215           · this is useful in conjunction with rclone mount to limit external
34216             apps
34217
34218         · Add --stats-log-level so can see --stats without -v
34219
34220         · Print password prompts to stderr - Hraban Luyat
34221
34222         · Warn about duplicate files when syncing
34223
34224         · Oauth improvements
34225
34226           · allow auth_url and token_url to be set in the config file
34227
34228           · Print redirection URI if using own credentials.
34229
34230         · Don't Mkdir at the start of sync to save transactions
34231
34232       · Compile
34233
34234         · Update build to go1.8.3
34235
34236         · Require go1.6 for building rclone
34237
34238         · Compile 386 builds with "GO386=387" for maximum compatibility
34239
34240       · Bug Fixes
34241
34242         · Fix menu selection when no remotes
34243
34244         · Config saving reworked to not kill the file if disk gets full
34245
34246         · Don't delete remote if name does not change while renaming
34247
34248         · moveto, copyto: report transfers and checks as per move and copy
34249
34250       · Local
34251
34252         · Add --local-no-unicode-normalization flag - Bob Potter
34253
34254       · Mount
34255
34256         · Now  supported on Windows using cgofuse and WinFsp - thanks to Bill
34257           Zissimopoulos for much help
34258
34259         · Compare checksums on upload/download via FUSE
34260
34261         · Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM -  Jérôme
34262           Vizcaino
34263
34264         · On read only open of file, make open pending until first read
34265
34266         · Make --read-only reject modify operations
34267
34268         · Implement ModTime via FUSE for remotes that support it
34269
34270         · Allow modTime to be changed even before all writers are closed
34271
34272         · Fix panic on renames
34273
34274         · Fix hang on errored upload
34275
34276       · Crypt
34277
34278         · Report the name:root as specified by the user
34279
34280         · Add an "obfuscate" option for filename encryption - Stephen Harris
34281
34282       · Amazon Drive
34283
34284         · Fix initialization order for token renewer
34285
34286         · Remove  revoked  credentials,  allow  oauth proxy config and update
34287           docs
34288
34289       · B2
34290
34291         · Reduce minimum chunk size to 5MB
34292
34293       · Drive
34294
34295         · Add team drive support
34296
34297         · Reduce bandwidth by adding fields for partial  responses  -  Martin
34298           Kristensen
34299
34300         · Implement  --drive-shared-with-me flag to view shared with me files
34301           - Danny Tsai
34302
34303         · Add --drive-trashed-only to read only the files in the trash
34304
34305         · Remove obsolete --drive-full-list
34306
34307         · Add missing seek to start on retries of chunked uploads
34308
34309         · Fix stats accounting for upload
34310
34311         · Convert / in names to a unicode equivalent (/)
34312
34313         · Poll for Google Drive changes when mounted
34314
34315       · OneDrive
34316
34317         · Fix the uploading of files with spaces
34318
34319         · Fix initialization order for token renewer
34320
34321         · Display speeds accurately when uploading - Yoni Jah
34322
34323         · Swap to using http://localhost:53682/ as  redirect  URL  -  Michael
34324           Ledin
34325
34326         · Retry on token expired error, reset upload body on retry - Yoni Jah
34327
34328       · Google Cloud Storage
34329
34330         · Add  ability  to  specify location and storage class via config and
34331           command line - thanks gdm85
34332
34333         · Create container if necessary on server-side copy
34334
34335         · Increase directory listing chunk to 1000 to increase performance
34336
34337         · Obtain a refresh token for GCS - Steven Lu
34338
34339       · Yandex
34340
34341         · Fix the name reported in log messages (was empty)
34342
34343         · Correct error return for listing empty directory
34344
34345       · Dropbox
34346
34347         · Rewritten to use the v2 API
34348
34349           · Now supports ModTime
34350
34351             · Can only set by uploading the file again
34352
34353             · If you uploaded with an old rclone, rclone  may  upload  every‐
34354               thing again
34355
34356             · Use --size-only or --checksum to avoid this
34357
34358           · Now supports the Dropbox content hashing scheme
34359
34360           · Now supports low level retries
34361
34362       · S3
34363
34364         · Work around eventual consistency in bucket creation
34365
34366         · Create container if necessary on server-side copy
34367
34368         · Add  us-east-2  (Ohio)  and  eu-west-2 (London) S3 regions - Zahiar
34369           Ahmed
34370
34371       · Swift, Hubic
34372
34373         · Fix zero length directory markers showing in the subdirectory list‐
34374           ing
34375
34376           · this caused lots of duplicate transfers
34377
34378         · Fix paged directory listings
34379
34380           · this caused duplicate directory errors
34381
34382         · Create container if necessary on server-side copy
34383
34384         · Increase directory listing chunk to 1000 to increase performance
34385
34386         · Make sensible error if the user forgets the container
34387
34388       · SFTP
34389
34390         · Add support for using ssh key files
34391
34392         · Fix under Windows
34393
34394         · Fix ssh agent on Windows
34395
34396         · Adapt to latest version of library - Igor Kharin
34397
34398   v1.36 - 2017-03-18
34399       · New Features
34400
34401         · SFTP remote (Jack Schmidt)
34402
34403         · Re-implement  sync  routine  to work a directory at a time reducing
34404           memory usage
34405
34406         · Logging revamped to be more inline with rsync - now much quieter  *
34407           -v  only  shows transfers * -vv is for full debug * --syslog to log
34408           to syslog on capable platforms
34409
34410         · Implement --backup-dir and --suffix
34411
34412         · Implement --track-renames (initial  implementation  by  Bjørn  Erik
34413           Pedersen)
34414
34415         · Add time-based bandwidth limits (Lukas Loesche)
34416
34417         · rclone cryptcheck: checks integrity of crypt remotes
34418
34419         · Allow all config file variables and options to be set from environ‐
34420           ment variables
34421
34422         · Add --buffer-size parameter to control buffer size for copy
34423
34424         · Make --delete-after the default
34425
34426         · Add --ignore-checksum flag (fixed by Hisham Zarka)
34427
34428         · rclone check: Add --download flag to check all the data,  not  just
34429           hashes
34430
34431         · rclone cat: add --head, --tail, --offset, --count and --discard
34432
34433         · rclone config: when choosing from a list, allow the value to be en‐
34434           tered too
34435
34436         · rclone config: allow rename and copy of remotes
34437
34438         · rclone obscure: for generating  encrypted  passwords  for  rclone's
34439           config (T.C.  Ferguson)
34440
34441         · Comply with XDG Base Directory specification (Dario Giovannetti)
34442
34443           · this moves the default location of the config file in a backwards
34444             compatible way
34445
34446         · Release changes
34447
34448           · Ubuntu snap support (Dedsec1)
34449
34450           · Compile with go 1.8
34451
34452           · MIPS/Linux big and little endian support
34453
34454       · Bug Fixes
34455
34456         · Fix copyto copying things to the wrong place if the destination dir
34457           didn't exist
34458
34459         · Fix parsing of remotes in moveto and copyto
34460
34461         · Fix --delete-before deleting files on copy
34462
34463         · Fix --files-from with an empty file copying everything
34464
34465         · Fix sync: don't update mod times if --dry-run set
34466
34467         · Fix MimeType propagation
34468
34469         · Fix filters to add ** rules to directory rules
34470
34471       · Local
34472
34473         · Implement -L, --copy-links flag to allow rclone to follow symlinks
34474
34475         · Open  files  in  write  only  mode so rclone can write to an rclone
34476           mount
34477
34478         · Fix unnormalised unicode causing problems reading directories
34479
34480         · Fix interaction between -x flag and --max-depth
34481
34482       · Mount
34483
34484         · Implement proper directory handling (mkdir, rmdir, renaming)
34485
34486         · Make include and exclude filters apply to mount
34487
34488         · Implement read and write async buffers - control with --buffer-size
34489
34490         · Fix fsync on for directories
34491
34492         · Fix retry on network failure when reading off crypt
34493
34494       · Crypt
34495
34496         · Add --crypt-show-mapping to show encrypted file mapping
34497
34498         · Fix crypt writer getting stuck in a loop
34499
34500           · IMPORTANT this bug had the potential  to  cause  data  corruption
34501             when
34502
34503             · reading data from a network based remote and
34504
34505             · writing to a crypt on Google Drive
34506
34507           · Use  the cryptcheck command to validate your data if you are con‐
34508             cerned
34509
34510           · If syncing two crypt remotes, sync the unencrypted remote
34511
34512       · Amazon Drive
34513
34514         · Fix panics on Move (rename)
34515
34516         · Fix panic on token expiry
34517
34518       · B2
34519
34520         · Fix inconsistent listings and rclone check
34521
34522         · Fix uploading empty files with go1.8
34523
34524         · Constrain memory usage when doing multipart uploads
34525
34526         · Fix upload url not being refreshed properly
34527
34528       · Drive
34529
34530         · Fix Rmdir on directories with trashed files
34531
34532         · Fix "Ignoring unknown object" when downloading
34533
34534         · Add --drive-list-chunk
34535
34536         · Add --drive-skip-gdocs (Károly Oláh)
34537
34538       · OneDrive
34539
34540         · Implement Move
34541
34542         · Fix Copy
34543
34544           · Fix overwrite detection in Copy
34545
34546           · Fix waitForJob to parse errors correctly
34547
34548         · Use token renewer to stop auth errors on long uploads
34549
34550         · Fix uploading empty files with go1.8
34551
34552       · Google Cloud Storage
34553
34554         · Fix depth 1 directory listings
34555
34556       · Yandex
34557
34558         · Fix single level directory listing
34559
34560       · Dropbox
34561
34562         · Normalise the case for single level directory listings
34563
34564         · Fix depth 1 listing
34565
34566       · S3
34567
34568         · Added ca-central-1 region (Jon Yergatian)
34569
34570   v1.35 - 2017-01-02
34571       · New Features
34572
34573         · moveto and copyto commands  for  choosing  a  destination  name  on
34574           copy/move
34575
34576         · rmdirs command to recursively delete empty directories
34577
34578         · Allow repeated --include/--exclude/--filter options
34579
34580         · Only show transfer stats on commands which transfer stuff
34581
34582           · show stats on any command using the --stats flag
34583
34584         · Allow  overlapping directories in move when server-side dir move is
34585           supported
34586
34587         · Add --stats-unit option - thanks Scott McGillivray
34588
34589       · Bug Fixes
34590
34591         · Fix the config file being overwritten when two rclone instances are
34592           running
34593
34594         · Make rclone lsd obey the filters properly
34595
34596         · Fix compilation on mips
34597
34598         · Fix not transferring files that don't differ in size
34599
34600         · Fix panic on nil retry/fatal error
34601
34602       · Mount
34603
34604         · Retry reads on error - should help with reliability a lot
34605
34606         · Report the modification times for directories from the remote
34607
34608         · Add bandwidth accounting and limiting (fixes --bwlimit)
34609
34610         · If  --stats  provided will show stats and which files are transfer‐
34611           ring
34612
34613         · Support R/W files if truncate is set.
34614
34615         · Implement statfs interface so df works
34616
34617         · Note that write is now supported on Amazon Drive
34618
34619         · Report number of blocks in a file - thanks Stefan Breunig
34620
34621       · Crypt
34622
34623         · Prevent the user pointing crypt at itself
34624
34625         · Fix failed to authenticate decrypted block errors
34626
34627           · these will now return the underlying unexpected EOF instead
34628
34629       · Amazon Drive
34630
34631         · Add support for server-side move and directory move - thanks Stefan
34632           Breunig
34633
34634         · Fix nil pointer deref on size attribute
34635
34636       · B2
34637
34638         · Use new prefix and delimiter parameters in directory listings
34639
34640           · This  makes  --max-depth  1  dir  listings  as used in mount much
34641             faster
34642
34643         · Reauth the account while doing uploads too - should help with token
34644           expiry
34645
34646       · Drive
34647
34648         · Make DirMove more efficient and complain about moving the root
34649
34650         · Create destination directory on Move()
34651
34652   v1.34 - 2016-11-06
34653       · New Features
34654
34655         · Stop  single file and --files-from operations iterating through the
34656           source bucket.
34657
34658         · Stop removing failed upload to cloud storage remotes
34659
34660         · Make ContentType be preserved for cloud to cloud copies
34661
34662         · Add support to toggle bandwidth limits via SIGUSR2 -  thanks  Marco
34663           Paganini
34664
34665         · rclone check shows count of hashes that couldn't be checked
34666
34667         · rclone listremotes command
34668
34669         · Support linux/arm64 build - thanks Fredrik Fornwall
34670
34671         · Remove Authorization: lines from --dump-headers output
34672
34673       · Bug Fixes
34674
34675         · Ignore files with control characters in the names
34676
34677         · Fix rclone move command
34678
34679           · Delete src files which already existed in dst
34680
34681           · Fix deletion of src file when dst file older
34682
34683         · Fix rclone check on crypted file systems
34684
34685         · Make failed uploads not count as "Transferred"
34686
34687         · Make sure high level retries show with -q
34688
34689         · Use a vendor directory with godep for repeatable builds
34690
34691       · rclone mount - FUSE
34692
34693         · Implement FUSE mount options
34694
34695           · --no-modtime, --debug-fuse, --read-only, --allow-non-empty, --al‐
34696             low-root, --allow-other
34697
34698           · --default-permissions,   --write-back-cache,    --max-read-ahead,
34699             --umask, --uid, --gid
34700
34701         · Add --dir-cache-time to control caching of directory entries
34702
34703         · Implement seek for files opened for read (useful for video players)
34704
34705           · with -no-seek flag to disable
34706
34707         · Fix crash on 32 bit ARM (alignment of 64 bit counter)
34708
34709         · ...and many more internal fixes and improvements!
34710
34711       · Crypt
34712
34713         · Don't show encrypted password in configurator to stop confusion
34714
34715       · Amazon Drive
34716
34717         · New wait for upload option --acd-upload-wait-per-gb
34718
34719           · upload timeouts scale by file size and can be disabled
34720
34721         · Add 502 Bad Gateway to list of errors we retry
34722
34723         · Fix overwriting a file with a zero length file
34724
34725         · Fix ACD file size warning limit - thanks Felix Bünemann
34726
34727       · Local
34728
34729         · Unix:  implement -x/--one-file-system to stay on a single file sys‐
34730           tem
34731
34732           · thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana
34733
34734         · Windows: ignore the symlink bit on files
34735
34736         · Windows: Ignore directory based junction points
34737
34738       · B2
34739
34740         · Make sure each upload has at least one upload slot - fixes  strange
34741           upload stats
34742
34743         · Fix uploads when using crypt
34744
34745         · Fix download of large files (sha1 mismatch)
34746
34747         · Return error when we try to create a bucket which someone else owns
34748
34749         · Update  B2  docs with Data usage, and Crypt section - thanks Tomasz
34750           Mazur
34751
34752       · S3
34753
34754         · Command line and config file support for
34755
34756           · Setting/overriding ACL - thanks Radek Senfeld
34757
34758           · Setting storage class - thanks Asko Tamm
34759
34760       · Drive
34761
34762         · Make exponential backoff work exactly as per Google specification
34763
34764         · add .epub, .odp and .tsv as export formats.
34765
34766       · Swift
34767
34768         · Don't read metadata for directory marker objects
34769
34770   v1.33 - 2016-08-24
34771       · New Features
34772
34773         · Implement encryption
34774
34775           · data encrypted in NACL secretbox format
34776
34777           · with optional file name encryption
34778
34779         · New commands
34780
34781           · rclone mount - implements FUSE mounting of remotes (EXPERIMENTAL)
34782
34783             · works on Linux, FreeBSD and OS X (need testers for the last 2!)
34784
34785           · rclone cat - outputs remote file or files to the terminal
34786
34787           · rclone genautocomplete - command to make a bash completion script
34788             for rclone
34789
34790         · Editing a remote using rclone config now goes through the wizard
34791
34792         · Compile  with go 1.7 - this fixes rclone on macOS Sierra and on 386
34793           processors
34794
34795         · Use cobra for sub commands and docs generation
34796
34797       · drive
34798
34799         · Document how to make your own client_id
34800
34801       · s3
34802
34803         · User-configurable Amazon S3 ACL (thanks Radek Šenfeld)
34804
34805       · b2
34806
34807         · Fix stats accounting for upload - no more jumping to 100% done
34808
34809         · On cleanup delete hide marker if it is the current file
34810
34811         · New B2 API endpoint (thanks Per Cederberg)
34812
34813         · Set maximum backoff to 5 Minutes
34814
34815       · onedrive
34816
34817         · Fix URL escaping in file names - e.g.  uploading files  with  +  in
34818           them.
34819
34820       · amazon cloud drive
34821
34822         · Fix token expiry during large uploads
34823
34824         · Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors
34825
34826       · local
34827
34828         · Fix filenames with invalid UTF-8 not being uploaded
34829
34830         · Fix problem with some UTF-8 characters on OS X
34831
34832   v1.32 - 2016-07-13
34833       · Backblaze B2
34834
34835         · Fix upload of files large files not in root
34836
34837   v1.31 - 2016-07-13
34838       · New Features
34839
34840         · Reduce memory on sync by about 50%
34841
34842         · Implement  --no-traverse  flag to stop copy traversing the destina‐
34843           tion remote.
34844
34845           · This can be used to reduce memory usage down to the smallest pos‐
34846             sible.
34847
34848           · Useful  to  copy a small number of files into a large destination
34849             folder.
34850
34851         · Implement cleanup command for emptying trash /  removing  old  ver‐
34852           sions of files
34853
34854           · Currently B2 only
34855
34856         · Single file handling improved
34857
34858           · Now copied with --files-from
34859
34860           · Automatically sets --no-traverse when copying a single file
34861
34862         · Info on using installing with ansible - thanks Stefan Weichinger
34863
34864         · Implement --no-update-modtime flag to stop rclone fixing the remote
34865           modified times.
34866
34867       · Bug Fixes
34868
34869         · Fix move command - stop it running for overlapping Fses - this  was
34870           causing data loss.
34871
34872       · Local
34873
34874         · Fix incomplete hashes - this was causing problems for B2.
34875
34876       · Amazon Drive
34877
34878         · Rename  Amazon  Cloud  Drive to Amazon Drive - no changes to config
34879           file needed.
34880
34881       · Swift
34882
34883         · Add support for non-default project domain - thanks Antonio  Messi‐
34884           na.
34885
34886       · S3
34887
34888         · Add instructions on how to use rclone with minio.
34889
34890         · Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions.
34891
34892         · Skip setting the modified time for objects > 5GB as it isn't possi‐
34893           ble.
34894
34895       · Backblaze B2
34896
34897         · Add --b2-versions flag so old versions can be listed and retrieved.
34898
34899         · Treat 403 errors (e.g.  cap exceeded) as fatal.
34900
34901         · Implement cleanup command for deleting old file versions.
34902
34903         · Make error handling compliant with B2 integrations notes.
34904
34905         · Fix handling of token expiry.
34906
34907         · Implement --b2-test-mode to set X-Bz-Test-Mode header.
34908
34909         · Set cutoff for chunked upload to 200MB as per B2 guidelines.
34910
34911         · Make upload multi-threaded.
34912
34913       · Dropbox
34914
34915         · Don't retry 461 errors.
34916
34917   v1.30 - 2016-06-18
34918       · New Features
34919
34920         · Directory listing code reworked for more features and better  error
34921           reporting (thanks to Klaus Post for help).  This enables
34922
34923           · Directory include filtering for efficiency
34924
34925           · --max-depth parameter
34926
34927           · Better error reporting
34928
34929           · More to come
34930
34931         · Retry more errors
34932
34933         · Add --ignore-size flag - for uploading images to onedrive
34934
34935         · Log -v output to stdout by default
34936
34937         · Display the transfer stats in more human readable form
34938
34939         · Make 0 size files specifiable with --max-size 0b
34940
34941         · Add b suffix so we can specify bytes in --bwlimit, --min-size, etc.
34942
34943         · Use  "password:"  instead of "password>" prompt - thanks Klaus Post
34944           and Leigh Klotz
34945
34946       · Bug Fixes
34947
34948         · Fix retry doing one too many retries
34949
34950       · Local
34951
34952         · Fix problems with OS X and UTF-8 characters
34953
34954       · Amazon Drive
34955
34956         · Check a file exists before uploading to help with 408 Conflict  er‐
34957           rors
34958
34959         · Reauth on 401 errors - this has been causing a lot of problems
34960
34961         · Work around spurious 403 errors
34962
34963         · Restart directory listings on error
34964
34965       · Google Drive
34966
34967         · Check a file exists before uploading to help with duplicates
34968
34969         · Fix retry of multipart uploads
34970
34971       · Backblaze B2
34972
34973         · Implement large file uploading
34974
34975       · S3
34976
34977         · Add AES256 server-side encryption for - thanks Justin R.  Wilson
34978
34979       · Google Cloud Storage
34980
34981         · Make sure we don't use conflicting content types on upload
34982
34983         · Add service account support - thanks Michal Witkowski
34984
34985       · Swift
34986
34987         · Add auth version parameter
34988
34989         · Add domain option for openstack (v3 auth) - thanks Fabian Ruff
34990
34991   v1.29 - 2016-04-18
34992       · New Features
34993
34994         · Implement -I, --ignore-times for unconditional upload
34995
34996         · Improve dedupecommand
34997
34998           · Now removes identical copies without asking
34999
35000           · Now obeys --dry-run
35001
35002           · Implement --dedupe-mode for non interactive running
35003
35004             · --dedupe-mode interactive - interactive the default.
35005
35006             · --dedupe-mode  skip  -  removes identical files then skips any‐
35007               thing left.
35008
35009             · --dedupe-mode first - removes identical files  then  keeps  the
35010               first one.
35011
35012             · --dedupe-mode  newest  - removes identical files then keeps the
35013               newest one.
35014
35015             · --dedupe-mode oldest - removes identical files then  keeps  the
35016               oldest one.
35017
35018             · --dedupe-mode rename - removes identical files then renames the
35019               rest to be different.
35020
35021       · Bug fixes
35022
35023         · Make rclone check obey the --size-only flag.
35024
35025         · Use "application/octet-stream" if discovered mime type is invalid.
35026
35027         · Fix missing "quit" option when there are no remotes.
35028
35029       · Google Drive
35030
35031         · Increase default chunk size to 8 MB - increases upload speed of big
35032           files
35033
35034         · Speed up directory listings and make more reliable
35035
35036         · Add missing retries for Move and DirMove - increases reliability
35037
35038         · Preserve mime type on file update
35039
35040       · Backblaze B2
35041
35042         · Enable mod time syncing
35043
35044           · This means that B2 will now check modification times
35045
35046           · It will upload new files to update the modification times
35047
35048           · (there isn't an API to just set the mod time.)
35049
35050           · If you want the old behaviour use --size-only.
35051
35052         · Update API to new version
35053
35054         · Fix parsing of mod time when not in metadata
35055
35056       · Swift/Hubic
35057
35058         · Don't return an MD5SUM for static large objects
35059
35060       · S3
35061
35062         · Fix uploading files bigger than 50GB
35063
35064   v1.28 - 2016-03-01
35065       · New Features
35066
35067         · Configuration file encryption - thanks Klaus Post
35068
35069         · Improve  rclone config adding more help and making it easier to un‐
35070           derstand
35071
35072         · Implement -u/--update so creation times can be used on all remotes
35073
35074         · Implement --low-level-retries flag
35075
35076         · Optionally disable gzip compression on downloads with --no-gzip-en‐
35077           coding
35078
35079       · Bug fixes
35080
35081         · Don't make directories if --dry-run set
35082
35083         · Fix and document the move command
35084
35085         · Fix redirecting stderr on unix-like OSes when using --log-file
35086
35087         · Fix  delete  command  to  wait  until  all finished - fixes missing
35088           deletes.
35089
35090       · Backblaze B2
35091
35092         · Use one upload URL per go routine fixes more than one upload  using
35093           auth token
35094
35095         · Add pacing, retries and reauthentication - fixes token expiry prob‐
35096           lems
35097
35098         · Upload without using a temporary file from local (and remotes which
35099           support SHA1)
35100
35101         · Fix reading metadata for all files when it shouldn't have been
35102
35103       · Drive
35104
35105         · Fix listing drive documents at root
35106
35107         · Disable copy and move for Google docs
35108
35109       · Swift
35110
35111         · Fix uploading of chunked files with non ASCII characters
35112
35113         · Allow setting of storage_url in the config - thanks Xavier Lucas
35114
35115       · S3
35116
35117         · Allow  IAM role and credentials from environment variables - thanks
35118           Brian Stengaard
35119
35120         · Allow low privilege users to use S3 (check if directory exists dur‐
35121           ing Mkdir) - thanks Jakub Gedeon
35122
35123       · Amazon Drive
35124
35125         · Retry on more things to make directory listings more reliable
35126
35127   v1.27 - 2016-01-31
35128       · New Features
35129
35130         · Easier headless configuration with rclone authorize
35131
35132         · Add  support for multiple hash types - we now check SHA1 as well as
35133           MD5 hashes.
35134
35135         · delete command which does obey the filters (unlike purge)
35136
35137         · dedupe command to deduplicate a remote.  Useful with Google Drive.
35138
35139         · Add --ignore-existing flag to skip all files that exist on destina‐
35140           tion.
35141
35142         · Add --delete-before, --delete-during, --delete-after flags.
35143
35144         · Add --memprofile flag to debug memory use.
35145
35146         · Warn the user about files with same name but different case
35147
35148         · Make --include rules add their implicit exclude * at the end of the
35149           filter list
35150
35151         · Deprecate compiling with go1.3
35152
35153       · Amazon Drive
35154
35155         · Fix download of files > 10 GB
35156
35157         · Fix directory traversal ("Next token is expired") for large  direc‐
35158           tory listings
35159
35160         · Remove  409  conflict  from  error codes we will retry - stops very
35161           long pauses
35162
35163       · Backblaze B2
35164
35165         · SHA1 hashes now checked by rclone core
35166
35167       · Drive
35168
35169         · Add --drive-auth-owner-only to only consider files owned by the us‐
35170           er - thanks Björn Harrtell
35171
35172         · Export Google documents
35173
35174       · Dropbox
35175
35176         · Make file exclusion error controllable with -q
35177
35178       · Swift
35179
35180         · Fix upload from unprivileged user.
35181
35182       · S3
35183
35184         · Fix updating of mod times of files with + in.
35185
35186       · Local
35187
35188         · Add local file system option to disable UNC on Windows.
35189
35190   v1.26 - 2016-01-02
35191       · New Features
35192
35193         · Yandex storage backend - thank you Dmitry Burdeev ("dibu")
35194
35195         · Implement Backblaze B2 storage backend
35196
35197         · Add  --min-age  and  --max-age  flags  -  thank you Adriano Aurélio
35198           Meirelles
35199
35200         · Make ls/lsl/md5sum/size/check obey includes and excludes
35201
35202       · Fixes
35203
35204         · Fix crash in http logging
35205
35206         · Upload releases to github too
35207
35208       · Swift
35209
35210         · Fix sync for chunked files
35211
35212       · OneDrive
35213
35214         · Re-enable server-side copy
35215
35216         · Don't mask HTTP error codes with JSON decode error
35217
35218       · S3
35219
35220         · Fix corrupting Content-Type  on  mod  time  update  (thanks  Joseph
35221           Spurrier)
35222
35223   v1.25 - 2015-11-14
35224       · New features
35225
35226         · Implement Hubic storage system
35227
35228       · Fixes
35229
35230         · Fix deletion of some excluded files without --delete-excluded
35231
35232           · This could have deleted files unexpectedly on sync
35233
35234           · Always check first with --dry-run!
35235
35236       · Swift
35237
35238         · Stop SetModTime losing metadata (e.g.  X-Object-Manifest)
35239
35240           · This could have caused data loss for files > 5GB in size
35241
35242         · Use ContentType from Object to avoid lookups in listings
35243
35244       · OneDrive
35245
35246         · disable server-side copy as it seems to be broken at Microsoft
35247
35248   v1.24 - 2015-11-07
35249       · New features
35250
35251         · Add support for Microsoft OneDrive
35252
35253         · Add  --no-check-certificate  option  to  disable server certificate
35254           verification
35255
35256         · Add async readahead buffer for faster transfer of big files
35257
35258       · Fixes
35259
35260         · Allow spaces in remotes and check remote names for validity at cre‐
35261           ation time
35262
35263         · Allow '&' and disallow ':' in Windows filenames.
35264
35265       · Swift
35266
35267         · Ignore  directory marker objects where appropriate - allows working
35268           with Hubic
35269
35270         · Don't delete the container if fs wasn't at root
35271
35272       · S3
35273
35274         · Don't delete the bucket if fs wasn't at root
35275
35276       · Google Cloud Storage
35277
35278         · Don't delete the bucket if fs wasn't at root
35279
35280   v1.23 - 2015-10-03
35281       · New features
35282
35283         · Implement rclone size for measuring remotes
35284
35285       · Fixes
35286
35287         · Fix headless config for drive and gcs
35288
35289         · Tell the user they should try again if the webserver method failed
35290
35291         · Improve output of --dump-headers
35292
35293       · S3
35294
35295         · Allow anonymous access to public buckets
35296
35297       · Swift
35298
35299         · Stop chunked operations logging "Failed to read  info:  Object  Not
35300           Found"
35301
35302         · Use Content-Length on uploads for extra reliability
35303
35304   v1.22 - 2015-09-28
35305       · Implement rsync like include and exclude flags
35306
35307       · swift
35308
35309         · Support files > 5GB - thanks Sergey Tolmachev
35310
35311   v1.21 - 2015-09-22
35312       · New features
35313
35314         · Display individual transfer progress
35315
35316         · Make lsl output times in localtime
35317
35318       · Fixes
35319
35320         · Fix  allowing  user to override credentials again in Drive, GCS and
35321           ACD
35322
35323       · Amazon Drive
35324
35325         · Implement compliant pacing scheme
35326
35327       · Google Drive
35328
35329         · Make directory reads concurrent for increased speed.
35330
35331   v1.20 - 2015-09-15
35332       · New features
35333
35334         · Amazon Drive support
35335
35336         · Oauth support redone - fix many bugs and improve usability
35337
35338           · Use "golang.org/x/oauth2" as oauth library of choice
35339
35340           · Improve oauth usability for smoother initial signup
35341
35342           · drive, googlecloudstorage: optionally use  auto  config  for  the
35343             oauth token
35344
35345         · Implement --dump-headers and --dump-bodies debug flags
35346
35347         · Show multiple matched commands if abbreviation too short
35348
35349         · Implement server-side move where possible
35350
35351       · local
35352
35353         · Always use UNC paths internally on Windows - fixes a lot of bugs
35354
35355       · dropbox
35356
35357         · force use of our custom transport which makes timeouts work
35358
35359       · Thanks to Klaus Post for lots of help with this release
35360
35361   v1.19 - 2015-08-28
35362       · New features
35363
35364         · Server side copies for s3/swift/drive/dropbox/gcs
35365
35366         · Move command - uses server-side copies if it can
35367
35368         · Implement --retries flag - tries 3 times by default
35369
35370         · Build for plan9/amd64 and solaris/amd64 too
35371
35372       · Fixes
35373
35374         · Make a current version download with a fixed URL for scripting
35375
35376         · Ignore rmdir in limited fs rather than throwing error
35377
35378       · dropbox
35379
35380         · Increase chunk size to improve upload speeds massively
35381
35382         · Issue an error message when trying to upload bad file name
35383
35384   v1.18 - 2015-08-17
35385       · drive
35386
35387         · Add --drive-use-trash flag so rclone trashes instead of deletes
35388
35389         · Add "Forbidden to download" message for files with no downloadURL
35390
35391       · dropbox
35392
35393         · Remove datastore
35394
35395           · This was deprecated and it caused a lot of problems
35396
35397           · Modification times and MD5SUMs no longer stored
35398
35399         · Fix uploading files > 2GB
35400
35401       · s3
35402
35403         · use official AWS SDK from github.com/aws/aws-sdk-go
35404
35405         · NB will most likely require you to delete and recreate remote
35406
35407         · enable multipart upload which enables files > 5GB
35408
35409         · tested with Ceph / RadosGW / S3 emulation
35410
35411         · many  thanks to Sam Liston and Brian Haymore at the Utah Center for
35412           High Performance Computing (https://www.chpc.utah.edu/) for a  Ceph
35413           test account
35414
35415       · misc
35416
35417         · Show errors when reading the config file
35418
35419         · Do not print stats in quiet mode - thanks Leonid Shalupov
35420
35421         · Add FAQ
35422
35423         · Fix created directories not obeying umask
35424
35425         · Linux installation instructions - thanks Shimon Doodkin
35426
35427   v1.17 - 2015-06-14
35428       · dropbox: fix case insensitivity issues - thanks Leonid Shalupov
35429
35430   v1.16 - 2015-06-09
35431       · Fix uploading big files which was causing timeouts or panics
35432
35433       · Don't check md5sum after download with --size-only
35434
35435   v1.15 - 2015-06-06
35436       · Add --checksum flag to only discard transfers by MD5SUM - thanks Alex
35437         Couper
35438
35439       · Implement --size-only flag to sync on size not checksum & modtime
35440
35441       · Expand docs and remove duplicated information
35442
35443       · Document rclone's limitations with directories
35444
35445       · dropbox: update docs about case insensitivity
35446
35447   v1.14 - 2015-05-21
35448       · local: fix encoding of non utf-8 file names - fixes a duplicate  file
35449         problem
35450
35451       · drive: docs about rate limiting
35452
35453       · google   cloud   storage:   Fix   compile   after   API   change   in
35454         "google.golang.org/api/storage/v1"
35455
35456   v1.13 - 2015-05-10
35457       · Revise documentation (especially sync)
35458
35459       · Implement --timeout and --conntimeout
35460
35461       · s3: ignore etags from multipart uploads which aren't md5sums
35462
35463   v1.12 - 2015-03-15
35464       · drive: Use chunked upload for files above a certain size
35465
35466       · drive: add --drive-chunk-size and --drive-upload-cutoff parameters
35467
35468       · drive: switch to insert from update when a failed  copy  deletes  the
35469         upload
35470
35471       · core: Log duplicate files if they are detected
35472
35473   v1.11 - 2015-03-04
35474       · swift: add region parameter
35475
35476       · drive: fix crash on failed to update remote mtime
35477
35478       · In remote paths, change native directory separators to /
35479
35480       · Add synchronization to ls/lsl/lsd output to stop corruptions
35481
35482       · Ensure all stats/log messages to go stderr
35483
35484       · Add --log-file flag to log everything (including panics) to file
35485
35486       · Make it possible to disable stats printing with --stats=0
35487
35488       · Implement --bwlimit to limit data transfer bandwidth
35489
35490   v1.10 - 2015-02-12
35491       · s3: list an unlimited number of items
35492
35493       · Fix getting stuck in the configurator
35494
35495   v1.09 - 2015-02-07
35496       · windows:  Stop drive letters (e.g.  C:) getting mixed up with remotes
35497         (e.g.  drive:)
35498
35499       · local: Fix directory separators on Windows
35500
35501       · drive: fix rate limit exceeded errors
35502
35503   v1.08 - 2015-02-04
35504       · drive: fix subdirectory listing to not list entire drive
35505
35506       · drive: Fix SetModTime
35507
35508       · dropbox: adapt code to recent library changes
35509
35510   v1.07 - 2014-12-23
35511       · google cloud storage: fix memory leak
35512
35513   v1.06 - 2014-12-12
35514       · Fix "Couldn't find home directory" on OSX
35515
35516       · swift: Add tenant parameter
35517
35518       · Use new location of Google API packages
35519
35520   v1.05 - 2014-08-09
35521       · Improved tests and consequently lots of minor fixes
35522
35523       · core: Fix race detected by go race detector
35524
35525       · core: Fixes after running errcheck
35526
35527       · drive: reset root directory on Rmdir and Purge
35528
35529       · fs: Document that Purger returns error on empty directory,  test  and
35530         fix
35531
35532       · google cloud storage: fix ListDir on subdirectory
35533
35534       · google cloud storage: re-read metadata in SetModTime
35535
35536       · s3:  make reading metadata more reliable to work around eventual con‐
35537         sistency problems
35538
35539       · s3: strip trailing / from ListDir()
35540
35541       · swift: return directories without / in ListDir
35542
35543   v1.04 - 2014-07-21
35544       · google cloud storage: Fix crash on Update
35545
35546   v1.03 - 2014-07-20
35547       · swift, s3, dropbox: fix updated files being marked as corrupted
35548
35549       · Make compile with go 1.1 again
35550
35551   v1.02 - 2014-07-19
35552       · Implement Dropbox remote
35553
35554       · Implement Google Cloud Storage remote
35555
35556       · Verify Md5sums and Sizes after copies
35557
35558       · Remove times from "ls" command - lists sizes only
35559
35560       · Add add "lsl" - lists times and sizes
35561
35562       · Add "md5sum" command
35563
35564   v1.01 - 2014-07-04
35565       · drive: fix transfer of big files using up lots of memory
35566
35567   v1.00 - 2014-07-03
35568       · drive: fix whole second dates
35569
35570   v0.99 - 2014-06-26
35571       · Fix --dry-run not working
35572
35573       · Make compatible with go 1.1
35574
35575   v0.98 - 2014-05-30
35576       · s3: Treat missing Content-Length as 0 for some ceph installations
35577
35578       · rclonetest: add file with a space in
35579
35580   v0.97 - 2014-05-05
35581       · Implement copying of single files
35582
35583       · s3 & swift: support paths inside containers/buckets
35584
35585   v0.96 - 2014-04-24
35586       · drive: Fix multiple files of same name being created
35587
35588       · drive: Use o.Update and fs.Put to optimise transfers
35589
35590       · Add version number, -V and --version
35591
35592   v0.95 - 2014-03-28
35593       · rclone.org: website, docs and graphics
35594
35595       · drive: fix path parsing
35596
35597   v0.94 - 2014-03-27
35598       · Change remote format one last time
35599
35600       · GNU style flags
35601
35602   v0.93 - 2014-03-16
35603       · drive: store token in config file
35604
35605       · cross compile other versions
35606
35607       · set strict permissions on config file
35608
35609   v0.92 - 2014-03-15
35610       · Config fixes and --config option
35611
35612   v0.91 - 2014-03-15
35613       · Make config file
35614
35615   v0.90 - 2013-06-27
35616       · Project named rclone
35617
35618   v0.00 - 2012-11-18
35619       · Project started
35620

Bugs and Limitations

35622   Limitations
35623   Directory timestamps aren't preserved
35624       Rclone doesn't currently preserve the timestamps of directories.   This
35625       is because rclone only really considers objects when syncing.
35626
35627   Rclone struggles with millions of files in a directory/bucket
35628       Currently  rclone  loads each directory/bucket entirely into memory be‐
35629       fore using it.  Since each rclone object takes 0.5k-1k of  memory  this
35630       can take a very long time and use a large amount of memory.
35631
35632       Millions of files in a directory tends to occur on bucket-based remotes
35633       (e.g.  S3 buckets) since those remotes do not segregate  subdirectories
35634       within the bucket.
35635
35636   Bucket based remotes and folders
35637       Bucket  based  remotes (e.g.  S3/GCS/Swift/B2) do not have a concept of
35638       directories.  Rclone therefore cannot create directories in them  which
35639       means that empty directories on a bucket based remote will tend to dis‐
35640       appear.
35641
35642       Some software creates empty keys ending  in  /  as  directory  markers.
35643       Rclone doesn't do this as it potentially creates more objects and costs
35644       more.  This ability may be added in the future (probably via a flag/op‐
35645       tion).
35646
35647   Bugs
35648       Bugs are stored in rclone's GitHub project:
35649
35650       · Reported          bugs          (https://github.com/rclone/rclone/is
35651         sues?q=is%3Aopen+is%3Aissue+label%3Abug)
35652
35653       · Known          issues           (https://github.com/rclone/rclone/is
35654         sues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22)
35655
35656   Frequently Asked Questions
35657   Do all cloud storage systems support all rclone commands
35658       Yes  they  do.   All  the rclone commands (e.g.  sync, copy, etc.) will
35659       work on all the remote storage systems.
35660
35661   Can I copy the config from one machine to another
35662       Sure! Rclone stores all of its config in a single file.  If you want to
35663       find this file, run rclone config file which will tell you where it is.
35664
35665       See  the  remote setup docs (https://rclone.org/remote_setup/) for more
35666       info.
35667
35668   How do I configure rclone on a remote / headless box with no browser?
35669       This  has  now  been  documented  in  its   own   remote   setup   page
35670       (https://rclone.org/remote_setup/).
35671
35672   Can rclone sync directly from drive to s3
35673       Rclone can sync between two remote cloud storage systems just fine.
35674
35675       Note  that  it  effectively downloads the file and uploads it again, so
35676       the node running rclone would need to have lots of bandwidth.
35677
35678       The syncs would be incremental (on a file by file basis).
35679
35680       Eg
35681
35682              rclone sync -i drive:Folder s3:bucket
35683
35684   Using rclone from multiple locations at the same time
35685       You can use rclone from multiple places at the same time if you  choose
35686       different subdirectory for the output, e.g.
35687
35688              Server A> rclone sync -i /tmp/whatever remote:ServerA
35689              Server B> rclone sync -i /tmp/whatever remote:ServerB
35690
35691       If  you sync to the same directory then you should use rclone copy oth‐
35692       erwise the two instances of rclone may delete each other's files, e.g.
35693
35694              Server A> rclone copy /tmp/whatever remote:Backup
35695              Server B> rclone copy /tmp/whatever remote:Backup
35696
35697       The file names you upload from Server A and Server B should be  differ‐
35698       ent  in  this  case, otherwise some file systems (e.g.  Drive) may make
35699       duplicates.
35700
35701   Why doesn't rclone support partial transfers / binary diffs like rsync?
35702       Rclone stores each file you transfer as a native object on  the  remote
35703       cloud storage system.  This means that you can see the files you upload
35704       as expected using alternative access methods (e.g.   using  the  Google
35705       Drive  web  interface).   There  is a 1:1 mapping between files on your
35706       hard disk and objects created in the cloud storage system.
35707
35708       Cloud storage systems (at least none I've come across yet)  don't  sup‐
35709       port partially uploading an object.  You can't take an existing object,
35710       and change some bytes in the middle of it.
35711
35712       It would be possible to make a sync system which  stored  binary  diffs
35713       instead of whole objects like rclone does, but that would break the 1:1
35714       mapping of files on your hard disk to objects in the remote cloud stor‐
35715       age system.
35716
35717       All  the cloud storage systems support partial downloads of content, so
35718       it would be possible to make partial downloads work.  However  to  make
35719       this  work  efficiently this would require storing a significant amount
35720       of metadata, which breaks the desired 1:1 mapping of files to objects.
35721
35722   Can rclone do bi-directional sync?
35723       No, not at present.  rclone only does uni-directional sync from A -> B.
35724       It  may  do  in  the future though since it has all the primitives - it
35725       just requires writing the algorithm to do it.
35726
35727   Can I use rclone with an HTTP proxy?
35728       Yes.  rclone will follow the standard environment variables  for  prox‐
35729       ies, similar to cURL and other programs.
35730
35731       In  general  the  variables are called http_proxy (for services reached
35732       over http) and https_proxy (for services  reached  over  https).   Most
35733       public services will be using https, but you may wish to set both.
35734
35735       The  content  of  the variable is protocol://server:port.  The protocol
35736       value is the one used to talk to the proxy server, itself, and is  com‐
35737       monly either http or socks5.
35738
35739       Slightly  annoyingly,  there is no standard for the name; some applica‐
35740       tions may use http_proxy but another one HTTP_PROXY.  The Go  libraries
35741       used  by  rclone  will try both variations, but you may wish to set all
35742       possibilities.  So, on Linux, you may end up with code similar to
35743
35744              export http_proxy=http://proxyserver:12345
35745              export https_proxy=$http_proxy
35746              export HTTP_PROXY=$http_proxy
35747              export HTTPS_PROXY=$http_proxy
35748
35749       The NO_PROXY allows you to disable the proxy for specific hosts.  Hosts
35750       must  be  comma  separated,  and can contain domains or parts.  For in‐
35751       stance "foo.com" also matches "bar.foo.com".
35752
35753       e.g.
35754
35755              export no_proxy=localhost,127.0.0.0/8,my.host.name
35756              export NO_PROXY=$no_proxy
35757
35758       Note that the ftp backend does not support ftp_proxy yet.
35759
35760   Rclone gives x509: failed to load system roots and no roots provided error
35761       This means that rclone can't find the SSL  root  certificates.   Likely
35762       you  are  running rclone on a NAS with a cut-down Linux OS, or possibly
35763       on Solaris.
35764
35765       Rclone (via the Go runtime) tries to load the  root  certificates  from
35766       these places on Linux.
35767
35768              "/etc/ssl/certs/ca-certificates.crt", // Debian/Ubuntu/Gentoo etc.
35769              "/etc/pki/tls/certs/ca-bundle.crt",   // Fedora/RHEL
35770              "/etc/ssl/ca-bundle.pem",             // OpenSUSE
35771              "/etc/pki/tls/cacert.pem",            // OpenELEC
35772
35773       So  doing something like this should fix the problem.  It also sets the
35774       time which is important for SSL to work properly.
35775
35776              mkdir -p /etc/ssl/certs/
35777              curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
35778              ntpclient -s -h pool.ntp.org
35779
35780       The two environment variables SSL_CERT_FILE and SSL_CERT_DIR, mentioned
35781       in  the  x509 package (https://godoc.org/crypto/x509), provide an addi‐
35782       tional way to provide the SSL root certificates.
35783
35784       Note that you may need to add the --insecure option to the curl command
35785       line if it doesn't work without.
35786
35787              curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt
35788
35789   Rclone gives Failed to load config file: function not implemented error
35790       Likely this means that you are running rclone on Linux version not sup‐
35791       ported by the go runtime, ie earlier than version 2.6.23.
35792
35793       See  the  system  requirements  section  in   the   go   install   docs
35794       (https://golang.org/doc/install) for full details.
35795
35796   All my uploaded docx/xlsx/pptx files appear as archive/zip
35797       This  is  caused by uploading these files from a Windows computer which
35798       hasn't got the Microsoft Office suite installed.  The  easiest  way  to
35799       fix is to install the Word viewer and the Microsoft Office Compatibili‐
35800       ty Pack for Word, Excel, and PowerPoint 2007 and later  versions'  file
35801       formats
35802
35803   tcp lookup some.domain.com no such host
35804       This  happens  when  rclone cannot resolve a domain.  Please check that
35805       your DNS setup is generally working, e.g.
35806
35807              # both should print a long list of possible IP addresses
35808              dig www.googleapis.com          # resolve using your default DNS
35809              dig www.googleapis.com @8.8.8.8 # resolve with Google's DNS server
35810
35811       If you are using systemd-resolved (default on Arch Linux), ensure it is
35812       at version 233 or higher.  Previous releases contain a bug which causes
35813       not all domains to be resolved properly.
35814
35815       Additionally with the GODEBUG=netdns= environment variable the  Go  re‐
35816       solver decision can be influenced.  This also allows to resolve certain
35817       issues with DNS resolution.  See the name resolution section in the  go
35818       docs (https://golang.org/pkg/net/#hdr-Name_Resolution).
35819
35820   The total size reported in the stats for a sync is wrong and keeps changing
35821       It  is  likely  you have more than 10,000 files that need to be synced.
35822       By default rclone only gets 10,000 files ahead in a sync so as  not  to
35823       use  up  too  much  memory.   You  can  change  this  default  with the
35824       --max-backlog (https://rclone.org/docs/#max-backlog-n) flag.
35825
35826   Rclone is using too much memory or appears to have a memory leak
35827       Rclone is written in Go which uses a garbage  collector.   The  default
35828       settings for the garbage collector mean that it runs when the heap size
35829       has doubled.
35830
35831       However it is possible to tune the garbage collector to use less memory
35832       by  setting  GOGC  (https://dave.cheney.net/tag/gogc) to a lower value,
35833       say export GOGC=20.  This will make the garbage collector work  harder,
35834       reducing memory size at the expense of CPU usage.
35835
35836       The most common cause of rclone using lots of memory is a single direc‐
35837       tory with thousands or millions of files in.  Rclone has to  load  this
35838       entirely  into  memory  as  rclone  objects.   Each rclone object takes
35839       0.5k-1k of memory.
35840
35841   License
35842       This is free software under the terms of MIT  the  license  (check  the
35843       COPYING file included with the source code).
35844
35845              Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/
35846
35847              Permission is hereby granted, free of charge, to any person obtaining a copy
35848              of this software and associated documentation files (the "Software"), to deal
35849              in the Software without restriction, including without limitation the rights
35850              to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
35851              copies of the Software, and to permit persons to whom the Software is
35852              furnished to do so, subject to the following conditions:
35853
35854              The above copyright notice and this permission notice shall be included in
35855              all copies or substantial portions of the Software.
35856
35857              THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
35858              IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35859              FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
35860              AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35861              LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
35862              OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
35863              THE SOFTWARE.
35864
35865   Authors
35866       · Nick Craig-Wood <nick@craig-wood.com>
35867
35868   Contributors
35869       {{< rem email addresses removed from here need to be addeed to bin/.ig‐
35870       nore-emails to make sure update-authors.py doesn't immediately put them
35871       back in again.  >}}
35872
35873       · Alex Couper <amcouper@gmail.com>
35874
35875       · Leonid Shalupov <leonid@shalupov.com> <shalupov@diverse.org.ru>
35876
35877       · Shimon Doodkin <helpmepro1@gmail.com>
35878
35879       · Colin Nicholson <colin@colinn.com>
35880
35881       · Klaus Post <klauspost@gmail.com>
35882
35883       · Sergey Tolmachev <tolsi.ru@gmail.com>
35884
35885       · Adriano Aurélio Meirelles <adriano@atinge.com>
35886
35887       · C.  Bess <cbess@users.noreply.github.com>
35888
35889       · Dmitry Burdeev <dibu28@gmail.com>
35890
35891       · Joseph Spurrier <github@josephspurrier.com>
35892
35893       · Björn Harrtell <bjorn@wololo.org>
35894
35895       · Xavier Lucas <xavier.lucas@corp.ovh.com>
35896
35897       · Werner Beroux <werner@beroux.com>
35898
35899       · Brian Stengaard <brian@stengaard.eu>
35900
35901       · Jakub Gedeon <jgedeon@sofi.com>
35902
35903       · Jim Tittsler <jwt@onjapan.net>
35904
35905       · Michal Witkowski <michal@improbable.io>
35906
35907       · Fabian Ruff <fabian.ruff@sap.com>
35908
35909       · Leigh Klotz <klotz@quixey.com>
35910
35911       · Romain Lapray <lapray.romain@gmail.com>
35912
35913       · Justin R.  Wilson <jrw972@gmail.com>
35914
35915       · Antonio Messina <antonio.s.messina@gmail.com>
35916
35917       · Stefan G.  Weichinger <office@oops.co.at>
35918
35919       · Per Cederberg <cederberg@gmail.com>
35920
35921       · Radek Šenfeld <rush@logic.cz>
35922
35923       · Fredrik Fornwall <fredrik@fornwall.net>
35924
35925       · Asko Tamm <asko@deekit.net>
35926
35927       · xor-zz <xor@gstocco.com>
35928
35929       · Tomasz Mazur <tmazur90@gmail.com>
35930
35931       · Marco Paganini <paganini@paganini.net>
35932
35933       · Felix Bünemann <buenemann@louis.info>
35934
35935       · Durval Menezes <jmrclone@durval.com>
35936
35937       · Luiz Carlos Rumbelsperger Viana <maxd13_luiz_carlos@hotmail.com>
35938
35939       · Stefan Breunig <stefan-github@yrden.de>
35940
35941       · Alishan Ladhani <ali-l@users.noreply.github.com>
35942
35943       · 0xJAKE <0xJAKE@users.noreply.github.com>
35944
35945       · Thibault Molleman <thibaultmol@users.noreply.github.com>
35946
35947       · Scott McGillivray <scott.mcgillivray@gmail.com>
35948
35949       · Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
35950
35951       · Lukas Loesche <lukas@mesosphere.io>
35952
35953       · emyarod <allllaboutyou@gmail.com>
35954
35955       · T.C.  Ferguson <tcf909@gmail.com>
35956
35957       · Brandur <brandur@mutelight.org>
35958
35959       · Dario Giovannetti <dev@dariogiovannetti.net>
35960
35961       · Károly Oláh <okaresz@aol.com>
35962
35963       · Jon Yergatian <jon@macfanatic.ca>
35964
35965       · Jack Schmidt <github@mowsey.org>
35966
35967       · Dedsec1 <Dedsec1@users.noreply.github.com>
35968
35969       · Hisham Zarka <hzarka@gmail.com>
35970
35971       · Jérôme Vizcaino <jerome.vizcaino@gmail.com>
35972
35973       · Mike Tesch <mjt6129@rit.edu>
35974
35975       · Marvin Watson <marvwatson@users.noreply.github.com>
35976
35977       · Danny Tsai <danny8376@gmail.com>
35978
35979       · Yoni Jah <yonjah+git@gmail.com> <yonjah+github@gmail.com>
35980
35981       · Stephen     Harris     <github@spuddy.org>     <sweharris@users.nore‐
35982         ply.github.com>
35983
35984       · Ihor Dvoretskyi <ihor.dvoretskyi@gmail.com>
35985
35986       · Jon Craton <jncraton@gmail.com>
35987
35988       · Hraban Luyat <hraban@0brg.net>
35989
35990       · Michael Ledin <mledin89@gmail.com>
35991
35992       · Martin Kristensen <me@azgul.com>
35993
35994       · Too Much IO <toomuchio@users.noreply.github.com>
35995
35996       · Anisse Astier <anisse@astier.eu>
35997
35998       · Zahiar Ahmed <zahiar@live.com>
35999
36000       · Igor Kharin <igorkharin@gmail.com>
36001
36002       · Bill Zissimopoulos <billziss@navimatics.com>
36003
36004       · Bob Potter <bobby.potter@gmail.com>
36005
36006       · Steven Lu <tacticalazn@gmail.com>
36007
36008       · Sjur Fredriksen <sjurtf@ifi.uio.no>
36009
36010       · Ruwbin <hubus12345@gmail.com>
36011
36012       · Fabian Möller <fabianm88@gmail.com> <f.moeller@nynex.de>
36013
36014       · Edward Q.  Bridges <github@eqbridges.com>
36015
36016       · Vasiliy Tolstov <v.tolstov@selfip.ru>
36017
36018       · Harshavardhana <harsha@minio.io>
36019
36020       · sainaen <sainaen@gmail.com>
36021
36022       · gdm85 <gdm85@users.noreply.github.com>
36023
36024       · Yaroslav Halchenko <debian@onerussian.com>
36025
36026       · John Papandriopoulos <jpap@users.noreply.github.com>
36027
36028       · Zhiming Wang <zmwangx@gmail.com>
36029
36030       · Andy Pilate <cubox@cubox.me>
36031
36032       · Oliver     Heyme     <olihey@googlemail.com>      <olihey@users.nore‐
36033         ply.github.com> <de8olihe@lego.com>
36034
36035       · wuyu <wuyu@yunify.com>
36036
36037       · Andrei Dragomir <adragomi@adobe.com>
36038
36039       · Christian Brüggemann <mail@cbruegg.com>
36040
36041       · Alex McGrath Kraak <amkdude@gmail.com>
36042
36043       · bpicode <bjoern.pirnay@googlemail.com>
36044
36045       · Daniel Jagszent <daniel@jagszent.de>
36046
36047       · Josiah White <thegenius2009@gmail.com>
36048
36049       · Ishuah Kariuki <kariuki@ishuah.com> <ishuah91@gmail.com>
36050
36051       · Jan Varho <jan@varho.org>
36052
36053       · Girish Ramakrishnan <girish@cloudron.io>
36054
36055       · LingMan <LingMan@users.noreply.github.com>
36056
36057       · Jacob McNamee <jacobmcnamee@gmail.com>
36058
36059       · jersou <jertux@gmail.com>
36060
36061       · thierry <thierry@substantiel.fr>
36062
36063       · Simon Leinen <simon.leinen@gmail.com> <ubuntu@s3-test.novalocal>
36064
36065       · Dan Dascalescu <ddascalescu+github@gmail.com>
36066
36067       · Jason Rose <jason@jro.io>
36068
36069       · Andrew Starr-Bochicchio <a.starr.b@gmail.com>
36070
36071       · John Leach <john@johnleach.co.uk>
36072
36073       · Corban Raun <craun@instructure.com>
36074
36075       · Pierre Carlson <mpcarl@us.ibm.com>
36076
36077       · Ernest Borowski <er.borowski@gmail.com>
36078
36079       · Remus Bunduc <remus.bunduc@gmail.com>
36080
36081       · Iakov Davydov <iakov.davydov@unil.ch> <dav05.gith@myths.ru>
36082
36083       · Jakub Tasiemski <tasiemski@gmail.com>
36084
36085       · David Minor <dminor@saymedia.com>
36086
36087       · Tim Cooijmans <cooijmans.tim@gmail.com>
36088
36089       · Laurence <liuxy6@gmail.com>
36090
36091       · Giovanni Pizzi <gio.piz@gmail.com>
36092
36093       · Filip Bartodziej <filipbartodziej@gmail.com>
36094
36095       · Jon Fautley <jon@dead.li>
36096
36097       · lewapm <32110057+lewapm@users.noreply.github.com>
36098
36099       · Yassine Imounachen <yassine256@gmail.com>
36100
36101       · Chris   Redekop  <chris-redekop@users.noreply.github.com>  <chris.re‐
36102         dekop@gmail.com>
36103
36104       · Jon Fautley <jon@adenoid.appstal.co.uk>
36105
36106       · Will Gunn <WillGunn@users.noreply.github.com>
36107
36108       · Lucas Bremgartner <lucas@bremis.ch>
36109
36110       · Jody Frankowski <jody.frankowski@gmail.com>
36111
36112       · Andreas Roussos <arouss1980@gmail.com>
36113
36114       · nbuchanan <nbuchanan@utah.gov>
36115
36116       · Durval Menezes <rclone@durval.com>
36117
36118       · Victor <vb-github@viblo.se>
36119
36120       · Mateusz <pabian.mateusz@gmail.com>
36121
36122       · Daniel Loader <spicypixel@gmail.com>
36123
36124       · David0rk <davidork@gmail.com>
36125
36126       · Alexander Neumann <alexander@bumpern.de>
36127
36128       · Giri Badanahatti <gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local>
36129
36130       · Leo R.  Lundgren <leo@finalresort.org>
36131
36132       · wolfv <wolfv6@users.noreply.github.com>
36133
36134       · Dave Pedu <dave@davepedu.com>
36135
36136       · Stefan Lindblom <lindblom@spotify.com>
36137
36138       · seuffert <oliver@seuffert.biz>
36139
36140       · gbadanahatti <37121690+gbadanahatti@users.noreply.github.com>
36141
36142       · Keith Goldfarb <barkofdelight@gmail.com>
36143
36144       · Steve Kriss <steve@heptio.com>
36145
36146       · Chih-Hsuan Yen <yan12125@gmail.com>
36147
36148       · Alexander Neumann <fd0@users.noreply.github.com>
36149
36150       · Matt Holt <mholt@users.noreply.github.com>
36151
36152       · Eri Bastos <bastos.eri@gmail.com>
36153
36154       · Michael P.  Dubner <pywebmail@list.ru>
36155
36156       · Antoine GIRARD <sapk@users.noreply.github.com>
36157
36158       · Mateusz Piotrowski <mpp302@gmail.com>
36159
36160       · Animosity022    <animosity22@users.noreply.github.com>     <earl.tex‐
36161         ter@gmail.com>
36162
36163       · Peter Baumgartner <pete@lincolnloop.com>
36164
36165       · Craig Rachel <craig@craigrachel.com>
36166
36167       · Michael G.  Noll <miguno@users.noreply.github.com>
36168
36169       · hensur <me@hensur.de>
36170
36171       · Oliver Heyme <de8olihe@lego.com>
36172
36173       · Richard Yang <richard@yenforyang.com>
36174
36175       · Piotr Oleszczyk <piotr.oleszczyk@gmail.com>
36176
36177       · Rodrigo <rodarima@gmail.com>
36178
36179       · NoLooseEnds <NoLooseEnds@users.noreply.github.com>
36180
36181       · Jakub Karlicek <jakub@karlicek.me>
36182
36183       · John Clayton <john@codemonkeylabs.com>
36184
36185       · Kasper Byrdal Nielsen <byrdal76@gmail.com>
36186
36187       · Benjamin Joseph Dag <bjdag1234@users.noreply.github.com>
36188
36189       · themylogin <themylogin@gmail.com>
36190
36191       · Onno Zweers <onno.zweers@surfsara.nl>
36192
36193       · Jasper Lievisse Adriaanse <jasper@humppa.nl>
36194
36195       · sandeepkru     <sandeep.ummadi@gmail.com>     <sandeepkru@users.nore‐
36196         ply.github.com>
36197
36198       · HerrH <atomtigerzoo@users.noreply.github.com>
36199
36200       · Andrew <4030760+sparkyman215@users.noreply.github.com>
36201
36202       · dan smith <XX1011@gmail.com>
36203
36204       · Oleg Kovalov <iamolegkovalov@gmail.com>
36205
36206       · Ruben Vandamme <github-com-00ff86@vandamme.email>
36207
36208       · Cnly <minecnly@gmail.com>
36209
36210       · Andres Alvarez <1671935+kir4h@users.noreply.github.com>
36211
36212       · reddi1 <xreddi@gmail.com>
36213
36214       · Matt Tucker <matthewtckr@gmail.com>
36215
36216       · Sebastian Bünger <buengese@gmail.com> <buengese@protonmail.com>
36217
36218       · Martin Polden <mpolden@mpolden.no>
36219
36220       · Alex Chen <Cnly@users.noreply.github.com>
36221
36222       · Denis <deniskovpen@gmail.com>
36223
36224       · bsteiss <35940619+bsteiss@users.noreply.github.com>
36225
36226       · Cédric Connes <cedric.connes@gmail.com>
36227
36228       · Dr.  Tobias Quathamer <toddy15@users.noreply.github.com>
36229
36230       · dcpu <42736967+dcpu@users.noreply.github.com>
36231
36232       · Sheldon Rupp <me@shel.io>
36233
36234       · albertony <12441419+albertony@users.noreply.github.com>
36235
36236       · cron410 <cron410@gmail.com>
36237
36238       · Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com>
36239
36240       · Felix Brucker <felix@felixbrucker.com>
36241
36242       · Santiago Rodríguez <scollazo@users.noreply.github.com>
36243
36244       · Craig Miskell <craig.miskell@fluxfederation.com>
36245
36246       · Antoine GIRARD <sapk@sapk.fr>
36247
36248       · Joanna Marek <joanna.marek@u2i.com>
36249
36250       · frenos <frenos@users.noreply.github.com>
36251
36252       · ssaqua <ssaqua@users.noreply.github.com>
36253
36254       · xnaas <me@xnaas.info>
36255
36256       · Frantisek Fuka <fuka@fuxoft.cz>
36257
36258       · Paul Kohout <pauljkohout@yahoo.com>
36259
36260       · dcpu <43330287+dcpu@users.noreply.github.com>
36261
36262       · jackyzy823 <jackyzy823@gmail.com>
36263
36264       · David Haguenauer <ml@kurokatta.org>
36265
36266       · teresy <hi.teresy@gmail.com>
36267
36268       · buergi <patbuergi@gmx.de>
36269
36270       · Florian Gamboeck <mail@floga.de>
36271
36272       · Ralf Hemberger <10364191+rhemberger@users.noreply.github.com>
36273
36274       · Scott Edlund <sedlund@users.noreply.github.com>
36275
36276       · Erik Swanson <erik@retailnext.net>
36277
36278       · Jake Coggiano <jake@stripe.com>
36279
36280       · brused27 <brused27@noemailaddress>
36281
36282       · Peter Kaminski <kaminski@istori.com>
36283
36284       · Henry Ptasinski <henry@logout.com>
36285
36286       · Alexander <kharkovalexander@gmail.com>
36287
36288       · Garry McNulty <garrmcnu@gmail.com>
36289
36290       · Mathieu Carbou <mathieu.carbou@gmail.com>
36291
36292       · Mark Otway <mark@otway.com>
36293
36294       · William Cocker <37018962+WilliamCocker@users.noreply.github.com>
36295
36296       · François Leurent <131.js@cloudyks.org>
36297
36298       · Arkadius Stefanski <arkste@gmail.com>
36299
36300       · Jay <dev@jaygoel.com>
36301
36302       · andrea rota <a@xelera.eu>
36303
36304       · nicolov <nicolov@users.noreply.github.com>
36305
36306       · Dario Guzik <dario@guzik.com.ar>
36307
36308       · qip <qip@users.noreply.github.com>
36309
36310       · yair@unicorn <yair@unicorn>
36311
36312       · Matt Robinson <brimstone@the.narro.ws>
36313
36314       · kayrus <kay.diam@gmail.com>
36315
36316       · Rémy Léone <remy.leone@gmail.com>
36317
36318       · Wojciech Smigielski <wojciech.hieronim.smigielski@gmail.com>
36319
36320       · weetmuts <oehrstroem@gmail.com>
36321
36322       · Jonathan <vanillajonathan@users.noreply.github.com>
36323
36324       · James Carpenter <orbsmiv@users.noreply.github.com>
36325
36326       · Vince <vince0villamora@gmail.com>
36327
36328       · Nestar47 <47841759+Nestar47@users.noreply.github.com>
36329
36330       · Six <brbsix@gmail.com>
36331
36332       · Alexandru Bumbacea <alexandru.bumbacea@booking.com>
36333
36334       · calisro <robert.calistri@gmail.com>
36335
36336       · Dr.Rx <david.rey@nventive.com>
36337
36338       · marcintustin <marcintustin@users.noreply.github.com>
36339
36340       · jaKa Močnik <jaka@koofr.net>
36341
36342       · Fionera <fionera@fionera.de>
36343
36344       · Dan Walters <dan@walters.io>
36345
36346       · Danil Semelenov <sgtpep@users.noreply.github.com>
36347
36348       · xopez <28950736+xopez@users.noreply.github.com>
36349
36350       · Ben Boeckel <mathstuf@gmail.com>
36351
36352       · Manu <manu@snapdragon.cc>
36353
36354       · Kyle E.  Mitchell <kyle@kemitchell.com>
36355
36356       · Gary Kim <gary@garykim.dev>
36357
36358       · Jon <jonathn@github.com>
36359
36360       · Jeff Quinn <jeffrey.quinn@bluevoyant.com>
36361
36362       · Peter Berbec <peter@berbec.com>
36363
36364       · didil <1284255+didil@users.noreply.github.com>
36365
36366       · id01 <gaviniboom@gmail.com>
36367
36368       · Robert Marko <robimarko@gmail.com>
36369
36370       · Philip Harvey <32467456+pharveybattelle@users.noreply.github.com>
36371
36372       · JorisE <JorisE@users.noreply.github.com>
36373
36374       · garry415 <garry.415@gmail.com>
36375
36376       · forgems <forgems@gmail.com>
36377
36378       · Florian Apolloner <florian@apolloner.eu>
36379
36380       · Aleksandar  Janković  <office@ajankovic.com>   <ajankovic@users.nore‐
36381         ply.github.com>
36382
36383       · Maran <maran@protonmail.com>
36384
36385       · nguyenhuuluan434 <nguyenhuuluan434@gmail.com>
36386
36387       · Laura Hausmann <zotan@zotan.pw> <laura@hausmann.dev>
36388
36389       · yparitcher <y@paritcher.com>
36390
36391       · AbelThar <abela.tharen@gmail.com>
36392
36393       · Matti Niemenmaa <matti.niemenmaa+git@iki.fi>
36394
36395       · Russell Davis <russelldavis@users.noreply.github.com>
36396
36397       · Yi FU <yi.fu@tink.se>
36398
36399       · Paul Millar <paul.millar@desy.de>
36400
36401       · justinalin <justinalin@qnap.com>
36402
36403       · EliEron <subanimehd@gmail.com>
36404
36405       · justina777 <chiahuei.lin@gmail.com>
36406
36407       · Chaitanya Bankanhal <bchaitanya15@gmail.com>
36408
36409       · Michał Matczuk <michal@scylladb.com>
36410
36411       · Macavirus <macavirus@zoho.com>
36412
36413       · Abhinav Sharma <abhi18av@users.noreply.github.com>
36414
36415       · ginvine <34869051+ginvine@users.noreply.github.com>
36416
36417       · Patrick Wang <mail6543210@yahoo.com.tw>
36418
36419       · Cenk Alti <cenkalti@gmail.com>
36420
36421       · Andreas Chlupka <andy@chlupka.com>
36422
36423       · Alfonso Montero <amontero@tinet.org>
36424
36425       · Ivan Andreev <ivandeex@gmail.com>
36426
36427       · David Baumgold <david@davidbaumgold.com>
36428
36429       · Lars Lehtonen <lars.lehtonen@gmail.com>
36430
36431       · Matei David <matei.david@gmail.com>
36432
36433       · David <david.bramwell@endemolshine.com>
36434
36435       · Anthony Rusdi <33247310+antrusd@users.noreply.github.com>
36436
36437       · Richard Patel <me@terorie.dev>
36438
36439       · 庄天翼 <zty0826@gmail.com>
36440
36441       · SwitchJS <dev@switchjs.com>
36442
36443       · Raphael <PowershellNinja@users.noreply.github.com>
36444
36445       · Sezal Agrawal <sezalagrawal@gmail.com>
36446
36447       · Tyler <TylerNakamura@users.noreply.github.com>
36448
36449       · Brett Dutro <brett.dutro@gmail.com>
36450
36451       · Vighnesh SK <booterror99@gmail.com>
36452
36453       · Arijit Biswas <dibbyo456@gmail.com>
36454
36455       · Michele Caci <michele.caci@gmail.com>
36456
36457       · AlexandrBoltris <ua2fgb@gmail.com>
36458
36459       · Bryce Larson <blarson@saltstack.com>
36460
36461       · Carlos Ferreyra <crypticmind@gmail.com>
36462
36463       · Saksham Khanna <sakshamkhanna@outlook.com>
36464
36465       · dausruddin <5763466+dausruddin@users.noreply.github.com>
36466
36467       · zero-24 <zero-24@users.noreply.github.com>
36468
36469       · Xiaoxing Ye <ye@xiaoxing.us>
36470
36471       · Barry Muldrey <barry@muldrey.net>
36472
36473       · Sebastian Brandt <sebastian.brandt@friday.de>
36474
36475       · Marco Molteni <marco.molteni@mailbox.org>
36476
36477       · Ankur   Gupta   <ankur0493@gmail.com>  <7876747+ankur0493@users.nore‐
36478         ply.github.com>
36479
36480       · Maciej Zimnoch <maciej@scylladb.com>
36481
36482       · anuar45 <serdaliyev.anuar@gmail.com>
36483
36484       · Fernando <ferferga@users.noreply.github.com>
36485
36486       · David Cole <david.cole@sohonet.com>
36487
36488       · Wei He <git@weispot.com>
36489
36490       · Outvi V <19144373+outloudvi@users.noreply.github.com>
36491
36492       · Thomas Kriechbaumer <thomas@kriechbaumer.name>
36493
36494       · Tennix <tennix@users.noreply.github.com>
36495
36496       · Ole Schütt <ole@schuett.name>
36497
36498       · Kuang-che Wu <kcwu@csie.org>
36499
36500       · Thomas Eales <wingsuit@users.noreply.github.com>
36501
36502       · Paul Tinsley <paul.tinsley@vitalsource.com>
36503
36504       · Felix Hungenberg <git@shiftgeist.com>
36505
36506       · Benjamin Richter <github@dev.telepath.de>
36507
36508       · landall <cst_zf@qq.com>
36509
36510       · thestigma <thestigma@gmail.com>
36511
36512       · jtagcat <38327267+jtagcat@users.noreply.github.com>
36513
36514       · Damon Permezel <permezel@me.com>
36515
36516       · boosh <boosh@users.noreply.github.com>
36517
36518       · unbelauscht <58393353+unbelauscht@users.noreply.github.com>
36519
36520       · Motonori IWAMURO <vmi@nifty.com>
36521
36522       · Benjapol Worakan <benwrk@live.com>
36523
36524       · Dave Koston <dave.koston@stackpath.com>
36525
36526       · Durval Menezes <DurvalMenezes@users.noreply.github.com>
36527
36528       · Tim Gallant <me@timgallant.us>
36529
36530       · Frederick Zhang <frederick888@tsundere.moe>
36531
36532       · valery1707 <valery1707@gmail.com>
36533
36534       · Yves G <theYinYeti@yalis.fr>
36535
36536       · Shing Kit Chan <chanshingkit@gmail.com>
36537
36538       · Franklyn Tackitt <franklyn@tackitt.net>
36539
36540       · Robert-André Mauchin <zebob.m@gmail.com>
36541
36542       · evileye <48332831+ibiruai@users.noreply.github.com>
36543
36544       · Joachim Brandon LeBlanc <brandon@leblanc.codes>
36545
36546       · Patryk Jakuszew <patryk.jakuszew@gmail.com>
36547
36548       · fishbullet <shindu666@gmail.com>
36549
36550       · greatroar <@>
36551
36552       · Bernd Schoolmann <mail@quexten.com>
36553
36554       · Elan Ruusamäe <glen@pld-linux.org>
36555
36556       · Max Sum <max@lolyculture.com>
36557
36558       · Mark Spieth <mspieth@users.noreply.github.com>
36559
36560       · harry <me@harry.plus>
36561
36562       · Samantha McVey <samantham@posteo.net>
36563
36564       · Jack Anderson <jack.anderson@metaswitch.com>
36565
36566       · Michael G <draget@speciesm.net>
36567
36568       · Brandon Philips <brandon@ifup.org>
36569
36570       · Daven <dooven@users.noreply.github.com>
36571
36572       · Martin Stone <martin@d7415.co.uk>
36573
36574       · David Bramwell <13053834+dbramwell@users.noreply.github.com>
36575
36576       · Sunil Patra <snl_su@live.com>
36577
36578       · Adam Stroud <adam.stroud@gmail.com>
36579
36580       · Kush <kushsharma@users.noreply.github.com>
36581
36582       · Matan Rosenberg <matan129@gmail.com>
36583
36584       · gitch1 <63495046+gitch1@users.noreply.github.com>
36585
36586       · ElonH <elonhhuang@gmail.com>
36587
36588       · Fred <fred@creativeprojects.tech>
36589
36590       · Sébastien Gross <renard@users.noreply.github.com>
36591
36592       · Maxime Suret <11944422+msuret@users.noreply.github.com>
36593
36594       · Caleb Case <caleb@storj.io>
36595
36596       · Ben Zenker <imbenzenker@gmail.com>
36597
36598       · Martin Michlmayr <tbm@cyrius.com>
36599
36600       · Brandon McNama <bmcnama@pagerduty.com>
36601
36602       · Daniel Slyman <github@skylayer.eu>
36603
36604       · Alex Guerrero <guerrero@users.noreply.github.com>
36605
36606       · Matteo Pietro Dazzi <matteopietro.dazzi@gft.com>
36607
36608       · edwardxml <56691903+edwardxml@users.noreply.github.com>
36609
36610       · Roman Kredentser <shareed2k@gmail.com>
36611
36612       · Kamil Trzciński <ayufan@ayufan.eu>
36613
36614       · Zac Rubin <z-0@users.noreply.github.com>
36615
36616       · Vincent Feltz <psycho@feltzv.fr>
36617
36618       · Heiko Bornholdt <bornholdt@informatik.uni-hamburg.de>
36619
36620       · Matteo Pietro Dazzi <matteopietro.dazzi@gmail.com>
36621
36622       · jtagcat <gitlab@c7.ee>
36623
36624       · Petri Salminen <petri@salminen.dev>
36625
36626       · Tim Burke <tim.burke@gmail.com>
36627
36628       · Kai Lüke <kai@kinvolk.io>
36629
36630       · Garrett Squire <github@garrettsquire.com>
36631
36632       · Evan Harris <eharris@puremagic.com>
36633
36634       · Kevin <keyam@microsoft.com>
36635
36636       · Morten Linderud <morten@linderud.pw>
36637
36638       · Dmitry Ustalov <dmitry.ustalov@gmail.com>
36639
36640       · Jack <196648+jdeng@users.noreply.github.com>
36641
36642       · kcris <cristian.tarsoaga@gmail.com>
36643
36644       · tyhuber1 <68970760+tyhuber1@users.noreply.github.com>
36645
36646       · David Ibarra <david.ibarra@realty.com>
36647
36648       · Tim Gallant <tim@lilt.com>
36649
36650       · Kaloyan Raev <kaloyan@storj.io>
36651
36652       · Jay McEntire <jay.mcentire@gmail.com>
36653
36654       · Leo Luan <leoluan@us.ibm.com>
36655
36656       · aus <549081+aus@users.noreply.github.com>
36657
36658       · Aaron Gokaslan <agokaslan@fb.com>
36659
36660       · Egor Margineanu <egmar@users.noreply.github.com>
36661
36662       · Lucas Kanashiro <lucas.kanashiro@canonical.com>
36663
36664       · WarpedPixel <WarpedPixel@users.noreply.github.com>
36665
36666       · Sam Edwards <sam@samedwards.ca>
36667
36668       · wjielai <gouki0123@gmail.com>
36669
36670       · Muffin King <jinxz_k@live.com>
36671
36672       · Christopher Stewart <6573710+1f47a@users.noreply.github.com>
36673
36674       · Russell Cattelan <cattelan@digitalelves.com>
36675
36676       · gyutw <30371241+gyutw@users.noreply.github.com>
36677
36678       · Hekmon <edouardhur@gmail.com>
36679
36680       · LaSombra <lasombra@users.noreply.github.com>
36681
36682       · Dov Murik <dov.murik@gmail.com>
36683
36684       · Ameer Dawood <ameer1234567890@gmail.com>
36685
36686       · Dan Hipschman <dan.hipschman@opendoor.com>
36687
36688       · Josh Soref <jsoref@users.noreply.github.com>
36689
36690       · David <david@staron.nl>
36691
36692       · Ingo <ingo@hoffmann.cx>
36693
36694       · Adam   Plánský   <adamplansky@users.noreply.github.com>    <adamplan‐
36695         sky@gmail.com>
36696
36697       · Manish Gupta <manishgupta.ait@gmail.com>
36698
36699       · Deepak Sah <sah.sslpu@gmail.com>
36700
36701       · Marcin Zelent <marcin@zelent.net>
36702
36703       · zhucan <zhucan.k8s@gmail.com>
36704
36705       · James Lim <james.lim@samsara.com>
36706
36707       · Laurens Janssen <BD69BM@insim.biz>
36708
36709       · Bob Bagwill <bobbagwill@gmail.com>
36710
36711       · Nathan Collins <colli372@msu.edu>
36712
36713       · lostheli
36714
36715       · kelv <kelvin@acks.org>
36716
36717       · Milly <milly.ca@gmail.com>
36718
36719       · gtorelly <gtorelly@gmail.com>
36720
36721       · Brad Ackerman <brad@facefault.org>
36722
36723       · Mitsuo Heijo <mitsuo.heijo@gmail.com>
36724
36725       · Claudio Bantaloukas <rockdreamer@gmail.com>
36726
36727       · Benjamin Gustin <gustin.ben@gmail.com>
36728
36729       · Ingo Weiss <ingo@redhat.com>
36730
36731       · Kerry Su <me@sshockwave.net>
36732
36733       · Ilyess Bachiri <ilyess.bachiri@sonder.com>
36734
36735       · Yury Stankevich <urykhy@gmail.com>
36736
36737       · kice <wslikerqs@gmail.com>
36738
36739       · Denis Neuling <denisneuling@gmail.com>
36740
36741       · Janne Johansson <icepic.dz@gmail.com>
36742
36743       · Patrik Nordlén <patriki@gmail.com>
36744
36745       · CokeMine <aptx4561@gmail.com>
36746
36747       · Sơn Trần-Nguyễn <github@sntran.com>
36748
36749       · lluuaapp <266615+lluuaapp@users.noreply.github.com>
36750
36751       · Zach Kipp <kipp.zach@gmail.com>
36752
36753       · Riccardo Iaconelli <riccardo@kde.org>
36754
36755       · Sakuragawa Misty <gyc990326@gmail.com>
36756
36757       · Nicolas Rueff <nicolas@rueff.fr>
36758
36759       · Pau Rodriguez-Estivill <prodrigestivill@gmail.com>
36760
36761       · Bob Pusateri <BobPusateri@users.noreply.github.com>
36762

Contact the rclone project

36764   Forum
36765       Forum for questions and general discussion:
36766
36767       · https://forum.rclone.org
36768
36769   GitHub repository
36770       The project's repository is located at:
36771
36772       · https://github.com/rclone/rclone
36773
36774       There you can file bug reports or contribute with pull requests.
36775
36776   Twitter
36777       You can also follow me on twitter for rclone announcements:
36778
36779       · [@njcw](https://twitter.com/njcw)
36780
36781   Email
36782       Or  if all else fails or you want to ask something private or confiden‐
36783       tial email Nick Craig-Wood (mailto:nick@craig-wood.com).  Please  don't
36784       email  me  requests  for help - those are better directed to the forum.
36785       Thanks!
36786

AUTHORS

36788       Nick Craig-Wood.
36789
36790
36791
36792User Manual                      Feb 02, 2021                        rclone(1)
Impressum