github.com/divyam234/rclone@v1.64.1/rclone.1 (about) 1 .\"t 2 .\" Automatically generated by Pandoc 2.9.2.1 3 .\" 4 .TH "rclone" "1" "Jun 30, 2023" "User Manual" "" 5 .hy 6 .SH Rclone syncs your files to cloud storage 7 .PP 8 .IP \[bu] 2 9 About rclone 10 .IP \[bu] 2 11 What can rclone do for you? 12 .IP \[bu] 2 13 What features does rclone have? 14 .IP \[bu] 2 15 What providers does rclone support? 16 .IP \[bu] 2 17 Download (https://rclone.org/downloads/) 18 .IP \[bu] 2 19 Install (https://rclone.org/install/) 20 .IP \[bu] 2 21 Donate. (https://rclone.org/donate/) 22 .SS About rclone 23 .PP 24 Rclone is a command-line program to manage files on cloud storage. 25 It is a feature-rich alternative to cloud vendors\[aq] web storage 26 interfaces. 27 Over 40 cloud storage products support rclone including S3 object 28 stores, business & consumer file storage services, as well as standard 29 transfer protocols. 30 .PP 31 Rclone has powerful cloud equivalents to the unix commands rsync, cp, 32 mv, mount, ls, ncdu, tree, rm, and cat. 33 Rclone\[aq]s familiar syntax includes shell pipeline support, and 34 \f[C]--dry-run\f[R] protection. 35 It is used at the command line, in scripts or via its API. 36 .PP 37 Users call rclone \f[I]\[dq]The Swiss army knife of cloud 38 storage\[dq]\f[R], and \f[I]\[dq]Technology indistinguishable from 39 magic\[dq]\f[R]. 40 .PP 41 Rclone really looks after your data. 42 It preserves timestamps and verifies checksums at all times. 43 Transfers over limited bandwidth; intermittent connections, or subject 44 to quota can be restarted, from the last good file transferred. 45 You can check (https://rclone.org/commands/rclone_check/) the integrity 46 of your files. 47 Where possible, rclone employs server-side transfers to minimise local 48 bandwidth use and transfers from one provider to another without using 49 local disk. 50 .PP 51 Virtual backends wrap local and cloud file systems to apply 52 encryption (https://rclone.org/crypt/), 53 compression (https://rclone.org/compress/), 54 chunking (https://rclone.org/chunker/), 55 hashing (https://rclone.org/hasher/) and 56 joining (https://rclone.org/union/). 57 .PP 58 Rclone mounts (https://rclone.org/commands/rclone_mount/) any local, 59 cloud or virtual filesystem as a disk on Windows, macOS, linux and 60 FreeBSD, and also serves these over 61 SFTP (https://rclone.org/commands/rclone_serve_sftp/), 62 HTTP (https://rclone.org/commands/rclone_serve_http/), 63 WebDAV (https://rclone.org/commands/rclone_serve_webdav/), 64 FTP (https://rclone.org/commands/rclone_serve_ftp/) and 65 DLNA (https://rclone.org/commands/rclone_serve_dlna/). 66 .PP 67 Rclone is mature, open-source software originally inspired by rsync and 68 written in Go (https://golang.org). 69 The friendly support community is familiar with varied use cases. 70 Official Ubuntu, Debian, Fedora, Brew and Chocolatey repos. 71 include rclone. 72 For the latest version downloading from 73 rclone.org (https://rclone.org/downloads/) is recommended. 74 .PP 75 Rclone is widely used on Linux, Windows and Mac. 76 Third-party developers create innovative backup, restore, GUI and 77 business process solutions using the rclone command line or API. 78 .PP 79 Rclone does the heavy lifting of communicating with cloud storage. 80 .SS What can rclone do for you? 81 .PP 82 Rclone helps you: 83 .IP \[bu] 2 84 Backup (and encrypt) files to cloud storage 85 .IP \[bu] 2 86 Restore (and decrypt) files from cloud storage 87 .IP \[bu] 2 88 Mirror cloud data to other cloud services or locally 89 .IP \[bu] 2 90 Migrate data to the cloud, or between cloud storage vendors 91 .IP \[bu] 2 92 Mount multiple, encrypted, cached or diverse cloud storage as a disk 93 .IP \[bu] 2 94 Analyse and account for data held on cloud storage using 95 lsf (https://rclone.org/commands/rclone_lsf/), 96 ljson (https://rclone.org/commands/rclone_lsjson/), 97 size (https://rclone.org/commands/rclone_size/), 98 ncdu (https://rclone.org/commands/rclone_ncdu/) 99 .IP \[bu] 2 100 Union (https://rclone.org/union/) file systems together to present 101 multiple local and/or cloud file systems as one 102 .SS Features 103 .IP \[bu] 2 104 Transfers 105 .RS 2 106 .IP \[bu] 2 107 MD5, SHA1 hashes are checked at all times for file integrity 108 .IP \[bu] 2 109 Timestamps are preserved on files 110 .IP \[bu] 2 111 Operations can be restarted at any time 112 .IP \[bu] 2 113 Can be to and from network, e.g. 114 two different cloud providers 115 .IP \[bu] 2 116 Can use multi-threaded downloads to local disk 117 .RE 118 .IP \[bu] 2 119 Copy (https://rclone.org/commands/rclone_copy/) new or changed files to 120 cloud storage 121 .IP \[bu] 2 122 Sync (https://rclone.org/commands/rclone_sync/) (one way) to make a 123 directory identical 124 .IP \[bu] 2 125 Move (https://rclone.org/commands/rclone_move/) files to cloud storage 126 deleting the local after verification 127 .IP \[bu] 2 128 Check (https://rclone.org/commands/rclone_check/) hashes and for 129 missing/extra files 130 .IP \[bu] 2 131 Mount (https://rclone.org/commands/rclone_mount/) your cloud storage as 132 a network disk 133 .IP \[bu] 2 134 Serve (https://rclone.org/commands/rclone_serve/) local or remote files 135 over 136 HTTP (https://rclone.org/commands/rclone_serve_http/)/WebDav (https://rclone.org/commands/rclone_serve_webdav/)/FTP (https://rclone.org/commands/rclone_serve_ftp/)/SFTP (https://rclone.org/commands/rclone_serve_sftp/)/DLNA (https://rclone.org/commands/rclone_serve_dlna/) 137 .IP \[bu] 2 138 Experimental Web based GUI (https://rclone.org/gui/) 139 .SS Supported providers 140 .PP 141 (There are many others, built on standard protocols such as WebDAV or 142 S3, that work out of the box.) 143 .IP \[bu] 2 144 1Fichier 145 .IP \[bu] 2 146 Akamai Netstorage 147 .IP \[bu] 2 148 Alibaba Cloud (Aliyun) Object Storage System (OSS) 149 .IP \[bu] 2 150 Amazon Drive 151 .IP \[bu] 2 152 Amazon S3 153 .IP \[bu] 2 154 Backblaze B2 155 .IP \[bu] 2 156 Box 157 .IP \[bu] 2 158 Ceph 159 .IP \[bu] 2 160 China Mobile Ecloud Elastic Object Storage (EOS) 161 .IP \[bu] 2 162 Arvan Cloud Object Storage (AOS) 163 .IP \[bu] 2 164 Citrix ShareFile 165 .IP \[bu] 2 166 Cloudflare R2 167 .IP \[bu] 2 168 DigitalOcean Spaces 169 .IP \[bu] 2 170 Digi Storage 171 .IP \[bu] 2 172 Dreamhost 173 .IP \[bu] 2 174 Dropbox 175 .IP \[bu] 2 176 Enterprise File Fabric 177 .IP \[bu] 2 178 Fastmail Files 179 .IP \[bu] 2 180 FTP 181 .IP \[bu] 2 182 Google Cloud Storage 183 .IP \[bu] 2 184 Google Drive 185 .IP \[bu] 2 186 Google Photos 187 .IP \[bu] 2 188 HDFS 189 .IP \[bu] 2 190 Hetzner Storage Box 191 .IP \[bu] 2 192 HiDrive 193 .IP \[bu] 2 194 HTTP 195 .IP \[bu] 2 196 Internet Archive 197 .IP \[bu] 2 198 Jottacloud 199 .IP \[bu] 2 200 IBM COS S3 201 .IP \[bu] 2 202 IDrive e2 203 .IP \[bu] 2 204 IONOS Cloud 205 .IP \[bu] 2 206 Koofr 207 .IP \[bu] 2 208 Liara Object Storage 209 .IP \[bu] 2 210 Mail.ru Cloud 211 .IP \[bu] 2 212 Memset Memstore 213 .IP \[bu] 2 214 Mega 215 .IP \[bu] 2 216 Memory 217 .IP \[bu] 2 218 Microsoft Azure Blob Storage 219 .IP \[bu] 2 220 Microsoft OneDrive 221 .IP \[bu] 2 222 Minio 223 .IP \[bu] 2 224 Nextcloud 225 .IP \[bu] 2 226 OVH 227 .IP \[bu] 2 228 Blomp Cloud Storage 229 .IP \[bu] 2 230 OpenDrive 231 .IP \[bu] 2 232 OpenStack Swift 233 .IP \[bu] 2 234 Oracle Cloud Storage Swift 235 .IP \[bu] 2 236 Oracle Object Storage 237 .IP \[bu] 2 238 ownCloud 239 .IP \[bu] 2 240 pCloud 241 .IP \[bu] 2 242 Petabox 243 .IP \[bu] 2 244 PikPak 245 .IP \[bu] 2 246 premiumize.me 247 .IP \[bu] 2 248 put.io 249 .IP \[bu] 2 250 QingStor 251 .IP \[bu] 2 252 Qiniu Cloud Object Storage (Kodo) 253 .IP \[bu] 2 254 Rackspace Cloud Files 255 .IP \[bu] 2 256 rsync.net 257 .IP \[bu] 2 258 Scaleway 259 .IP \[bu] 2 260 Seafile 261 .IP \[bu] 2 262 Seagate Lyve Cloud 263 .IP \[bu] 2 264 SeaweedFS 265 .IP \[bu] 2 266 SFTP 267 .IP \[bu] 2 268 Sia 269 .IP \[bu] 2 270 SMB / CIFS 271 .IP \[bu] 2 272 StackPath 273 .IP \[bu] 2 274 Storj 275 .IP \[bu] 2 276 SugarSync 277 .IP \[bu] 2 278 Tencent Cloud Object Storage (COS) 279 .IP \[bu] 2 280 Uptobox 281 .IP \[bu] 2 282 Wasabi 283 .IP \[bu] 2 284 WebDAV 285 .IP \[bu] 2 286 Yandex Disk 287 .IP \[bu] 2 288 Zoho WorkDrive 289 .IP \[bu] 2 290 The local filesystem 291 .SS Virtual providers 292 .PP 293 These backends adapt or modify other storage providers: 294 .IP \[bu] 2 295 Alias: Rename existing remotes 296 .IP \[bu] 2 297 Cache: Cache remotes (DEPRECATED) 298 .IP \[bu] 2 299 Chunker: Split large files 300 .IP \[bu] 2 301 Combine: Combine multiple remotes into a directory tree 302 .IP \[bu] 2 303 Compress: Compress files 304 .IP \[bu] 2 305 Crypt: Encrypt files 306 .IP \[bu] 2 307 Hasher: Hash files 308 .IP \[bu] 2 309 Union: Join multiple remotes to work together 310 .SS Links 311 .IP \[bu] 2 312 Home page (https://rclone.org/) 313 .IP \[bu] 2 314 GitHub project page for source and bug 315 tracker (https://github.com/divyam234/rclone) 316 .IP \[bu] 2 317 Rclone Forum (https://forum.rclone.org) 318 .IP \[bu] 2 319 Downloads (https://rclone.org/downloads/) 320 .SH Install 321 .PP 322 Rclone is a Go program and comes as a single binary file. 323 .SS Quickstart 324 .IP \[bu] 2 325 Download (https://rclone.org/downloads/) the relevant binary. 326 .IP \[bu] 2 327 Extract the \f[C]rclone\f[R] executable, \f[C]rclone.exe\f[R] on 328 Windows, from the archive. 329 .IP \[bu] 2 330 Run \f[C]rclone config\f[R] to setup. 331 See rclone config docs (https://rclone.org/docs/) for more details. 332 .IP \[bu] 2 333 Optionally configure automatic execution. 334 .PP 335 See below for some expanded Linux / macOS / Windows instructions. 336 .PP 337 See the usage (https://rclone.org/docs/) docs for how to use rclone, or 338 run \f[C]rclone -h\f[R]. 339 .PP 340 Already installed rclone can be easily updated to the latest version 341 using the rclone 342 selfupdate (https://rclone.org/commands/rclone_selfupdate/) command. 343 .SS Script installation 344 .PP 345 To install rclone on Linux/macOS/BSD systems, run: 346 .IP 347 .nf 348 \f[C] 349 sudo -v ; curl https://rclone.org/install.sh | sudo bash 350 \f[R] 351 .fi 352 .PP 353 For beta installation, run: 354 .IP 355 .nf 356 \f[C] 357 sudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta 358 \f[R] 359 .fi 360 .PP 361 Note that this script checks the version of rclone installed first and 362 won\[aq]t re-download if not needed. 363 .SS Linux installation 364 .SS Precompiled binary 365 .PP 366 Fetch and unpack 367 .IP 368 .nf 369 \f[C] 370 curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip 371 unzip rclone-current-linux-amd64.zip 372 cd rclone-*-linux-amd64 373 \f[R] 374 .fi 375 .PP 376 Copy binary file 377 .IP 378 .nf 379 \f[C] 380 sudo cp rclone /usr/bin/ 381 sudo chown root:root /usr/bin/rclone 382 sudo chmod 755 /usr/bin/rclone 383 \f[R] 384 .fi 385 .PP 386 Install manpage 387 .IP 388 .nf 389 \f[C] 390 sudo mkdir -p /usr/local/share/man/man1 391 sudo cp rclone.1 /usr/local/share/man/man1/ 392 sudo mandb 393 \f[R] 394 .fi 395 .PP 396 Run \f[C]rclone config\f[R] to setup. 397 See rclone config docs (https://rclone.org/docs/) for more details. 398 .IP 399 .nf 400 \f[C] 401 rclone config 402 \f[R] 403 .fi 404 .SS macOS installation 405 .SS Installation with brew 406 .IP 407 .nf 408 \f[C] 409 brew install rclone 410 \f[R] 411 .fi 412 .PP 413 NOTE: This version of rclone will not support \f[C]mount\f[R] any more 414 (see #5373 (https://github.com/divyam234/rclone/issues/5373)). 415 If mounting is wanted on macOS, either install a precompiled binary or 416 enable the relevant option when installing from source. 417 .PP 418 Note that this is a third party installer not controlled by the rclone 419 developers so it may be out of date. 420 Its current version is as below. 421 .PP 422 [IMAGE: Homebrew 423 package (https://repology.org/badge/version-for-repo/homebrew/rclone.svg)] (https://repology.org/project/rclone/versions) 424 .SS Precompiled binary, using curl 425 .PP 426 To avoid problems with macOS gatekeeper enforcing the binary to be 427 signed and notarized it is enough to download with \f[C]curl\f[R]. 428 .PP 429 Download the latest version of rclone. 430 .IP 431 .nf 432 \f[C] 433 cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip 434 \f[R] 435 .fi 436 .PP 437 Unzip the download and cd to the extracted folder. 438 .IP 439 .nf 440 \f[C] 441 unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64 442 \f[R] 443 .fi 444 .PP 445 Move rclone to your $PATH. 446 You will be prompted for your password. 447 .IP 448 .nf 449 \f[C] 450 sudo mkdir -p /usr/local/bin 451 sudo mv rclone /usr/local/bin/ 452 \f[R] 453 .fi 454 .PP 455 (the \f[C]mkdir\f[R] command is safe to run, even if the directory 456 already exists). 457 .PP 458 Remove the leftover files. 459 .IP 460 .nf 461 \f[C] 462 cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip 463 \f[R] 464 .fi 465 .PP 466 Run \f[C]rclone config\f[R] to setup. 467 See rclone config docs (https://rclone.org/docs/) for more details. 468 .IP 469 .nf 470 \f[C] 471 rclone config 472 \f[R] 473 .fi 474 .SS Precompiled binary, using a web browser 475 .PP 476 When downloading a binary with a web browser, the browser will set the 477 macOS gatekeeper quarantine attribute. 478 Starting from Catalina, when attempting to run \f[C]rclone\f[R], a 479 pop-up will appear saying: 480 .IP 481 .nf 482 \f[C] 483 \[dq]rclone\[dq] cannot be opened because the developer cannot be verified. 484 macOS cannot verify that this app is free from malware. 485 \f[R] 486 .fi 487 .PP 488 The simplest fix is to run 489 .IP 490 .nf 491 \f[C] 492 xattr -d com.apple.quarantine rclone 493 \f[R] 494 .fi 495 .SS Windows installation 496 .SS Precompiled binary 497 .PP 498 Fetch the correct binary for your processor type by clicking on these 499 links. 500 If not sure, use the first link. 501 .IP \[bu] 2 502 Intel/AMD - 64 503 Bit (https://downloads.rclone.org/rclone-current-windows-amd64.zip) 504 .IP \[bu] 2 505 Intel/AMD - 32 506 Bit (https://downloads.rclone.org/rclone-current-windows-386.zip) 507 .IP \[bu] 2 508 ARM - 64 509 Bit (https://downloads.rclone.org/rclone-current-windows-arm64.zip) 510 .PP 511 Open this file in the Explorer and extract \f[C]rclone.exe\f[R]. 512 Rclone is a portable executable so you can place it wherever is 513 convenient. 514 .PP 515 Open a CMD window (or powershell) and run the binary. 516 Note that rclone does not launch a GUI by default, it runs in the CMD 517 Window. 518 .IP \[bu] 2 519 Run \f[C]rclone.exe config\f[R] to setup. 520 See rclone config docs (https://rclone.org/docs/) for more details. 521 .IP \[bu] 2 522 Optionally configure automatic execution. 523 .PP 524 If you are planning to use the rclone 525 mount (https://rclone.org/commands/rclone_mount/) feature then you will 526 need to install the third party utility WinFsp (https://winfsp.dev/) 527 also. 528 .SS Windows package manager (Winget) 529 .PP 530 Winget (https://learn.microsoft.com/en-us/windows/package-manager/) 531 comes pre-installed with the latest versions of Windows. 532 If not, update the App 533 Installer (https://www.microsoft.com/p/app-installer/9nblggh4nns1) 534 package from the Microsoft store. 535 .PP 536 To install rclone 537 .IP 538 .nf 539 \f[C] 540 winget install Rclone.Rclone 541 \f[R] 542 .fi 543 .PP 544 To uninstall rclone 545 .IP 546 .nf 547 \f[C] 548 winget uninstall Rclone.Rclone --force 549 \f[R] 550 .fi 551 .SS Chocolatey package manager 552 .PP 553 Make sure you have Choco (https://chocolatey.org/) installed 554 .IP 555 .nf 556 \f[C] 557 choco search rclone 558 choco install rclone 559 \f[R] 560 .fi 561 .PP 562 This will install rclone on your Windows machine. 563 If you are planning to use rclone 564 mount (https://rclone.org/commands/rclone_mount/) then 565 .IP 566 .nf 567 \f[C] 568 choco install winfsp 569 \f[R] 570 .fi 571 .PP 572 will install that too. 573 .PP 574 Note that this is a third party installer not controlled by the rclone 575 developers so it may be out of date. 576 Its current version is as below. 577 .PP 578 [IMAGE: Chocolatey 579 package (https://repology.org/badge/version-for-repo/chocolatey/rclone.svg)] (https://repology.org/project/rclone/versions) 580 .SS Scoop package manager 581 .PP 582 Make sure you have Scoop (https://scoop.sh/) installed 583 .IP 584 .nf 585 \f[C] 586 scoop install rclone 587 \f[R] 588 .fi 589 .PP 590 Note that this is a third party installer not controlled by the rclone 591 developers so it may be out of date. 592 Its current version is as below. 593 .PP 594 [IMAGE: Scoop 595 package (https://repology.org/badge/version-for-repo/scoop/rclone.svg)] (https://repology.org/project/rclone/versions) 596 .SS Package manager installation 597 .PP 598 Many Linux, Windows, macOS and other OS distributions package and 599 distribute rclone. 600 .PP 601 The distributed versions of rclone are often quite out of date and for 602 this reason we recommend one of the other installation methods if 603 possible. 604 .PP 605 You can get an idea of how up to date or not your OS distribution\[aq]s 606 package is here. 607 .PP 608 [IMAGE: Packaging 609 status (https://repology.org/badge/vertical-allrepos/rclone.svg?columns=3)] (https://repology.org/project/rclone/versions) 610 .SS Docker installation 611 .PP 612 The rclone developers maintain a docker image for 613 rclone (https://hub.docker.com/r/divyam234/rclone). 614 .PP 615 These images are built as part of the release process based on a minimal 616 Alpine Linux. 617 .PP 618 The \f[C]:latest\f[R] tag will always point to the latest stable 619 release. 620 You can use the \f[C]:beta\f[R] tag to get the latest build from master. 621 You can also use version tags, e.g. 622 \f[C]:1.49.1\f[R], \f[C]:1.49\f[R] or \f[C]:1\f[R]. 623 .IP 624 .nf 625 \f[C] 626 $ docker pull rclone/rclone:latest 627 latest: Pulling from rclone/rclone 628 Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11 629 \&... 630 $ docker run --rm rclone/rclone:latest version 631 rclone v1.49.1 632 - os/arch: linux/amd64 633 - go version: go1.12.9 634 \f[R] 635 .fi 636 .PP 637 There are a few command line options to consider when starting an rclone 638 Docker container from the rclone image. 639 .IP \[bu] 2 640 You need to mount the host rclone config dir at \f[C]/config/rclone\f[R] 641 into the Docker container. 642 Due to the fact that rclone updates tokens inside its config file, and 643 that the update process involves a file rename, you need to mount the 644 whole host rclone config dir, not just the single host rclone config 645 file. 646 .IP \[bu] 2 647 You need to mount a host data dir at \f[C]/data\f[R] into the Docker 648 container. 649 .IP \[bu] 2 650 By default, the rclone binary inside a Docker container runs with UID=0 651 (root). 652 As a result, all files created in a run will have UID=0. 653 If your config and data files reside on the host with a non-root 654 UID:GID, you need to pass these on the container start command line. 655 .IP \[bu] 2 656 If you want to access the RC interface (either via the API or the Web 657 UI), it is required to set the \f[C]--rc-addr\f[R] to \f[C]:5572\f[R] in 658 order to connect to it from outside the container. 659 An explanation about why this is necessary is present 660 here (https://web.archive.org/web/20200808071950/https://pythonspeed.com/articles/docker-connection-refused/). 661 .RS 2 662 .IP \[bu] 2 663 NOTE: Users running this container with the docker network set to 664 \f[C]host\f[R] should probably set it to listen to localhost only, with 665 \f[C]127.0.0.1:5572\f[R] as the value for \f[C]--rc-addr\f[R] 666 .RE 667 .IP \[bu] 2 668 It is possible to use \f[C]rclone mount\f[R] inside a userspace Docker 669 container, and expose the resulting fuse mount to the host. 670 The exact \f[C]docker run\f[R] options to do that might vary slightly 671 between hosts. 672 See, e.g. 673 the discussion in this 674 thread (https://github.com/moby/moby/issues/9448). 675 .RS 2 676 .PP 677 You also need to mount the host \f[C]/etc/passwd\f[R] and 678 \f[C]/etc/group\f[R] for fuse to work inside the container. 679 .RE 680 .PP 681 Here are some commands tested on an Ubuntu 18.04.3 host: 682 .IP 683 .nf 684 \f[C] 685 # config on host at \[ti]/.config/divyam234/rclone.conf 686 # data on host at \[ti]/data 687 688 # add a remote interactively 689 docker run --rm -it \[rs] 690 --volume \[ti]/.config/rclone:/config/rclone \[rs] 691 --user $(id -u):$(id -g) \[rs] 692 rclone/rclone \[rs] 693 config 694 695 # make sure the config is ok by listing the remotes 696 docker run --rm \[rs] 697 --volume \[ti]/.config/rclone:/config/rclone \[rs] 698 --user $(id -u):$(id -g) \[rs] 699 rclone/rclone \[rs] 700 listremotes 701 702 # perform mount inside Docker container, expose result to host 703 mkdir -p \[ti]/data/mount 704 docker run --rm \[rs] 705 --volume \[ti]/.config/rclone:/config/rclone \[rs] 706 --volume \[ti]/data:/data:shared \[rs] 707 --user $(id -u):$(id -g) \[rs] 708 --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \[rs] 709 --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \[rs] 710 rclone/rclone \[rs] 711 mount dropbox:Photos /data/mount & 712 ls \[ti]/data/mount 713 kill %1 714 \f[R] 715 .fi 716 .SS Source installation 717 .PP 718 Make sure you have git and Go (https://golang.org/) installed. 719 Go version 1.17 or newer is required, latest release is recommended. 720 You can get it from your package manager, or download it from 721 golang.org/dl (https://golang.org/dl/). 722 Then you can run the following: 723 .IP 724 .nf 725 \f[C] 726 git clone https://github.com/divyam234/rclone.git 727 cd rclone 728 go build 729 \f[R] 730 .fi 731 .PP 732 This will check out the rclone source in subfolder rclone, which you can 733 later modify and send pull requests with. 734 Then it will build the rclone executable in the same folder. 735 As an initial check you can now run \f[C]./rclone version\f[R] 736 (\f[C].\[rs]rclone version\f[R] on Windows). 737 .PP 738 Note that on macOS and Windows the 739 mount (https://rclone.org/commands/rclone_mount/) command will not be 740 available unless you specify an additional build tag \f[C]cmount\f[R]. 741 .IP 742 .nf 743 \f[C] 744 go build -tags cmount 745 \f[R] 746 .fi 747 .PP 748 This assumes you have a GCC compatible C compiler (GCC or Clang) in your 749 PATH, as it uses cgo (https://pkg.go.dev/cmd/cgo). 750 But on Windows, the cgofuse (https://github.com/winfsp/cgofuse) library 751 that the cmount implementation is based on, also supports building 752 without cgo (https://github.com/golang/go/wiki/WindowsDLLs), i.e. 753 by setting environment variable CGO_ENABLED to value 0 (static linking). 754 This is how the official Windows release of rclone is being built, 755 starting with version 1.59. 756 It is still possible to build with cgo on Windows as well, by using the 757 MinGW port of GCC, e.g. 758 by installing it in a MSYS2 (https://www.msys2.org) distribution (make 759 sure you install it in the classic mingw64 subsystem, the ucrt64 version 760 is not compatible). 761 .PP 762 Additionally, on Windows, you must install the third party utility 763 WinFsp (https://winfsp.dev/), with the \[dq]Developer\[dq] feature 764 selected. 765 If building with cgo, you must also set environment variable CPATH 766 pointing to the fuse include directory within the WinFsp installation 767 (normally 768 \f[C]C:\[rs]Program Files (x86)\[rs]WinFsp\[rs]inc\[rs]fuse\f[R]). 769 .PP 770 You may also add arguments \f[C]-ldflags -s\f[R] (with or without 771 \f[C]-tags cmount\f[R]), to omit symbol table and debug information, 772 making the executable file smaller, and \f[C]-trimpath\f[R] to remove 773 references to local file system paths. 774 This is how the official rclone releases are built. 775 .IP 776 .nf 777 \f[C] 778 go build -trimpath -ldflags -s -tags cmount 779 \f[R] 780 .fi 781 .PP 782 Instead of executing the \f[C]go build\f[R] command directly, you can 783 run it via the Makefile. 784 It changes the version number suffix from \[dq]-DEV\[dq] to 785 \[dq]-beta\[dq] and appends commit details. 786 It also copies the resulting rclone executable into your GOPATH bin 787 folder (\f[C]$(go env GOPATH)/bin\f[R], which corresponds to 788 \f[C]\[ti]/go/bin/rclone\f[R] by default). 789 .IP 790 .nf 791 \f[C] 792 make 793 \f[R] 794 .fi 795 .PP 796 To include mount command on macOS and Windows with Makefile build: 797 .IP 798 .nf 799 \f[C] 800 make GOTAGS=cmount 801 \f[R] 802 .fi 803 .PP 804 There are other make targets that can be used for more advanced builds, 805 such as cross-compiling for all supported os/architectures, embedding 806 icon and version info resources into windows executable, and packaging 807 results into release artifacts. 808 See Makefile (https://github.com/divyam234/rclone/blob/master/Makefile) and 809 cross-compile.go (https://github.com/divyam234/rclone/blob/master/bin/cross-compile.go) 810 for details. 811 .PP 812 Another alternative is to download the source, build and install rclone 813 in one operation, as a regular Go package. 814 The source will be stored it in the Go module cache, and the resulting 815 executable will be in your GOPATH bin folder 816 (\f[C]$(go env GOPATH)/bin\f[R], which corresponds to 817 \f[C]\[ti]/go/bin/rclone\f[R] by default). 818 .PP 819 With Go version 1.17 or newer: 820 .IP 821 .nf 822 \f[C] 823 go install github.com/divyam234/rclone\[at]latest 824 \f[R] 825 .fi 826 .PP 827 With Go versions older than 1.17 (do \f[B]not\f[R] use the \f[C]-u\f[R] 828 flag, it causes Go to try to update the dependencies that rclone uses 829 and sometimes these don\[aq]t work with the current version): 830 .IP 831 .nf 832 \f[C] 833 go get github.com/divyam234/rclone 834 \f[R] 835 .fi 836 .SS Ansible installation 837 .PP 838 This can be done with Stefan Weichinger\[aq]s ansible 839 role (https://github.com/stefangweichinger/ansible-rclone). 840 .PP 841 Instructions 842 .IP "1." 3 843 \f[C]git clone https://github.com/stefangweichinger/ansible-rclone.git\f[R] 844 into your local roles-directory 845 .IP "2." 3 846 add the role to the hosts you want rclone installed to: 847 .IP 848 .nf 849 \f[C] 850 - hosts: rclone-hosts 851 roles: 852 - rclone 853 \f[R] 854 .fi 855 .SS Portable installation 856 .PP 857 As mentioned above (https://rclone.org/install/#quickstart), rclone is 858 single executable (\f[C]rclone\f[R], or \f[C]rclone.exe\f[R] on Windows) 859 that you can download as a zip archive and extract into a location of 860 your choosing. 861 When executing different commands, it may create files in different 862 locations, such as a configuration file and various temporary files. 863 By default the locations for these are according to your operating 864 system, e.g. 865 configuration file in your user profile directory and temporary files in 866 the standard temporary directory, but you can customize all of them, 867 e.g. 868 to make a completely self-contained, portable installation. 869 .PP 870 Run the config paths (https://rclone.org/commands/rclone_config_paths/) 871 command to see the locations that rclone will use. 872 .PP 873 To override them set the corresponding options (as command-line 874 arguments, or as environment 875 variables (https://rclone.org/docs/#environment-variables)): - 876 --config (https://rclone.org/docs/#config-config-file) - 877 --cache-dir (https://rclone.org/docs/#cache-dir-dir) - 878 --temp-dir (https://rclone.org/docs/#temp-dir-dir) 879 .SS Autostart 880 .PP 881 After installing and configuring rclone, as described above, you are 882 ready to use rclone as an interactive command line utility. 883 If your goal is to perform \f[I]periodic\f[R] operations, such as a 884 regular sync (https://rclone.org/commands/rclone_sync/), you will 885 probably want to configure your rclone command in your operating 886 system\[aq]s scheduler. 887 If you need to expose \f[I]service\f[R]-like features, such as remote 888 control (https://rclone.org/rc/), GUI (https://rclone.org/gui/), 889 serve (https://rclone.org/commands/rclone_serve/) or 890 mount (https://rclone.org/commands/rclone_mount/), you will often want 891 an rclone command always running in the background, and configuring it 892 to run in a service infrastructure may be a better option. 893 Below are some alternatives on how to achieve this on different 894 operating systems. 895 .PP 896 NOTE: Before setting up autorun it is highly recommended that you have 897 tested your command manually from a Command Prompt first. 898 .SS Autostart on Windows 899 .PP 900 The most relevant alternatives for autostart on Windows are: - Run at 901 user log on using the Startup folder - Run at user log on, at system 902 startup or at schedule using Task Scheduler - Run at system startup 903 using Windows service 904 .SS Running in background 905 .PP 906 Rclone is a console application, so if not starting from an existing 907 Command Prompt, e.g. 908 when starting rclone.exe from a shortcut, it will open a Command Prompt 909 window. 910 When configuring rclone to run from task scheduler and windows service 911 you are able to set it to run hidden in background. 912 From rclone version 1.54 you can also make it run hidden from anywhere 913 by adding option \f[C]--no-console\f[R] (it may still flash briefly when 914 the program starts). 915 Since rclone normally writes information and any error messages to the 916 console, you must redirect this to a file to be able to see it. 917 Rclone has a built-in option \f[C]--log-file\f[R] for that. 918 .PP 919 Example command to run a sync in background: 920 .IP 921 .nf 922 \f[C] 923 c:\[rs]rclone\[rs]rclone.exe sync c:\[rs]files remote:/files --no-console --log-file c:\[rs]rclone\[rs]logs\[rs]sync_files.txt 924 \f[R] 925 .fi 926 .SS User account 927 .PP 928 As mentioned in the mount (https://rclone.org/commands/rclone_mount/) 929 documentation, mounted drives created as Administrator are not visible 930 to other accounts, not even the account that was elevated as 931 Administrator. 932 By running the mount command as the built-in \f[C]SYSTEM\f[R] user 933 account, it will create drives accessible for everyone on the system. 934 Both scheduled task and Windows service can be used to achieve this. 935 .PP 936 NOTE: Remember that when rclone runs as the \f[C]SYSTEM\f[R] user, the 937 user profile that it sees will not be yours. 938 This means that if you normally run rclone with configuration file in 939 the default location, to be able to use the same configuration when 940 running as the system user you must explicitly tell rclone where to find 941 it with the 942 \f[C]--config\f[R] (https://rclone.org/docs/#config-config-file) option, 943 or else it will look in the system users profile path 944 (\f[C]C:\[rs]Windows\[rs]System32\[rs]config\[rs]systemprofile\f[R]). 945 To test your command manually from a Command Prompt, you can run it with 946 the 947 PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) 948 utility from Microsoft\[aq]s Sysinternals suite, which takes option 949 \f[C]-s\f[R] to execute commands as the \f[C]SYSTEM\f[R] user. 950 .SS Start from Startup folder 951 .PP 952 To quickly execute an rclone command you can simply create a standard 953 Windows Explorer shortcut for the complete rclone command you want to 954 run. 955 If you store this shortcut in the special \[dq]Startup\[dq] start-menu 956 folder, Windows will automatically run it at login. 957 To open this folder in Windows Explorer, enter path 958 \f[C]%APPDATA%\[rs]Microsoft\[rs]Windows\[rs]Start Menu\[rs]Programs\[rs]Startup\f[R], 959 or 960 \f[C]C:\[rs]ProgramData\[rs]Microsoft\[rs]Windows\[rs]Start Menu\[rs]Programs\[rs]StartUp\f[R] 961 if you want the command to start for \f[I]every\f[R] user that logs in. 962 .PP 963 This is the easiest approach to autostarting of rclone, but it offers no 964 functionality to set it to run as different user, or to set conditions 965 or actions on certain events. 966 Setting up a scheduled task as described below will often give you 967 better results. 968 .SS Start from Task Scheduler 969 .PP 970 Task Scheduler is an administrative tool built into Windows, and it can 971 be used to configure rclone to be started automatically in a highly 972 configurable way, e.g. 973 periodically on a schedule, on user log on, or at system startup. 974 It can run be configured to run as the current user, or for a mount 975 command that needs to be available to all users it can run as the 976 \f[C]SYSTEM\f[R] user. 977 For technical information, see 978 https://docs.microsoft.com/windows/win32/taskschd/task-scheduler-start-page. 979 .SS Run as service 980 .PP 981 For running rclone at system startup, you can create a Windows service 982 that executes your rclone command, as an alternative to scheduled task 983 configured to run at startup. 984 .SS Mount command built-in service integration 985 .PP 986 For mount commands, rclone has a built-in Windows service integration 987 via the third-party WinFsp library it uses. 988 Registering as a regular Windows service easy, as you just have to 989 execute the built-in PowerShell command \f[C]New-Service\f[R] (requires 990 administrative privileges). 991 .PP 992 Example of a PowerShell command that creates a Windows service for 993 mounting some \f[C]remote:/files\f[R] as drive letter \f[C]X:\f[R], for 994 \f[I]all\f[R] users (service will be running as the local system 995 account): 996 .IP 997 .nf 998 \f[C] 999 New-Service -Name Rclone -BinaryPathName \[aq]c:\[rs]rclone\[rs]rclone.exe mount remote:/files X: --config c:\[rs]rclone\[rs]config\[rs]rclone.conf --log-file c:\[rs]rclone\[rs]logs\[rs]mount.txt\[aq] 1000 \f[R] 1001 .fi 1002 .PP 1003 The WinFsp service 1004 infrastructure (https://github.com/billziss-gh/winfsp/wiki/WinFsp-Service-Architecture) 1005 supports incorporating services for file system implementations, such as 1006 rclone, into its own launcher service, as kind of \[dq]child 1007 services\[dq]. 1008 This has the additional advantage that it also implements a network 1009 provider that integrates into Windows standard methods for managing 1010 network drives. 1011 This is currently not officially supported by Rclone, but with WinFsp 1012 version 2019.3 B2 / v1.5B2 or later it should be possible through path 1013 rewriting as described 1014 here (https://github.com/divyam234/rclone/issues/3340). 1015 .SS Third-party service integration 1016 .PP 1017 To Windows service running any rclone command, the excellent third-party 1018 utility NSSM (http://nssm.cc), the \[dq]Non-Sucking Service 1019 Manager\[dq], can be used. 1020 It includes some advanced features such as adjusting process priority, 1021 defining process environment variables, redirect to file anything 1022 written to stdout, and customized response to different exit codes, with 1023 a GUI to configure everything from (although it can also be used from 1024 command line ). 1025 .PP 1026 There are also several other alternatives. 1027 To mention one more, WinSW (https://github.com/winsw/winsw), 1028 \[dq]Windows Service Wrapper\[dq], is worth checking out. 1029 It requires .NET Framework, but it is preinstalled on newer versions of 1030 Windows, and it also provides alternative standalone distributions which 1031 includes necessary runtime (.NET 5). 1032 WinSW is a command-line only utility, where you have to manually create 1033 an XML file with service configuration. 1034 This may be a drawback for some, but it can also be an advantage as it 1035 is easy to back up and re-use the configuration settings, without having 1036 go through manual steps in a GUI. 1037 One thing to note is that by default it does not restart the service on 1038 error, one have to explicit enable this in the configuration file (via 1039 the \[dq]onfailure\[dq] parameter). 1040 .SS Autostart on Linux 1041 .SS Start as a service 1042 .PP 1043 To always run rclone in background, relevant for mount commands etc, you 1044 can use systemd to set up rclone as a system or user service. 1045 Running as a system service ensures that it is run at startup even if 1046 the user it is running as has no active session. 1047 Running rclone as a user service ensures that it only starts after the 1048 configured user has logged into the system. 1049 .SS Run periodically from cron 1050 .PP 1051 To run a periodic command, such as a copy/sync, you can set up a cron 1052 job. 1053 .SH Usage 1054 .PP 1055 Rclone is a command line program to manage files on cloud storage. 1056 After download (https://rclone.org/downloads/) and install, continue 1057 here to learn how to use it: Initial configuration, what the basic 1058 syntax looks like, describes the various subcommands, the various 1059 options, and more. 1060 .SS Configure 1061 .PP 1062 First, you\[aq]ll need to configure rclone. 1063 As the object storage systems have quite complicated authentication 1064 these are kept in a config file. 1065 (See the \f[C]--config\f[R] entry for how to find the config file and 1066 choose its location.) 1067 .PP 1068 The easiest way to make the config is to run rclone with the config 1069 option: 1070 .IP 1071 .nf 1072 \f[C] 1073 rclone config 1074 \f[R] 1075 .fi 1076 .PP 1077 See the following for detailed instructions for 1078 .IP \[bu] 2 1079 1Fichier (https://rclone.org/fichier/) 1080 .IP \[bu] 2 1081 Akamai Netstorage (https://rclone.org/netstorage/) 1082 .IP \[bu] 2 1083 Alias (https://rclone.org/alias/) 1084 .IP \[bu] 2 1085 Amazon Drive (https://rclone.org/amazonclouddrive/) 1086 .IP \[bu] 2 1087 Amazon S3 (https://rclone.org/s3/) 1088 .IP \[bu] 2 1089 Backblaze B2 (https://rclone.org/b2/) 1090 .IP \[bu] 2 1091 Box (https://rclone.org/box/) 1092 .IP \[bu] 2 1093 Chunker (https://rclone.org/chunker/) - transparently splits large files 1094 for other remotes 1095 .IP \[bu] 2 1096 Citrix ShareFile (https://rclone.org/sharefile/) 1097 .IP \[bu] 2 1098 Compress (https://rclone.org/compress/) 1099 .IP \[bu] 2 1100 Combine (https://rclone.org/combine/) 1101 .IP \[bu] 2 1102 Crypt (https://rclone.org/crypt/) - to encrypt other remotes 1103 .IP \[bu] 2 1104 DigitalOcean Spaces (https://rclone.org/s3/#digitalocean-spaces) 1105 .IP \[bu] 2 1106 Digi Storage (https://rclone.org/koofr/#digi-storage) 1107 .IP \[bu] 2 1108 Dropbox (https://rclone.org/dropbox/) 1109 .IP \[bu] 2 1110 Enterprise File Fabric (https://rclone.org/filefabric/) 1111 .IP \[bu] 2 1112 FTP (https://rclone.org/ftp/) 1113 .IP \[bu] 2 1114 Google Cloud Storage (https://rclone.org/googlecloudstorage/) 1115 .IP \[bu] 2 1116 Google Drive (https://rclone.org/drive/) 1117 .IP \[bu] 2 1118 Google Photos (https://rclone.org/googlephotos/) 1119 .IP \[bu] 2 1120 Hasher (https://rclone.org/hasher/) - to handle checksums for other 1121 remotes 1122 .IP \[bu] 2 1123 HDFS (https://rclone.org/hdfs/) 1124 .IP \[bu] 2 1125 HiDrive (https://rclone.org/hidrive/) 1126 .IP \[bu] 2 1127 HTTP (https://rclone.org/http/) 1128 .IP \[bu] 2 1129 Internet Archive (https://rclone.org/internetarchive/) 1130 .IP \[bu] 2 1131 Jottacloud (https://rclone.org/jottacloud/) 1132 .IP \[bu] 2 1133 Koofr (https://rclone.org/koofr/) 1134 .IP \[bu] 2 1135 Mail.ru Cloud (https://rclone.org/mailru/) 1136 .IP \[bu] 2 1137 Mega (https://rclone.org/mega/) 1138 .IP \[bu] 2 1139 Memory (https://rclone.org/memory/) 1140 .IP \[bu] 2 1141 Microsoft Azure Blob Storage (https://rclone.org/azureblob/) 1142 .IP \[bu] 2 1143 Microsoft OneDrive (https://rclone.org/onedrive/) 1144 .IP \[bu] 2 1145 OpenStack Swift / Rackspace Cloudfiles / Blomp Cloud Storage / Memset 1146 Memstore (https://rclone.org/swift/) 1147 .IP \[bu] 2 1148 OpenDrive (https://rclone.org/opendrive/) 1149 .IP \[bu] 2 1150 Oracle Object Storage (https://rclone.org/oracleobjectstorage/) 1151 .IP \[bu] 2 1152 Pcloud (https://rclone.org/pcloud/) 1153 .IP \[bu] 2 1154 PikPak (https://rclone.org/pikpak/) 1155 .IP \[bu] 2 1156 premiumize.me (https://rclone.org/premiumizeme/) 1157 .IP \[bu] 2 1158 put.io (https://rclone.org/putio/) 1159 .IP \[bu] 2 1160 QingStor (https://rclone.org/qingstor/) 1161 .IP \[bu] 2 1162 Seafile (https://rclone.org/seafile/) 1163 .IP \[bu] 2 1164 SFTP (https://rclone.org/sftp/) 1165 .IP \[bu] 2 1166 Sia (https://rclone.org/sia/) 1167 .IP \[bu] 2 1168 SMB (https://rclone.org/smb/) 1169 .IP \[bu] 2 1170 Storj (https://rclone.org/storj/) 1171 .IP \[bu] 2 1172 SugarSync (https://rclone.org/sugarsync/) 1173 .IP \[bu] 2 1174 Union (https://rclone.org/union/) 1175 .IP \[bu] 2 1176 Uptobox (https://rclone.org/uptobox/) 1177 .IP \[bu] 2 1178 WebDAV (https://rclone.org/webdav/) 1179 .IP \[bu] 2 1180 Yandex Disk (https://rclone.org/yandex/) 1181 .IP \[bu] 2 1182 Zoho WorkDrive (https://rclone.org/zoho/) 1183 .IP \[bu] 2 1184 The local filesystem (https://rclone.org/local/) 1185 .SS Basic syntax 1186 .PP 1187 Rclone syncs a directory tree from one storage system to another. 1188 .PP 1189 Its syntax is like this 1190 .IP 1191 .nf 1192 \f[C] 1193 Syntax: [options] subcommand <parameters> <parameters...> 1194 \f[R] 1195 .fi 1196 .PP 1197 Source and destination paths are specified by the name you gave the 1198 storage system in the config file then the sub path, e.g. 1199 \[dq]drive:myfolder\[dq] to look at \[dq]myfolder\[dq] in Google drive. 1200 .PP 1201 You can define as many storage paths as you like in the config file. 1202 .PP 1203 Please use the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag while learning 1204 rclone to avoid accidental data loss. 1205 .SS Subcommands 1206 .PP 1207 rclone uses a system of subcommands. 1208 For example 1209 .IP 1210 .nf 1211 \f[C] 1212 rclone ls remote:path # lists a remote 1213 rclone copy /local/path remote:path # copies /local/path to the remote 1214 rclone sync --interactive /local/path remote:path # syncs /local/path to the remote 1215 \f[R] 1216 .fi 1217 .SH rclone config 1218 .PP 1219 Enter an interactive configuration session. 1220 .SS Synopsis 1221 .PP 1222 Enter an interactive configuration session where you can setup new 1223 remotes and manage existing ones. 1224 You may also set or remove a password to protect your configuration. 1225 .IP 1226 .nf 1227 \f[C] 1228 rclone config [flags] 1229 \f[R] 1230 .fi 1231 .SS Options 1232 .IP 1233 .nf 1234 \f[C] 1235 -h, --help help for config 1236 \f[R] 1237 .fi 1238 .PP 1239 See the global flags page (https://rclone.org/flags/) for global options 1240 not listed here. 1241 .SS SEE ALSO 1242 .IP \[bu] 2 1243 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1244 commands, flags and backends. 1245 .IP \[bu] 2 1246 rclone config create (https://rclone.org/commands/rclone_config_create/) 1247 - Create a new remote with name, type and options. 1248 .IP \[bu] 2 1249 rclone config delete (https://rclone.org/commands/rclone_config_delete/) 1250 - Delete an existing remote. 1251 .IP \[bu] 2 1252 rclone config 1253 disconnect (https://rclone.org/commands/rclone_config_disconnect/) - 1254 Disconnects user from remote 1255 .IP \[bu] 2 1256 rclone config dump (https://rclone.org/commands/rclone_config_dump/) - 1257 Dump the config file as JSON. 1258 .IP \[bu] 2 1259 rclone config file (https://rclone.org/commands/rclone_config_file/) - 1260 Show path of configuration file in use. 1261 .IP \[bu] 2 1262 rclone config 1263 password (https://rclone.org/commands/rclone_config_password/) - Update 1264 password in an existing remote. 1265 .IP \[bu] 2 1266 rclone config paths (https://rclone.org/commands/rclone_config_paths/) - 1267 Show paths used for configuration, cache, temp etc. 1268 .IP \[bu] 2 1269 rclone config 1270 providers (https://rclone.org/commands/rclone_config_providers/) - List 1271 in JSON format all the providers and options. 1272 .IP \[bu] 2 1273 rclone config 1274 reconnect (https://rclone.org/commands/rclone_config_reconnect/) - 1275 Re-authenticates user with remote. 1276 .IP \[bu] 2 1277 rclone config show (https://rclone.org/commands/rclone_config_show/) - 1278 Print (decrypted) config file, or the config for a single remote. 1279 .IP \[bu] 2 1280 rclone config touch (https://rclone.org/commands/rclone_config_touch/) - 1281 Ensure configuration file exists. 1282 .IP \[bu] 2 1283 rclone config update (https://rclone.org/commands/rclone_config_update/) 1284 - Update options in an existing remote. 1285 .IP \[bu] 2 1286 rclone config 1287 userinfo (https://rclone.org/commands/rclone_config_userinfo/) - Prints 1288 info about logged in user of remote. 1289 .SH rclone copy 1290 .PP 1291 Copy files from source to dest, skipping identical files. 1292 .SS Synopsis 1293 .PP 1294 Copy the source to the destination. 1295 Does not transfer files that are identical on source and destination, 1296 testing by size and modification time or MD5SUM. 1297 Doesn\[aq]t delete files from the destination. 1298 If you want to also delete files from destination, to make it match 1299 source, use the sync (https://rclone.org/commands/rclone_sync/) command 1300 instead. 1301 .PP 1302 Note that it is always the contents of the directory that is synced, not 1303 the directory itself. 1304 So when source:path is a directory, it\[aq]s the contents of source:path 1305 that are copied, not the directory name and contents. 1306 .PP 1307 To copy single files, use the 1308 copyto (https://rclone.org/commands/rclone_copyto/) command instead. 1309 .PP 1310 If dest:path doesn\[aq]t exist, it is created and the source:path 1311 contents go there. 1312 .PP 1313 For example 1314 .IP 1315 .nf 1316 \f[C] 1317 rclone copy source:sourcepath dest:destpath 1318 \f[R] 1319 .fi 1320 .PP 1321 Let\[aq]s say there are two files in sourcepath 1322 .IP 1323 .nf 1324 \f[C] 1325 sourcepath/one.txt 1326 sourcepath/two.txt 1327 \f[R] 1328 .fi 1329 .PP 1330 This copies them to 1331 .IP 1332 .nf 1333 \f[C] 1334 destpath/one.txt 1335 destpath/two.txt 1336 \f[R] 1337 .fi 1338 .PP 1339 Not to 1340 .IP 1341 .nf 1342 \f[C] 1343 destpath/sourcepath/one.txt 1344 destpath/sourcepath/two.txt 1345 \f[R] 1346 .fi 1347 .PP 1348 If you are familiar with \f[C]rsync\f[R], rclone always works as if you 1349 had written a trailing \f[C]/\f[R] - meaning \[dq]copy the contents of 1350 this directory\[dq]. 1351 This applies to all commands and whether you are talking about the 1352 source or destination. 1353 .PP 1354 See the --no-traverse (https://rclone.org/docs/#no-traverse) option for 1355 controlling whether rclone lists the destination directory or not. 1356 Supplying this option when copying a small number of files into a large 1357 destination can speed transfers up greatly. 1358 .PP 1359 For example, if you have many files in /path/to/src but only a few of 1360 them change every day, you can copy all the files which have changed 1361 recently very efficiently like this: 1362 .IP 1363 .nf 1364 \f[C] 1365 rclone copy --max-age 24h --no-traverse /path/to/src remote: 1366 \f[R] 1367 .fi 1368 .PP 1369 \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view 1370 real-time transfer statistics. 1371 .PP 1372 \f[B]Note\f[R]: Use the \f[C]--dry-run\f[R] or the 1373 \f[C]--interactive\f[R]/\f[C]-i\f[R] flag to test without copying 1374 anything. 1375 .IP 1376 .nf 1377 \f[C] 1378 rclone copy source:path dest:path [flags] 1379 \f[R] 1380 .fi 1381 .SS Options 1382 .IP 1383 .nf 1384 \f[C] 1385 --create-empty-src-dirs Create empty source dirs on destination after copy 1386 -h, --help help for copy 1387 \f[R] 1388 .fi 1389 .PP 1390 See the global flags page (https://rclone.org/flags/) for global options 1391 not listed here. 1392 .SS SEE ALSO 1393 .IP \[bu] 2 1394 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1395 commands, flags and backends. 1396 .SH rclone sync 1397 .PP 1398 Make source and dest identical, modifying destination only. 1399 .SS Synopsis 1400 .PP 1401 Sync the source to the destination, changing the destination only. 1402 Doesn\[aq]t transfer files that are identical on source and destination, 1403 testing by size and modification time or MD5SUM. 1404 Destination is updated to match source, including deleting files if 1405 necessary (except duplicate objects, see below). 1406 If you don\[aq]t want to delete files from destination, use the 1407 copy (https://rclone.org/commands/rclone_copy/) command instead. 1408 .PP 1409 \f[B]Important\f[R]: Since this can cause data loss, test first with the 1410 \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 1411 .IP 1412 .nf 1413 \f[C] 1414 rclone sync --interactive SOURCE remote:DESTINATION 1415 \f[R] 1416 .fi 1417 .PP 1418 Note that files in the destination won\[aq]t be deleted if there were 1419 any errors at any point. 1420 Duplicate objects (files with the same name, on those providers that 1421 support it) are also not yet handled. 1422 .PP 1423 It is always the contents of the directory that is synced, not the 1424 directory itself. 1425 So when source:path is a directory, it\[aq]s the contents of source:path 1426 that are copied, not the directory name and contents. 1427 See extended explanation in the 1428 copy (https://rclone.org/commands/rclone_copy/) command if unsure. 1429 .PP 1430 If dest:path doesn\[aq]t exist, it is created and the source:path 1431 contents go there. 1432 .PP 1433 It is not possible to sync overlapping remotes. 1434 However, you may exclude the destination from the sync with a filter 1435 rule or by putting an exclude-if-present file inside the destination 1436 directory and sync to a destination that is inside the source directory. 1437 .PP 1438 \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view 1439 real-time transfer statistics 1440 .PP 1441 \f[B]Note\f[R]: Use the \f[C]rclone dedupe\f[R] command to deal with 1442 \[dq]Duplicate object/directory found in source/destination - 1443 ignoring\[dq] errors. 1444 See this forum 1445 post (https://forum.rclone.org/t/sync-not-clearing-duplicates/14372) for 1446 more info. 1447 .IP 1448 .nf 1449 \f[C] 1450 rclone sync source:path dest:path [flags] 1451 \f[R] 1452 .fi 1453 .SS Options 1454 .IP 1455 .nf 1456 \f[C] 1457 --create-empty-src-dirs Create empty source dirs on destination after sync 1458 -h, --help help for sync 1459 \f[R] 1460 .fi 1461 .PP 1462 See the global flags page (https://rclone.org/flags/) for global options 1463 not listed here. 1464 .SS SEE ALSO 1465 .IP \[bu] 2 1466 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1467 commands, flags and backends. 1468 .SH rclone move 1469 .PP 1470 Move files from source to dest. 1471 .SS Synopsis 1472 .PP 1473 Moves the contents of the source directory to the destination directory. 1474 Rclone will error if the source and destination overlap and the remote 1475 does not support a server-side directory move operation. 1476 .PP 1477 To move single files, use the 1478 moveto (https://rclone.org/commands/rclone_moveto/) command instead. 1479 .PP 1480 If no filters are in use and if possible this will server-side move 1481 \f[C]source:path\f[R] into \f[C]dest:path\f[R]. 1482 After this \f[C]source:path\f[R] will no longer exist. 1483 .PP 1484 Otherwise for each file in \f[C]source:path\f[R] selected by the filters 1485 (if any) this will move it into \f[C]dest:path\f[R]. 1486 If possible a server-side move will be used, otherwise it will copy it 1487 (server-side if possible) into \f[C]dest:path\f[R] then delete the 1488 original (if no errors on copy) in \f[C]source:path\f[R]. 1489 .PP 1490 If you want to delete empty source directories after move, use the 1491 \f[C]--delete-empty-src-dirs\f[R] flag. 1492 .PP 1493 See the --no-traverse (https://rclone.org/docs/#no-traverse) option for 1494 controlling whether rclone lists the destination directory or not. 1495 Supplying this option when moving a small number of files into a large 1496 destination can speed transfers up greatly. 1497 .PP 1498 \f[B]Important\f[R]: Since this can cause data loss, test first with the 1499 \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 1500 .PP 1501 \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view 1502 real-time transfer statistics. 1503 .IP 1504 .nf 1505 \f[C] 1506 rclone move source:path dest:path [flags] 1507 \f[R] 1508 .fi 1509 .SS Options 1510 .IP 1511 .nf 1512 \f[C] 1513 --create-empty-src-dirs Create empty source dirs on destination after move 1514 --delete-empty-src-dirs Delete empty source dirs after move 1515 -h, --help help for move 1516 \f[R] 1517 .fi 1518 .PP 1519 See the global flags page (https://rclone.org/flags/) for global options 1520 not listed here. 1521 .SS SEE ALSO 1522 .IP \[bu] 2 1523 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1524 commands, flags and backends. 1525 .SH rclone delete 1526 .PP 1527 Remove the files in path. 1528 .SS Synopsis 1529 .PP 1530 Remove the files in path. 1531 Unlike purge (https://rclone.org/commands/rclone_purge/) it obeys 1532 include/exclude filters so can be used to selectively delete files. 1533 .PP 1534 \f[C]rclone delete\f[R] only deletes files but leaves the directory 1535 structure alone. 1536 If you want to delete a directory and all of its contents use the 1537 purge (https://rclone.org/commands/rclone_purge/) command. 1538 .PP 1539 If you supply the \f[C]--rmdirs\f[R] flag, it will remove all empty 1540 directories along with it. 1541 You can also use the separate command 1542 rmdir (https://rclone.org/commands/rclone_rmdir/) or 1543 rmdirs (https://rclone.org/commands/rclone_rmdirs/) to delete empty 1544 directories only. 1545 .PP 1546 For example, to delete all files bigger than 100 MiB, you may first want 1547 to check what would be deleted (use either): 1548 .IP 1549 .nf 1550 \f[C] 1551 rclone --min-size 100M lsl remote:path 1552 rclone --dry-run --min-size 100M delete remote:path 1553 \f[R] 1554 .fi 1555 .PP 1556 Then proceed with the actual delete: 1557 .IP 1558 .nf 1559 \f[C] 1560 rclone --min-size 100M delete remote:path 1561 \f[R] 1562 .fi 1563 .PP 1564 That reads \[dq]delete everything with a minimum size of 100 MiB\[dq], 1565 hence delete all files bigger than 100 MiB. 1566 .PP 1567 \f[B]Important\f[R]: Since this can cause data loss, test first with the 1568 \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 1569 .IP 1570 .nf 1571 \f[C] 1572 rclone delete remote:path [flags] 1573 \f[R] 1574 .fi 1575 .SS Options 1576 .IP 1577 .nf 1578 \f[C] 1579 -h, --help help for delete 1580 --rmdirs rmdirs removes empty directories but leaves root intact 1581 \f[R] 1582 .fi 1583 .PP 1584 See the global flags page (https://rclone.org/flags/) for global options 1585 not listed here. 1586 .SS SEE ALSO 1587 .IP \[bu] 2 1588 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1589 commands, flags and backends. 1590 .SH rclone purge 1591 .PP 1592 Remove the path and all of its contents. 1593 .SS Synopsis 1594 .PP 1595 Remove the path and all of its contents. 1596 Note that this does not obey include/exclude filters - everything will 1597 be removed. 1598 Use the delete (https://rclone.org/commands/rclone_delete/) command if 1599 you want to selectively delete files. 1600 To delete empty directories only, use command 1601 rmdir (https://rclone.org/commands/rclone_rmdir/) or 1602 rmdirs (https://rclone.org/commands/rclone_rmdirs/). 1603 .PP 1604 \f[B]Important\f[R]: Since this can cause data loss, test first with the 1605 \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 1606 .IP 1607 .nf 1608 \f[C] 1609 rclone purge remote:path [flags] 1610 \f[R] 1611 .fi 1612 .SS Options 1613 .IP 1614 .nf 1615 \f[C] 1616 -h, --help help for purge 1617 \f[R] 1618 .fi 1619 .PP 1620 See the global flags page (https://rclone.org/flags/) for global options 1621 not listed here. 1622 .SS SEE ALSO 1623 .IP \[bu] 2 1624 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1625 commands, flags and backends. 1626 .SH rclone mkdir 1627 .PP 1628 Make the path if it doesn\[aq]t already exist. 1629 .IP 1630 .nf 1631 \f[C] 1632 rclone mkdir remote:path [flags] 1633 \f[R] 1634 .fi 1635 .SS Options 1636 .IP 1637 .nf 1638 \f[C] 1639 -h, --help help for mkdir 1640 \f[R] 1641 .fi 1642 .PP 1643 See the global flags page (https://rclone.org/flags/) for global options 1644 not listed here. 1645 .SS SEE ALSO 1646 .IP \[bu] 2 1647 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1648 commands, flags and backends. 1649 .SH rclone rmdir 1650 .PP 1651 Remove the empty directory at path. 1652 .SS Synopsis 1653 .PP 1654 This removes empty directory given by path. 1655 Will not remove the path if it has any objects in it, not even empty 1656 subdirectories. 1657 Use command rmdirs (https://rclone.org/commands/rclone_rmdirs/) (or 1658 delete (https://rclone.org/commands/rclone_delete/) with option 1659 \f[C]--rmdirs\f[R]) to do that. 1660 .PP 1661 To delete a path and any objects in it, use 1662 purge (https://rclone.org/commands/rclone_purge/) command. 1663 .IP 1664 .nf 1665 \f[C] 1666 rclone rmdir remote:path [flags] 1667 \f[R] 1668 .fi 1669 .SS Options 1670 .IP 1671 .nf 1672 \f[C] 1673 -h, --help help for rmdir 1674 \f[R] 1675 .fi 1676 .PP 1677 See the global flags page (https://rclone.org/flags/) for global options 1678 not listed here. 1679 .SS SEE ALSO 1680 .IP \[bu] 2 1681 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1682 commands, flags and backends. 1683 .SH rclone check 1684 .PP 1685 Checks the files in the source and destination match. 1686 .SS Synopsis 1687 .PP 1688 Checks the files in the source and destination match. 1689 It compares sizes and hashes (MD5 or SHA1) and logs a report of files 1690 that don\[aq]t match. 1691 It doesn\[aq]t alter the source or destination. 1692 .PP 1693 For the crypt (https://rclone.org/crypt/) remote there is a dedicated 1694 command, cryptcheck (https://rclone.org/commands/rclone_cryptcheck/), 1695 that are able to check the checksums of the encrypted files. 1696 .PP 1697 If you supply the \f[C]--size-only\f[R] flag, it will only compare the 1698 sizes not the hashes as well. 1699 Use this for a quick check. 1700 .PP 1701 If you supply the \f[C]--download\f[R] flag, it will download the data 1702 from both remotes and check them against each other on the fly. 1703 This can be useful for remotes that don\[aq]t support hashes or if you 1704 really want to check all the data. 1705 .PP 1706 If you supply the \f[C]--checkfile HASH\f[R] flag with a valid hash 1707 name, the \f[C]source:path\f[R] must point to a text file in the SUM 1708 format. 1709 .PP 1710 If you supply the \f[C]--one-way\f[R] flag, it will only check that 1711 files in the source match the files in the destination, not the other 1712 way around. 1713 This means that extra files in the destination that are not in the 1714 source will not be detected. 1715 .PP 1716 The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R], 1717 \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R] 1718 flags write paths, one per line, to the file name (or stdout if it is 1719 \f[C]-\f[R]) supplied. 1720 What they write is described in the help below. 1721 For example \f[C]--differ\f[R] will write all paths which are present on 1722 both the source and destination but different. 1723 .PP 1724 The \f[C]--combined\f[R] flag will write a file (or stdout) which 1725 contains all file paths with a symbol and then a space and then the path 1726 to tell you what happened to it. 1727 These are reminiscent of diff files. 1728 .IP \[bu] 2 1729 \f[C]= path\f[R] means path was found in source and destination and was 1730 identical 1731 .IP \[bu] 2 1732 \[ga]- path\[ga] means path was missing on the source, so only in the 1733 destination 1734 .IP \[bu] 2 1735 \[ga]+ path\[ga] means path was missing on the destination, so only in 1736 the source 1737 .IP \[bu] 2 1738 \[ga]* path\[ga] means path was present in source and destination but 1739 different. 1740 .IP \[bu] 2 1741 \f[C]! path\f[R] means there was an error reading or hashing the source 1742 or dest. 1743 .PP 1744 The default number of parallel checks is 8. 1745 See the --checkers=N (https://rclone.org/docs/#checkers-n) option for 1746 more information. 1747 .IP 1748 .nf 1749 \f[C] 1750 rclone check source:path dest:path [flags] 1751 \f[R] 1752 .fi 1753 .SS Options 1754 .IP 1755 .nf 1756 \f[C] 1757 -C, --checkfile string Treat source:path as a SUM file with hashes of given type 1758 --combined string Make a combined report of changes to this file 1759 --differ string Report all non-matching files to this file 1760 --download Check by downloading rather than with hash 1761 --error string Report all files with errors (hashing or reading) to this file 1762 -h, --help help for check 1763 --match string Report all matching files to this file 1764 --missing-on-dst string Report all files missing from the destination to this file 1765 --missing-on-src string Report all files missing from the source to this file 1766 --one-way Check one way only, source files must exist on remote 1767 \f[R] 1768 .fi 1769 .PP 1770 See the global flags page (https://rclone.org/flags/) for global options 1771 not listed here. 1772 .SS SEE ALSO 1773 .IP \[bu] 2 1774 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1775 commands, flags and backends. 1776 .SH rclone ls 1777 .PP 1778 List the objects in the path with size and path. 1779 .SS Synopsis 1780 .PP 1781 Lists the objects in the source path to standard output in a human 1782 readable format with size and path. 1783 Recurses by default. 1784 .PP 1785 Eg 1786 .IP 1787 .nf 1788 \f[C] 1789 $ rclone ls swift:bucket 1790 60295 bevajer5jef 1791 90613 canole 1792 94467 diwogej7 1793 37600 fubuwic 1794 \f[R] 1795 .fi 1796 .PP 1797 Any of the filtering options can be applied to this command. 1798 .PP 1799 There are several related list commands 1800 .IP \[bu] 2 1801 \f[C]ls\f[R] to list size and path of objects only 1802 .IP \[bu] 2 1803 \f[C]lsl\f[R] to list modification time, size and path of objects only 1804 .IP \[bu] 2 1805 \f[C]lsd\f[R] to list directories only 1806 .IP \[bu] 2 1807 \f[C]lsf\f[R] to list objects and directories in easy to parse format 1808 .IP \[bu] 2 1809 \f[C]lsjson\f[R] to list objects and directories in JSON format 1810 .PP 1811 \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be 1812 human-readable. 1813 \f[C]lsf\f[R] is designed to be human and machine-readable. 1814 \f[C]lsjson\f[R] is designed to be machine-readable. 1815 .PP 1816 Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use 1817 \f[C]--max-depth 1\f[R] to stop the recursion. 1818 .PP 1819 The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do 1820 not recurse by default - use \f[C]-R\f[R] to make them recurse. 1821 .PP 1822 Listing a nonexistent directory will produce an error except for remotes 1823 which can\[aq]t have empty directories (e.g. 1824 s3, swift, or gcs - the bucket-based remotes). 1825 .IP 1826 .nf 1827 \f[C] 1828 rclone ls remote:path [flags] 1829 \f[R] 1830 .fi 1831 .SS Options 1832 .IP 1833 .nf 1834 \f[C] 1835 -h, --help help for ls 1836 \f[R] 1837 .fi 1838 .PP 1839 See the global flags page (https://rclone.org/flags/) for global options 1840 not listed here. 1841 .SS SEE ALSO 1842 .IP \[bu] 2 1843 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1844 commands, flags and backends. 1845 .SH rclone lsd 1846 .PP 1847 List all directories/containers/buckets in the path. 1848 .SS Synopsis 1849 .PP 1850 Lists the directories in the source path to standard output. 1851 Does not recurse by default. 1852 Use the \f[C]-R\f[R] flag to recurse. 1853 .PP 1854 This command lists the total size of the directory (if known, -1 if 1855 not), the modification time (if known, the current time if not), the 1856 number of objects in the directory (if known, -1 if not) and the name of 1857 the directory, Eg 1858 .IP 1859 .nf 1860 \f[C] 1861 $ rclone lsd swift: 1862 494000 2018-04-26 08:43:20 10000 10000files 1863 65 2018-04-26 08:43:20 1 1File 1864 \f[R] 1865 .fi 1866 .PP 1867 Or 1868 .IP 1869 .nf 1870 \f[C] 1871 $ rclone lsd drive:test 1872 -1 2016-10-17 17:41:53 -1 1000files 1873 -1 2017-01-03 14:40:54 -1 2500files 1874 -1 2017-07-08 14:39:28 -1 4000files 1875 \f[R] 1876 .fi 1877 .PP 1878 If you just want the directory names use 1879 \f[C]rclone lsf --dirs-only\f[R]. 1880 .PP 1881 Any of the filtering options can be applied to this command. 1882 .PP 1883 There are several related list commands 1884 .IP \[bu] 2 1885 \f[C]ls\f[R] to list size and path of objects only 1886 .IP \[bu] 2 1887 \f[C]lsl\f[R] to list modification time, size and path of objects only 1888 .IP \[bu] 2 1889 \f[C]lsd\f[R] to list directories only 1890 .IP \[bu] 2 1891 \f[C]lsf\f[R] to list objects and directories in easy to parse format 1892 .IP \[bu] 2 1893 \f[C]lsjson\f[R] to list objects and directories in JSON format 1894 .PP 1895 \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be 1896 human-readable. 1897 \f[C]lsf\f[R] is designed to be human and machine-readable. 1898 \f[C]lsjson\f[R] is designed to be machine-readable. 1899 .PP 1900 Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use 1901 \f[C]--max-depth 1\f[R] to stop the recursion. 1902 .PP 1903 The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do 1904 not recurse by default - use \f[C]-R\f[R] to make them recurse. 1905 .PP 1906 Listing a nonexistent directory will produce an error except for remotes 1907 which can\[aq]t have empty directories (e.g. 1908 s3, swift, or gcs - the bucket-based remotes). 1909 .IP 1910 .nf 1911 \f[C] 1912 rclone lsd remote:path [flags] 1913 \f[R] 1914 .fi 1915 .SS Options 1916 .IP 1917 .nf 1918 \f[C] 1919 -h, --help help for lsd 1920 -R, --recursive Recurse into the listing 1921 \f[R] 1922 .fi 1923 .PP 1924 See the global flags page (https://rclone.org/flags/) for global options 1925 not listed here. 1926 .SS SEE ALSO 1927 .IP \[bu] 2 1928 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1929 commands, flags and backends. 1930 .SH rclone lsl 1931 .PP 1932 List the objects in path with modification time, size and path. 1933 .SS Synopsis 1934 .PP 1935 Lists the objects in the source path to standard output in a human 1936 readable format with modification time, size and path. 1937 Recurses by default. 1938 .PP 1939 Eg 1940 .IP 1941 .nf 1942 \f[C] 1943 $ rclone lsl swift:bucket 1944 60295 2016-06-25 18:55:41.062626927 bevajer5jef 1945 90613 2016-06-25 18:55:43.302607074 canole 1946 94467 2016-06-25 18:55:43.046609333 diwogej7 1947 37600 2016-06-25 18:55:40.814629136 fubuwic 1948 \f[R] 1949 .fi 1950 .PP 1951 Any of the filtering options can be applied to this command. 1952 .PP 1953 There are several related list commands 1954 .IP \[bu] 2 1955 \f[C]ls\f[R] to list size and path of objects only 1956 .IP \[bu] 2 1957 \f[C]lsl\f[R] to list modification time, size and path of objects only 1958 .IP \[bu] 2 1959 \f[C]lsd\f[R] to list directories only 1960 .IP \[bu] 2 1961 \f[C]lsf\f[R] to list objects and directories in easy to parse format 1962 .IP \[bu] 2 1963 \f[C]lsjson\f[R] to list objects and directories in JSON format 1964 .PP 1965 \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be 1966 human-readable. 1967 \f[C]lsf\f[R] is designed to be human and machine-readable. 1968 \f[C]lsjson\f[R] is designed to be machine-readable. 1969 .PP 1970 Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use 1971 \f[C]--max-depth 1\f[R] to stop the recursion. 1972 .PP 1973 The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do 1974 not recurse by default - use \f[C]-R\f[R] to make them recurse. 1975 .PP 1976 Listing a nonexistent directory will produce an error except for remotes 1977 which can\[aq]t have empty directories (e.g. 1978 s3, swift, or gcs - the bucket-based remotes). 1979 .IP 1980 .nf 1981 \f[C] 1982 rclone lsl remote:path [flags] 1983 \f[R] 1984 .fi 1985 .SS Options 1986 .IP 1987 .nf 1988 \f[C] 1989 -h, --help help for lsl 1990 \f[R] 1991 .fi 1992 .PP 1993 See the global flags page (https://rclone.org/flags/) for global options 1994 not listed here. 1995 .SS SEE ALSO 1996 .IP \[bu] 2 1997 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 1998 commands, flags and backends. 1999 .SH rclone md5sum 2000 .PP 2001 Produces an md5sum file for all the objects in the path. 2002 .SS Synopsis 2003 .PP 2004 Produces an md5sum file for all the objects in the path. 2005 This is in the same format as the standard md5sum tool produces. 2006 .PP 2007 By default, the hash is requested from the remote. 2008 If MD5 is not supported by the remote, no hash will be returned. 2009 With the download flag, the file will be downloaded from the remote and 2010 hashed locally enabling MD5 for any remote. 2011 .PP 2012 For other algorithms, see the 2013 hashsum (https://rclone.org/commands/rclone_hashsum/) command. 2014 Running \f[C]rclone md5sum remote:path\f[R] is equivalent to running 2015 \f[C]rclone hashsum MD5 remote:path\f[R]. 2016 .PP 2017 This command can also hash data received on standard input (stdin), by 2018 not passing a remote:path, or by passing a hyphen as remote:path when 2019 there is data to read (if not, the hyphen will be treated literally, as 2020 a relative path). 2021 .IP 2022 .nf 2023 \f[C] 2024 rclone md5sum remote:path [flags] 2025 \f[R] 2026 .fi 2027 .SS Options 2028 .IP 2029 .nf 2030 \f[C] 2031 --base64 Output base64 encoded hashsum 2032 -C, --checkfile string Validate hashes against a given SUM file instead of printing them 2033 --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote 2034 -h, --help help for md5sum 2035 --output-file string Output hashsums to a file rather than the terminal 2036 \f[R] 2037 .fi 2038 .PP 2039 See the global flags page (https://rclone.org/flags/) for global options 2040 not listed here. 2041 .SS SEE ALSO 2042 .IP \[bu] 2 2043 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2044 commands, flags and backends. 2045 .SH rclone sha1sum 2046 .PP 2047 Produces an sha1sum file for all the objects in the path. 2048 .SS Synopsis 2049 .PP 2050 Produces an sha1sum file for all the objects in the path. 2051 This is in the same format as the standard sha1sum tool produces. 2052 .PP 2053 By default, the hash is requested from the remote. 2054 If SHA-1 is not supported by the remote, no hash will be returned. 2055 With the download flag, the file will be downloaded from the remote and 2056 hashed locally enabling SHA-1 for any remote. 2057 .PP 2058 For other algorithms, see the 2059 hashsum (https://rclone.org/commands/rclone_hashsum/) command. 2060 Running \f[C]rclone sha1sum remote:path\f[R] is equivalent to running 2061 \f[C]rclone hashsum SHA1 remote:path\f[R]. 2062 .PP 2063 This command can also hash data received on standard input (stdin), by 2064 not passing a remote:path, or by passing a hyphen as remote:path when 2065 there is data to read (if not, the hyphen will be treated literally, as 2066 a relative path). 2067 .PP 2068 This command can also hash data received on STDIN, if not passing a 2069 remote:path. 2070 .IP 2071 .nf 2072 \f[C] 2073 rclone sha1sum remote:path [flags] 2074 \f[R] 2075 .fi 2076 .SS Options 2077 .IP 2078 .nf 2079 \f[C] 2080 --base64 Output base64 encoded hashsum 2081 -C, --checkfile string Validate hashes against a given SUM file instead of printing them 2082 --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote 2083 -h, --help help for sha1sum 2084 --output-file string Output hashsums to a file rather than the terminal 2085 \f[R] 2086 .fi 2087 .PP 2088 See the global flags page (https://rclone.org/flags/) for global options 2089 not listed here. 2090 .SS SEE ALSO 2091 .IP \[bu] 2 2092 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2093 commands, flags and backends. 2094 .SH rclone size 2095 .PP 2096 Prints the total size and number of objects in remote:path. 2097 .SS Synopsis 2098 .PP 2099 Counts objects in the path and calculates the total size. 2100 Prints the result to standard output. 2101 .PP 2102 By default the output is in human-readable format, but shows values in 2103 both human-readable format as well as the raw numbers (global option 2104 \f[C]--human-readable\f[R] is not considered). 2105 Use option \f[C]--json\f[R] to format output as JSON instead. 2106 .PP 2107 Recurses by default, use \f[C]--max-depth 1\f[R] to stop the recursion. 2108 .PP 2109 Some backends do not always provide file sizes, see for example Google 2110 Photos (https://rclone.org/googlephotos/#size) and Google 2111 Docs (https://rclone.org/drive/#limitations-of-google-docs). 2112 Rclone will then show a notice in the log indicating how many such files 2113 were encountered, and count them in as empty files in the output of the 2114 size command. 2115 .IP 2116 .nf 2117 \f[C] 2118 rclone size remote:path [flags] 2119 \f[R] 2120 .fi 2121 .SS Options 2122 .IP 2123 .nf 2124 \f[C] 2125 -h, --help help for size 2126 --json Format output as JSON 2127 \f[R] 2128 .fi 2129 .PP 2130 See the global flags page (https://rclone.org/flags/) for global options 2131 not listed here. 2132 .SS SEE ALSO 2133 .IP \[bu] 2 2134 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2135 commands, flags and backends. 2136 .SH rclone version 2137 .PP 2138 Show the version number. 2139 .SS Synopsis 2140 .PP 2141 Show the rclone version number, the go version, the build target OS and 2142 architecture, the runtime OS and kernel version and bitness, build tags 2143 and the type of executable (static or dynamic). 2144 .PP 2145 For example: 2146 .IP 2147 .nf 2148 \f[C] 2149 $ rclone version 2150 rclone v1.55.0 2151 - os/version: ubuntu 18.04 (64 bit) 2152 - os/kernel: 4.15.0-136-generic (x86_64) 2153 - os/type: linux 2154 - os/arch: amd64 2155 - go/version: go1.16 2156 - go/linking: static 2157 - go/tags: none 2158 \f[R] 2159 .fi 2160 .PP 2161 Note: before rclone version 1.55 the os/type and os/arch lines were 2162 merged, and the \[dq]go/version\[dq] line was tagged as \[dq]go 2163 version\[dq]. 2164 .PP 2165 If you supply the --check flag, then it will do an online check to 2166 compare your version with the latest release and the latest beta. 2167 .IP 2168 .nf 2169 \f[C] 2170 $ rclone version --check 2171 yours: 1.42.0.6 2172 latest: 1.42 (released 2018-06-16) 2173 beta: 1.42.0.5 (released 2018-06-17) 2174 \f[R] 2175 .fi 2176 .PP 2177 Or 2178 .IP 2179 .nf 2180 \f[C] 2181 $ rclone version --check 2182 yours: 1.41 2183 latest: 1.42 (released 2018-06-16) 2184 upgrade: https://downloads.rclone.org/v1.42 2185 beta: 1.42.0.5 (released 2018-06-17) 2186 upgrade: https://beta.rclone.org/v1.42-005-g56e1e820 2187 \f[R] 2188 .fi 2189 .IP 2190 .nf 2191 \f[C] 2192 rclone version [flags] 2193 \f[R] 2194 .fi 2195 .SS Options 2196 .IP 2197 .nf 2198 \f[C] 2199 --check Check for new version 2200 -h, --help help for version 2201 \f[R] 2202 .fi 2203 .PP 2204 See the global flags page (https://rclone.org/flags/) for global options 2205 not listed here. 2206 .SS SEE ALSO 2207 .IP \[bu] 2 2208 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2209 commands, flags and backends. 2210 .SH rclone cleanup 2211 .PP 2212 Clean up the remote if possible. 2213 .SS Synopsis 2214 .PP 2215 Clean up the remote if possible. 2216 Empty the trash or delete old file versions. 2217 Not supported by all remotes. 2218 .IP 2219 .nf 2220 \f[C] 2221 rclone cleanup remote:path [flags] 2222 \f[R] 2223 .fi 2224 .SS Options 2225 .IP 2226 .nf 2227 \f[C] 2228 -h, --help help for cleanup 2229 \f[R] 2230 .fi 2231 .PP 2232 See the global flags page (https://rclone.org/flags/) for global options 2233 not listed here. 2234 .SS SEE ALSO 2235 .IP \[bu] 2 2236 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2237 commands, flags and backends. 2238 .SH rclone dedupe 2239 .PP 2240 Interactively find duplicate filenames and delete/rename them. 2241 .SS Synopsis 2242 .PP 2243 By default \f[C]dedupe\f[R] interactively finds files with duplicate 2244 names and offers to delete all but one or rename them to be different. 2245 This is known as deduping by name. 2246 .PP 2247 Deduping by name is only useful with a small group of backends (e.g. 2248 Google Drive, Opendrive) that can have duplicate file names. 2249 It can be run on wrapping backends (e.g. 2250 crypt) if they wrap a backend which supports duplicate file names. 2251 .PP 2252 However if \f[C]--by-hash\f[R] is passed in then dedupe will find files 2253 with duplicate hashes instead which will work on any backend which 2254 supports at least one hash. 2255 This can be used to find files with duplicate content. 2256 This is known as deduping by hash. 2257 .PP 2258 If deduping by name, first rclone will merge directories with the same 2259 name. 2260 It will do this iteratively until all the identically named directories 2261 have been merged. 2262 .PP 2263 Next, if deduping by name, for every group of duplicate file names / 2264 hashes, it will delete all but one identical file it finds without 2265 confirmation. 2266 This means that for most duplicated files the \f[C]dedupe\f[R] command 2267 will not be interactive. 2268 .PP 2269 \f[C]dedupe\f[R] considers files to be identical if they have the same 2270 file path and the same hash. 2271 If the backend does not support hashes (e.g. 2272 crypt wrapping Google Drive) then they will never be found to be 2273 identical. 2274 If you use the \f[C]--size-only\f[R] flag then files will be considered 2275 identical if they have the same size (any hash will be ignored). 2276 This can be useful on crypt backends which do not support hashes. 2277 .PP 2278 Next rclone will resolve the remaining duplicates. 2279 Exactly which action is taken depends on the dedupe mode. 2280 By default, rclone will interactively query the user for each one. 2281 .PP 2282 \f[B]Important\f[R]: Since this can cause data loss, test first with the 2283 \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 2284 .PP 2285 Here is an example run. 2286 .PP 2287 Before - with duplicates 2288 .IP 2289 .nf 2290 \f[C] 2291 $ rclone lsl drive:dupes 2292 6048320 2016-03-05 16:23:16.798000000 one.txt 2293 6048320 2016-03-05 16:23:11.775000000 one.txt 2294 564374 2016-03-05 16:23:06.731000000 one.txt 2295 6048320 2016-03-05 16:18:26.092000000 one.txt 2296 6048320 2016-03-05 16:22:46.185000000 two.txt 2297 1744073 2016-03-05 16:22:38.104000000 two.txt 2298 564374 2016-03-05 16:22:52.118000000 two.txt 2299 \f[R] 2300 .fi 2301 .PP 2302 Now the \f[C]dedupe\f[R] session 2303 .IP 2304 .nf 2305 \f[C] 2306 $ rclone dedupe drive:dupes 2307 2016/03/05 16:24:37 Google drive root \[aq]dupes\[aq]: Looking for duplicates using interactive mode. 2308 one.txt: Found 4 files with duplicate names 2309 one.txt: Deleting 2/3 identical duplicates (MD5 \[dq]1eedaa9fe86fd4b8632e2ac549403b36\[dq]) 2310 one.txt: 2 duplicates remain 2311 1: 6048320 bytes, 2016-03-05 16:23:16.798000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36 2312 2: 564374 bytes, 2016-03-05 16:23:06.731000000, MD5 7594e7dc9fc28f727c42ee3e0749de81 2313 s) Skip and do nothing 2314 k) Keep just one (choose which in next step) 2315 r) Rename all to be different (by changing file.jpg to file-1.jpg) 2316 s/k/r> k 2317 Enter the number of the file to keep> 1 2318 one.txt: Deleted 1 extra copies 2319 two.txt: Found 3 files with duplicate names 2320 two.txt: 3 duplicates remain 2321 1: 564374 bytes, 2016-03-05 16:22:52.118000000, MD5 7594e7dc9fc28f727c42ee3e0749de81 2322 2: 6048320 bytes, 2016-03-05 16:22:46.185000000, MD5 1eedaa9fe86fd4b8632e2ac549403b36 2323 3: 1744073 bytes, 2016-03-05 16:22:38.104000000, MD5 851957f7fb6f0bc4ce76be966d336802 2324 s) Skip and do nothing 2325 k) Keep just one (choose which in next step) 2326 r) Rename all to be different (by changing file.jpg to file-1.jpg) 2327 s/k/r> r 2328 two-1.txt: renamed from: two.txt 2329 two-2.txt: renamed from: two.txt 2330 two-3.txt: renamed from: two.txt 2331 \f[R] 2332 .fi 2333 .PP 2334 The result being 2335 .IP 2336 .nf 2337 \f[C] 2338 $ rclone lsl drive:dupes 2339 6048320 2016-03-05 16:23:16.798000000 one.txt 2340 564374 2016-03-05 16:22:52.118000000 two-1.txt 2341 6048320 2016-03-05 16:22:46.185000000 two-2.txt 2342 1744073 2016-03-05 16:22:38.104000000 two-3.txt 2343 \f[R] 2344 .fi 2345 .PP 2346 Dedupe can be run non interactively using the \f[C]--dedupe-mode\f[R] 2347 flag or by using an extra parameter with the same value 2348 .IP \[bu] 2 2349 \f[C]--dedupe-mode interactive\f[R] - interactive as above. 2350 .IP \[bu] 2 2351 \f[C]--dedupe-mode skip\f[R] - removes identical files then skips 2352 anything left. 2353 .IP \[bu] 2 2354 \f[C]--dedupe-mode first\f[R] - removes identical files then keeps the 2355 first one. 2356 .IP \[bu] 2 2357 \f[C]--dedupe-mode newest\f[R] - removes identical files then keeps the 2358 newest one. 2359 .IP \[bu] 2 2360 \f[C]--dedupe-mode oldest\f[R] - removes identical files then keeps the 2361 oldest one. 2362 .IP \[bu] 2 2363 \f[C]--dedupe-mode largest\f[R] - removes identical files then keeps the 2364 largest one. 2365 .IP \[bu] 2 2366 \f[C]--dedupe-mode smallest\f[R] - removes identical files then keeps 2367 the smallest one. 2368 .IP \[bu] 2 2369 \f[C]--dedupe-mode rename\f[R] - removes identical files then renames 2370 the rest to be different. 2371 .IP \[bu] 2 2372 \f[C]--dedupe-mode list\f[R] - lists duplicate dirs and files only and 2373 changes nothing. 2374 .PP 2375 For example, to rename all the identically named photos in your Google 2376 Photos directory, do 2377 .IP 2378 .nf 2379 \f[C] 2380 rclone dedupe --dedupe-mode rename \[dq]drive:Google Photos\[dq] 2381 \f[R] 2382 .fi 2383 .PP 2384 Or 2385 .IP 2386 .nf 2387 \f[C] 2388 rclone dedupe rename \[dq]drive:Google Photos\[dq] 2389 \f[R] 2390 .fi 2391 .IP 2392 .nf 2393 \f[C] 2394 rclone dedupe [mode] remote:path [flags] 2395 \f[R] 2396 .fi 2397 .SS Options 2398 .IP 2399 .nf 2400 \f[C] 2401 --by-hash Find identical hashes rather than names 2402 --dedupe-mode string Dedupe mode interactive|skip|first|newest|oldest|largest|smallest|rename (default \[dq]interactive\[dq]) 2403 -h, --help help for dedupe 2404 \f[R] 2405 .fi 2406 .PP 2407 See the global flags page (https://rclone.org/flags/) for global options 2408 not listed here. 2409 .SS SEE ALSO 2410 .IP \[bu] 2 2411 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2412 commands, flags and backends. 2413 .SH rclone about 2414 .PP 2415 Get quota information from the remote. 2416 .SS Synopsis 2417 .PP 2418 \f[C]rclone about\f[R] prints quota information about a remote to 2419 standard output. 2420 The output is typically used, free, quota and trash contents. 2421 .PP 2422 E.g. 2423 Typical output from \f[C]rclone about remote:\f[R] is: 2424 .IP 2425 .nf 2426 \f[C] 2427 Total: 17 GiB 2428 Used: 7.444 GiB 2429 Free: 1.315 GiB 2430 Trashed: 100.000 MiB 2431 Other: 8.241 GiB 2432 \f[R] 2433 .fi 2434 .PP 2435 Where the fields are: 2436 .IP \[bu] 2 2437 Total: Total size available. 2438 .IP \[bu] 2 2439 Used: Total size used. 2440 .IP \[bu] 2 2441 Free: Total space available to this user. 2442 .IP \[bu] 2 2443 Trashed: Total space used by trash. 2444 .IP \[bu] 2 2445 Other: Total amount in other storage (e.g. 2446 Gmail, Google Photos). 2447 .IP \[bu] 2 2448 Objects: Total number of objects in the storage. 2449 .PP 2450 All sizes are in number of bytes. 2451 .PP 2452 Applying a \f[C]--full\f[R] flag to the command prints the bytes in 2453 full, e.g. 2454 .IP 2455 .nf 2456 \f[C] 2457 Total: 18253611008 2458 Used: 7993453766 2459 Free: 1411001220 2460 Trashed: 104857602 2461 Other: 8849156022 2462 \f[R] 2463 .fi 2464 .PP 2465 A \f[C]--json\f[R] flag generates conveniently machine-readable output, 2466 e.g. 2467 .IP 2468 .nf 2469 \f[C] 2470 { 2471 \[dq]total\[dq]: 18253611008, 2472 \[dq]used\[dq]: 7993453766, 2473 \[dq]trashed\[dq]: 104857602, 2474 \[dq]other\[dq]: 8849156022, 2475 \[dq]free\[dq]: 1411001220 2476 } 2477 \f[R] 2478 .fi 2479 .PP 2480 Not all backends print all fields. 2481 Information is not included if it is not provided by a backend. 2482 Where the value is unlimited it is omitted. 2483 .PP 2484 Some backends does not support the \f[C]rclone about\f[R] command at 2485 all, see complete list in 2486 documentation (https://rclone.org/overview/#optional-features). 2487 .IP 2488 .nf 2489 \f[C] 2490 rclone about remote: [flags] 2491 \f[R] 2492 .fi 2493 .SS Options 2494 .IP 2495 .nf 2496 \f[C] 2497 --full Full numbers instead of human-readable 2498 -h, --help help for about 2499 --json Format output as JSON 2500 \f[R] 2501 .fi 2502 .PP 2503 See the global flags page (https://rclone.org/flags/) for global options 2504 not listed here. 2505 .SS SEE ALSO 2506 .IP \[bu] 2 2507 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2508 commands, flags and backends. 2509 .SH rclone authorize 2510 .PP 2511 Remote authorization. 2512 .SS Synopsis 2513 .PP 2514 Remote authorization. 2515 Used to authorize a remote or headless rclone from a machine with a 2516 browser - use as instructed by rclone config. 2517 .PP 2518 Use --auth-no-open-browser to prevent rclone to open auth link in 2519 default browser automatically. 2520 .PP 2521 Use --template to generate HTML output via a custom Go template. 2522 If a blank string is provided as an argument to this flag, the default 2523 template is used. 2524 .IP 2525 .nf 2526 \f[C] 2527 rclone authorize [flags] 2528 \f[R] 2529 .fi 2530 .SS Options 2531 .IP 2532 .nf 2533 \f[C] 2534 --auth-no-open-browser Do not automatically open auth link in default browser 2535 -h, --help help for authorize 2536 --template string The path to a custom Go template for generating HTML responses 2537 \f[R] 2538 .fi 2539 .PP 2540 See the global flags page (https://rclone.org/flags/) for global options 2541 not listed here. 2542 .SS SEE ALSO 2543 .IP \[bu] 2 2544 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2545 commands, flags and backends. 2546 .SH rclone backend 2547 .PP 2548 Run a backend-specific command. 2549 .SS Synopsis 2550 .PP 2551 This runs a backend-specific command. 2552 The commands themselves (except for \[dq]help\[dq] and 2553 \[dq]features\[dq]) are defined by the backends and you should see the 2554 backend docs for definitions. 2555 .PP 2556 You can discover what commands a backend implements by using 2557 .IP 2558 .nf 2559 \f[C] 2560 rclone backend help remote: 2561 rclone backend help <backendname> 2562 \f[R] 2563 .fi 2564 .PP 2565 You can also discover information about the backend using (see 2566 operations/fsinfo (https://rclone.org/rc/#operations-fsinfo) in the 2567 remote control docs for more info). 2568 .IP 2569 .nf 2570 \f[C] 2571 rclone backend features remote: 2572 \f[R] 2573 .fi 2574 .PP 2575 Pass options to the backend command with -o. 2576 This should be key=value or key, e.g.: 2577 .IP 2578 .nf 2579 \f[C] 2580 rclone backend stats remote:path stats -o format=json -o long 2581 \f[R] 2582 .fi 2583 .PP 2584 Pass arguments to the backend by placing them on the end of the line 2585 .IP 2586 .nf 2587 \f[C] 2588 rclone backend cleanup remote:path file1 file2 file3 2589 \f[R] 2590 .fi 2591 .PP 2592 Note to run these commands on a running backend then see 2593 backend/command (https://rclone.org/rc/#backend-command) in the rc docs. 2594 .IP 2595 .nf 2596 \f[C] 2597 rclone backend <command> remote:path [opts] <args> [flags] 2598 \f[R] 2599 .fi 2600 .SS Options 2601 .IP 2602 .nf 2603 \f[C] 2604 -h, --help help for backend 2605 --json Always output in JSON format 2606 -o, --option stringArray Option in the form name=value or name 2607 \f[R] 2608 .fi 2609 .PP 2610 See the global flags page (https://rclone.org/flags/) for global options 2611 not listed here. 2612 .SS SEE ALSO 2613 .IP \[bu] 2 2614 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2615 commands, flags and backends. 2616 .SH rclone bisync 2617 .PP 2618 Perform bidirectional synchronization between two paths. 2619 .SS Synopsis 2620 .PP 2621 Perform bidirectional synchronization between two paths. 2622 .PP 2623 Bisync (https://rclone.org/bisync/) provides a bidirectional cloud sync 2624 solution in rclone. 2625 It retains the Path1 and Path2 filesystem listings from the prior run. 2626 On each successive run it will: - list files on Path1 and Path2, and 2627 check for changes on each side. 2628 Changes include \f[C]New\f[R], \f[C]Newer\f[R], \f[C]Older\f[R], and 2629 \f[C]Deleted\f[R] files. 2630 - Propagate changes on Path1 to Path2, and vice-versa. 2631 .PP 2632 See full bisync description (https://rclone.org/bisync/) for details. 2633 .IP 2634 .nf 2635 \f[C] 2636 rclone bisync remote1:path1 remote2:path2 [flags] 2637 \f[R] 2638 .fi 2639 .SS Options 2640 .IP 2641 .nf 2642 \f[C] 2643 --check-access Ensure expected RCLONE_TEST files are found on both Path1 and Path2 filesystems, else abort. 2644 --check-filename string Filename for --check-access (default: RCLONE_TEST) 2645 --check-sync string Controls comparison of final listings: true|false|only (default: true) (default \[dq]true\[dq]) 2646 --filters-file string Read filtering patterns from a file 2647 --force Bypass --max-delete safety check and run the sync. Consider using with --verbose 2648 -h, --help help for bisync 2649 --localtime Use local time in listings (default: UTC) 2650 --no-cleanup Retain working files (useful for troubleshooting and testing). 2651 --remove-empty-dirs Remove empty directories at the final cleanup step. 2652 -1, --resync Performs the resync run. Path1 files may overwrite Path2 versions. Consider using --verbose or --dry-run first. 2653 --workdir string Use custom working dir - useful for testing. (default: $HOME/.cache/rclone/bisync) 2654 \f[R] 2655 .fi 2656 .PP 2657 See the global flags page (https://rclone.org/flags/) for global options 2658 not listed here. 2659 .SS SEE ALSO 2660 .IP \[bu] 2 2661 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2662 commands, flags and backends. 2663 .SH rclone cat 2664 .PP 2665 Concatenates any files and sends them to stdout. 2666 .SS Synopsis 2667 .PP 2668 rclone cat sends any files to standard output. 2669 .PP 2670 You can use it like this to output a single file 2671 .IP 2672 .nf 2673 \f[C] 2674 rclone cat remote:path/to/file 2675 \f[R] 2676 .fi 2677 .PP 2678 Or like this to output any file in dir or its subdirectories. 2679 .IP 2680 .nf 2681 \f[C] 2682 rclone cat remote:path/to/dir 2683 \f[R] 2684 .fi 2685 .PP 2686 Or like this to output any .txt files in dir or its subdirectories. 2687 .IP 2688 .nf 2689 \f[C] 2690 rclone --include \[dq]*.txt\[dq] cat remote:path/to/dir 2691 \f[R] 2692 .fi 2693 .PP 2694 Use the \f[C]--head\f[R] flag to print characters only at the start, 2695 \f[C]--tail\f[R] for the end and \f[C]--offset\f[R] and 2696 \f[C]--count\f[R] to print a section in the middle. 2697 Note that if offset is negative it will count from the end, so 2698 \f[C]--offset -1 --count 1\f[R] is equivalent to \f[C]--tail 1\f[R]. 2699 .PP 2700 Use the \f[C]--separator\f[R] flag to print a separator value between 2701 files. 2702 Be sure to shell-escape special characters. 2703 For example, to print a newline between files, use: 2704 .IP \[bu] 2 2705 bash: 2706 .RS 2 2707 .IP 2708 .nf 2709 \f[C] 2710 rclone --include \[dq]*.txt\[dq] --separator $\[aq]\[rs]n\[aq] cat remote:path/to/dir 2711 \f[R] 2712 .fi 2713 .RE 2714 .IP \[bu] 2 2715 powershell: 2716 .RS 2 2717 .IP 2718 .nf 2719 \f[C] 2720 rclone --include \[dq]*.txt\[dq] --separator \[dq]\[ga]n\[dq] cat remote:path/to/dir 2721 \f[R] 2722 .fi 2723 .RE 2724 .IP 2725 .nf 2726 \f[C] 2727 rclone cat remote:path [flags] 2728 \f[R] 2729 .fi 2730 .SS Options 2731 .IP 2732 .nf 2733 \f[C] 2734 --count int Only print N characters (default -1) 2735 --discard Discard the output instead of printing 2736 --head int Only print the first N characters 2737 -h, --help help for cat 2738 --offset int Start printing at offset N (or from end if -ve) 2739 --separator string Separator to use between objects when printing multiple files 2740 --tail int Only print the last N characters 2741 \f[R] 2742 .fi 2743 .PP 2744 See the global flags page (https://rclone.org/flags/) for global options 2745 not listed here. 2746 .SS SEE ALSO 2747 .IP \[bu] 2 2748 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2749 commands, flags and backends. 2750 .SH rclone checksum 2751 .PP 2752 Checks the files in the source against a SUM file. 2753 .SS Synopsis 2754 .PP 2755 Checks that hashsums of source files match the SUM file. 2756 It compares hashes (MD5, SHA1, etc) and logs a report of files which 2757 don\[aq]t match. 2758 It doesn\[aq]t alter the file system. 2759 .PP 2760 If you supply the \f[C]--download\f[R] flag, it will download the data 2761 from remote and calculate the contents hash on the fly. 2762 This can be useful for remotes that don\[aq]t support hashes or if you 2763 really want to check all the data. 2764 .PP 2765 Note that hash values in the SUM file are treated as case insensitive. 2766 .PP 2767 If you supply the \f[C]--one-way\f[R] flag, it will only check that 2768 files in the source match the files in the destination, not the other 2769 way around. 2770 This means that extra files in the destination that are not in the 2771 source will not be detected. 2772 .PP 2773 The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R], 2774 \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R] 2775 flags write paths, one per line, to the file name (or stdout if it is 2776 \f[C]-\f[R]) supplied. 2777 What they write is described in the help below. 2778 For example \f[C]--differ\f[R] will write all paths which are present on 2779 both the source and destination but different. 2780 .PP 2781 The \f[C]--combined\f[R] flag will write a file (or stdout) which 2782 contains all file paths with a symbol and then a space and then the path 2783 to tell you what happened to it. 2784 These are reminiscent of diff files. 2785 .IP \[bu] 2 2786 \f[C]= path\f[R] means path was found in source and destination and was 2787 identical 2788 .IP \[bu] 2 2789 \[ga]- path\[ga] means path was missing on the source, so only in the 2790 destination 2791 .IP \[bu] 2 2792 \[ga]+ path\[ga] means path was missing on the destination, so only in 2793 the source 2794 .IP \[bu] 2 2795 \[ga]* path\[ga] means path was present in source and destination but 2796 different. 2797 .IP \[bu] 2 2798 \f[C]! path\f[R] means there was an error reading or hashing the source 2799 or dest. 2800 .PP 2801 The default number of parallel checks is 8. 2802 See the --checkers=N (https://rclone.org/docs/#checkers-n) option for 2803 more information. 2804 .IP 2805 .nf 2806 \f[C] 2807 rclone checksum <hash> sumfile src:path [flags] 2808 \f[R] 2809 .fi 2810 .SS Options 2811 .IP 2812 .nf 2813 \f[C] 2814 --combined string Make a combined report of changes to this file 2815 --differ string Report all non-matching files to this file 2816 --download Check by hashing the contents 2817 --error string Report all files with errors (hashing or reading) to this file 2818 -h, --help help for checksum 2819 --match string Report all matching files to this file 2820 --missing-on-dst string Report all files missing from the destination to this file 2821 --missing-on-src string Report all files missing from the source to this file 2822 --one-way Check one way only, source files must exist on remote 2823 \f[R] 2824 .fi 2825 .PP 2826 See the global flags page (https://rclone.org/flags/) for global options 2827 not listed here. 2828 .SS SEE ALSO 2829 .IP \[bu] 2 2830 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2831 commands, flags and backends. 2832 .SH rclone completion 2833 .PP 2834 Output completion script for a given shell. 2835 .SS Synopsis 2836 .PP 2837 Generates a shell completion script for rclone. 2838 Run with \f[C]--help\f[R] to list the supported shells. 2839 .SS Options 2840 .IP 2841 .nf 2842 \f[C] 2843 -h, --help help for completion 2844 \f[R] 2845 .fi 2846 .PP 2847 See the global flags page (https://rclone.org/flags/) for global options 2848 not listed here. 2849 .SS SEE ALSO 2850 .IP \[bu] 2 2851 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 2852 commands, flags and backends. 2853 .IP \[bu] 2 2854 rclone completion 2855 bash (https://rclone.org/commands/rclone_completion_bash/) - Output bash 2856 completion script for rclone. 2857 .IP \[bu] 2 2858 rclone completion 2859 fish (https://rclone.org/commands/rclone_completion_fish/) - Output fish 2860 completion script for rclone. 2861 .IP \[bu] 2 2862 rclone completion 2863 zsh (https://rclone.org/commands/rclone_completion_zsh/) - Output zsh 2864 completion script for rclone. 2865 .SH rclone completion bash 2866 .PP 2867 Output bash completion script for rclone. 2868 .SS Synopsis 2869 .PP 2870 Generates a bash shell autocompletion script for rclone. 2871 .PP 2872 This writes to /etc/bash_completion.d/rclone by default so will probably 2873 need to be run with sudo or as root, e.g. 2874 .IP 2875 .nf 2876 \f[C] 2877 sudo rclone genautocomplete bash 2878 \f[R] 2879 .fi 2880 .PP 2881 Logout and login again to use the autocompletion scripts, or source them 2882 directly 2883 .IP 2884 .nf 2885 \f[C] 2886 \&. /etc/bash_completion 2887 \f[R] 2888 .fi 2889 .PP 2890 If you supply a command line argument the script will be written there. 2891 .PP 2892 If output_file is \[dq]-\[dq], then the output will be written to 2893 stdout. 2894 .IP 2895 .nf 2896 \f[C] 2897 rclone completion bash [output_file] [flags] 2898 \f[R] 2899 .fi 2900 .SS Options 2901 .IP 2902 .nf 2903 \f[C] 2904 -h, --help help for bash 2905 \f[R] 2906 .fi 2907 .PP 2908 See the global flags page (https://rclone.org/flags/) for global options 2909 not listed here. 2910 .SS SEE ALSO 2911 .IP \[bu] 2 2912 rclone completion (https://rclone.org/commands/rclone_completion/) - 2913 Output completion script for a given shell. 2914 .SH rclone completion fish 2915 .PP 2916 Output fish completion script for rclone. 2917 .SS Synopsis 2918 .PP 2919 Generates a fish autocompletion script for rclone. 2920 .PP 2921 This writes to /etc/fish/completions/rclone.fish by default so will 2922 probably need to be run with sudo or as root, e.g. 2923 .IP 2924 .nf 2925 \f[C] 2926 sudo rclone genautocomplete fish 2927 \f[R] 2928 .fi 2929 .PP 2930 Logout and login again to use the autocompletion scripts, or source them 2931 directly 2932 .IP 2933 .nf 2934 \f[C] 2935 \&. /etc/fish/completions/rclone.fish 2936 \f[R] 2937 .fi 2938 .PP 2939 If you supply a command line argument the script will be written there. 2940 .PP 2941 If output_file is \[dq]-\[dq], then the output will be written to 2942 stdout. 2943 .IP 2944 .nf 2945 \f[C] 2946 rclone completion fish [output_file] [flags] 2947 \f[R] 2948 .fi 2949 .SS Options 2950 .IP 2951 .nf 2952 \f[C] 2953 -h, --help help for fish 2954 \f[R] 2955 .fi 2956 .PP 2957 See the global flags page (https://rclone.org/flags/) for global options 2958 not listed here. 2959 .SS SEE ALSO 2960 .IP \[bu] 2 2961 rclone completion (https://rclone.org/commands/rclone_completion/) - 2962 Output completion script for a given shell. 2963 .SH rclone completion powershell 2964 .PP 2965 Generate the autocompletion script for powershell 2966 .SH Synopsis 2967 .PP 2968 Generate the autocompletion script for powershell. 2969 .PP 2970 To load completions in your current shell session: 2971 .IP 2972 .nf 2973 \f[C] 2974 rclone completion powershell | Out-String | Invoke-Expression 2975 \f[R] 2976 .fi 2977 .PP 2978 To load completions for every new session, add the output of the above 2979 command to your powershell profile. 2980 .IP 2981 .nf 2982 \f[C] 2983 rclone completion powershell [flags] 2984 \f[R] 2985 .fi 2986 .SH Options 2987 .IP 2988 .nf 2989 \f[C] 2990 -h, --help help for powershell 2991 --no-descriptions disable completion descriptions 2992 \f[R] 2993 .fi 2994 .PP 2995 See the global flags page (https://rclone.org/flags/) for global options 2996 not listed here. 2997 .SH SEE ALSO 2998 .IP \[bu] 2 2999 rclone completion (https://rclone.org/commands/rclone_completion/) - 3000 Generate the autocompletion script for the specified shell 3001 .SH rclone completion zsh 3002 .PP 3003 Output zsh completion script for rclone. 3004 .SS Synopsis 3005 .PP 3006 Generates a zsh autocompletion script for rclone. 3007 .PP 3008 This writes to /usr/share/zsh/vendor-completions/_rclone by default so 3009 will probably need to be run with sudo or as root, e.g. 3010 .IP 3011 .nf 3012 \f[C] 3013 sudo rclone genautocomplete zsh 3014 \f[R] 3015 .fi 3016 .PP 3017 Logout and login again to use the autocompletion scripts, or source them 3018 directly 3019 .IP 3020 .nf 3021 \f[C] 3022 autoload -U compinit && compinit 3023 \f[R] 3024 .fi 3025 .PP 3026 If you supply a command line argument the script will be written there. 3027 .PP 3028 If output_file is \[dq]-\[dq], then the output will be written to 3029 stdout. 3030 .IP 3031 .nf 3032 \f[C] 3033 rclone completion zsh [output_file] [flags] 3034 \f[R] 3035 .fi 3036 .SS Options 3037 .IP 3038 .nf 3039 \f[C] 3040 -h, --help help for zsh 3041 \f[R] 3042 .fi 3043 .PP 3044 See the global flags page (https://rclone.org/flags/) for global options 3045 not listed here. 3046 .SS SEE ALSO 3047 .IP \[bu] 2 3048 rclone completion (https://rclone.org/commands/rclone_completion/) - 3049 Output completion script for a given shell. 3050 .SH rclone config create 3051 .PP 3052 Create a new remote with name, type and options. 3053 .SS Synopsis 3054 .PP 3055 Create a new remote of \f[C]name\f[R] with \f[C]type\f[R] and options. 3056 The options should be passed in pairs of \f[C]key\f[R] \f[C]value\f[R] 3057 or as \f[C]key=value\f[R]. 3058 .PP 3059 For example, to make a swift remote of name myremote using auto config 3060 you would do: 3061 .IP 3062 .nf 3063 \f[C] 3064 rclone config create myremote swift env_auth true 3065 rclone config create myremote swift env_auth=true 3066 \f[R] 3067 .fi 3068 .PP 3069 So for example if you wanted to configure a Google Drive remote but 3070 using remote authorization you would do this: 3071 .IP 3072 .nf 3073 \f[C] 3074 rclone config create mydrive drive config_is_local=false 3075 \f[R] 3076 .fi 3077 .PP 3078 Note that if the config process would normally ask a question the 3079 default is taken (unless \f[C]--non-interactive\f[R] is used). 3080 Each time that happens rclone will print or DEBUG a message saying how 3081 to affect the value taken. 3082 .PP 3083 If any of the parameters passed is a password field, then rclone will 3084 automatically obscure them if they aren\[aq]t already obscured before 3085 putting them in the config file. 3086 .PP 3087 \f[B]NB\f[R] If the password parameter is 22 characters or longer and 3088 consists only of base64 characters then rclone can get confused about 3089 whether the password is already obscured or not and put unobscured 3090 passwords into the config file. 3091 If you want to be 100% certain that the passwords get obscured then use 3092 the \f[C]--obscure\f[R] flag, or if you are 100% certain you are already 3093 passing obscured passwords then use \f[C]--no-obscure\f[R]. 3094 You can also set obscured passwords using the 3095 \f[C]rclone config password\f[R] command. 3096 .PP 3097 The flag \f[C]--non-interactive\f[R] is for use by applications that 3098 wish to configure rclone themselves, rather than using rclone\[aq]s text 3099 based configuration questions. 3100 If this flag is set, and rclone needs to ask the user a question, a JSON 3101 blob will be returned with the question in it. 3102 .PP 3103 This will look something like (some irrelevant detail removed): 3104 .IP 3105 .nf 3106 \f[C] 3107 { 3108 \[dq]State\[dq]: \[dq]*oauth-islocal,teamdrive,,\[dq], 3109 \[dq]Option\[dq]: { 3110 \[dq]Name\[dq]: \[dq]config_is_local\[dq], 3111 \[dq]Help\[dq]: \[dq]Use web browser to automatically authenticate rclone with remote?\[rs]n * Say Y if the machine running rclone has a web browser you can use\[rs]n * Say N if running rclone on a (remote) machine without web browser access\[rs]nIf not sure try Y. If Y failed, try N.\[rs]n\[dq], 3112 \[dq]Default\[dq]: true, 3113 \[dq]Examples\[dq]: [ 3114 { 3115 \[dq]Value\[dq]: \[dq]true\[dq], 3116 \[dq]Help\[dq]: \[dq]Yes\[dq] 3117 }, 3118 { 3119 \[dq]Value\[dq]: \[dq]false\[dq], 3120 \[dq]Help\[dq]: \[dq]No\[dq] 3121 } 3122 ], 3123 \[dq]Required\[dq]: false, 3124 \[dq]IsPassword\[dq]: false, 3125 \[dq]Type\[dq]: \[dq]bool\[dq], 3126 \[dq]Exclusive\[dq]: true, 3127 }, 3128 \[dq]Error\[dq]: \[dq]\[dq], 3129 } 3130 \f[R] 3131 .fi 3132 .PP 3133 The format of \f[C]Option\f[R] is the same as returned by 3134 \f[C]rclone config providers\f[R]. 3135 The question should be asked to the user and returned to rclone as the 3136 \f[C]--result\f[R] option along with the \f[C]--state\f[R] parameter. 3137 .PP 3138 The keys of \f[C]Option\f[R] are used as follows: 3139 .IP \[bu] 2 3140 \f[C]Name\f[R] - name of variable - show to user 3141 .IP \[bu] 2 3142 \f[C]Help\f[R] - help text. 3143 Hard wrapped at 80 chars. 3144 Any URLs should be clicky. 3145 .IP \[bu] 2 3146 \f[C]Default\f[R] - default value - return this if the user just wants 3147 the default. 3148 .IP \[bu] 2 3149 \f[C]Examples\f[R] - the user should be able to choose one of these 3150 .IP \[bu] 2 3151 \f[C]Required\f[R] - the value should be non-empty 3152 .IP \[bu] 2 3153 \f[C]IsPassword\f[R] - the value is a password and should be edited as 3154 such 3155 .IP \[bu] 2 3156 \f[C]Type\f[R] - type of value, eg \f[C]bool\f[R], \f[C]string\f[R], 3157 \f[C]int\f[R] and others 3158 .IP \[bu] 2 3159 \f[C]Exclusive\f[R] - if set no free-form entry allowed only the 3160 \f[C]Examples\f[R] 3161 .IP \[bu] 2 3162 Irrelevant keys \f[C]Provider\f[R], \f[C]ShortOpt\f[R], \f[C]Hide\f[R], 3163 \f[C]NoPrefix\f[R], \f[C]Advanced\f[R] 3164 .PP 3165 If \f[C]Error\f[R] is set then it should be shown to the user at the 3166 same time as the question. 3167 .IP 3168 .nf 3169 \f[C] 3170 rclone config update name --continue --state \[dq]*oauth-islocal,teamdrive,,\[dq] --result \[dq]true\[dq] 3171 \f[R] 3172 .fi 3173 .PP 3174 Note that when using \f[C]--continue\f[R] all passwords should be passed 3175 in the clear (not obscured). 3176 Any default config values should be passed in with each invocation of 3177 \f[C]--continue\f[R]. 3178 .PP 3179 At the end of the non interactive process, rclone will return a result 3180 with \f[C]State\f[R] as empty string. 3181 .PP 3182 If \f[C]--all\f[R] is passed then rclone will ask all the config 3183 questions, not just the post config questions. 3184 Any parameters are used as defaults for questions as usual. 3185 .PP 3186 Note that \f[C]bin/config.py\f[R] in the rclone source implements this 3187 protocol as a readable demonstration. 3188 .IP 3189 .nf 3190 \f[C] 3191 rclone config create name type [key value]* [flags] 3192 \f[R] 3193 .fi 3194 .SS Options 3195 .IP 3196 .nf 3197 \f[C] 3198 --all Ask the full set of config questions 3199 --continue Continue the configuration process with an answer 3200 -h, --help help for create 3201 --no-obscure Force any passwords not to be obscured 3202 --non-interactive Don\[aq]t interact with user and return questions 3203 --obscure Force any passwords to be obscured 3204 --result string Result - use with --continue 3205 --state string State - use with --continue 3206 \f[R] 3207 .fi 3208 .PP 3209 See the global flags page (https://rclone.org/flags/) for global options 3210 not listed here. 3211 .SS SEE ALSO 3212 .IP \[bu] 2 3213 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3214 interactive configuration session. 3215 .SH rclone config delete 3216 .PP 3217 Delete an existing remote. 3218 .IP 3219 .nf 3220 \f[C] 3221 rclone config delete name [flags] 3222 \f[R] 3223 .fi 3224 .SS Options 3225 .IP 3226 .nf 3227 \f[C] 3228 -h, --help help for delete 3229 \f[R] 3230 .fi 3231 .PP 3232 See the global flags page (https://rclone.org/flags/) for global options 3233 not listed here. 3234 .SS SEE ALSO 3235 .IP \[bu] 2 3236 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3237 interactive configuration session. 3238 .SH rclone config disconnect 3239 .PP 3240 Disconnects user from remote 3241 .SS Synopsis 3242 .PP 3243 This disconnects the remote: passed in to the cloud storage system. 3244 .PP 3245 This normally means revoking the oauth token. 3246 .PP 3247 To reconnect use \[dq]rclone config reconnect\[dq]. 3248 .IP 3249 .nf 3250 \f[C] 3251 rclone config disconnect remote: [flags] 3252 \f[R] 3253 .fi 3254 .SS Options 3255 .IP 3256 .nf 3257 \f[C] 3258 -h, --help help for disconnect 3259 \f[R] 3260 .fi 3261 .PP 3262 See the global flags page (https://rclone.org/flags/) for global options 3263 not listed here. 3264 .SS SEE ALSO 3265 .IP \[bu] 2 3266 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3267 interactive configuration session. 3268 .SH rclone config dump 3269 .PP 3270 Dump the config file as JSON. 3271 .IP 3272 .nf 3273 \f[C] 3274 rclone config dump [flags] 3275 \f[R] 3276 .fi 3277 .SS Options 3278 .IP 3279 .nf 3280 \f[C] 3281 -h, --help help for dump 3282 \f[R] 3283 .fi 3284 .PP 3285 See the global flags page (https://rclone.org/flags/) for global options 3286 not listed here. 3287 .SS SEE ALSO 3288 .IP \[bu] 2 3289 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3290 interactive configuration session. 3291 .SH rclone config edit 3292 .PP 3293 Enter an interactive configuration session. 3294 .SH Synopsis 3295 .PP 3296 Enter an interactive configuration session where you can setup new 3297 remotes and manage existing ones. 3298 You may also set or remove a password to protect your configuration. 3299 .IP 3300 .nf 3301 \f[C] 3302 rclone config edit [flags] 3303 \f[R] 3304 .fi 3305 .SH Options 3306 .IP 3307 .nf 3308 \f[C] 3309 -h, --help help for edit 3310 \f[R] 3311 .fi 3312 .PP 3313 See the global flags page (https://rclone.org/flags/) for global options 3314 not listed here. 3315 .SH SEE ALSO 3316 .IP \[bu] 2 3317 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3318 interactive configuration session. 3319 .SH rclone config file 3320 .PP 3321 Show path of configuration file in use. 3322 .IP 3323 .nf 3324 \f[C] 3325 rclone config file [flags] 3326 \f[R] 3327 .fi 3328 .SS Options 3329 .IP 3330 .nf 3331 \f[C] 3332 -h, --help help for file 3333 \f[R] 3334 .fi 3335 .PP 3336 See the global flags page (https://rclone.org/flags/) for global options 3337 not listed here. 3338 .SS SEE ALSO 3339 .IP \[bu] 2 3340 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3341 interactive configuration session. 3342 .SH rclone config password 3343 .PP 3344 Update password in an existing remote. 3345 .SS Synopsis 3346 .PP 3347 Update an existing remote\[aq]s password. 3348 The password should be passed in pairs of \f[C]key\f[R] 3349 \f[C]password\f[R] or as \f[C]key=password\f[R]. 3350 The \f[C]password\f[R] should be passed in in clear (unobscured). 3351 .PP 3352 For example, to set password of a remote of name myremote you would do: 3353 .IP 3354 .nf 3355 \f[C] 3356 rclone config password myremote fieldname mypassword 3357 rclone config password myremote fieldname=mypassword 3358 \f[R] 3359 .fi 3360 .PP 3361 This command is obsolete now that \[dq]config update\[dq] and 3362 \[dq]config create\[dq] both support obscuring passwords directly. 3363 .IP 3364 .nf 3365 \f[C] 3366 rclone config password name [key value]+ [flags] 3367 \f[R] 3368 .fi 3369 .SS Options 3370 .IP 3371 .nf 3372 \f[C] 3373 -h, --help help for password 3374 \f[R] 3375 .fi 3376 .PP 3377 See the global flags page (https://rclone.org/flags/) for global options 3378 not listed here. 3379 .SS SEE ALSO 3380 .IP \[bu] 2 3381 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3382 interactive configuration session. 3383 .SH rclone config paths 3384 .PP 3385 Show paths used for configuration, cache, temp etc. 3386 .IP 3387 .nf 3388 \f[C] 3389 rclone config paths [flags] 3390 \f[R] 3391 .fi 3392 .SS Options 3393 .IP 3394 .nf 3395 \f[C] 3396 -h, --help help for paths 3397 \f[R] 3398 .fi 3399 .PP 3400 See the global flags page (https://rclone.org/flags/) for global options 3401 not listed here. 3402 .SS SEE ALSO 3403 .IP \[bu] 2 3404 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3405 interactive configuration session. 3406 .SH rclone config providers 3407 .PP 3408 List in JSON format all the providers and options. 3409 .IP 3410 .nf 3411 \f[C] 3412 rclone config providers [flags] 3413 \f[R] 3414 .fi 3415 .SS Options 3416 .IP 3417 .nf 3418 \f[C] 3419 -h, --help help for providers 3420 \f[R] 3421 .fi 3422 .PP 3423 See the global flags page (https://rclone.org/flags/) for global options 3424 not listed here. 3425 .SS SEE ALSO 3426 .IP \[bu] 2 3427 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3428 interactive configuration session. 3429 .SH rclone config reconnect 3430 .PP 3431 Re-authenticates user with remote. 3432 .SS Synopsis 3433 .PP 3434 This reconnects remote: passed in to the cloud storage system. 3435 .PP 3436 To disconnect the remote use \[dq]rclone config disconnect\[dq]. 3437 .PP 3438 This normally means going through the interactive oauth flow again. 3439 .IP 3440 .nf 3441 \f[C] 3442 rclone config reconnect remote: [flags] 3443 \f[R] 3444 .fi 3445 .SS Options 3446 .IP 3447 .nf 3448 \f[C] 3449 -h, --help help for reconnect 3450 \f[R] 3451 .fi 3452 .PP 3453 See the global flags page (https://rclone.org/flags/) for global options 3454 not listed here. 3455 .SS SEE ALSO 3456 .IP \[bu] 2 3457 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3458 interactive configuration session. 3459 .SH rclone config show 3460 .PP 3461 Print (decrypted) config file, or the config for a single remote. 3462 .IP 3463 .nf 3464 \f[C] 3465 rclone config show [<remote>] [flags] 3466 \f[R] 3467 .fi 3468 .SS Options 3469 .IP 3470 .nf 3471 \f[C] 3472 -h, --help help for show 3473 \f[R] 3474 .fi 3475 .PP 3476 See the global flags page (https://rclone.org/flags/) for global options 3477 not listed here. 3478 .SS SEE ALSO 3479 .IP \[bu] 2 3480 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3481 interactive configuration session. 3482 .SH rclone config touch 3483 .PP 3484 Ensure configuration file exists. 3485 .IP 3486 .nf 3487 \f[C] 3488 rclone config touch [flags] 3489 \f[R] 3490 .fi 3491 .SS Options 3492 .IP 3493 .nf 3494 \f[C] 3495 -h, --help help for touch 3496 \f[R] 3497 .fi 3498 .PP 3499 See the global flags page (https://rclone.org/flags/) for global options 3500 not listed here. 3501 .SS SEE ALSO 3502 .IP \[bu] 2 3503 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3504 interactive configuration session. 3505 .SH rclone config update 3506 .PP 3507 Update options in an existing remote. 3508 .SS Synopsis 3509 .PP 3510 Update an existing remote\[aq]s options. 3511 The options should be passed in pairs of \f[C]key\f[R] \f[C]value\f[R] 3512 or as \f[C]key=value\f[R]. 3513 .PP 3514 For example, to update the env_auth field of a remote of name myremote 3515 you would do: 3516 .IP 3517 .nf 3518 \f[C] 3519 rclone config update myremote env_auth true 3520 rclone config update myremote env_auth=true 3521 \f[R] 3522 .fi 3523 .PP 3524 If the remote uses OAuth the token will be updated, if you don\[aq]t 3525 require this add an extra parameter thus: 3526 .IP 3527 .nf 3528 \f[C] 3529 rclone config update myremote env_auth=true config_refresh_token=false 3530 \f[R] 3531 .fi 3532 .PP 3533 Note that if the config process would normally ask a question the 3534 default is taken (unless \f[C]--non-interactive\f[R] is used). 3535 Each time that happens rclone will print or DEBUG a message saying how 3536 to affect the value taken. 3537 .PP 3538 If any of the parameters passed is a password field, then rclone will 3539 automatically obscure them if they aren\[aq]t already obscured before 3540 putting them in the config file. 3541 .PP 3542 \f[B]NB\f[R] If the password parameter is 22 characters or longer and 3543 consists only of base64 characters then rclone can get confused about 3544 whether the password is already obscured or not and put unobscured 3545 passwords into the config file. 3546 If you want to be 100% certain that the passwords get obscured then use 3547 the \f[C]--obscure\f[R] flag, or if you are 100% certain you are already 3548 passing obscured passwords then use \f[C]--no-obscure\f[R]. 3549 You can also set obscured passwords using the 3550 \f[C]rclone config password\f[R] command. 3551 .PP 3552 The flag \f[C]--non-interactive\f[R] is for use by applications that 3553 wish to configure rclone themselves, rather than using rclone\[aq]s text 3554 based configuration questions. 3555 If this flag is set, and rclone needs to ask the user a question, a JSON 3556 blob will be returned with the question in it. 3557 .PP 3558 This will look something like (some irrelevant detail removed): 3559 .IP 3560 .nf 3561 \f[C] 3562 { 3563 \[dq]State\[dq]: \[dq]*oauth-islocal,teamdrive,,\[dq], 3564 \[dq]Option\[dq]: { 3565 \[dq]Name\[dq]: \[dq]config_is_local\[dq], 3566 \[dq]Help\[dq]: \[dq]Use web browser to automatically authenticate rclone with remote?\[rs]n * Say Y if the machine running rclone has a web browser you can use\[rs]n * Say N if running rclone on a (remote) machine without web browser access\[rs]nIf not sure try Y. If Y failed, try N.\[rs]n\[dq], 3567 \[dq]Default\[dq]: true, 3568 \[dq]Examples\[dq]: [ 3569 { 3570 \[dq]Value\[dq]: \[dq]true\[dq], 3571 \[dq]Help\[dq]: \[dq]Yes\[dq] 3572 }, 3573 { 3574 \[dq]Value\[dq]: \[dq]false\[dq], 3575 \[dq]Help\[dq]: \[dq]No\[dq] 3576 } 3577 ], 3578 \[dq]Required\[dq]: false, 3579 \[dq]IsPassword\[dq]: false, 3580 \[dq]Type\[dq]: \[dq]bool\[dq], 3581 \[dq]Exclusive\[dq]: true, 3582 }, 3583 \[dq]Error\[dq]: \[dq]\[dq], 3584 } 3585 \f[R] 3586 .fi 3587 .PP 3588 The format of \f[C]Option\f[R] is the same as returned by 3589 \f[C]rclone config providers\f[R]. 3590 The question should be asked to the user and returned to rclone as the 3591 \f[C]--result\f[R] option along with the \f[C]--state\f[R] parameter. 3592 .PP 3593 The keys of \f[C]Option\f[R] are used as follows: 3594 .IP \[bu] 2 3595 \f[C]Name\f[R] - name of variable - show to user 3596 .IP \[bu] 2 3597 \f[C]Help\f[R] - help text. 3598 Hard wrapped at 80 chars. 3599 Any URLs should be clicky. 3600 .IP \[bu] 2 3601 \f[C]Default\f[R] - default value - return this if the user just wants 3602 the default. 3603 .IP \[bu] 2 3604 \f[C]Examples\f[R] - the user should be able to choose one of these 3605 .IP \[bu] 2 3606 \f[C]Required\f[R] - the value should be non-empty 3607 .IP \[bu] 2 3608 \f[C]IsPassword\f[R] - the value is a password and should be edited as 3609 such 3610 .IP \[bu] 2 3611 \f[C]Type\f[R] - type of value, eg \f[C]bool\f[R], \f[C]string\f[R], 3612 \f[C]int\f[R] and others 3613 .IP \[bu] 2 3614 \f[C]Exclusive\f[R] - if set no free-form entry allowed only the 3615 \f[C]Examples\f[R] 3616 .IP \[bu] 2 3617 Irrelevant keys \f[C]Provider\f[R], \f[C]ShortOpt\f[R], \f[C]Hide\f[R], 3618 \f[C]NoPrefix\f[R], \f[C]Advanced\f[R] 3619 .PP 3620 If \f[C]Error\f[R] is set then it should be shown to the user at the 3621 same time as the question. 3622 .IP 3623 .nf 3624 \f[C] 3625 rclone config update name --continue --state \[dq]*oauth-islocal,teamdrive,,\[dq] --result \[dq]true\[dq] 3626 \f[R] 3627 .fi 3628 .PP 3629 Note that when using \f[C]--continue\f[R] all passwords should be passed 3630 in the clear (not obscured). 3631 Any default config values should be passed in with each invocation of 3632 \f[C]--continue\f[R]. 3633 .PP 3634 At the end of the non interactive process, rclone will return a result 3635 with \f[C]State\f[R] as empty string. 3636 .PP 3637 If \f[C]--all\f[R] is passed then rclone will ask all the config 3638 questions, not just the post config questions. 3639 Any parameters are used as defaults for questions as usual. 3640 .PP 3641 Note that \f[C]bin/config.py\f[R] in the rclone source implements this 3642 protocol as a readable demonstration. 3643 .IP 3644 .nf 3645 \f[C] 3646 rclone config update name [key value]+ [flags] 3647 \f[R] 3648 .fi 3649 .SS Options 3650 .IP 3651 .nf 3652 \f[C] 3653 --all Ask the full set of config questions 3654 --continue Continue the configuration process with an answer 3655 -h, --help help for update 3656 --no-obscure Force any passwords not to be obscured 3657 --non-interactive Don\[aq]t interact with user and return questions 3658 --obscure Force any passwords to be obscured 3659 --result string Result - use with --continue 3660 --state string State - use with --continue 3661 \f[R] 3662 .fi 3663 .PP 3664 See the global flags page (https://rclone.org/flags/) for global options 3665 not listed here. 3666 .SS SEE ALSO 3667 .IP \[bu] 2 3668 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3669 interactive configuration session. 3670 .SH rclone config userinfo 3671 .PP 3672 Prints info about logged in user of remote. 3673 .SS Synopsis 3674 .PP 3675 This prints the details of the person logged in to the cloud storage 3676 system. 3677 .IP 3678 .nf 3679 \f[C] 3680 rclone config userinfo remote: [flags] 3681 \f[R] 3682 .fi 3683 .SS Options 3684 .IP 3685 .nf 3686 \f[C] 3687 -h, --help help for userinfo 3688 --json Format output as JSON 3689 \f[R] 3690 .fi 3691 .PP 3692 See the global flags page (https://rclone.org/flags/) for global options 3693 not listed here. 3694 .SS SEE ALSO 3695 .IP \[bu] 2 3696 rclone config (https://rclone.org/commands/rclone_config/) - Enter an 3697 interactive configuration session. 3698 .SH rclone copyto 3699 .PP 3700 Copy files from source to dest, skipping identical files. 3701 .SS Synopsis 3702 .PP 3703 If source:path is a file or directory then it copies it to a file or 3704 directory named dest:path. 3705 .PP 3706 This can be used to upload single files to other than their current 3707 name. 3708 If the source is a directory then it acts exactly like the 3709 copy (https://rclone.org/commands/rclone_copy/) command. 3710 .PP 3711 So 3712 .IP 3713 .nf 3714 \f[C] 3715 rclone copyto src dst 3716 \f[R] 3717 .fi 3718 .PP 3719 where src and dst are rclone paths, either remote:path or /path/to/local 3720 or C:. 3721 .PP 3722 This will: 3723 .IP 3724 .nf 3725 \f[C] 3726 if src is file 3727 copy it to dst, overwriting an existing file if it exists 3728 if src is directory 3729 copy it to dst, overwriting existing files if they exist 3730 see copy command for full details 3731 \f[R] 3732 .fi 3733 .PP 3734 This doesn\[aq]t transfer files that are identical on src and dst, 3735 testing by size and modification time or MD5SUM. 3736 It doesn\[aq]t delete files from the destination. 3737 .PP 3738 \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view 3739 real-time transfer statistics 3740 .IP 3741 .nf 3742 \f[C] 3743 rclone copyto source:path dest:path [flags] 3744 \f[R] 3745 .fi 3746 .SS Options 3747 .IP 3748 .nf 3749 \f[C] 3750 -h, --help help for copyto 3751 \f[R] 3752 .fi 3753 .PP 3754 See the global flags page (https://rclone.org/flags/) for global options 3755 not listed here. 3756 .SS SEE ALSO 3757 .IP \[bu] 2 3758 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 3759 commands, flags and backends. 3760 .SH rclone copyurl 3761 .PP 3762 Copy url content to dest. 3763 .SS Synopsis 3764 .PP 3765 Download a URL\[aq]s content and copy it to the destination without 3766 saving it in temporary storage. 3767 .PP 3768 Setting \f[C]--auto-filename\f[R] will attempt to automatically 3769 determine the filename from the URL (after any redirections) and used in 3770 the destination path. 3771 With \f[C]--auto-filename-header\f[R] in addition, if a specific 3772 filename is set in HTTP headers, it will be used instead of the name 3773 from the URL. 3774 With \f[C]--print-filename\f[R] in addition, the resulting file name 3775 will be printed. 3776 .PP 3777 Setting \f[C]--no-clobber\f[R] will prevent overwriting file on the 3778 destination if there is one with the same name. 3779 .PP 3780 Setting \f[C]--stdout\f[R] or making the output file name \f[C]-\f[R] 3781 will cause the output to be written to standard output. 3782 .IP 3783 .nf 3784 \f[C] 3785 rclone copyurl https://example.com dest:path [flags] 3786 \f[R] 3787 .fi 3788 .SS Options 3789 .IP 3790 .nf 3791 \f[C] 3792 -a, --auto-filename Get the file name from the URL and use it for destination file path 3793 --header-filename Get the file name from the Content-Disposition header 3794 -h, --help help for copyurl 3795 --no-clobber Prevent overwriting file with same name 3796 -p, --print-filename Print the resulting name from --auto-filename 3797 --stdout Write the output to stdout rather than a file 3798 \f[R] 3799 .fi 3800 .PP 3801 See the global flags page (https://rclone.org/flags/) for global options 3802 not listed here. 3803 .SS SEE ALSO 3804 .IP \[bu] 2 3805 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 3806 commands, flags and backends. 3807 .SH rclone cryptcheck 3808 .PP 3809 Cryptcheck checks the integrity of an encrypted remote. 3810 .SS Synopsis 3811 .PP 3812 rclone cryptcheck checks a remote against a 3813 crypted (https://rclone.org/crypt/) remote. 3814 This is the equivalent of running rclone 3815 check (https://rclone.org/commands/rclone_check/), but able to check the 3816 checksums of the encrypted remote. 3817 .PP 3818 For it to work the underlying remote of the cryptedremote must support 3819 some kind of checksum. 3820 .PP 3821 It works by reading the nonce from each file on the cryptedremote: and 3822 using that to encrypt each file on the remote:. 3823 It then checks the checksum of the underlying file on the cryptedremote: 3824 against the checksum of the file it has just encrypted. 3825 .PP 3826 Use it like this 3827 .IP 3828 .nf 3829 \f[C] 3830 rclone cryptcheck /path/to/files encryptedremote:path 3831 \f[R] 3832 .fi 3833 .PP 3834 You can use it like this also, but that will involve downloading all the 3835 files in remote:path. 3836 .IP 3837 .nf 3838 \f[C] 3839 rclone cryptcheck remote:path encryptedremote:path 3840 \f[R] 3841 .fi 3842 .PP 3843 After it has run it will log the status of the encryptedremote:. 3844 .PP 3845 If you supply the \f[C]--one-way\f[R] flag, it will only check that 3846 files in the source match the files in the destination, not the other 3847 way around. 3848 This means that extra files in the destination that are not in the 3849 source will not be detected. 3850 .PP 3851 The \f[C]--differ\f[R], \f[C]--missing-on-dst\f[R], 3852 \f[C]--missing-on-src\f[R], \f[C]--match\f[R] and \f[C]--error\f[R] 3853 flags write paths, one per line, to the file name (or stdout if it is 3854 \f[C]-\f[R]) supplied. 3855 What they write is described in the help below. 3856 For example \f[C]--differ\f[R] will write all paths which are present on 3857 both the source and destination but different. 3858 .PP 3859 The \f[C]--combined\f[R] flag will write a file (or stdout) which 3860 contains all file paths with a symbol and then a space and then the path 3861 to tell you what happened to it. 3862 These are reminiscent of diff files. 3863 .IP \[bu] 2 3864 \f[C]= path\f[R] means path was found in source and destination and was 3865 identical 3866 .IP \[bu] 2 3867 \[ga]- path\[ga] means path was missing on the source, so only in the 3868 destination 3869 .IP \[bu] 2 3870 \[ga]+ path\[ga] means path was missing on the destination, so only in 3871 the source 3872 .IP \[bu] 2 3873 \[ga]* path\[ga] means path was present in source and destination but 3874 different. 3875 .IP \[bu] 2 3876 \f[C]! path\f[R] means there was an error reading or hashing the source 3877 or dest. 3878 .PP 3879 The default number of parallel checks is 8. 3880 See the --checkers=N (https://rclone.org/docs/#checkers-n) option for 3881 more information. 3882 .IP 3883 .nf 3884 \f[C] 3885 rclone cryptcheck remote:path cryptedremote:path [flags] 3886 \f[R] 3887 .fi 3888 .SS Options 3889 .IP 3890 .nf 3891 \f[C] 3892 --combined string Make a combined report of changes to this file 3893 --differ string Report all non-matching files to this file 3894 --error string Report all files with errors (hashing or reading) to this file 3895 -h, --help help for cryptcheck 3896 --match string Report all matching files to this file 3897 --missing-on-dst string Report all files missing from the destination to this file 3898 --missing-on-src string Report all files missing from the source to this file 3899 --one-way Check one way only, source files must exist on remote 3900 \f[R] 3901 .fi 3902 .PP 3903 See the global flags page (https://rclone.org/flags/) for global options 3904 not listed here. 3905 .SS SEE ALSO 3906 .IP \[bu] 2 3907 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 3908 commands, flags and backends. 3909 .SH rclone cryptdecode 3910 .PP 3911 Cryptdecode returns unencrypted file names. 3912 .SS Synopsis 3913 .PP 3914 rclone cryptdecode returns unencrypted file names when provided with a 3915 list of encrypted file names. 3916 List limit is 10 items. 3917 .PP 3918 If you supply the \f[C]--reverse\f[R] flag, it will return encrypted 3919 file names. 3920 .PP 3921 use it like this 3922 .IP 3923 .nf 3924 \f[C] 3925 rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2 3926 3927 rclone cryptdecode --reverse encryptedremote: filename1 filename2 3928 \f[R] 3929 .fi 3930 .PP 3931 Another way to accomplish this is by using the 3932 \f[C]rclone backend encode\f[R] (or \f[C]decode\f[R]) command. 3933 See the documentation on the crypt (https://rclone.org/crypt/) overlay 3934 for more info. 3935 .IP 3936 .nf 3937 \f[C] 3938 rclone cryptdecode encryptedremote: encryptedfilename [flags] 3939 \f[R] 3940 .fi 3941 .SS Options 3942 .IP 3943 .nf 3944 \f[C] 3945 -h, --help help for cryptdecode 3946 --reverse Reverse cryptdecode, encrypts filenames 3947 \f[R] 3948 .fi 3949 .PP 3950 See the global flags page (https://rclone.org/flags/) for global options 3951 not listed here. 3952 .SS SEE ALSO 3953 .IP \[bu] 2 3954 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 3955 commands, flags and backends. 3956 .SH rclone deletefile 3957 .PP 3958 Remove a single file from remote. 3959 .SS Synopsis 3960 .PP 3961 Remove a single file from remote. 3962 Unlike \f[C]delete\f[R] it cannot be used to remove a directory and it 3963 doesn\[aq]t obey include/exclude filters - if the specified file exists, 3964 it will always be removed. 3965 .IP 3966 .nf 3967 \f[C] 3968 rclone deletefile remote:path [flags] 3969 \f[R] 3970 .fi 3971 .SS Options 3972 .IP 3973 .nf 3974 \f[C] 3975 -h, --help help for deletefile 3976 \f[R] 3977 .fi 3978 .PP 3979 See the global flags page (https://rclone.org/flags/) for global options 3980 not listed here. 3981 .SS SEE ALSO 3982 .IP \[bu] 2 3983 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 3984 commands, flags and backends. 3985 .SH rclone genautocomplete 3986 .PP 3987 Output completion script for a given shell. 3988 .SH Synopsis 3989 .PP 3990 Generates a shell completion script for rclone. 3991 Run with \f[C]--help\f[R] to list the supported shells. 3992 .SH Options 3993 .IP 3994 .nf 3995 \f[C] 3996 -h, --help help for genautocomplete 3997 \f[R] 3998 .fi 3999 .PP 4000 See the global flags page (https://rclone.org/flags/) for global options 4001 not listed here. 4002 .SH SEE ALSO 4003 .IP \[bu] 2 4004 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4005 commands, flags and backends. 4006 .IP \[bu] 2 4007 rclone genautocomplete 4008 bash (https://rclone.org/commands/rclone_genautocomplete_bash/) - Output 4009 bash completion script for rclone. 4010 .IP \[bu] 2 4011 rclone genautocomplete 4012 fish (https://rclone.org/commands/rclone_genautocomplete_fish/) - Output 4013 fish completion script for rclone. 4014 .IP \[bu] 2 4015 rclone genautocomplete 4016 zsh (https://rclone.org/commands/rclone_genautocomplete_zsh/) - Output 4017 zsh completion script for rclone. 4018 .SH rclone genautocomplete bash 4019 .PP 4020 Output bash completion script for rclone. 4021 .SH Synopsis 4022 .PP 4023 Generates a bash shell autocompletion script for rclone. 4024 .PP 4025 This writes to /etc/bash_completion.d/rclone by default so will probably 4026 need to be run with sudo or as root, e.g. 4027 .IP 4028 .nf 4029 \f[C] 4030 sudo rclone genautocomplete bash 4031 \f[R] 4032 .fi 4033 .PP 4034 Logout and login again to use the autocompletion scripts, or source them 4035 directly 4036 .IP 4037 .nf 4038 \f[C] 4039 \&. /etc/bash_completion 4040 \f[R] 4041 .fi 4042 .PP 4043 If you supply a command line argument the script will be written there. 4044 .PP 4045 If output_file is \[dq]-\[dq], then the output will be written to 4046 stdout. 4047 .IP 4048 .nf 4049 \f[C] 4050 rclone genautocomplete bash [output_file] [flags] 4051 \f[R] 4052 .fi 4053 .SH Options 4054 .IP 4055 .nf 4056 \f[C] 4057 -h, --help help for bash 4058 \f[R] 4059 .fi 4060 .PP 4061 See the global flags page (https://rclone.org/flags/) for global options 4062 not listed here. 4063 .SH SEE ALSO 4064 .IP \[bu] 2 4065 rclone 4066 genautocomplete (https://rclone.org/commands/rclone_genautocomplete/) - 4067 Output completion script for a given shell. 4068 .SH rclone genautocomplete fish 4069 .PP 4070 Output fish completion script for rclone. 4071 .SH Synopsis 4072 .PP 4073 Generates a fish autocompletion script for rclone. 4074 .PP 4075 This writes to /etc/fish/completions/rclone.fish by default so will 4076 probably need to be run with sudo or as root, e.g. 4077 .IP 4078 .nf 4079 \f[C] 4080 sudo rclone genautocomplete fish 4081 \f[R] 4082 .fi 4083 .PP 4084 Logout and login again to use the autocompletion scripts, or source them 4085 directly 4086 .IP 4087 .nf 4088 \f[C] 4089 \&. /etc/fish/completions/rclone.fish 4090 \f[R] 4091 .fi 4092 .PP 4093 If you supply a command line argument the script will be written there. 4094 .PP 4095 If output_file is \[dq]-\[dq], then the output will be written to 4096 stdout. 4097 .IP 4098 .nf 4099 \f[C] 4100 rclone genautocomplete fish [output_file] [flags] 4101 \f[R] 4102 .fi 4103 .SH Options 4104 .IP 4105 .nf 4106 \f[C] 4107 -h, --help help for fish 4108 \f[R] 4109 .fi 4110 .PP 4111 See the global flags page (https://rclone.org/flags/) for global options 4112 not listed here. 4113 .SH SEE ALSO 4114 .IP \[bu] 2 4115 rclone 4116 genautocomplete (https://rclone.org/commands/rclone_genautocomplete/) - 4117 Output completion script for a given shell. 4118 .SH rclone genautocomplete zsh 4119 .PP 4120 Output zsh completion script for rclone. 4121 .SH Synopsis 4122 .PP 4123 Generates a zsh autocompletion script for rclone. 4124 .PP 4125 This writes to /usr/share/zsh/vendor-completions/_rclone by default so 4126 will probably need to be run with sudo or as root, e.g. 4127 .IP 4128 .nf 4129 \f[C] 4130 sudo rclone genautocomplete zsh 4131 \f[R] 4132 .fi 4133 .PP 4134 Logout and login again to use the autocompletion scripts, or source them 4135 directly 4136 .IP 4137 .nf 4138 \f[C] 4139 autoload -U compinit && compinit 4140 \f[R] 4141 .fi 4142 .PP 4143 If you supply a command line argument the script will be written there. 4144 .PP 4145 If output_file is \[dq]-\[dq], then the output will be written to 4146 stdout. 4147 .IP 4148 .nf 4149 \f[C] 4150 rclone genautocomplete zsh [output_file] [flags] 4151 \f[R] 4152 .fi 4153 .SH Options 4154 .IP 4155 .nf 4156 \f[C] 4157 -h, --help help for zsh 4158 \f[R] 4159 .fi 4160 .PP 4161 See the global flags page (https://rclone.org/flags/) for global options 4162 not listed here. 4163 .SH SEE ALSO 4164 .IP \[bu] 2 4165 rclone 4166 genautocomplete (https://rclone.org/commands/rclone_genautocomplete/) - 4167 Output completion script for a given shell. 4168 .SH rclone gendocs 4169 .PP 4170 Output markdown docs for rclone to the directory supplied. 4171 .SS Synopsis 4172 .PP 4173 This produces markdown docs for the rclone commands to the directory 4174 supplied. 4175 These are in a format suitable for hugo to render into the rclone.org 4176 website. 4177 .IP 4178 .nf 4179 \f[C] 4180 rclone gendocs output_directory [flags] 4181 \f[R] 4182 .fi 4183 .SS Options 4184 .IP 4185 .nf 4186 \f[C] 4187 -h, --help help for gendocs 4188 \f[R] 4189 .fi 4190 .PP 4191 See the global flags page (https://rclone.org/flags/) for global options 4192 not listed here. 4193 .SS SEE ALSO 4194 .IP \[bu] 2 4195 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4196 commands, flags and backends. 4197 .SH rclone hashsum 4198 .PP 4199 Produces a hashsum file for all the objects in the path. 4200 .SS Synopsis 4201 .PP 4202 Produces a hash file for all the objects in the path using the hash 4203 named. 4204 The output is in the same format as the standard md5sum/sha1sum tool. 4205 .PP 4206 By default, the hash is requested from the remote. 4207 If the hash is not supported by the remote, no hash will be returned. 4208 With the download flag, the file will be downloaded from the remote and 4209 hashed locally enabling any hash for any remote. 4210 .PP 4211 For the MD5 and SHA1 algorithms there are also dedicated commands, 4212 md5sum (https://rclone.org/commands/rclone_md5sum/) and 4213 sha1sum (https://rclone.org/commands/rclone_sha1sum/). 4214 .PP 4215 This command can also hash data received on standard input (stdin), by 4216 not passing a remote:path, or by passing a hyphen as remote:path when 4217 there is data to read (if not, the hyphen will be treated literally, as 4218 a relative path). 4219 .PP 4220 Run without a hash to see the list of all supported hashes, e.g. 4221 .IP 4222 .nf 4223 \f[C] 4224 $ rclone hashsum 4225 Supported hashes are: 4226 * md5 4227 * sha1 4228 * whirlpool 4229 * crc32 4230 * sha256 4231 * dropbox 4232 * hidrive 4233 * mailru 4234 * quickxor 4235 \f[R] 4236 .fi 4237 .PP 4238 Then 4239 .IP 4240 .nf 4241 \f[C] 4242 $ rclone hashsum MD5 remote:path 4243 \f[R] 4244 .fi 4245 .PP 4246 Note that hash names are case insensitive and values are output in lower 4247 case. 4248 .IP 4249 .nf 4250 \f[C] 4251 rclone hashsum <hash> remote:path [flags] 4252 \f[R] 4253 .fi 4254 .SS Options 4255 .IP 4256 .nf 4257 \f[C] 4258 --base64 Output base64 encoded hashsum 4259 -C, --checkfile string Validate hashes against a given SUM file instead of printing them 4260 --download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote 4261 -h, --help help for hashsum 4262 --output-file string Output hashsums to a file rather than the terminal 4263 \f[R] 4264 .fi 4265 .PP 4266 See the global flags page (https://rclone.org/flags/) for global options 4267 not listed here. 4268 .SS SEE ALSO 4269 .IP \[bu] 2 4270 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4271 commands, flags and backends. 4272 .SH rclone link 4273 .PP 4274 Generate public link to file/folder. 4275 .SS Synopsis 4276 .PP 4277 rclone link will create, retrieve or remove a public link to the given 4278 file or folder. 4279 .IP 4280 .nf 4281 \f[C] 4282 rclone link remote:path/to/file 4283 rclone link remote:path/to/folder/ 4284 rclone link --unlink remote:path/to/folder/ 4285 rclone link --expire 1d remote:path/to/file 4286 \f[R] 4287 .fi 4288 .PP 4289 If you supply the --expire flag, it will set the expiration time 4290 otherwise it will use the default (100 years). 4291 \f[B]Note\f[R] not all backends support the --expire flag - if the 4292 backend doesn\[aq]t support it then the link returned won\[aq]t expire. 4293 .PP 4294 Use the --unlink flag to remove existing public links to the file or 4295 folder. 4296 \f[B]Note\f[R] not all backends support \[dq]--unlink\[dq] flag - those 4297 that don\[aq]t will just ignore it. 4298 .PP 4299 If successful, the last line of the output will contain the link. 4300 Exact capabilities depend on the remote, but the link will always by 4301 default be created with the least constraints \[en] e.g. 4302 no expiry, no password protection, accessible without account. 4303 .IP 4304 .nf 4305 \f[C] 4306 rclone link remote:path [flags] 4307 \f[R] 4308 .fi 4309 .SS Options 4310 .IP 4311 .nf 4312 \f[C] 4313 --expire Duration The amount of time that the link will be valid (default off) 4314 -h, --help help for link 4315 --unlink Remove existing public link to file/folder 4316 \f[R] 4317 .fi 4318 .PP 4319 See the global flags page (https://rclone.org/flags/) for global options 4320 not listed here. 4321 .SS SEE ALSO 4322 .IP \[bu] 2 4323 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4324 commands, flags and backends. 4325 .SH rclone listremotes 4326 .PP 4327 List all the remotes in the config file and defined in environment 4328 variables. 4329 .SS Synopsis 4330 .PP 4331 rclone listremotes lists all the available remotes from the config file. 4332 .PP 4333 When used with the \f[C]--long\f[R] flag it lists the types too. 4334 .IP 4335 .nf 4336 \f[C] 4337 rclone listremotes [flags] 4338 \f[R] 4339 .fi 4340 .SS Options 4341 .IP 4342 .nf 4343 \f[C] 4344 -h, --help help for listremotes 4345 --long Show the type as well as names 4346 \f[R] 4347 .fi 4348 .PP 4349 See the global flags page (https://rclone.org/flags/) for global options 4350 not listed here. 4351 .SS SEE ALSO 4352 .IP \[bu] 2 4353 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4354 commands, flags and backends. 4355 .SH rclone lsf 4356 .PP 4357 List directories and objects in remote:path formatted for parsing. 4358 .SS Synopsis 4359 .PP 4360 List the contents of the source path (directories and objects) to 4361 standard output in a form which is easy to parse by scripts. 4362 By default this will just be the names of the objects and directories, 4363 one per line. 4364 The directories will have a / suffix. 4365 .PP 4366 Eg 4367 .IP 4368 .nf 4369 \f[C] 4370 $ rclone lsf swift:bucket 4371 bevajer5jef 4372 canole 4373 diwogej7 4374 ferejej3gux/ 4375 fubuwic 4376 \f[R] 4377 .fi 4378 .PP 4379 Use the \f[C]--format\f[R] option to control what gets listed. 4380 By default this is just the path, but you can use these parameters to 4381 control the output: 4382 .IP 4383 .nf 4384 \f[C] 4385 p - path 4386 s - size 4387 t - modification time 4388 h - hash 4389 i - ID of object 4390 o - Original ID of underlying object 4391 m - MimeType of object if known 4392 e - encrypted name 4393 T - tier of storage if known, e.g. \[dq]Hot\[dq] or \[dq]Cool\[dq] 4394 M - Metadata of object in JSON blob format, eg {\[dq]key\[dq]:\[dq]value\[dq]} 4395 \f[R] 4396 .fi 4397 .PP 4398 So if you wanted the path, size and modification time, you would use 4399 \f[C]--format \[dq]pst\[dq]\f[R], or maybe 4400 \f[C]--format \[dq]tsp\[dq]\f[R] to put the path last. 4401 .PP 4402 Eg 4403 .IP 4404 .nf 4405 \f[C] 4406 $ rclone lsf --format \[dq]tsp\[dq] swift:bucket 4407 2016-06-25 18:55:41;60295;bevajer5jef 4408 2016-06-25 18:55:43;90613;canole 4409 2016-06-25 18:55:43;94467;diwogej7 4410 2018-04-26 08:50:45;0;ferejej3gux/ 4411 2016-06-25 18:55:40;37600;fubuwic 4412 \f[R] 4413 .fi 4414 .PP 4415 If you specify \[dq]h\[dq] in the format you will get the MD5 hash by 4416 default, use the \f[C]--hash\f[R] flag to change which hash you want. 4417 Note that this can be returned as an empty string if it isn\[aq]t 4418 available on the object (and for directories), \[dq]ERROR\[dq] if there 4419 was an error reading it from the object and \[dq]UNSUPPORTED\[dq] if 4420 that object does not support that hash type. 4421 .PP 4422 For example, to emulate the md5sum command you can use 4423 .IP 4424 .nf 4425 \f[C] 4426 rclone lsf -R --hash MD5 --format hp --separator \[dq] \[dq] --files-only . 4427 \f[R] 4428 .fi 4429 .PP 4430 Eg 4431 .IP 4432 .nf 4433 \f[C] 4434 $ rclone lsf -R --hash MD5 --format hp --separator \[dq] \[dq] --files-only swift:bucket 4435 7908e352297f0f530b84a756f188baa3 bevajer5jef 4436 cd65ac234e6fea5925974a51cdd865cc canole 4437 03b5341b4f234b9d984d03ad076bae91 diwogej7 4438 8fd37c3810dd660778137ac3a66cc06d fubuwic 4439 99713e14a4c4ff553acaf1930fad985b gixacuh7ku 4440 \f[R] 4441 .fi 4442 .PP 4443 (Though \[dq]rclone md5sum .\[dq] is an easier way of typing this.) 4444 .PP 4445 By default the separator is \[dq];\[dq] this can be changed with the 4446 \f[C]--separator\f[R] flag. 4447 Note that separators aren\[aq]t escaped in the path so putting it last 4448 is a good strategy. 4449 .PP 4450 Eg 4451 .IP 4452 .nf 4453 \f[C] 4454 $ rclone lsf --separator \[dq],\[dq] --format \[dq]tshp\[dq] swift:bucket 4455 2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef 4456 2016-06-25 18:55:43,90613,cd65ac234e6fea5925974a51cdd865cc,canole 4457 2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7 4458 2018-04-26 08:52:53,0,,ferejej3gux/ 4459 2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic 4460 \f[R] 4461 .fi 4462 .PP 4463 You can output in CSV standard format. 4464 This will escape things in \[dq] if they contain , 4465 .PP 4466 Eg 4467 .IP 4468 .nf 4469 \f[C] 4470 $ rclone lsf --csv --files-only --format ps remote:path 4471 test.log,22355 4472 test.sh,449 4473 \[dq]this file contains a comma, in the file name.txt\[dq],6 4474 \f[R] 4475 .fi 4476 .PP 4477 Note that the \f[C]--absolute\f[R] parameter is useful for making lists 4478 of files to pass to an rclone copy with the \f[C]--files-from-raw\f[R] 4479 flag. 4480 .PP 4481 For example, to find all the files modified within one day and copy 4482 those only (without traversing the whole directory structure): 4483 .IP 4484 .nf 4485 \f[C] 4486 rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files 4487 rclone copy --files-from-raw new_files /path/to/local remote:path 4488 \f[R] 4489 .fi 4490 .PP 4491 Any of the filtering options can be applied to this command. 4492 .PP 4493 There are several related list commands 4494 .IP \[bu] 2 4495 \f[C]ls\f[R] to list size and path of objects only 4496 .IP \[bu] 2 4497 \f[C]lsl\f[R] to list modification time, size and path of objects only 4498 .IP \[bu] 2 4499 \f[C]lsd\f[R] to list directories only 4500 .IP \[bu] 2 4501 \f[C]lsf\f[R] to list objects and directories in easy to parse format 4502 .IP \[bu] 2 4503 \f[C]lsjson\f[R] to list objects and directories in JSON format 4504 .PP 4505 \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be 4506 human-readable. 4507 \f[C]lsf\f[R] is designed to be human and machine-readable. 4508 \f[C]lsjson\f[R] is designed to be machine-readable. 4509 .PP 4510 Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use 4511 \f[C]--max-depth 1\f[R] to stop the recursion. 4512 .PP 4513 The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do 4514 not recurse by default - use \f[C]-R\f[R] to make them recurse. 4515 .PP 4516 Listing a nonexistent directory will produce an error except for remotes 4517 which can\[aq]t have empty directories (e.g. 4518 s3, swift, or gcs - the bucket-based remotes). 4519 .IP 4520 .nf 4521 \f[C] 4522 rclone lsf remote:path [flags] 4523 \f[R] 4524 .fi 4525 .SS Options 4526 .IP 4527 .nf 4528 \f[C] 4529 --absolute Put a leading / in front of path names 4530 --csv Output in CSV format 4531 -d, --dir-slash Append a slash to directory names (default true) 4532 --dirs-only Only list directories 4533 --files-only Only list files 4534 -F, --format string Output format - see help for details (default \[dq]p\[dq]) 4535 --hash h Use this hash when h is used in the format MD5|SHA-1|DropboxHash (default \[dq]md5\[dq]) 4536 -h, --help help for lsf 4537 -R, --recursive Recurse into the listing 4538 -s, --separator string Separator for the items in the format (default \[dq];\[dq]) 4539 \f[R] 4540 .fi 4541 .PP 4542 See the global flags page (https://rclone.org/flags/) for global options 4543 not listed here. 4544 .SS SEE ALSO 4545 .IP \[bu] 2 4546 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4547 commands, flags and backends. 4548 .SH rclone lsjson 4549 .PP 4550 List directories and objects in the path in JSON format. 4551 .SS Synopsis 4552 .PP 4553 List directories and objects in the path in JSON format. 4554 .PP 4555 The output is an array of Items, where each Item looks like this 4556 .IP 4557 .nf 4558 \f[C] 4559 { 4560 \[dq]Hashes\[dq] : { 4561 \[dq]SHA-1\[dq] : \[dq]f572d396fae9206628714fb2ce00f72e94f2258f\[dq], 4562 \[dq]MD5\[dq] : \[dq]b1946ac92492d2347c6235b4d2611184\[dq], 4563 \[dq]DropboxHash\[dq] : \[dq]ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc\[dq] 4564 }, 4565 \[dq]ID\[dq]: \[dq]y2djkhiujf83u33\[dq], 4566 \[dq]OrigID\[dq]: \[dq]UYOJVTUW00Q1RzTDA\[dq], 4567 \[dq]IsBucket\[dq] : false, 4568 \[dq]IsDir\[dq] : false, 4569 \[dq]MimeType\[dq] : \[dq]application/octet-stream\[dq], 4570 \[dq]ModTime\[dq] : \[dq]2017-05-31T16:15:57.034468261+01:00\[dq], 4571 \[dq]Name\[dq] : \[dq]file.txt\[dq], 4572 \[dq]Encrypted\[dq] : \[dq]v0qpsdq8anpci8n929v3uu9338\[dq], 4573 \[dq]EncryptedPath\[dq] : \[dq]kja9098349023498/v0qpsdq8anpci8n929v3uu9338\[dq], 4574 \[dq]Path\[dq] : \[dq]full/path/goes/here/file.txt\[dq], 4575 \[dq]Size\[dq] : 6, 4576 \[dq]Tier\[dq] : \[dq]hot\[dq], 4577 } 4578 \f[R] 4579 .fi 4580 .PP 4581 If \f[C]--hash\f[R] is not specified the Hashes property won\[aq]t be 4582 emitted. 4583 The types of hash can be specified with the \f[C]--hash-type\f[R] 4584 parameter (which may be repeated). 4585 If \f[C]--hash-type\f[R] is set then it implies \f[C]--hash\f[R]. 4586 .PP 4587 If \f[C]--no-modtime\f[R] is specified then ModTime will be blank. 4588 This can speed things up on remotes where reading the ModTime takes an 4589 extra request (e.g. 4590 s3, swift). 4591 .PP 4592 If \f[C]--no-mimetype\f[R] is specified then MimeType will be blank. 4593 This can speed things up on remotes where reading the MimeType takes an 4594 extra request (e.g. 4595 s3, swift). 4596 .PP 4597 If \f[C]--encrypted\f[R] is not specified the Encrypted won\[aq]t be 4598 emitted. 4599 .PP 4600 If \f[C]--dirs-only\f[R] is not specified files in addition to 4601 directories are returned 4602 .PP 4603 If \f[C]--files-only\f[R] is not specified directories in addition to 4604 the files will be returned. 4605 .PP 4606 If \f[C]--metadata\f[R] is set then an additional Metadata key will be 4607 returned. 4608 This will have metadata in rclone standard format as a JSON object. 4609 .PP 4610 if \f[C]--stat\f[R] is set then a single JSON blob will be returned 4611 about the item pointed to. 4612 This will return an error if the item isn\[aq]t found. 4613 However on bucket based backends (like s3, gcs, b2, azureblob etc) if 4614 the item isn\[aq]t found it will return an empty directory as it 4615 isn\[aq]t possible to tell empty directories from missing directories 4616 there. 4617 .PP 4618 The Path field will only show folders below the remote path being 4619 listed. 4620 If \[dq]remote:path\[dq] contains the file \[dq]subfolder/file.txt\[dq], 4621 the Path for \[dq]file.txt\[dq] will be \[dq]subfolder/file.txt\[dq], 4622 not \[dq]remote:path/subfolder/file.txt\[dq]. 4623 When used without \f[C]--recursive\f[R] the Path will always be the same 4624 as Name. 4625 .PP 4626 If the directory is a bucket in a bucket-based backend, then 4627 \[dq]IsBucket\[dq] will be set to true. 4628 This key won\[aq]t be present unless it is \[dq]true\[dq]. 4629 .PP 4630 The time is in RFC3339 format with up to nanosecond precision. 4631 The number of decimal digits in the seconds will depend on the precision 4632 that the remote can hold the times, so if times are accurate to the 4633 nearest millisecond (e.g. 4634 Google Drive) then 3 digits will always be shown 4635 (\[dq]2017-05-31T16:15:57.034+01:00\[dq]) whereas if the times are 4636 accurate to the nearest second (Dropbox, Box, WebDav, etc.) no digits 4637 will be shown (\[dq]2017-05-31T16:15:57+01:00\[dq]). 4638 .PP 4639 The whole output can be processed as a JSON blob, or alternatively it 4640 can be processed line by line as each item is written one to a line. 4641 .PP 4642 Any of the filtering options can be applied to this command. 4643 .PP 4644 There are several related list commands 4645 .IP \[bu] 2 4646 \f[C]ls\f[R] to list size and path of objects only 4647 .IP \[bu] 2 4648 \f[C]lsl\f[R] to list modification time, size and path of objects only 4649 .IP \[bu] 2 4650 \f[C]lsd\f[R] to list directories only 4651 .IP \[bu] 2 4652 \f[C]lsf\f[R] to list objects and directories in easy to parse format 4653 .IP \[bu] 2 4654 \f[C]lsjson\f[R] to list objects and directories in JSON format 4655 .PP 4656 \f[C]ls\f[R],\f[C]lsl\f[R],\f[C]lsd\f[R] are designed to be 4657 human-readable. 4658 \f[C]lsf\f[R] is designed to be human and machine-readable. 4659 \f[C]lsjson\f[R] is designed to be machine-readable. 4660 .PP 4661 Note that \f[C]ls\f[R] and \f[C]lsl\f[R] recurse by default - use 4662 \f[C]--max-depth 1\f[R] to stop the recursion. 4663 .PP 4664 The other list commands \f[C]lsd\f[R],\f[C]lsf\f[R],\f[C]lsjson\f[R] do 4665 not recurse by default - use \f[C]-R\f[R] to make them recurse. 4666 .PP 4667 Listing a nonexistent directory will produce an error except for remotes 4668 which can\[aq]t have empty directories (e.g. 4669 s3, swift, or gcs - the bucket-based remotes). 4670 .IP 4671 .nf 4672 \f[C] 4673 rclone lsjson remote:path [flags] 4674 \f[R] 4675 .fi 4676 .SS Options 4677 .IP 4678 .nf 4679 \f[C] 4680 --dirs-only Show only directories in the listing 4681 --encrypted Show the encrypted names 4682 --files-only Show only files in the listing 4683 --hash Include hashes in the output (may take longer) 4684 --hash-type stringArray Show only this hash type (may be repeated) 4685 -h, --help help for lsjson 4686 -M, --metadata Add metadata to the listing 4687 --no-mimetype Don\[aq]t read the mime type (can speed things up) 4688 --no-modtime Don\[aq]t read the modification time (can speed things up) 4689 --original Show the ID of the underlying Object 4690 -R, --recursive Recurse into the listing 4691 --stat Just return the info for the pointed to file 4692 \f[R] 4693 .fi 4694 .PP 4695 See the global flags page (https://rclone.org/flags/) for global options 4696 not listed here. 4697 .SS SEE ALSO 4698 .IP \[bu] 2 4699 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 4700 commands, flags and backends. 4701 .SH rclone mount 4702 .PP 4703 Mount the remote as file system on a mountpoint. 4704 .SS Synopsis 4705 .PP 4706 rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of 4707 Rclone\[aq]s cloud storage systems as a file system with FUSE. 4708 .PP 4709 First set up your remote using \f[C]rclone config\f[R]. 4710 Check it works with \f[C]rclone ls\f[R] etc. 4711 .PP 4712 On Linux and macOS, you can run mount in either foreground or background 4713 (aka daemon) mode. 4714 Mount runs in foreground mode by default. 4715 Use the \f[C]--daemon\f[R] flag to force background mode. 4716 On Windows you can run mount in foreground only, the flag is ignored. 4717 .PP 4718 In background mode rclone acts as a generic Unix mount program: the main 4719 program starts, spawns background rclone process to setup and maintain 4720 the mount, waits until success or timeout and exits with appropriate 4721 code (killing the child process if it fails). 4722 .PP 4723 On Linux/macOS/FreeBSD start the mount like this, where 4724 \f[C]/path/to/local/mount\f[R] is an \f[B]empty\f[R] \f[B]existing\f[R] 4725 directory: 4726 .IP 4727 .nf 4728 \f[C] 4729 rclone mount remote:path/to/files /path/to/local/mount 4730 \f[R] 4731 .fi 4732 .PP 4733 On Windows you can start a mount in different ways. 4734 See below for details. 4735 If foreground mount is used interactively from a console window, rclone 4736 will serve the mount and occupy the console so another window should be 4737 used to work with the mount until rclone is interrupted e.g. 4738 by pressing Ctrl-C. 4739 .PP 4740 The following examples will mount to an automatically assigned drive, to 4741 specific drive letter \f[C]X:\f[R], to path 4742 \f[C]C:\[rs]path\[rs]parent\[rs]mount\f[R] (where parent directory or 4743 drive must exist, and mount must \f[B]not\f[R] exist, and is not 4744 supported when mounting as a network drive), and the last example will 4745 mount as network share \f[C]\[rs]\[rs]cloud\[rs]remote\f[R] and map it 4746 to an automatically assigned drive: 4747 .IP 4748 .nf 4749 \f[C] 4750 rclone mount remote:path/to/files * 4751 rclone mount remote:path/to/files X: 4752 rclone mount remote:path/to/files C:\[rs]path\[rs]parent\[rs]mount 4753 rclone mount remote:path/to/files \[rs]\[rs]cloud\[rs]remote 4754 \f[R] 4755 .fi 4756 .PP 4757 When the program ends while in foreground mode, either via Ctrl+C or 4758 receiving a SIGINT or SIGTERM signal, the mount should be automatically 4759 stopped. 4760 .PP 4761 When running in background mode the user will have to stop the mount 4762 manually: 4763 .IP 4764 .nf 4765 \f[C] 4766 # Linux 4767 fusermount -u /path/to/local/mount 4768 # OS X 4769 umount /path/to/local/mount 4770 \f[R] 4771 .fi 4772 .PP 4773 The umount operation can fail, for example when the mountpoint is busy. 4774 When that happens, it is the user\[aq]s responsibility to stop the mount 4775 manually. 4776 .PP 4777 The size of the mounted file system will be set according to information 4778 retrieved from the remote, the same as returned by the rclone 4779 about (https://rclone.org/commands/rclone_about/) command. 4780 Remotes with unlimited storage may report the used size only, then an 4781 additional 1 PiB of free space is assumed. 4782 If the remote does not 4783 support (https://rclone.org/overview/#optional-features) the about 4784 feature at all, then 1 PiB is set as both the total and the free size. 4785 .SS Installing on Windows 4786 .PP 4787 To run rclone mount on Windows, you will need to download and install 4788 WinFsp (http://www.secfs.net/winfsp/). 4789 .PP 4790 WinFsp (https://github.com/winfsp/winfsp) is an open-source Windows File 4791 System Proxy which makes it easy to write user space file systems for 4792 Windows. 4793 It provides a FUSE emulation layer which rclone uses combination with 4794 cgofuse (https://github.com/winfsp/cgofuse). 4795 Both of these packages are by Bill Zissimopoulos who was very helpful 4796 during the implementation of rclone mount for Windows. 4797 .SS Mounting modes on windows 4798 .PP 4799 Unlike other operating systems, Microsoft Windows provides a different 4800 filesystem type for network and fixed drives. 4801 It optimises access on the assumption fixed disk drives are fast and 4802 reliable, while network drives have relatively high latency and less 4803 reliability. 4804 Some settings can also be differentiated between the two types, for 4805 example that Windows Explorer should just display icons and not create 4806 preview thumbnails for image and video files on network drives. 4807 .PP 4808 In most cases, rclone will mount the remote as a normal, fixed disk 4809 drive by default. 4810 However, you can also choose to mount it as a remote network drive, 4811 often described as a network share. 4812 If you mount an rclone remote using the default, fixed drive mode and 4813 experience unexpected program errors, freezes or other issues, consider 4814 mounting as a network drive instead. 4815 .PP 4816 When mounting as a fixed disk drive you can either mount to an unused 4817 drive letter, or to a path representing a \f[B]nonexistent\f[R] 4818 subdirectory of an \f[B]existing\f[R] parent directory or drive. 4819 Using the special value \f[C]*\f[R] will tell rclone to automatically 4820 assign the next available drive letter, starting with Z: and moving 4821 backward. 4822 Examples: 4823 .IP 4824 .nf 4825 \f[C] 4826 rclone mount remote:path/to/files * 4827 rclone mount remote:path/to/files X: 4828 rclone mount remote:path/to/files C:\[rs]path\[rs]parent\[rs]mount 4829 rclone mount remote:path/to/files X: 4830 \f[R] 4831 .fi 4832 .PP 4833 Option \f[C]--volname\f[R] can be used to set a custom volume name for 4834 the mounted file system. 4835 The default is to use the remote name and path. 4836 .PP 4837 To mount as network drive, you can add option \f[C]--network-mode\f[R] 4838 to your mount command. 4839 Mounting to a directory path is not supported in this mode, it is a 4840 limitation Windows imposes on junctions, so the remote must always be 4841 mounted to a drive letter. 4842 .IP 4843 .nf 4844 \f[C] 4845 rclone mount remote:path/to/files X: --network-mode 4846 \f[R] 4847 .fi 4848 .PP 4849 A volume name specified with \f[C]--volname\f[R] will be used to create 4850 the network share path. 4851 A complete UNC path, such as \f[C]\[rs]\[rs]cloud\[rs]remote\f[R], 4852 optionally with path 4853 \f[C]\[rs]\[rs]cloud\[rs]remote\[rs]madeup\[rs]path\f[R], will be used 4854 as is. 4855 Any other string will be used as the share part, after a default prefix 4856 \f[C]\[rs]\[rs]server\[rs]\f[R]. 4857 If no volume name is specified then \f[C]\[rs]\[rs]server\[rs]share\f[R] 4858 will be used. 4859 You must make sure the volume name is unique when you are mounting more 4860 than one drive, or else the mount command will fail. 4861 The share name will treated as the volume label for the mapped drive, 4862 shown in Windows Explorer etc, while the complete 4863 \f[C]\[rs]\[rs]server\[rs]share\f[R] will be reported as the remote UNC 4864 path by \f[C]net use\f[R] etc, just like a normal network drive mapping. 4865 .PP 4866 If you specify a full network share UNC path with \f[C]--volname\f[R], 4867 this will implicitly set the \f[C]--network-mode\f[R] option, so the 4868 following two examples have same result: 4869 .IP 4870 .nf 4871 \f[C] 4872 rclone mount remote:path/to/files X: --network-mode 4873 rclone mount remote:path/to/files X: --volname \[rs]\[rs]server\[rs]share 4874 \f[R] 4875 .fi 4876 .PP 4877 You may also specify the network share UNC path as the mountpoint 4878 itself. 4879 Then rclone will automatically assign a drive letter, same as with 4880 \f[C]*\f[R] and use that as mountpoint, and instead use the UNC path 4881 specified as the volume name, as if it were specified with the 4882 \f[C]--volname\f[R] option. 4883 This will also implicitly set the \f[C]--network-mode\f[R] option. 4884 This means the following two examples have same result: 4885 .IP 4886 .nf 4887 \f[C] 4888 rclone mount remote:path/to/files \[rs]\[rs]cloud\[rs]remote 4889 rclone mount remote:path/to/files * --volname \[rs]\[rs]cloud\[rs]remote 4890 \f[R] 4891 .fi 4892 .PP 4893 There is yet another way to enable network mode, and to set the share 4894 path, and that is to pass the \[dq]native\[dq] libfuse/WinFsp option 4895 directly: \f[C]--fuse-flag --VolumePrefix=\[rs]server\[rs]share\f[R]. 4896 Note that the path must be with just a single backslash prefix in this 4897 case. 4898 .PP 4899 \f[I]Note:\f[R] In previous versions of rclone this was the only 4900 supported method. 4901 .PP 4902 Read more about drive 4903 mapping (https://en.wikipedia.org/wiki/Drive_mapping) 4904 .PP 4905 See also Limitations section below. 4906 .SS Windows filesystem permissions 4907 .PP 4908 The FUSE emulation layer on Windows must convert between the POSIX-based 4909 permission model used in FUSE, and the permission model used in Windows, 4910 based on access-control lists (ACL). 4911 .PP 4912 The mounted filesystem will normally get three entries in its 4913 access-control list (ACL), representing permissions for the POSIX 4914 permission scopes: Owner, group and others. 4915 By default, the owner and group will be taken from the current user, and 4916 the built-in group \[dq]Everyone\[dq] will be used to represent others. 4917 The user/group can be customized with FUSE options \[dq]UserName\[dq] 4918 and \[dq]GroupName\[dq], e.g. 4919 \f[C]-o UserName=user123 -o GroupName=\[dq]Authenticated Users\[dq]\f[R]. 4920 The permissions on each entry will be set according to options 4921 \f[C]--dir-perms\f[R] and \f[C]--file-perms\f[R], which takes a value in 4922 traditional Unix numeric 4923 notation (https://en.wikipedia.org/wiki/File-system_permissions#Numeric_notation). 4924 .PP 4925 The default permissions corresponds to 4926 \f[C]--file-perms 0666 --dir-perms 0777\f[R], i.e. 4927 read and write permissions to everyone. 4928 This means you will not be able to start any programs from the mount. 4929 To be able to do that you must add execute permissions, e.g. 4930 \f[C]--file-perms 0777 --dir-perms 0777\f[R] to add it to everyone. 4931 If the program needs to write files, chances are you will have to enable 4932 VFS File Caching as well (see also limitations). 4933 Note that the default write permission have some restrictions for 4934 accounts other than the owner, specifically it lacks the \[dq]write 4935 extended attributes\[dq], as explained next. 4936 .PP 4937 The mapping of permissions is not always trivial, and the result you see 4938 in Windows Explorer may not be exactly like you expected. 4939 For example, when setting a value that includes write access for the 4940 group or others scope, this will be mapped to individual permissions 4941 \[dq]write attributes\[dq], \[dq]write data\[dq] and \[dq]append 4942 data\[dq], but not \[dq]write extended attributes\[dq]. 4943 Windows will then show this as basic permission \[dq]Special\[dq] 4944 instead of \[dq]Write\[dq], because \[dq]Write\[dq] also covers the 4945 \[dq]write extended attributes\[dq] permission. 4946 When setting digit 0 for group or others, to indicate no permissions, 4947 they will still get individual permissions \[dq]read attributes\[dq], 4948 \[dq]read extended attributes\[dq] and \[dq]read permissions\[dq]. 4949 This is done for compatibility reasons, e.g. 4950 to allow users without additional permissions to be able to read basic 4951 metadata about files like in Unix. 4952 .PP 4953 WinFsp 2021 (version 1.9) introduced a new FUSE option 4954 \[dq]FileSecurity\[dq], that allows the complete specification of file 4955 security descriptors using 4956 SDDL (https://docs.microsoft.com/en-us/windows/win32/secauthz/security-descriptor-string-format). 4957 With this you get detailed control of the resulting permissions, 4958 compared to use of the POSIX permissions described above, and no 4959 additional permissions will be added automatically for compatibility 4960 with Unix. 4961 Some example use cases will following. 4962 .PP 4963 If you set POSIX permissions for only allowing access to the owner, 4964 using \f[C]--file-perms 0600 --dir-perms 0700\f[R], the user group and 4965 the built-in \[dq]Everyone\[dq] group will still be given some special 4966 permissions, as described above. 4967 Some programs may then (incorrectly) interpret this as the file being 4968 accessible by everyone, for example an SSH client may warn about 4969 \[dq]unprotected private key file\[dq]. 4970 You can work around this by specifying 4971 \f[C]-o FileSecurity=\[dq]D:P(A;;FA;;;OW)\[dq]\f[R], which sets file all 4972 access (FA) to the owner (OW), and nothing else. 4973 .PP 4974 When setting write permissions then, except for the owner, this does not 4975 include the \[dq]write extended attributes\[dq] permission, as mentioned 4976 above. 4977 This may prevent applications from writing to files, giving permission 4978 denied error instead. 4979 To set working write permissions for the built-in \[dq]Everyone\[dq] 4980 group, similar to what it gets by default but with the addition of the 4981 \[dq]write extended attributes\[dq], you can specify 4982 \f[C]-o FileSecurity=\[dq]D:P(A;;FRFW;;;WD)\[dq]\f[R], which sets file 4983 read (FR) and file write (FW) to everyone (WD). 4984 If file execute (FX) is also needed, then change to 4985 \f[C]-o FileSecurity=\[dq]D:P(A;;FRFWFX;;;WD)\[dq]\f[R], or set file all 4986 access (FA) to get full access permissions, including delete, with 4987 \f[C]-o FileSecurity=\[dq]D:P(A;;FA;;;WD)\[dq]\f[R]. 4988 .SS Windows caveats 4989 .PP 4990 Drives created as Administrator are not visible to other accounts, not 4991 even an account that was elevated to Administrator with the User Account 4992 Control (UAC) feature. 4993 A result of this is that if you mount to a drive letter from a Command 4994 Prompt run as Administrator, and then try to access the same drive from 4995 Windows Explorer (which does not run as Administrator), you will not be 4996 able to see the mounted drive. 4997 .PP 4998 If you don\[aq]t need to access the drive from applications running with 4999 administrative privileges, the easiest way around this is to always 5000 create the mount from a non-elevated command prompt. 5001 .PP 5002 To make mapped drives available to the user account that created them 5003 regardless if elevated or not, there is a special Windows setting called 5004 linked 5005 connections (https://docs.microsoft.com/en-us/troubleshoot/windows-client/networking/mapped-drives-not-available-from-elevated-command#detail-to-configure-the-enablelinkedconnections-registry-entry) 5006 that can be enabled. 5007 .PP 5008 It is also possible to make a drive mount available to everyone on the 5009 system, by running the process creating it as the built-in SYSTEM 5010 account. 5011 There are several ways to do this: One is to use the command-line 5012 utility 5013 PsExec (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec), 5014 from Microsoft\[aq]s Sysinternals suite, which has option \f[C]-s\f[R] 5015 to start processes as the SYSTEM account. 5016 Another alternative is to run the mount command from a Windows Scheduled 5017 Task, or a Windows Service, configured to run as the SYSTEM account. 5018 A third alternative is to use the WinFsp.Launcher 5019 infrastructure (https://github.com/winfsp/winfsp/wiki/WinFsp-Service-Architecture)). 5020 Read more in the install documentation (https://rclone.org/install/). 5021 Note that when running rclone as another user, it will not use the 5022 configuration file from your profile unless you tell it to with the 5023 \f[C]--config\f[R] (https://rclone.org/docs/#config-config-file) option. 5024 Note also that it is now the SYSTEM account that will have the owner 5025 permissions, and other accounts will have permissions according to the 5026 group or others scopes. 5027 As mentioned above, these will then not get the \[dq]write extended 5028 attributes\[dq] permission, and this may prevent writing to files. 5029 You can work around this with the FileSecurity option, see example 5030 above. 5031 .PP 5032 Note that mapping to a directory path, instead of a drive letter, does 5033 not suffer from the same limitations. 5034 .SS Mounting on macOS 5035 .PP 5036 Mounting on macOS can be done either via 5037 macFUSE (https://osxfuse.github.io/) (also known as osxfuse) or 5038 FUSE-T (https://www.fuse-t.org/). 5039 macFUSE is a traditional FUSE driver utilizing a macOS kernel extension 5040 (kext). 5041 FUSE-T is an alternative FUSE system which \[dq]mounts\[dq] via an NFSv4 5042 local server. 5043 .SS macFUSE Notes 5044 .PP 5045 If installing macFUSE using dmg 5046 packages (https://github.com/osxfuse/osxfuse/releases) from the website, 5047 rclone will locate the macFUSE libraries without any further 5048 intervention. 5049 If however, macFUSE is installed using the 5050 macports (https://www.macports.org/) package manager, the following 5051 addition steps are required. 5052 .IP 5053 .nf 5054 \f[C] 5055 sudo mkdir /usr/local/lib 5056 cd /usr/local/lib 5057 sudo ln -s /opt/local/lib/libfuse.2.dylib 5058 \f[R] 5059 .fi 5060 .SS FUSE-T Limitations, Caveats, and Notes 5061 .PP 5062 There are some limitations, caveats, and notes about how it works. 5063 These are current as of FUSE-T version 1.0.14. 5064 .SS ModTime update on read 5065 .PP 5066 As per the FUSE-T 5067 wiki (https://github.com/macos-fuse-t/fuse-t/wiki#caveats): 5068 .RS 5069 .PP 5070 File access and modification times cannot be set separately as it seems 5071 to be an issue with the NFS client which always modifies both. 5072 Can be reproduced with \[aq]touch -m\[aq] and \[aq]touch -a\[aq] 5073 commands 5074 .RE 5075 .PP 5076 This means that viewing files with various tools, notably macOS Finder, 5077 will cause rlcone to update the modification time of the file. 5078 This may make rclone upload a full new copy of the file. 5079 .SS Unicode Normalization 5080 .PP 5081 Rclone includes flags for unicode normalization with macFUSE that should 5082 be updated for FUSE-T. 5083 See this forum 5084 post (https://forum.rclone.org/t/some-unicode-forms-break-mount-on-macos-with-fuse-t/36403) 5085 and FUSE-T issue #16 (https://github.com/macos-fuse-t/fuse-t/issues/16). 5086 The following flag should be added to the \f[C]rclone mount\f[R] 5087 command. 5088 .IP 5089 .nf 5090 \f[C] 5091 -o modules=iconv,from_code=UTF-8,to_code=UTF-8 5092 \f[R] 5093 .fi 5094 .SS Read Only mounts 5095 .PP 5096 When mounting with \f[C]--read-only\f[R], attempts to write to files 5097 will fail \f[I]silently\f[R] as opposed to with a clear warning as in 5098 macFUSE. 5099 .SS Limitations 5100 .PP 5101 Without the use of \f[C]--vfs-cache-mode\f[R] this can only write files 5102 sequentially, it can only seek when reading. 5103 This means that many applications won\[aq]t work with their files on an 5104 rclone mount without \f[C]--vfs-cache-mode writes\f[R] or 5105 \f[C]--vfs-cache-mode full\f[R]. 5106 See the VFS File Caching section for more info. 5107 .PP 5108 The bucket-based remotes (e.g. 5109 Swift, S3, Google Compute Storage, B2) do not support the concept of 5110 empty directories, so empty directories will have a tendency to 5111 disappear once they fall out of the directory cache. 5112 .PP 5113 When \f[C]rclone mount\f[R] is invoked on Unix with \f[C]--daemon\f[R] 5114 flag, the main rclone program will wait for the background mount to 5115 become ready or until the timeout specified by the 5116 \f[C]--daemon-wait\f[R] flag. 5117 On Linux it can check mount status using ProcFS so the flag in fact sets 5118 \f[B]maximum\f[R] time to wait, while the real wait can be less. 5119 On macOS / BSD the time to wait is constant and the check is performed 5120 only at the end. 5121 We advise you to set wait time on macOS reasonably. 5122 .PP 5123 Only supported on Linux, FreeBSD, OS X and Windows at the moment. 5124 .SS rclone mount vs rclone sync/copy 5125 .PP 5126 File systems expect things to be 100% reliable, whereas cloud storage 5127 systems are a long way from 100% reliable. 5128 The rclone sync/copy commands cope with this with lots of retries. 5129 However rclone mount can\[aq]t use retries in the same way without 5130 making local copies of the uploads. 5131 Look at the VFS File Caching for solutions to make mount more reliable. 5132 .SS Attribute caching 5133 .PP 5134 You can use the flag \f[C]--attr-timeout\f[R] to set the time the kernel 5135 caches the attributes (size, modification time, etc.) for directory 5136 entries. 5137 .PP 5138 The default is \f[C]1s\f[R] which caches files just long enough to avoid 5139 too many callbacks to rclone from the kernel. 5140 .PP 5141 In theory 0s should be the correct value for filesystems which can 5142 change outside the control of the kernel. 5143 However this causes quite a few problems such as rclone using too much 5144 memory (https://github.com/divyam234/rclone/issues/2157), rclone not 5145 serving files to 5146 samba (https://forum.rclone.org/t/rclone-1-39-vs-1-40-mount-issue/5112) 5147 and excessive time listing 5148 directories (https://github.com/divyam234/rclone/issues/2095#issuecomment-371141147). 5149 .PP 5150 The kernel can cache the info about a file for the time given by 5151 \f[C]--attr-timeout\f[R]. 5152 You may see corruption if the remote file changes length during this 5153 window. 5154 It will show up as either a truncated file or a file with garbage on the 5155 end. 5156 With \f[C]--attr-timeout 1s\f[R] this is very unlikely but not 5157 impossible. 5158 The higher you set \f[C]--attr-timeout\f[R] the more likely it is. 5159 The default setting of \[dq]1s\[dq] is the lowest setting which 5160 mitigates the problems above. 5161 .PP 5162 If you set it higher (\f[C]10s\f[R] or \f[C]1m\f[R] say) then the kernel 5163 will call back to rclone less often making it more efficient, however 5164 there is more chance of the corruption issue above. 5165 .PP 5166 If files don\[aq]t change on the remote outside of the control of rclone 5167 then there is no chance of corruption. 5168 .PP 5169 This is the same as setting the attr_timeout option in mount.fuse. 5170 .SS Filters 5171 .PP 5172 Note that all the rclone filters can be used to select a subset of the 5173 files to be visible in the mount. 5174 .SS systemd 5175 .PP 5176 When running rclone mount as a systemd service, it is possible to use 5177 Type=notify. 5178 In this case the service will enter the started state after the 5179 mountpoint has been successfully set up. 5180 Units having the rclone mount service specified as a requirement will 5181 see all files and folders immediately in this mode. 5182 .PP 5183 Note that systemd runs mount units without any environment variables 5184 including \f[C]PATH\f[R] or \f[C]HOME\f[R]. 5185 This means that tilde (\f[C]\[ti]\f[R]) expansion will not work and you 5186 should provide \f[C]--config\f[R] and \f[C]--cache-dir\f[R] explicitly 5187 as absolute paths via rclone arguments. 5188 Since mounting requires the \f[C]fusermount\f[R] program, rclone will 5189 use the fallback PATH of \f[C]/bin:/usr/bin\f[R] in this scenario. 5190 Please ensure that \f[C]fusermount\f[R] is present on this PATH. 5191 .SS Rclone as Unix mount helper 5192 .PP 5193 The core Unix program \f[C]/bin/mount\f[R] normally takes the 5194 \f[C]-t FSTYPE\f[R] argument then runs the \f[C]/sbin/mount.FSTYPE\f[R] 5195 helper program passing it mount options as \f[C]-o key=val,...\f[R] or 5196 \f[C]--opt=...\f[R]. 5197 Automount (classic or systemd) behaves in a similar way. 5198 .PP 5199 rclone by default expects GNU-style flags \f[C]--key val\f[R]. 5200 To run it as a mount helper you should symlink rclone binary to 5201 \f[C]/sbin/mount.rclone\f[R] and optionally \f[C]/usr/bin/rclonefs\f[R], 5202 e.g. 5203 \f[C]ln -s /usr/bin/rclone /sbin/mount.rclone\f[R]. 5204 rclone will detect it and translate command-line arguments 5205 appropriately. 5206 .PP 5207 Now you can run classic mounts like this: 5208 .IP 5209 .nf 5210 \f[C] 5211 mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem 5212 \f[R] 5213 .fi 5214 .PP 5215 or create systemd mount units: 5216 .IP 5217 .nf 5218 \f[C] 5219 # /etc/systemd/system/mnt-data.mount 5220 [Unit] 5221 Description=Mount for /mnt/data 5222 [Mount] 5223 Type=rclone 5224 What=sftp1:subdir 5225 Where=/mnt/data 5226 Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone 5227 \f[R] 5228 .fi 5229 .PP 5230 optionally accompanied by systemd automount unit 5231 .IP 5232 .nf 5233 \f[C] 5234 # /etc/systemd/system/mnt-data.automount 5235 [Unit] 5236 Description=AutoMount for /mnt/data 5237 [Automount] 5238 Where=/mnt/data 5239 TimeoutIdleSec=600 5240 [Install] 5241 WantedBy=multi-user.target 5242 \f[R] 5243 .fi 5244 .PP 5245 or add in \f[C]/etc/fstab\f[R] a line like 5246 .IP 5247 .nf 5248 \f[C] 5249 sftp1:subdir /mnt/data rclone rw,noauto,nofail,_netdev,x-systemd.automount,args2env,vfs_cache_mode=writes,config=/etc/rclone.conf,cache_dir=/var/cache/rclone 0 0 5250 \f[R] 5251 .fi 5252 .PP 5253 or use classic Automountd. 5254 Remember to provide explicit \f[C]config=...,cache-dir=...\f[R] as a 5255 workaround for mount units being run without \f[C]HOME\f[R]. 5256 .PP 5257 Rclone in the mount helper mode will split \f[C]-o\f[R] argument(s) by 5258 comma, replace \f[C]_\f[R] by \f[C]-\f[R] and prepend \f[C]--\f[R] to 5259 get the command-line flags. 5260 Options containing commas or spaces can be wrapped in single or double 5261 quotes. 5262 Any inner quotes inside outer quotes of the same type should be doubled. 5263 .PP 5264 Mount option syntax includes a few extra options treated specially: 5265 .IP \[bu] 2 5266 \f[C]env.NAME=VALUE\f[R] will set an environment variable for the mount 5267 process. 5268 This helps with Automountd and Systemd.mount which don\[aq]t allow 5269 setting custom environment for mount helpers. 5270 Typically you will use \f[C]env.HTTPS_PROXY=proxy.host:3128\f[R] or 5271 \f[C]env.HOME=/root\f[R] 5272 .IP \[bu] 2 5273 \f[C]command=cmount\f[R] can be used to run \f[C]cmount\f[R] or any 5274 other rclone command rather than the default \f[C]mount\f[R]. 5275 .IP \[bu] 2 5276 \f[C]args2env\f[R] will pass mount options to the mount helper running 5277 in background via environment variables instead of command line 5278 arguments. 5279 This allows to hide secrets from such commands as \f[C]ps\f[R] or 5280 \f[C]pgrep\f[R]. 5281 .IP \[bu] 2 5282 \f[C]vv...\f[R] will be transformed into appropriate 5283 \f[C]--verbose=N\f[R] 5284 .IP \[bu] 2 5285 standard mount options like \f[C]x-systemd.automount\f[R], 5286 \f[C]_netdev\f[R], \f[C]nosuid\f[R] and alike are intended only for 5287 Automountd and ignored by rclone. 5288 .SS VFS - Virtual File System 5289 .PP 5290 This command uses the VFS layer. 5291 This adapts the cloud storage objects that rclone uses into something 5292 which looks much more like a disk filing system. 5293 .PP 5294 Cloud storage objects have lots of properties which aren\[aq]t like disk 5295 files - you can\[aq]t extend them or write to the middle of them, so the 5296 VFS layer has to deal with that. 5297 Because there is no one right way of doing this there are various 5298 options explained below. 5299 .PP 5300 The VFS layer also implements a directory cache - this caches info about 5301 files and directories (but not the data) in memory. 5302 .SS VFS Directory Cache 5303 .PP 5304 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 5305 directory should be considered up to date and not refreshed from the 5306 backend. 5307 Changes made through the VFS will appear immediately or invalidate the 5308 cache. 5309 .IP 5310 .nf 5311 \f[C] 5312 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 5313 --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) 5314 \f[R] 5315 .fi 5316 .PP 5317 However, changes made directly on the cloud storage by the web interface 5318 or a different copy of rclone will only be picked up once the directory 5319 cache expires if the backend configured does not support polling for 5320 changes. 5321 If the backend supports polling, changes will be picked up within the 5322 polling interval. 5323 .PP 5324 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 5325 directory caches, regardless of how old they are. 5326 Assuming only one rclone instance is running, you can reset the cache 5327 like this: 5328 .IP 5329 .nf 5330 \f[C] 5331 kill -SIGHUP $(pidof rclone) 5332 \f[R] 5333 .fi 5334 .PP 5335 If you configure rclone with a remote control then you can use rclone rc 5336 to flush the whole directory cache: 5337 .IP 5338 .nf 5339 \f[C] 5340 rclone rc vfs/forget 5341 \f[R] 5342 .fi 5343 .PP 5344 Or individual files or directories: 5345 .IP 5346 .nf 5347 \f[C] 5348 rclone rc vfs/forget file=path/to/file dir=path/to/dir 5349 \f[R] 5350 .fi 5351 .SS VFS File Buffering 5352 .PP 5353 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 5354 will be used to buffer data in advance. 5355 .PP 5356 Each open file will try to keep the specified amount of data in memory 5357 at all times. 5358 The buffered data is bound to one open file and won\[aq]t be shared. 5359 .PP 5360 This flag is a upper limit for the used memory per open file. 5361 The buffer will only use memory for data that is downloaded but not not 5362 yet read. 5363 If the buffer is empty, only a small amount of memory will be used. 5364 .PP 5365 The maximum memory used by rclone for buffering can be up to 5366 \f[C]--buffer-size * open files\f[R]. 5367 .SS VFS File Caching 5368 .PP 5369 These flags control the VFS file caching options. 5370 File caching is necessary to make the VFS layer appear compatible with a 5371 normal file system. 5372 It can be disabled at the cost of some compatibility. 5373 .PP 5374 For example you\[aq]ll need to enable VFS caching if you want to read 5375 and write simultaneously to a file. 5376 See below for more details. 5377 .PP 5378 Note that the VFS cache is separate from the cache backend and you may 5379 find that you need one or the other or both. 5380 .IP 5381 .nf 5382 \f[C] 5383 --cache-dir string Directory rclone will use for caching. 5384 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 5385 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 5386 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 5387 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 5388 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 5389 \f[R] 5390 .fi 5391 .PP 5392 If run with \f[C]-vv\f[R] rclone will print the location of the file 5393 cache. 5394 The files are stored in the user cache file area which is OS dependent 5395 but can be controlled with \f[C]--cache-dir\f[R] or setting the 5396 appropriate environment variable. 5397 .PP 5398 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 5399 The higher the cache mode the more compatible rclone becomes at the cost 5400 of using disk space. 5401 .PP 5402 Note that files are written back to the remote only when they are closed 5403 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 5404 seconds. 5405 If rclone is quit or dies with files that haven\[aq]t been uploaded, 5406 these will be uploaded next time rclone is run with the same flags. 5407 .PP 5408 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 5409 this size for two reasons. 5410 Firstly because it is only checked every 5411 \f[C]--vfs-cache-poll-interval\f[R]. 5412 Secondly because open files cannot be evicted from the cache. 5413 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 5414 evict the least accessed files from the cache first. 5415 rclone will start with files that haven\[aq]t been accessed for the 5416 longest. 5417 This cache flushing strategy is efficient and more relevant files are 5418 likely to remain cached. 5419 .PP 5420 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 5421 the set time since last access has passed. 5422 The default value of 1 hour will start evicting files from cache that 5423 haven\[aq]t been accessed for 1 hour. 5424 When a cached file is accessed the 1 hour timer is reset to 0 and will 5425 wait for 1 more hour before evicting. 5426 Specify the time with standard notation, s, m, h, d, w . 5427 .PP 5428 You \f[B]should not\f[R] run two copies of rclone using the same VFS 5429 cache with the same or overlapping remotes if using 5430 \f[C]--vfs-cache-mode > off\f[R]. 5431 This can potentially cause data corruption if you do. 5432 You can work around this by giving each rclone its own cache hierarchy 5433 with \f[C]--cache-dir\f[R]. 5434 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 5435 overlap. 5436 .SS --vfs-cache-mode off 5437 .PP 5438 In this mode (the default) the cache will read directly from the remote 5439 and write directly to the remote without caching anything on disk. 5440 .PP 5441 This will mean some operations are not possible 5442 .IP \[bu] 2 5443 Files can\[aq]t be opened for both read AND write 5444 .IP \[bu] 2 5445 Files opened for write can\[aq]t be seeked 5446 .IP \[bu] 2 5447 Existing files opened for write must have O_TRUNC set 5448 .IP \[bu] 2 5449 Files open for read with O_TRUNC will be opened write only 5450 .IP \[bu] 2 5451 Files open for write only will behave as if O_TRUNC was supplied 5452 .IP \[bu] 2 5453 Open modes O_APPEND, O_TRUNC are ignored 5454 .IP \[bu] 2 5455 If an upload fails it can\[aq]t be retried 5456 .SS --vfs-cache-mode minimal 5457 .PP 5458 This is very similar to \[dq]off\[dq] except that files opened for read 5459 AND write will be buffered to disk. 5460 This means that files opened for write will be a lot more compatible, 5461 but uses the minimal disk space. 5462 .PP 5463 These operations are not possible 5464 .IP \[bu] 2 5465 Files opened for write only can\[aq]t be seeked 5466 .IP \[bu] 2 5467 Existing files opened for write must have O_TRUNC set 5468 .IP \[bu] 2 5469 Files opened for write only will ignore O_APPEND, O_TRUNC 5470 .IP \[bu] 2 5471 If an upload fails it can\[aq]t be retried 5472 .SS --vfs-cache-mode writes 5473 .PP 5474 In this mode files opened for read only are still read directly from the 5475 remote, write only and read/write files are buffered to disk first. 5476 .PP 5477 This mode should support all normal file system operations. 5478 .PP 5479 If an upload fails it will be retried at exponentially increasing 5480 intervals up to 1 minute. 5481 .SS --vfs-cache-mode full 5482 .PP 5483 In this mode all reads and writes are buffered to and from disk. 5484 When data is read from the remote this is buffered to disk as well. 5485 .PP 5486 In this mode the files in the cache will be sparse files and rclone will 5487 keep track of which bits of the files it has downloaded. 5488 .PP 5489 So if an application only reads the starts of each file, then rclone 5490 will only buffer the start of the file. 5491 These files will appear to be their full size in the cache, but they 5492 will be sparse files with only the data that has been downloaded present 5493 in them. 5494 .PP 5495 This mode should support all normal file system operations and is 5496 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 5497 .PP 5498 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 5499 \f[C]--vfs-read-ahead\f[R] bytes ahead. 5500 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 5501 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 5502 .PP 5503 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 5504 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 5505 required. 5506 .PP 5507 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 5508 In particular FAT/exFAT do not. 5509 Rclone will perform very badly if the cache directory is on a filesystem 5510 which doesn\[aq]t support sparse files and it will log an ERROR message 5511 if one is detected. 5512 .SS Fingerprinting 5513 .PP 5514 Various parts of the VFS use fingerprinting to see if a local file copy 5515 has changed relative to a remote file. 5516 Fingerprints are made from: 5517 .IP \[bu] 2 5518 size 5519 .IP \[bu] 2 5520 modification time 5521 .IP \[bu] 2 5522 hash 5523 .PP 5524 where available on an object. 5525 .PP 5526 On some backends some of these attributes are slow to read (they take an 5527 extra API call per object, or extra work per object). 5528 .PP 5529 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 5530 \f[C]sftp\f[R] backends as they have to read the entire file and hash 5531 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 5532 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 5533 they need to do an extra API call to fetch it. 5534 .PP 5535 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 5536 not include the slow operations in the fingerprint. 5537 This makes the fingerprinting less accurate but much faster and will 5538 improve the opening time of cached files. 5539 .PP 5540 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 5541 \f[C]swift\f[R] backends then using this flag is recommended. 5542 .PP 5543 Note that if you change the value of this flag, the fingerprints of the 5544 files in the cache may be invalidated and the files will need to be 5545 downloaded again. 5546 .SS VFS Chunked Reading 5547 .PP 5548 When rclone reads files from a remote it reads them in chunks. 5549 This means that rather than requesting the whole file rclone reads the 5550 chunk specified. 5551 This can reduce the used download quota for some remotes by requesting 5552 only chunks from the remote that are actually read, at the cost of an 5553 increased number of requests. 5554 .PP 5555 These flags control the chunking: 5556 .IP 5557 .nf 5558 \f[C] 5559 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 5560 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 5561 \f[R] 5562 .fi 5563 .PP 5564 Rclone will start reading a chunk of size 5565 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 5566 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 5567 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 5568 will get doubled only until the specified value is reached. 5569 If the value is \[dq]off\[dq], which is the default, the limit is 5570 disabled and the chunk size will grow indefinitely. 5571 .PP 5572 With \f[C]--vfs-read-chunk-size 100M\f[R] and 5573 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 5574 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 5575 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 5576 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 5577 on. 5578 .PP 5579 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 5580 disables chunked reading. 5581 .SS VFS Performance 5582 .PP 5583 These flags may be used to enable/disable features of the VFS for 5584 performance or other reasons. 5585 See also the chunked reading feature. 5586 .PP 5587 In particular S3 and Swift benefit hugely from the 5588 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 5589 slightly different effect) as each read of the modification time takes a 5590 transaction. 5591 .IP 5592 .nf 5593 \f[C] 5594 --no-checksum Don\[aq]t compare checksums on up/download. 5595 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 5596 --no-seek Don\[aq]t allow seeking in files. 5597 --read-only Only allow read-only access. 5598 \f[R] 5599 .fi 5600 .PP 5601 Sometimes rclone is delivered reads or writes out of order. 5602 Rather than seeking rclone will wait a short time for the in sequence 5603 read or write to come in. 5604 These flags only come into effect when not using an on disk cache file. 5605 .IP 5606 .nf 5607 \f[C] 5608 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 5609 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 5610 \f[R] 5611 .fi 5612 .PP 5613 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 5614 writes or full), the global flag \f[C]--transfers\f[R] can be set to 5615 adjust the number of parallel uploads of modified files from the cache 5616 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 5617 .IP 5618 .nf 5619 \f[C] 5620 --transfers int Number of file transfers to run in parallel (default 4) 5621 \f[R] 5622 .fi 5623 .SS VFS Case Sensitivity 5624 .PP 5625 Linux file systems are case-sensitive: two files can differ only by 5626 case, and the exact case must be used when opening a file. 5627 .PP 5628 File systems in modern Windows are case-insensitive but case-preserving: 5629 although existing files can be opened using any case, the exact case 5630 used to create the file is preserved and available for programs to 5631 query. 5632 It is not allowed for two files in the same directory to differ only by 5633 case. 5634 .PP 5635 Usually file systems on macOS are case-insensitive. 5636 It is possible to make macOS file systems case-sensitive but that is not 5637 the default. 5638 .PP 5639 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 5640 handles these two cases. 5641 If its value is \[dq]false\[dq], rclone passes file names to the remote 5642 as-is. 5643 If the flag is \[dq]true\[dq] (or appears without a value on the command 5644 line), rclone may perform a \[dq]fixup\[dq] as explained below. 5645 .PP 5646 The user may specify a file name to open/delete/rename/etc with a case 5647 different than what is stored on the remote. 5648 If an argument refers to an existing file with exactly the same name, 5649 then the case of the existing file on the disk will be used. 5650 However, if a file name with exactly the same name is not found but a 5651 name differing only by case exists, rclone will transparently fixup the 5652 name. 5653 This fixup happens only when an existing file is requested. 5654 Case sensitivity of file names created anew by rclone is controlled by 5655 the underlying remote. 5656 .PP 5657 Note that case sensitivity of the operating system running rclone (the 5658 target) may differ from case sensitivity of a file system presented by 5659 rclone (the source). 5660 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 5661 target. 5662 .PP 5663 If the flag is not provided on the command line, then its default value 5664 depends on the operating system where rclone runs: \[dq]true\[dq] on 5665 Windows and macOS, \[dq]false\[dq] otherwise. 5666 If the flag is provided without a value, then it is \[dq]true\[dq]. 5667 .SS VFS Disk Options 5668 .PP 5669 This flag allows you to manually set the statistics about the filing 5670 system. 5671 It can be useful when those statistics cannot be read correctly 5672 automatically. 5673 .IP 5674 .nf 5675 \f[C] 5676 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 5677 \f[R] 5678 .fi 5679 .SS Alternate report of used bytes 5680 .PP 5681 Some backends, most notably S3, do not report the amount of bytes used. 5682 If you need this information to be available when running \f[C]df\f[R] 5683 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 5684 rclone. 5685 With this flag set, instead of relying on the backend to report this 5686 information, rclone will scan the whole remote similar to 5687 \f[C]rclone size\f[R] and compute the total used space itself. 5688 .PP 5689 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 5690 filters so that the result is accurate. 5691 However, this is very inefficient and may cost lots of API calls 5692 resulting in extra charges. 5693 Use it as a last resort and only with caching. 5694 .IP 5695 .nf 5696 \f[C] 5697 rclone mount remote:path /path/to/mountpoint [flags] 5698 \f[R] 5699 .fi 5700 .SS Options 5701 .IP 5702 .nf 5703 \f[C] 5704 --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows) 5705 --allow-other Allow access to other users (not supported on Windows) 5706 --allow-root Allow access to root user (not supported on Windows) 5707 --async-read Use asynchronous reads (not supported on Windows) (default true) 5708 --attr-timeout Duration Time for which file/directory attributes are cached (default 1s) 5709 --daemon Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows) 5710 --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s) 5711 --daemon-wait Duration Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s) 5712 --debug-fuse Debug the FUSE internals - needs -v 5713 --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows) 5714 --devname string Set the device name - default is remote:path 5715 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 5716 --dir-perms FileMode Directory permissions (default 0777) 5717 --file-perms FileMode File permissions (default 0666) 5718 --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required) 5719 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 5720 -h, --help help for mount 5721 --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki) 5722 --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset) 5723 --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only) 5724 --no-checksum Don\[aq]t compare checksums on up/download 5725 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 5726 --no-seek Don\[aq]t allow seeking in files 5727 --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true) 5728 --noapplexattr Ignore all \[dq]com.apple.*\[dq] extended attributes (supported on OSX only) 5729 -o, --option stringArray Option for libfuse/WinFsp (repeat if required) 5730 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 5731 --read-only Only allow read-only access 5732 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 5733 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 5734 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 5735 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 5736 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 5737 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 5738 --vfs-case-insensitive If a file name not found, find a case insensitive match 5739 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 5740 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 5741 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 5742 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 5743 --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 (\[aq]off\[aq] is unlimited) (default off) 5744 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 5745 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 5746 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 5747 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 5748 --volname string Set the volume name (supported on Windows and OSX only) 5749 --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows) 5750 \f[R] 5751 .fi 5752 .PP 5753 See the global flags page (https://rclone.org/flags/) for global options 5754 not listed here. 5755 .SS SEE ALSO 5756 .IP \[bu] 2 5757 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 5758 commands, flags and backends. 5759 .SH rclone moveto 5760 .PP 5761 Move file or directory from source to dest. 5762 .SS Synopsis 5763 .PP 5764 If source:path is a file or directory then it moves it to a file or 5765 directory named dest:path. 5766 .PP 5767 This can be used to rename files or upload single files to other than 5768 their existing name. 5769 If the source is a directory then it acts exactly like the 5770 move (https://rclone.org/commands/rclone_move/) command. 5771 .PP 5772 So 5773 .IP 5774 .nf 5775 \f[C] 5776 rclone moveto src dst 5777 \f[R] 5778 .fi 5779 .PP 5780 where src and dst are rclone paths, either remote:path or /path/to/local 5781 or C:. 5782 .PP 5783 This will: 5784 .IP 5785 .nf 5786 \f[C] 5787 if src is file 5788 move it to dst, overwriting an existing file if it exists 5789 if src is directory 5790 move it to dst, overwriting existing files if they exist 5791 see move command for full details 5792 \f[R] 5793 .fi 5794 .PP 5795 This doesn\[aq]t transfer files that are identical on src and dst, 5796 testing by size and modification time or MD5SUM. 5797 src will be deleted on successful transfer. 5798 .PP 5799 \f[B]Important\f[R]: Since this can cause data loss, test first with the 5800 \f[C]--dry-run\f[R] or the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 5801 .PP 5802 \f[B]Note\f[R]: Use the \f[C]-P\f[R]/\f[C]--progress\f[R] flag to view 5803 real-time transfer statistics. 5804 .IP 5805 .nf 5806 \f[C] 5807 rclone moveto source:path dest:path [flags] 5808 \f[R] 5809 .fi 5810 .SS Options 5811 .IP 5812 .nf 5813 \f[C] 5814 -h, --help help for moveto 5815 \f[R] 5816 .fi 5817 .PP 5818 See the global flags page (https://rclone.org/flags/) for global options 5819 not listed here. 5820 .SS SEE ALSO 5821 .IP \[bu] 2 5822 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 5823 commands, flags and backends. 5824 .SH rclone ncdu 5825 .PP 5826 Explore a remote with a text based user interface. 5827 .SS Synopsis 5828 .PP 5829 This displays a text based user interface allowing the navigation of a 5830 remote. 5831 It is most useful for answering the question - \[dq]What is using all my 5832 disk space?\[dq]. 5833 .PP 5834 To make the user interface it first scans the entire remote given and 5835 builds an in memory representation. 5836 rclone ncdu can be used during this scanning phase and you will see it 5837 building up the directory structure as it goes along. 5838 .PP 5839 You can interact with the user interface using key presses, press 5840 \[aq]?\[aq] to toggle the help on and off. 5841 The supported keys are: 5842 .IP 5843 .nf 5844 \f[C] 5845 \[ua],\[da] or k,j to Move 5846 \[->],l to enter 5847 \[<-],h to return 5848 g toggle graph 5849 c toggle counts 5850 a toggle average size in directory 5851 m toggle modified time 5852 u toggle human-readable format 5853 n,s,C,A,M sort by name,size,count,asize,mtime 5854 d delete file/directory 5855 v select file/directory 5856 V enter visual select mode 5857 D delete selected files/directories 5858 y copy current path to clipboard 5859 Y display current path 5860 \[ha]L refresh screen (fix screen corruption) 5861 ? to toggle help on and off 5862 q/ESC/\[ha]c to quit 5863 \f[R] 5864 .fi 5865 .PP 5866 Listed files/directories may be prefixed by a one-character flag, some 5867 of them combined with a description in brackets at end of line. 5868 These flags have the following meaning: 5869 .IP 5870 .nf 5871 \f[C] 5872 e means this is an empty directory, i.e. contains no files (but 5873 may contain empty subdirectories) 5874 \[ti] means this is a directory where some of the files (possibly in 5875 subdirectories) have unknown size, and therefore the directory 5876 size may be underestimated (and average size inaccurate, as it 5877 is average of the files with known sizes). 5878 \&. means an error occurred while reading a subdirectory, and 5879 therefore the directory size may be underestimated (and average 5880 size inaccurate) 5881 ! means an error occurred while reading this directory 5882 \f[R] 5883 .fi 5884 .PP 5885 This an homage to the ncdu tool (https://dev.yorhel.nl/ncdu) but for 5886 rclone remotes. 5887 It is missing lots of features at the moment but is useful as it stands. 5888 .PP 5889 Note that it might take some time to delete big files/directories. 5890 The UI won\[aq]t respond in the meantime since the deletion is done 5891 synchronously. 5892 .PP 5893 For a non-interactive listing of the remote, see the 5894 tree (https://rclone.org/commands/rclone_tree/) command. 5895 To just get the total size of the remote you can also use the 5896 size (https://rclone.org/commands/rclone_size/) command. 5897 .IP 5898 .nf 5899 \f[C] 5900 rclone ncdu remote:path [flags] 5901 \f[R] 5902 .fi 5903 .SS Options 5904 .IP 5905 .nf 5906 \f[C] 5907 -h, --help help for ncdu 5908 \f[R] 5909 .fi 5910 .PP 5911 See the global flags page (https://rclone.org/flags/) for global options 5912 not listed here. 5913 .SS SEE ALSO 5914 .IP \[bu] 2 5915 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 5916 commands, flags and backends. 5917 .SH rclone obscure 5918 .PP 5919 Obscure password for use in the rclone config file. 5920 .SS Synopsis 5921 .PP 5922 In the rclone config file, human-readable passwords are obscured. 5923 Obscuring them is done by encrypting them and writing them out in 5924 base64. 5925 This is \f[B]not\f[R] a secure way of encrypting these passwords as 5926 rclone can decrypt them - it is to prevent \[dq]eyedropping\[dq] - 5927 namely someone seeing a password in the rclone config file by accident. 5928 .PP 5929 Many equally important things (like access tokens) are not obscured in 5930 the config file. 5931 However it is very hard to shoulder surf a 64 character hex token. 5932 .PP 5933 This command can also accept a password through STDIN instead of an 5934 argument by passing a hyphen as an argument. 5935 This will use the first line of STDIN as the password not including the 5936 trailing newline. 5937 .IP 5938 .nf 5939 \f[C] 5940 echo \[dq]secretpassword\[dq] | rclone obscure - 5941 \f[R] 5942 .fi 5943 .PP 5944 If there is no data on STDIN to read, rclone obscure will default to 5945 obfuscating the hyphen itself. 5946 .PP 5947 If you want to encrypt the config file then please use config file 5948 encryption - see rclone 5949 config (https://rclone.org/commands/rclone_config/) for more info. 5950 .IP 5951 .nf 5952 \f[C] 5953 rclone obscure password [flags] 5954 \f[R] 5955 .fi 5956 .SS Options 5957 .IP 5958 .nf 5959 \f[C] 5960 -h, --help help for obscure 5961 \f[R] 5962 .fi 5963 .PP 5964 See the global flags page (https://rclone.org/flags/) for global options 5965 not listed here. 5966 .SS SEE ALSO 5967 .IP \[bu] 2 5968 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 5969 commands, flags and backends. 5970 .SH rclone rc 5971 .PP 5972 Run a command against a running rclone. 5973 .SS Synopsis 5974 .PP 5975 This runs a command against a running rclone. 5976 Use the \f[C]--url\f[R] flag to specify an non default URL to connect 5977 on. 5978 This can be either a \[dq]:port\[dq] which is taken to mean 5979 \[dq]http://localhost:port\[dq] or a \[dq]host:port\[dq] which is taken 5980 to mean \[dq]http://host:port\[dq] 5981 .PP 5982 A username and password can be passed in with \f[C]--user\f[R] and 5983 \f[C]--pass\f[R]. 5984 .PP 5985 Note that \f[C]--rc-addr\f[R], \f[C]--rc-user\f[R], \f[C]--rc-pass\f[R] 5986 will be read also for \f[C]--url\f[R], \f[C]--user\f[R], 5987 \f[C]--pass\f[R]. 5988 .PP 5989 Arguments should be passed in as parameter=value. 5990 .PP 5991 The result will be returned as a JSON object by default. 5992 .PP 5993 The \f[C]--json\f[R] parameter can be used to pass in a JSON blob as an 5994 input instead of key=value arguments. 5995 This is the only way of passing in more complicated values. 5996 .PP 5997 The \f[C]-o\f[R]/\f[C]--opt\f[R] option can be used to set a key 5998 \[dq]opt\[dq] with key, value options in the form \f[C]-o key=value\f[R] 5999 or \f[C]-o key\f[R]. 6000 It can be repeated as many times as required. 6001 This is useful for rc commands which take the \[dq]opt\[dq] parameter 6002 which by convention is a dictionary of strings. 6003 .IP 6004 .nf 6005 \f[C] 6006 -o key=value -o key2 6007 \f[R] 6008 .fi 6009 .PP 6010 Will place this in the \[dq]opt\[dq] value 6011 .IP 6012 .nf 6013 \f[C] 6014 {\[dq]key\[dq]:\[dq]value\[dq], \[dq]key2\[dq],\[dq]\[dq]) 6015 \f[R] 6016 .fi 6017 .PP 6018 The \f[C]-a\f[R]/\f[C]--arg\f[R] option can be used to set strings in 6019 the \[dq]arg\[dq] value. 6020 It can be repeated as many times as required. 6021 This is useful for rc commands which take the \[dq]arg\[dq] parameter 6022 which by convention is a list of strings. 6023 .IP 6024 .nf 6025 \f[C] 6026 -a value -a value2 6027 \f[R] 6028 .fi 6029 .PP 6030 Will place this in the \[dq]arg\[dq] value 6031 .IP 6032 .nf 6033 \f[C] 6034 [\[dq]value\[dq], \[dq]value2\[dq]] 6035 \f[R] 6036 .fi 6037 .PP 6038 Use \f[C]--loopback\f[R] to connect to the rclone instance running 6039 \f[C]rclone rc\f[R]. 6040 This is very useful for testing commands without having to run an rclone 6041 rc server, e.g.: 6042 .IP 6043 .nf 6044 \f[C] 6045 rclone rc --loopback operations/about fs=/ 6046 \f[R] 6047 .fi 6048 .PP 6049 Use \f[C]rclone rc\f[R] to see a list of all possible commands. 6050 .IP 6051 .nf 6052 \f[C] 6053 rclone rc commands parameter [flags] 6054 \f[R] 6055 .fi 6056 .SS Options 6057 .IP 6058 .nf 6059 \f[C] 6060 -a, --arg stringArray Argument placed in the \[dq]arg\[dq] array 6061 -h, --help help for rc 6062 --json string Input JSON - use instead of key=value args 6063 --loopback If set connect to this rclone instance not via HTTP 6064 --no-output If set, don\[aq]t output the JSON result 6065 -o, --opt stringArray Option in the form name=value or name placed in the \[dq]opt\[dq] array 6066 --pass string Password to use to connect to rclone remote control 6067 --url string URL to connect to rclone remote control (default \[dq]http://localhost:5572/\[dq]) 6068 --user string Username to use to rclone remote control 6069 \f[R] 6070 .fi 6071 .PP 6072 See the global flags page (https://rclone.org/flags/) for global options 6073 not listed here. 6074 .SS SEE ALSO 6075 .IP \[bu] 2 6076 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 6077 commands, flags and backends. 6078 .SH rclone rcat 6079 .PP 6080 Copies standard input to file on remote. 6081 .SS Synopsis 6082 .PP 6083 rclone rcat reads from standard input (stdin) and copies it to a single 6084 remote file. 6085 .IP 6086 .nf 6087 \f[C] 6088 echo \[dq]hello world\[dq] | rclone rcat remote:path/to/file 6089 ffmpeg - | rclone rcat remote:path/to/file 6090 \f[R] 6091 .fi 6092 .PP 6093 If the remote file already exists, it will be overwritten. 6094 .PP 6095 rcat will try to upload small files in a single request, which is 6096 usually more efficient than the streaming/chunked upload endpoints, 6097 which use multiple requests. 6098 Exact behaviour depends on the remote. 6099 What is considered a small file may be set through 6100 \f[C]--streaming-upload-cutoff\f[R]. 6101 Uploading only starts after the cutoff is reached or if the file ends 6102 before that. 6103 The data must fit into RAM. 6104 The cutoff needs to be small enough to adhere the limits of your remote, 6105 please see there. 6106 Generally speaking, setting this cutoff too high will decrease your 6107 performance. 6108 .PP 6109 Use the \f[C]--size\f[R] flag to preallocate the file in advance at the 6110 remote end and actually stream it, even if remote backend doesn\[aq]t 6111 support streaming. 6112 .PP 6113 \f[C]--size\f[R] should be the exact size of the input stream in bytes. 6114 If the size of the stream is different in length to the \f[C]--size\f[R] 6115 passed in then the transfer will likely fail. 6116 .PP 6117 Note that the upload cannot be retried because the data is not stored. 6118 If the backend supports multipart uploading then individual chunks can 6119 be retried. 6120 If you need to transfer a lot of data, you may be better off caching it 6121 locally and then \f[C]rclone move\f[R] it to the destination which can 6122 use retries. 6123 .IP 6124 .nf 6125 \f[C] 6126 rclone rcat remote:path [flags] 6127 \f[R] 6128 .fi 6129 .SS Options 6130 .IP 6131 .nf 6132 \f[C] 6133 -h, --help help for rcat 6134 --size int File size hint to preallocate (default -1) 6135 \f[R] 6136 .fi 6137 .PP 6138 See the global flags page (https://rclone.org/flags/) for global options 6139 not listed here. 6140 .SS SEE ALSO 6141 .IP \[bu] 2 6142 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 6143 commands, flags and backends. 6144 .SH rclone rcd 6145 .PP 6146 Run rclone listening to remote control commands only. 6147 .SS Synopsis 6148 .PP 6149 This runs rclone so that it only listens to remote control commands. 6150 .PP 6151 This is useful if you are controlling rclone via the rc API. 6152 .PP 6153 If you pass in a path to a directory, rclone will serve that directory 6154 for GET requests on the URL passed in. 6155 It will also open the URL in the browser when rclone is run. 6156 .PP 6157 See the rc documentation (https://rclone.org/rc/) for more info on the 6158 rc flags. 6159 .SS Server options 6160 .PP 6161 Use \f[C]--rc-addr\f[R] to specify which IP address and port the server 6162 should listen on, eg \f[C]--rc-addr 1.2.3.4:8000\f[R] or 6163 \f[C]--rc-addr :8080\f[R] to listen to all IPs. 6164 By default it only listens on localhost. 6165 You can use port :0 to let the OS choose an available port. 6166 .PP 6167 If you set \f[C]--rc-addr\f[R] to listen on a public or LAN accessible 6168 IP address then using Authentication is advised - see the next section 6169 for info. 6170 .PP 6171 You can use a unix socket by setting the url to 6172 \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name. 6173 Note that unix sockets bypass the authentication - this is expected to 6174 be done with file system permissions. 6175 .PP 6176 \f[C]--rc-addr\f[R] may be repeated to listen on multiple 6177 IPs/ports/sockets. 6178 .PP 6179 \f[C]--rc-server-read-timeout\f[R] and 6180 \f[C]--rc-server-write-timeout\f[R] can be used to control the timeouts 6181 on the server. 6182 Note that this is the total time for a transfer. 6183 .PP 6184 \f[C]--rc-max-header-bytes\f[R] controls the maximum number of bytes the 6185 server will accept in the HTTP header. 6186 .PP 6187 \f[C]--rc-baseurl\f[R] controls the URL prefix that rclone serves from. 6188 By default rclone will serve from the root. 6189 If you used \f[C]--rc-baseurl \[dq]/rclone\[dq]\f[R] then rclone would 6190 serve from a URL starting with \[dq]/rclone/\[dq]. 6191 This is useful if you wish to proxy rclone serve. 6192 Rclone automatically inserts leading and trailing \[dq]/\[dq] on 6193 \f[C]--rc-baseurl\f[R], so \f[C]--rc-baseurl \[dq]rclone\[dq]\f[R], 6194 \f[C]--rc-baseurl \[dq]/rclone\[dq]\f[R] and 6195 \f[C]--rc-baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically. 6196 .SS TLS (SSL) 6197 .PP 6198 By default this will serve over http. 6199 If you want you can serve over https. 6200 You will need to supply the \f[C]--rc-cert\f[R] and \f[C]--rc-key\f[R] 6201 flags. 6202 If you wish to do client side certificate validation then you will need 6203 to supply \f[C]--rc-client-ca\f[R] also. 6204 .PP 6205 \f[C]--rc-cert\f[R] should be a either a PEM encoded certificate or a 6206 concatenation of that with the CA certificate. 6207 \f[C]--krc-ey\f[R] should be the PEM encoded private key and 6208 \f[C]--rc-client-ca\f[R] should be the PEM encoded client certificate 6209 authority certificate. 6210 .PP 6211 --rc-min-tls-version is minimum TLS version that is acceptable. 6212 Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq] 6213 and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]). 6214 .SS Template 6215 .PP 6216 \f[C]--rc-template\f[R] allows a user to specify a custom markup 6217 template for HTTP and WebDAV serve functions. 6218 The server exports the following markup to be used within the template 6219 to server pages: 6220 .PP 6221 .TS 6222 tab(@); 6223 lw(35.0n) lw(35.0n). 6224 T{ 6225 Parameter 6226 T}@T{ 6227 Description 6228 T} 6229 _ 6230 T{ 6231 \&.Name 6232 T}@T{ 6233 The full path of a file/directory. 6234 T} 6235 T{ 6236 \&.Title 6237 T}@T{ 6238 Directory listing of .Name 6239 T} 6240 T{ 6241 \&.Sort 6242 T}@T{ 6243 The current sort used. 6244 This is changeable via ?sort= parameter 6245 T} 6246 T{ 6247 T}@T{ 6248 Sort Options: namedirfirst,name,size,time (default namedirfirst) 6249 T} 6250 T{ 6251 \&.Order 6252 T}@T{ 6253 The current ordering used. 6254 This is changeable via ?order= parameter 6255 T} 6256 T{ 6257 T}@T{ 6258 Order Options: asc,desc (default asc) 6259 T} 6260 T{ 6261 \&.Query 6262 T}@T{ 6263 Currently unused. 6264 T} 6265 T{ 6266 \&.Breadcrumb 6267 T}@T{ 6268 Allows for creating a relative navigation 6269 T} 6270 T{ 6271 -- .Link 6272 T}@T{ 6273 The relative to the root link of the Text. 6274 T} 6275 T{ 6276 -- .Text 6277 T}@T{ 6278 The Name of the directory. 6279 T} 6280 T{ 6281 \&.Entries 6282 T}@T{ 6283 Information about a specific file/directory. 6284 T} 6285 T{ 6286 -- .URL 6287 T}@T{ 6288 The \[aq]url\[aq] of an entry. 6289 T} 6290 T{ 6291 -- .Leaf 6292 T}@T{ 6293 Currently same as \[aq]URL\[aq] but intended to be \[aq]just\[aq] the 6294 name. 6295 T} 6296 T{ 6297 -- .IsDir 6298 T}@T{ 6299 Boolean for if an entry is a directory or not. 6300 T} 6301 T{ 6302 -- .Size 6303 T}@T{ 6304 Size in Bytes of the entry. 6305 T} 6306 T{ 6307 -- .ModTime 6308 T}@T{ 6309 The UTC timestamp of an entry. 6310 T} 6311 .TE 6312 .SS Authentication 6313 .PP 6314 By default this will serve files without needing a login. 6315 .PP 6316 You can either use an htpasswd file which can take lots of users, or set 6317 a single username and password with the \f[C]--rc-user\f[R] and 6318 \f[C]--rc-pass\f[R] flags. 6319 .PP 6320 If no static users are configured by either of the above methods, and 6321 client certificates are required by the \f[C]--client-ca\f[R] flag 6322 passed to the server, the client certificate common name will be 6323 considered as the username. 6324 .PP 6325 Use \f[C]--rc-htpasswd /path/to/htpasswd\f[R] to provide an htpasswd 6326 file. 6327 This is in standard apache format and supports MD5, SHA1 and BCrypt for 6328 basic authentication. 6329 Bcrypt is recommended. 6330 .PP 6331 To create an htpasswd file: 6332 .IP 6333 .nf 6334 \f[C] 6335 touch htpasswd 6336 htpasswd -B htpasswd user 6337 htpasswd -B htpasswd anotherUser 6338 \f[R] 6339 .fi 6340 .PP 6341 The password file can be updated while rclone is running. 6342 .PP 6343 Use \f[C]--rc-realm\f[R] to set the authentication realm. 6344 .PP 6345 Use \f[C]--rc-salt\f[R] to change the password hashing salt from the 6346 default. 6347 .IP 6348 .nf 6349 \f[C] 6350 rclone rcd <path to files to serve>* [flags] 6351 \f[R] 6352 .fi 6353 .SS Options 6354 .IP 6355 .nf 6356 \f[C] 6357 -h, --help help for rcd 6358 \f[R] 6359 .fi 6360 .PP 6361 See the global flags page (https://rclone.org/flags/) for global options 6362 not listed here. 6363 .SS SEE ALSO 6364 .IP \[bu] 2 6365 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 6366 commands, flags and backends. 6367 .SH rclone rmdirs 6368 .PP 6369 Remove empty directories under the path. 6370 .SS Synopsis 6371 .PP 6372 This recursively removes any empty directories (including directories 6373 that only contain empty directories), that it finds under the path. 6374 The root path itself will also be removed if it is empty, unless you 6375 supply the \f[C]--leave-root\f[R] flag. 6376 .PP 6377 Use command rmdir (https://rclone.org/commands/rclone_rmdir/) to delete 6378 just the empty directory given by path, not recurse. 6379 .PP 6380 This is useful for tidying up remotes that rclone has left a lot of 6381 empty directories in. 6382 For example the delete (https://rclone.org/commands/rclone_delete/) 6383 command will delete files but leave the directory structure (unless used 6384 with option \f[C]--rmdirs\f[R]). 6385 .PP 6386 To delete a path and any objects in it, use 6387 purge (https://rclone.org/commands/rclone_purge/) command. 6388 .IP 6389 .nf 6390 \f[C] 6391 rclone rmdirs remote:path [flags] 6392 \f[R] 6393 .fi 6394 .SS Options 6395 .IP 6396 .nf 6397 \f[C] 6398 -h, --help help for rmdirs 6399 --leave-root Do not remove root directory if empty 6400 \f[R] 6401 .fi 6402 .PP 6403 See the global flags page (https://rclone.org/flags/) for global options 6404 not listed here. 6405 .SS SEE ALSO 6406 .IP \[bu] 2 6407 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 6408 commands, flags and backends. 6409 .SH rclone selfupdate 6410 .PP 6411 Update the rclone binary. 6412 .SS Synopsis 6413 .PP 6414 This command downloads the latest release of rclone and replaces the 6415 currently running binary. 6416 The download is verified with a hashsum and cryptographically signed 6417 signature. 6418 .PP 6419 If used without flags (or with implied \f[C]--stable\f[R] flag), this 6420 command will install the latest stable release. 6421 However, some issues may be fixed (or features added) only in the latest 6422 beta release. 6423 In such cases you should run the command with the \f[C]--beta\f[R] flag, 6424 i.e. 6425 \f[C]rclone selfupdate --beta\f[R]. 6426 You can check in advance what version would be installed by adding the 6427 \f[C]--check\f[R] flag, then repeat the command without it when you are 6428 satisfied. 6429 .PP 6430 Sometimes the rclone team may recommend you a concrete beta or stable 6431 rclone release to troubleshoot your issue or add a bleeding edge 6432 feature. 6433 The \f[C]--version VER\f[R] flag, if given, will update to the concrete 6434 version instead of the latest one. 6435 If you omit micro version from \f[C]VER\f[R] (for example 6436 \f[C]1.53\f[R]), the latest matching micro version will be used. 6437 .PP 6438 Upon successful update rclone will print a message that contains a 6439 previous version number. 6440 You will need it if you later decide to revert your update for some 6441 reason. 6442 Then you\[aq]ll have to note the previous version and run the following 6443 command: \f[C]rclone selfupdate [--beta] OLDVER\f[R]. 6444 If the old version contains only dots and digits (for example 6445 \f[C]v1.54.0\f[R]) then it\[aq]s a stable release so you won\[aq]t need 6446 the \f[C]--beta\f[R] flag. 6447 Beta releases have an additional information similar to 6448 \f[C]v1.54.0-beta.5111.06f1c0c61\f[R]. 6449 (if you are a developer and use a locally built rclone, the version 6450 number will end with \f[C]-DEV\f[R], you will have to rebuild it as it 6451 obviously can\[aq]t be distributed). 6452 .PP 6453 If you previously installed rclone via a package manager, the package 6454 may include local documentation or configure services. 6455 You may wish to update with the flag \f[C]--package deb\f[R] or 6456 \f[C]--package rpm\f[R] (whichever is correct for your OS) to update 6457 these too. 6458 This command with the default \f[C]--package zip\f[R] will update only 6459 the rclone executable so the local manual may become inaccurate after 6460 it. 6461 .PP 6462 The \f[C]rclone mount\f[R] command 6463 (https://rclone.org/commands/rclone_mount/) may or may not support 6464 extended FUSE options depending on the build and OS. 6465 \f[C]selfupdate\f[R] will refuse to update if the capability would be 6466 discarded. 6467 .PP 6468 Note: Windows forbids deletion of a currently running executable so this 6469 command will rename the old executable to \[aq]rclone.old.exe\[aq] upon 6470 success. 6471 .PP 6472 Please note that this command was not available before rclone version 6473 1.55. 6474 If it fails for you with the message 6475 \f[C]unknown command \[dq]selfupdate\[dq]\f[R] then you will need to 6476 update manually following the install instructions located at 6477 https://rclone.org/install/ 6478 .IP 6479 .nf 6480 \f[C] 6481 rclone selfupdate [flags] 6482 \f[R] 6483 .fi 6484 .SS Options 6485 .IP 6486 .nf 6487 \f[C] 6488 --beta Install beta release 6489 --check Check for latest release, do not download 6490 -h, --help help for selfupdate 6491 --output string Save the downloaded binary at a given path (default: replace running binary) 6492 --package string Package format: zip|deb|rpm (default: zip) 6493 --stable Install stable release (this is the default) 6494 --version string Install the given rclone version (default: latest) 6495 \f[R] 6496 .fi 6497 .PP 6498 See the global flags page (https://rclone.org/flags/) for global options 6499 not listed here. 6500 .SS SEE ALSO 6501 .IP \[bu] 2 6502 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 6503 commands, flags and backends. 6504 .SH rclone serve 6505 .PP 6506 Serve a remote over a protocol. 6507 .SS Synopsis 6508 .PP 6509 Serve a remote over a given protocol. 6510 Requires the use of a subcommand to specify the protocol, e.g. 6511 .IP 6512 .nf 6513 \f[C] 6514 rclone serve http remote: 6515 \f[R] 6516 .fi 6517 .PP 6518 Each subcommand has its own options which you can see in their help. 6519 .IP 6520 .nf 6521 \f[C] 6522 rclone serve <protocol> [opts] <remote> [flags] 6523 \f[R] 6524 .fi 6525 .SS Options 6526 .IP 6527 .nf 6528 \f[C] 6529 -h, --help help for serve 6530 \f[R] 6531 .fi 6532 .PP 6533 See the global flags page (https://rclone.org/flags/) for global options 6534 not listed here. 6535 .SS SEE ALSO 6536 .IP \[bu] 2 6537 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 6538 commands, flags and backends. 6539 .IP \[bu] 2 6540 rclone serve dlna (https://rclone.org/commands/rclone_serve_dlna/) - 6541 Serve remote:path over DLNA 6542 .IP \[bu] 2 6543 rclone serve docker (https://rclone.org/commands/rclone_serve_docker/) - 6544 Serve any remote on docker\[aq]s volume plugin API. 6545 .IP \[bu] 2 6546 rclone serve ftp (https://rclone.org/commands/rclone_serve_ftp/) - Serve 6547 remote:path over FTP. 6548 .IP \[bu] 2 6549 rclone serve http (https://rclone.org/commands/rclone_serve_http/) - 6550 Serve the remote over HTTP. 6551 .IP \[bu] 2 6552 rclone serve restic (https://rclone.org/commands/rclone_serve_restic/) - 6553 Serve the remote for restic\[aq]s REST API. 6554 .IP \[bu] 2 6555 rclone serve sftp (https://rclone.org/commands/rclone_serve_sftp/) - 6556 Serve the remote over SFTP. 6557 .IP \[bu] 2 6558 rclone serve webdav (https://rclone.org/commands/rclone_serve_webdav/) - 6559 Serve remote:path over WebDAV. 6560 .SH rclone serve dlna 6561 .PP 6562 Serve remote:path over DLNA 6563 .SS Synopsis 6564 .PP 6565 Run a DLNA media server for media stored in an rclone remote. 6566 Many devices, such as the Xbox and PlayStation, can automatically 6567 discover this server in the LAN and play audio/video from it. 6568 VLC is also supported. 6569 Service discovery uses UDP multicast packets (SSDP) and will thus only 6570 work on LANs. 6571 .PP 6572 Rclone will list all files present in the remote, without filtering 6573 based on media formats or file extensions. 6574 Additionally, there is no media transcoding support. 6575 This means that some players might show files that they are not able to 6576 play back correctly. 6577 .SS Server options 6578 .PP 6579 Use \f[C]--addr\f[R] to specify which IP address and port the server 6580 should listen on, e.g. 6581 \f[C]--addr 1.2.3.4:8000\f[R] or \f[C]--addr :8080\f[R] to listen to all 6582 IPs. 6583 .PP 6584 Use \f[C]--name\f[R] to choose the friendly server name, which is by 6585 default \[dq]rclone (hostname)\[dq]. 6586 .PP 6587 Use \f[C]--log-trace\f[R] in conjunction with \f[C]-vv\f[R] to enable 6588 additional debug logging of all UPNP traffic. 6589 .SS VFS - Virtual File System 6590 .PP 6591 This command uses the VFS layer. 6592 This adapts the cloud storage objects that rclone uses into something 6593 which looks much more like a disk filing system. 6594 .PP 6595 Cloud storage objects have lots of properties which aren\[aq]t like disk 6596 files - you can\[aq]t extend them or write to the middle of them, so the 6597 VFS layer has to deal with that. 6598 Because there is no one right way of doing this there are various 6599 options explained below. 6600 .PP 6601 The VFS layer also implements a directory cache - this caches info about 6602 files and directories (but not the data) in memory. 6603 .SS VFS Directory Cache 6604 .PP 6605 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 6606 directory should be considered up to date and not refreshed from the 6607 backend. 6608 Changes made through the VFS will appear immediately or invalidate the 6609 cache. 6610 .IP 6611 .nf 6612 \f[C] 6613 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 6614 --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) 6615 \f[R] 6616 .fi 6617 .PP 6618 However, changes made directly on the cloud storage by the web interface 6619 or a different copy of rclone will only be picked up once the directory 6620 cache expires if the backend configured does not support polling for 6621 changes. 6622 If the backend supports polling, changes will be picked up within the 6623 polling interval. 6624 .PP 6625 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 6626 directory caches, regardless of how old they are. 6627 Assuming only one rclone instance is running, you can reset the cache 6628 like this: 6629 .IP 6630 .nf 6631 \f[C] 6632 kill -SIGHUP $(pidof rclone) 6633 \f[R] 6634 .fi 6635 .PP 6636 If you configure rclone with a remote control then you can use rclone rc 6637 to flush the whole directory cache: 6638 .IP 6639 .nf 6640 \f[C] 6641 rclone rc vfs/forget 6642 \f[R] 6643 .fi 6644 .PP 6645 Or individual files or directories: 6646 .IP 6647 .nf 6648 \f[C] 6649 rclone rc vfs/forget file=path/to/file dir=path/to/dir 6650 \f[R] 6651 .fi 6652 .SS VFS File Buffering 6653 .PP 6654 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 6655 will be used to buffer data in advance. 6656 .PP 6657 Each open file will try to keep the specified amount of data in memory 6658 at all times. 6659 The buffered data is bound to one open file and won\[aq]t be shared. 6660 .PP 6661 This flag is a upper limit for the used memory per open file. 6662 The buffer will only use memory for data that is downloaded but not not 6663 yet read. 6664 If the buffer is empty, only a small amount of memory will be used. 6665 .PP 6666 The maximum memory used by rclone for buffering can be up to 6667 \f[C]--buffer-size * open files\f[R]. 6668 .SS VFS File Caching 6669 .PP 6670 These flags control the VFS file caching options. 6671 File caching is necessary to make the VFS layer appear compatible with a 6672 normal file system. 6673 It can be disabled at the cost of some compatibility. 6674 .PP 6675 For example you\[aq]ll need to enable VFS caching if you want to read 6676 and write simultaneously to a file. 6677 See below for more details. 6678 .PP 6679 Note that the VFS cache is separate from the cache backend and you may 6680 find that you need one or the other or both. 6681 .IP 6682 .nf 6683 \f[C] 6684 --cache-dir string Directory rclone will use for caching. 6685 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 6686 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 6687 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 6688 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 6689 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 6690 \f[R] 6691 .fi 6692 .PP 6693 If run with \f[C]-vv\f[R] rclone will print the location of the file 6694 cache. 6695 The files are stored in the user cache file area which is OS dependent 6696 but can be controlled with \f[C]--cache-dir\f[R] or setting the 6697 appropriate environment variable. 6698 .PP 6699 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 6700 The higher the cache mode the more compatible rclone becomes at the cost 6701 of using disk space. 6702 .PP 6703 Note that files are written back to the remote only when they are closed 6704 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 6705 seconds. 6706 If rclone is quit or dies with files that haven\[aq]t been uploaded, 6707 these will be uploaded next time rclone is run with the same flags. 6708 .PP 6709 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 6710 this size for two reasons. 6711 Firstly because it is only checked every 6712 \f[C]--vfs-cache-poll-interval\f[R]. 6713 Secondly because open files cannot be evicted from the cache. 6714 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 6715 evict the least accessed files from the cache first. 6716 rclone will start with files that haven\[aq]t been accessed for the 6717 longest. 6718 This cache flushing strategy is efficient and more relevant files are 6719 likely to remain cached. 6720 .PP 6721 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 6722 the set time since last access has passed. 6723 The default value of 1 hour will start evicting files from cache that 6724 haven\[aq]t been accessed for 1 hour. 6725 When a cached file is accessed the 1 hour timer is reset to 0 and will 6726 wait for 1 more hour before evicting. 6727 Specify the time with standard notation, s, m, h, d, w . 6728 .PP 6729 You \f[B]should not\f[R] run two copies of rclone using the same VFS 6730 cache with the same or overlapping remotes if using 6731 \f[C]--vfs-cache-mode > off\f[R]. 6732 This can potentially cause data corruption if you do. 6733 You can work around this by giving each rclone its own cache hierarchy 6734 with \f[C]--cache-dir\f[R]. 6735 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 6736 overlap. 6737 .SS --vfs-cache-mode off 6738 .PP 6739 In this mode (the default) the cache will read directly from the remote 6740 and write directly to the remote without caching anything on disk. 6741 .PP 6742 This will mean some operations are not possible 6743 .IP \[bu] 2 6744 Files can\[aq]t be opened for both read AND write 6745 .IP \[bu] 2 6746 Files opened for write can\[aq]t be seeked 6747 .IP \[bu] 2 6748 Existing files opened for write must have O_TRUNC set 6749 .IP \[bu] 2 6750 Files open for read with O_TRUNC will be opened write only 6751 .IP \[bu] 2 6752 Files open for write only will behave as if O_TRUNC was supplied 6753 .IP \[bu] 2 6754 Open modes O_APPEND, O_TRUNC are ignored 6755 .IP \[bu] 2 6756 If an upload fails it can\[aq]t be retried 6757 .SS --vfs-cache-mode minimal 6758 .PP 6759 This is very similar to \[dq]off\[dq] except that files opened for read 6760 AND write will be buffered to disk. 6761 This means that files opened for write will be a lot more compatible, 6762 but uses the minimal disk space. 6763 .PP 6764 These operations are not possible 6765 .IP \[bu] 2 6766 Files opened for write only can\[aq]t be seeked 6767 .IP \[bu] 2 6768 Existing files opened for write must have O_TRUNC set 6769 .IP \[bu] 2 6770 Files opened for write only will ignore O_APPEND, O_TRUNC 6771 .IP \[bu] 2 6772 If an upload fails it can\[aq]t be retried 6773 .SS --vfs-cache-mode writes 6774 .PP 6775 In this mode files opened for read only are still read directly from the 6776 remote, write only and read/write files are buffered to disk first. 6777 .PP 6778 This mode should support all normal file system operations. 6779 .PP 6780 If an upload fails it will be retried at exponentially increasing 6781 intervals up to 1 minute. 6782 .SS --vfs-cache-mode full 6783 .PP 6784 In this mode all reads and writes are buffered to and from disk. 6785 When data is read from the remote this is buffered to disk as well. 6786 .PP 6787 In this mode the files in the cache will be sparse files and rclone will 6788 keep track of which bits of the files it has downloaded. 6789 .PP 6790 So if an application only reads the starts of each file, then rclone 6791 will only buffer the start of the file. 6792 These files will appear to be their full size in the cache, but they 6793 will be sparse files with only the data that has been downloaded present 6794 in them. 6795 .PP 6796 This mode should support all normal file system operations and is 6797 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 6798 .PP 6799 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 6800 \f[C]--vfs-read-ahead\f[R] bytes ahead. 6801 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 6802 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 6803 .PP 6804 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 6805 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 6806 required. 6807 .PP 6808 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 6809 In particular FAT/exFAT do not. 6810 Rclone will perform very badly if the cache directory is on a filesystem 6811 which doesn\[aq]t support sparse files and it will log an ERROR message 6812 if one is detected. 6813 .SS Fingerprinting 6814 .PP 6815 Various parts of the VFS use fingerprinting to see if a local file copy 6816 has changed relative to a remote file. 6817 Fingerprints are made from: 6818 .IP \[bu] 2 6819 size 6820 .IP \[bu] 2 6821 modification time 6822 .IP \[bu] 2 6823 hash 6824 .PP 6825 where available on an object. 6826 .PP 6827 On some backends some of these attributes are slow to read (they take an 6828 extra API call per object, or extra work per object). 6829 .PP 6830 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 6831 \f[C]sftp\f[R] backends as they have to read the entire file and hash 6832 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 6833 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 6834 they need to do an extra API call to fetch it. 6835 .PP 6836 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 6837 not include the slow operations in the fingerprint. 6838 This makes the fingerprinting less accurate but much faster and will 6839 improve the opening time of cached files. 6840 .PP 6841 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 6842 \f[C]swift\f[R] backends then using this flag is recommended. 6843 .PP 6844 Note that if you change the value of this flag, the fingerprints of the 6845 files in the cache may be invalidated and the files will need to be 6846 downloaded again. 6847 .SS VFS Chunked Reading 6848 .PP 6849 When rclone reads files from a remote it reads them in chunks. 6850 This means that rather than requesting the whole file rclone reads the 6851 chunk specified. 6852 This can reduce the used download quota for some remotes by requesting 6853 only chunks from the remote that are actually read, at the cost of an 6854 increased number of requests. 6855 .PP 6856 These flags control the chunking: 6857 .IP 6858 .nf 6859 \f[C] 6860 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 6861 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 6862 \f[R] 6863 .fi 6864 .PP 6865 Rclone will start reading a chunk of size 6866 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 6867 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 6868 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 6869 will get doubled only until the specified value is reached. 6870 If the value is \[dq]off\[dq], which is the default, the limit is 6871 disabled and the chunk size will grow indefinitely. 6872 .PP 6873 With \f[C]--vfs-read-chunk-size 100M\f[R] and 6874 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 6875 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 6876 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 6877 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 6878 on. 6879 .PP 6880 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 6881 disables chunked reading. 6882 .SS VFS Performance 6883 .PP 6884 These flags may be used to enable/disable features of the VFS for 6885 performance or other reasons. 6886 See also the chunked reading feature. 6887 .PP 6888 In particular S3 and Swift benefit hugely from the 6889 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 6890 slightly different effect) as each read of the modification time takes a 6891 transaction. 6892 .IP 6893 .nf 6894 \f[C] 6895 --no-checksum Don\[aq]t compare checksums on up/download. 6896 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 6897 --no-seek Don\[aq]t allow seeking in files. 6898 --read-only Only allow read-only access. 6899 \f[R] 6900 .fi 6901 .PP 6902 Sometimes rclone is delivered reads or writes out of order. 6903 Rather than seeking rclone will wait a short time for the in sequence 6904 read or write to come in. 6905 These flags only come into effect when not using an on disk cache file. 6906 .IP 6907 .nf 6908 \f[C] 6909 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 6910 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 6911 \f[R] 6912 .fi 6913 .PP 6914 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 6915 writes or full), the global flag \f[C]--transfers\f[R] can be set to 6916 adjust the number of parallel uploads of modified files from the cache 6917 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 6918 .IP 6919 .nf 6920 \f[C] 6921 --transfers int Number of file transfers to run in parallel (default 4) 6922 \f[R] 6923 .fi 6924 .SS VFS Case Sensitivity 6925 .PP 6926 Linux file systems are case-sensitive: two files can differ only by 6927 case, and the exact case must be used when opening a file. 6928 .PP 6929 File systems in modern Windows are case-insensitive but case-preserving: 6930 although existing files can be opened using any case, the exact case 6931 used to create the file is preserved and available for programs to 6932 query. 6933 It is not allowed for two files in the same directory to differ only by 6934 case. 6935 .PP 6936 Usually file systems on macOS are case-insensitive. 6937 It is possible to make macOS file systems case-sensitive but that is not 6938 the default. 6939 .PP 6940 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 6941 handles these two cases. 6942 If its value is \[dq]false\[dq], rclone passes file names to the remote 6943 as-is. 6944 If the flag is \[dq]true\[dq] (or appears without a value on the command 6945 line), rclone may perform a \[dq]fixup\[dq] as explained below. 6946 .PP 6947 The user may specify a file name to open/delete/rename/etc with a case 6948 different than what is stored on the remote. 6949 If an argument refers to an existing file with exactly the same name, 6950 then the case of the existing file on the disk will be used. 6951 However, if a file name with exactly the same name is not found but a 6952 name differing only by case exists, rclone will transparently fixup the 6953 name. 6954 This fixup happens only when an existing file is requested. 6955 Case sensitivity of file names created anew by rclone is controlled by 6956 the underlying remote. 6957 .PP 6958 Note that case sensitivity of the operating system running rclone (the 6959 target) may differ from case sensitivity of a file system presented by 6960 rclone (the source). 6961 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 6962 target. 6963 .PP 6964 If the flag is not provided on the command line, then its default value 6965 depends on the operating system where rclone runs: \[dq]true\[dq] on 6966 Windows and macOS, \[dq]false\[dq] otherwise. 6967 If the flag is provided without a value, then it is \[dq]true\[dq]. 6968 .SS VFS Disk Options 6969 .PP 6970 This flag allows you to manually set the statistics about the filing 6971 system. 6972 It can be useful when those statistics cannot be read correctly 6973 automatically. 6974 .IP 6975 .nf 6976 \f[C] 6977 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 6978 \f[R] 6979 .fi 6980 .SS Alternate report of used bytes 6981 .PP 6982 Some backends, most notably S3, do not report the amount of bytes used. 6983 If you need this information to be available when running \f[C]df\f[R] 6984 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 6985 rclone. 6986 With this flag set, instead of relying on the backend to report this 6987 information, rclone will scan the whole remote similar to 6988 \f[C]rclone size\f[R] and compute the total used space itself. 6989 .PP 6990 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 6991 filters so that the result is accurate. 6992 However, this is very inefficient and may cost lots of API calls 6993 resulting in extra charges. 6994 Use it as a last resort and only with caching. 6995 .IP 6996 .nf 6997 \f[C] 6998 rclone serve dlna remote:path [flags] 6999 \f[R] 7000 .fi 7001 .SS Options 7002 .IP 7003 .nf 7004 \f[C] 7005 --addr string The ip:port or :port to bind the DLNA http server to (default \[dq]:7879\[dq]) 7006 --announce-interval Duration The interval between SSDP announcements (default 12m0s) 7007 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 7008 --dir-perms FileMode Directory permissions (default 0777) 7009 --file-perms FileMode File permissions (default 0666) 7010 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 7011 -h, --help help for dlna 7012 --interface stringArray The interface to use for SSDP (repeat as necessary) 7013 --log-trace Enable trace logging of SOAP traffic 7014 --name string Name of DLNA server 7015 --no-checksum Don\[aq]t compare checksums on up/download 7016 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 7017 --no-seek Don\[aq]t allow seeking in files 7018 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 7019 --read-only Only allow read-only access 7020 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 7021 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 7022 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 7023 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 7024 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 7025 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 7026 --vfs-case-insensitive If a file name not found, find a case insensitive match 7027 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 7028 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 7029 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 7030 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 7031 --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 (\[aq]off\[aq] is unlimited) (default off) 7032 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 7033 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 7034 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 7035 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 7036 \f[R] 7037 .fi 7038 .PP 7039 See the global flags page (https://rclone.org/flags/) for global options 7040 not listed here. 7041 .SS SEE ALSO 7042 .IP \[bu] 2 7043 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 7044 remote over a protocol. 7045 .SH rclone serve docker 7046 .PP 7047 Serve any remote on docker\[aq]s volume plugin API. 7048 .SS Synopsis 7049 .PP 7050 This command implements the Docker volume plugin API allowing docker to 7051 use rclone as a data storage mechanism for various cloud providers. 7052 rclone provides docker volume plugin based on it. 7053 .PP 7054 To create a docker plugin, one must create a Unix or TCP socket that 7055 Docker will look for when you use the plugin and then it listens for 7056 commands from docker daemon and runs the corresponding code when 7057 necessary. 7058 Docker plugins can run as a managed plugin under control of the docker 7059 daemon or as an independent native service. 7060 For testing, you can just run it directly from the command line, for 7061 example: 7062 .IP 7063 .nf 7064 \f[C] 7065 sudo rclone serve docker --base-dir /tmp/rclone-volumes --socket-addr localhost:8787 -vv 7066 \f[R] 7067 .fi 7068 .PP 7069 Running \f[C]rclone serve docker\f[R] will create the said socket, 7070 listening for commands from Docker to create the necessary Volumes. 7071 Normally you need not give the \f[C]--socket-addr\f[R] flag. 7072 The API will listen on the unix domain socket at 7073 \f[C]/run/docker/plugins/rclone.sock\f[R]. 7074 In the example above rclone will create a TCP socket and a small file 7075 \f[C]/etc/docker/plugins/rclone.spec\f[R] containing the socket address. 7076 We use \f[C]sudo\f[R] because both paths are writeable only by the root 7077 user. 7078 .PP 7079 If you later decide to change listening socket, the docker daemon must 7080 be restarted to reconnect to \f[C]/run/docker/plugins/rclone.sock\f[R] 7081 or parse new \f[C]/etc/docker/plugins/rclone.spec\f[R]. 7082 Until you restart, any volume related docker commands will timeout 7083 trying to access the old socket. 7084 Running directly is supported on \f[B]Linux only\f[R], not on Windows or 7085 MacOS. 7086 This is not a problem with managed plugin mode described in details in 7087 the full documentation (https://rclone.org/docker). 7088 .PP 7089 The command will create volume mounts under the path given by 7090 \f[C]--base-dir\f[R] (by default 7091 \f[C]/var/lib/docker-volumes/rclone\f[R] available only to root) and 7092 maintain the JSON formatted file \f[C]docker-plugin.state\f[R] in the 7093 rclone cache directory with book-keeping records of created and mounted 7094 volumes. 7095 .PP 7096 All mount and VFS options are submitted by the docker daemon via API, 7097 but you can also provide defaults on the command line as well as set 7098 path to the config file and cache directory or adjust logging verbosity. 7099 .SS VFS - Virtual File System 7100 .PP 7101 This command uses the VFS layer. 7102 This adapts the cloud storage objects that rclone uses into something 7103 which looks much more like a disk filing system. 7104 .PP 7105 Cloud storage objects have lots of properties which aren\[aq]t like disk 7106 files - you can\[aq]t extend them or write to the middle of them, so the 7107 VFS layer has to deal with that. 7108 Because there is no one right way of doing this there are various 7109 options explained below. 7110 .PP 7111 The VFS layer also implements a directory cache - this caches info about 7112 files and directories (but not the data) in memory. 7113 .SS VFS Directory Cache 7114 .PP 7115 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 7116 directory should be considered up to date and not refreshed from the 7117 backend. 7118 Changes made through the VFS will appear immediately or invalidate the 7119 cache. 7120 .IP 7121 .nf 7122 \f[C] 7123 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 7124 --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) 7125 \f[R] 7126 .fi 7127 .PP 7128 However, changes made directly on the cloud storage by the web interface 7129 or a different copy of rclone will only be picked up once the directory 7130 cache expires if the backend configured does not support polling for 7131 changes. 7132 If the backend supports polling, changes will be picked up within the 7133 polling interval. 7134 .PP 7135 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 7136 directory caches, regardless of how old they are. 7137 Assuming only one rclone instance is running, you can reset the cache 7138 like this: 7139 .IP 7140 .nf 7141 \f[C] 7142 kill -SIGHUP $(pidof rclone) 7143 \f[R] 7144 .fi 7145 .PP 7146 If you configure rclone with a remote control then you can use rclone rc 7147 to flush the whole directory cache: 7148 .IP 7149 .nf 7150 \f[C] 7151 rclone rc vfs/forget 7152 \f[R] 7153 .fi 7154 .PP 7155 Or individual files or directories: 7156 .IP 7157 .nf 7158 \f[C] 7159 rclone rc vfs/forget file=path/to/file dir=path/to/dir 7160 \f[R] 7161 .fi 7162 .SS VFS File Buffering 7163 .PP 7164 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 7165 will be used to buffer data in advance. 7166 .PP 7167 Each open file will try to keep the specified amount of data in memory 7168 at all times. 7169 The buffered data is bound to one open file and won\[aq]t be shared. 7170 .PP 7171 This flag is a upper limit for the used memory per open file. 7172 The buffer will only use memory for data that is downloaded but not not 7173 yet read. 7174 If the buffer is empty, only a small amount of memory will be used. 7175 .PP 7176 The maximum memory used by rclone for buffering can be up to 7177 \f[C]--buffer-size * open files\f[R]. 7178 .SS VFS File Caching 7179 .PP 7180 These flags control the VFS file caching options. 7181 File caching is necessary to make the VFS layer appear compatible with a 7182 normal file system. 7183 It can be disabled at the cost of some compatibility. 7184 .PP 7185 For example you\[aq]ll need to enable VFS caching if you want to read 7186 and write simultaneously to a file. 7187 See below for more details. 7188 .PP 7189 Note that the VFS cache is separate from the cache backend and you may 7190 find that you need one or the other or both. 7191 .IP 7192 .nf 7193 \f[C] 7194 --cache-dir string Directory rclone will use for caching. 7195 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 7196 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 7197 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 7198 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 7199 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 7200 \f[R] 7201 .fi 7202 .PP 7203 If run with \f[C]-vv\f[R] rclone will print the location of the file 7204 cache. 7205 The files are stored in the user cache file area which is OS dependent 7206 but can be controlled with \f[C]--cache-dir\f[R] or setting the 7207 appropriate environment variable. 7208 .PP 7209 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 7210 The higher the cache mode the more compatible rclone becomes at the cost 7211 of using disk space. 7212 .PP 7213 Note that files are written back to the remote only when they are closed 7214 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 7215 seconds. 7216 If rclone is quit or dies with files that haven\[aq]t been uploaded, 7217 these will be uploaded next time rclone is run with the same flags. 7218 .PP 7219 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 7220 this size for two reasons. 7221 Firstly because it is only checked every 7222 \f[C]--vfs-cache-poll-interval\f[R]. 7223 Secondly because open files cannot be evicted from the cache. 7224 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 7225 evict the least accessed files from the cache first. 7226 rclone will start with files that haven\[aq]t been accessed for the 7227 longest. 7228 This cache flushing strategy is efficient and more relevant files are 7229 likely to remain cached. 7230 .PP 7231 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 7232 the set time since last access has passed. 7233 The default value of 1 hour will start evicting files from cache that 7234 haven\[aq]t been accessed for 1 hour. 7235 When a cached file is accessed the 1 hour timer is reset to 0 and will 7236 wait for 1 more hour before evicting. 7237 Specify the time with standard notation, s, m, h, d, w . 7238 .PP 7239 You \f[B]should not\f[R] run two copies of rclone using the same VFS 7240 cache with the same or overlapping remotes if using 7241 \f[C]--vfs-cache-mode > off\f[R]. 7242 This can potentially cause data corruption if you do. 7243 You can work around this by giving each rclone its own cache hierarchy 7244 with \f[C]--cache-dir\f[R]. 7245 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 7246 overlap. 7247 .SS --vfs-cache-mode off 7248 .PP 7249 In this mode (the default) the cache will read directly from the remote 7250 and write directly to the remote without caching anything on disk. 7251 .PP 7252 This will mean some operations are not possible 7253 .IP \[bu] 2 7254 Files can\[aq]t be opened for both read AND write 7255 .IP \[bu] 2 7256 Files opened for write can\[aq]t be seeked 7257 .IP \[bu] 2 7258 Existing files opened for write must have O_TRUNC set 7259 .IP \[bu] 2 7260 Files open for read with O_TRUNC will be opened write only 7261 .IP \[bu] 2 7262 Files open for write only will behave as if O_TRUNC was supplied 7263 .IP \[bu] 2 7264 Open modes O_APPEND, O_TRUNC are ignored 7265 .IP \[bu] 2 7266 If an upload fails it can\[aq]t be retried 7267 .SS --vfs-cache-mode minimal 7268 .PP 7269 This is very similar to \[dq]off\[dq] except that files opened for read 7270 AND write will be buffered to disk. 7271 This means that files opened for write will be a lot more compatible, 7272 but uses the minimal disk space. 7273 .PP 7274 These operations are not possible 7275 .IP \[bu] 2 7276 Files opened for write only can\[aq]t be seeked 7277 .IP \[bu] 2 7278 Existing files opened for write must have O_TRUNC set 7279 .IP \[bu] 2 7280 Files opened for write only will ignore O_APPEND, O_TRUNC 7281 .IP \[bu] 2 7282 If an upload fails it can\[aq]t be retried 7283 .SS --vfs-cache-mode writes 7284 .PP 7285 In this mode files opened for read only are still read directly from the 7286 remote, write only and read/write files are buffered to disk first. 7287 .PP 7288 This mode should support all normal file system operations. 7289 .PP 7290 If an upload fails it will be retried at exponentially increasing 7291 intervals up to 1 minute. 7292 .SS --vfs-cache-mode full 7293 .PP 7294 In this mode all reads and writes are buffered to and from disk. 7295 When data is read from the remote this is buffered to disk as well. 7296 .PP 7297 In this mode the files in the cache will be sparse files and rclone will 7298 keep track of which bits of the files it has downloaded. 7299 .PP 7300 So if an application only reads the starts of each file, then rclone 7301 will only buffer the start of the file. 7302 These files will appear to be their full size in the cache, but they 7303 will be sparse files with only the data that has been downloaded present 7304 in them. 7305 .PP 7306 This mode should support all normal file system operations and is 7307 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 7308 .PP 7309 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 7310 \f[C]--vfs-read-ahead\f[R] bytes ahead. 7311 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 7312 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 7313 .PP 7314 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 7315 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 7316 required. 7317 .PP 7318 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 7319 In particular FAT/exFAT do not. 7320 Rclone will perform very badly if the cache directory is on a filesystem 7321 which doesn\[aq]t support sparse files and it will log an ERROR message 7322 if one is detected. 7323 .SS Fingerprinting 7324 .PP 7325 Various parts of the VFS use fingerprinting to see if a local file copy 7326 has changed relative to a remote file. 7327 Fingerprints are made from: 7328 .IP \[bu] 2 7329 size 7330 .IP \[bu] 2 7331 modification time 7332 .IP \[bu] 2 7333 hash 7334 .PP 7335 where available on an object. 7336 .PP 7337 On some backends some of these attributes are slow to read (they take an 7338 extra API call per object, or extra work per object). 7339 .PP 7340 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 7341 \f[C]sftp\f[R] backends as they have to read the entire file and hash 7342 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 7343 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 7344 they need to do an extra API call to fetch it. 7345 .PP 7346 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 7347 not include the slow operations in the fingerprint. 7348 This makes the fingerprinting less accurate but much faster and will 7349 improve the opening time of cached files. 7350 .PP 7351 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 7352 \f[C]swift\f[R] backends then using this flag is recommended. 7353 .PP 7354 Note that if you change the value of this flag, the fingerprints of the 7355 files in the cache may be invalidated and the files will need to be 7356 downloaded again. 7357 .SS VFS Chunked Reading 7358 .PP 7359 When rclone reads files from a remote it reads them in chunks. 7360 This means that rather than requesting the whole file rclone reads the 7361 chunk specified. 7362 This can reduce the used download quota for some remotes by requesting 7363 only chunks from the remote that are actually read, at the cost of an 7364 increased number of requests. 7365 .PP 7366 These flags control the chunking: 7367 .IP 7368 .nf 7369 \f[C] 7370 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 7371 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 7372 \f[R] 7373 .fi 7374 .PP 7375 Rclone will start reading a chunk of size 7376 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 7377 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 7378 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 7379 will get doubled only until the specified value is reached. 7380 If the value is \[dq]off\[dq], which is the default, the limit is 7381 disabled and the chunk size will grow indefinitely. 7382 .PP 7383 With \f[C]--vfs-read-chunk-size 100M\f[R] and 7384 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 7385 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 7386 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 7387 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 7388 on. 7389 .PP 7390 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 7391 disables chunked reading. 7392 .SS VFS Performance 7393 .PP 7394 These flags may be used to enable/disable features of the VFS for 7395 performance or other reasons. 7396 See also the chunked reading feature. 7397 .PP 7398 In particular S3 and Swift benefit hugely from the 7399 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 7400 slightly different effect) as each read of the modification time takes a 7401 transaction. 7402 .IP 7403 .nf 7404 \f[C] 7405 --no-checksum Don\[aq]t compare checksums on up/download. 7406 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 7407 --no-seek Don\[aq]t allow seeking in files. 7408 --read-only Only allow read-only access. 7409 \f[R] 7410 .fi 7411 .PP 7412 Sometimes rclone is delivered reads or writes out of order. 7413 Rather than seeking rclone will wait a short time for the in sequence 7414 read or write to come in. 7415 These flags only come into effect when not using an on disk cache file. 7416 .IP 7417 .nf 7418 \f[C] 7419 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 7420 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 7421 \f[R] 7422 .fi 7423 .PP 7424 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 7425 writes or full), the global flag \f[C]--transfers\f[R] can be set to 7426 adjust the number of parallel uploads of modified files from the cache 7427 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 7428 .IP 7429 .nf 7430 \f[C] 7431 --transfers int Number of file transfers to run in parallel (default 4) 7432 \f[R] 7433 .fi 7434 .SS VFS Case Sensitivity 7435 .PP 7436 Linux file systems are case-sensitive: two files can differ only by 7437 case, and the exact case must be used when opening a file. 7438 .PP 7439 File systems in modern Windows are case-insensitive but case-preserving: 7440 although existing files can be opened using any case, the exact case 7441 used to create the file is preserved and available for programs to 7442 query. 7443 It is not allowed for two files in the same directory to differ only by 7444 case. 7445 .PP 7446 Usually file systems on macOS are case-insensitive. 7447 It is possible to make macOS file systems case-sensitive but that is not 7448 the default. 7449 .PP 7450 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 7451 handles these two cases. 7452 If its value is \[dq]false\[dq], rclone passes file names to the remote 7453 as-is. 7454 If the flag is \[dq]true\[dq] (or appears without a value on the command 7455 line), rclone may perform a \[dq]fixup\[dq] as explained below. 7456 .PP 7457 The user may specify a file name to open/delete/rename/etc with a case 7458 different than what is stored on the remote. 7459 If an argument refers to an existing file with exactly the same name, 7460 then the case of the existing file on the disk will be used. 7461 However, if a file name with exactly the same name is not found but a 7462 name differing only by case exists, rclone will transparently fixup the 7463 name. 7464 This fixup happens only when an existing file is requested. 7465 Case sensitivity of file names created anew by rclone is controlled by 7466 the underlying remote. 7467 .PP 7468 Note that case sensitivity of the operating system running rclone (the 7469 target) may differ from case sensitivity of a file system presented by 7470 rclone (the source). 7471 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 7472 target. 7473 .PP 7474 If the flag is not provided on the command line, then its default value 7475 depends on the operating system where rclone runs: \[dq]true\[dq] on 7476 Windows and macOS, \[dq]false\[dq] otherwise. 7477 If the flag is provided without a value, then it is \[dq]true\[dq]. 7478 .SS VFS Disk Options 7479 .PP 7480 This flag allows you to manually set the statistics about the filing 7481 system. 7482 It can be useful when those statistics cannot be read correctly 7483 automatically. 7484 .IP 7485 .nf 7486 \f[C] 7487 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 7488 \f[R] 7489 .fi 7490 .SS Alternate report of used bytes 7491 .PP 7492 Some backends, most notably S3, do not report the amount of bytes used. 7493 If you need this information to be available when running \f[C]df\f[R] 7494 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 7495 rclone. 7496 With this flag set, instead of relying on the backend to report this 7497 information, rclone will scan the whole remote similar to 7498 \f[C]rclone size\f[R] and compute the total used space itself. 7499 .PP 7500 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 7501 filters so that the result is accurate. 7502 However, this is very inefficient and may cost lots of API calls 7503 resulting in extra charges. 7504 Use it as a last resort and only with caching. 7505 .IP 7506 .nf 7507 \f[C] 7508 rclone serve docker [flags] 7509 \f[R] 7510 .fi 7511 .SS Options 7512 .IP 7513 .nf 7514 \f[C] 7515 --allow-non-empty Allow mounting over a non-empty directory (not supported on Windows) 7516 --allow-other Allow access to other users (not supported on Windows) 7517 --allow-root Allow access to root user (not supported on Windows) 7518 --async-read Use asynchronous reads (not supported on Windows) (default true) 7519 --attr-timeout Duration Time for which file/directory attributes are cached (default 1s) 7520 --base-dir string Base directory for volumes (default \[dq]/var/lib/docker-volumes/rclone\[dq]) 7521 --daemon Run mount in background and exit parent process (as background output is suppressed, use --log-file with --log-format=pid,... to monitor) (not supported on Windows) 7522 --daemon-timeout Duration Time limit for rclone to respond to kernel (not supported on Windows) (default 0s) 7523 --daemon-wait Duration Time to wait for ready mount from daemon (maximum time on Linux, constant sleep time on OSX/BSD) (not supported on Windows) (default 1m0s) 7524 --debug-fuse Debug the FUSE internals - needs -v 7525 --default-permissions Makes kernel enforce access control based on the file mode (not supported on Windows) 7526 --devname string Set the device name - default is remote:path 7527 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 7528 --dir-perms FileMode Directory permissions (default 0777) 7529 --file-perms FileMode File permissions (default 0666) 7530 --forget-state Skip restoring previous state 7531 --fuse-flag stringArray Flags or arguments to be passed direct to libfuse/WinFsp (repeat if required) 7532 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 7533 -h, --help help for docker 7534 --max-read-ahead SizeSuffix The number of bytes that can be prefetched for sequential reads (not supported on Windows) (default 128Ki) 7535 --mount-case-insensitive Tristate Tell the OS the mount is case insensitive (true) or sensitive (false) regardless of the backend (auto) (default unset) 7536 --network-mode Mount as remote network drive, instead of fixed disk drive (supported on Windows only) 7537 --no-checksum Don\[aq]t compare checksums on up/download 7538 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 7539 --no-seek Don\[aq]t allow seeking in files 7540 --no-spec Do not write spec file 7541 --noappledouble Ignore Apple Double (._) and .DS_Store files (supported on OSX only) (default true) 7542 --noapplexattr Ignore all \[dq]com.apple.*\[dq] extended attributes (supported on OSX only) 7543 -o, --option stringArray Option for libfuse/WinFsp (repeat if required) 7544 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 7545 --read-only Only allow read-only access 7546 --socket-addr string Address <host:port> or absolute path (default: /run/docker/plugins/rclone.sock) 7547 --socket-gid int GID for unix socket (default: current process GID) (default 1000) 7548 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 7549 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 7550 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 7551 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 7552 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 7553 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 7554 --vfs-case-insensitive If a file name not found, find a case insensitive match 7555 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 7556 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 7557 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 7558 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 7559 --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 (\[aq]off\[aq] is unlimited) (default off) 7560 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 7561 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 7562 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 7563 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 7564 --volname string Set the volume name (supported on Windows and OSX only) 7565 --write-back-cache Makes kernel buffer writes before sending them to rclone (without this, writethrough caching is used) (not supported on Windows) 7566 \f[R] 7567 .fi 7568 .PP 7569 See the global flags page (https://rclone.org/flags/) for global options 7570 not listed here. 7571 .SS SEE ALSO 7572 .IP \[bu] 2 7573 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 7574 remote over a protocol. 7575 .SH rclone serve ftp 7576 .PP 7577 Serve remote:path over FTP. 7578 .SS Synopsis 7579 .PP 7580 Run a basic FTP server to serve a remote over FTP protocol. 7581 This can be viewed with a FTP client or you can make a remote of type 7582 FTP to read and write it. 7583 .SS Server options 7584 .PP 7585 Use --addr to specify which IP address and port the server should listen 7586 on, e.g. 7587 --addr 1.2.3.4:8000 or --addr :8080 to listen to all IPs. 7588 By default it only listens on localhost. 7589 You can use port :0 to let the OS choose an available port. 7590 .PP 7591 If you set --addr to listen on a public or LAN accessible IP address 7592 then using Authentication is advised - see the next section for info. 7593 .SS Authentication 7594 .PP 7595 By default this will serve files without needing a login. 7596 .PP 7597 You can set a single username and password with the --user and --pass 7598 flags. 7599 .SS VFS - Virtual File System 7600 .PP 7601 This command uses the VFS layer. 7602 This adapts the cloud storage objects that rclone uses into something 7603 which looks much more like a disk filing system. 7604 .PP 7605 Cloud storage objects have lots of properties which aren\[aq]t like disk 7606 files - you can\[aq]t extend them or write to the middle of them, so the 7607 VFS layer has to deal with that. 7608 Because there is no one right way of doing this there are various 7609 options explained below. 7610 .PP 7611 The VFS layer also implements a directory cache - this caches info about 7612 files and directories (but not the data) in memory. 7613 .SS VFS Directory Cache 7614 .PP 7615 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 7616 directory should be considered up to date and not refreshed from the 7617 backend. 7618 Changes made through the VFS will appear immediately or invalidate the 7619 cache. 7620 .IP 7621 .nf 7622 \f[C] 7623 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 7624 --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) 7625 \f[R] 7626 .fi 7627 .PP 7628 However, changes made directly on the cloud storage by the web interface 7629 or a different copy of rclone will only be picked up once the directory 7630 cache expires if the backend configured does not support polling for 7631 changes. 7632 If the backend supports polling, changes will be picked up within the 7633 polling interval. 7634 .PP 7635 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 7636 directory caches, regardless of how old they are. 7637 Assuming only one rclone instance is running, you can reset the cache 7638 like this: 7639 .IP 7640 .nf 7641 \f[C] 7642 kill -SIGHUP $(pidof rclone) 7643 \f[R] 7644 .fi 7645 .PP 7646 If you configure rclone with a remote control then you can use rclone rc 7647 to flush the whole directory cache: 7648 .IP 7649 .nf 7650 \f[C] 7651 rclone rc vfs/forget 7652 \f[R] 7653 .fi 7654 .PP 7655 Or individual files or directories: 7656 .IP 7657 .nf 7658 \f[C] 7659 rclone rc vfs/forget file=path/to/file dir=path/to/dir 7660 \f[R] 7661 .fi 7662 .SS VFS File Buffering 7663 .PP 7664 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 7665 will be used to buffer data in advance. 7666 .PP 7667 Each open file will try to keep the specified amount of data in memory 7668 at all times. 7669 The buffered data is bound to one open file and won\[aq]t be shared. 7670 .PP 7671 This flag is a upper limit for the used memory per open file. 7672 The buffer will only use memory for data that is downloaded but not not 7673 yet read. 7674 If the buffer is empty, only a small amount of memory will be used. 7675 .PP 7676 The maximum memory used by rclone for buffering can be up to 7677 \f[C]--buffer-size * open files\f[R]. 7678 .SS VFS File Caching 7679 .PP 7680 These flags control the VFS file caching options. 7681 File caching is necessary to make the VFS layer appear compatible with a 7682 normal file system. 7683 It can be disabled at the cost of some compatibility. 7684 .PP 7685 For example you\[aq]ll need to enable VFS caching if you want to read 7686 and write simultaneously to a file. 7687 See below for more details. 7688 .PP 7689 Note that the VFS cache is separate from the cache backend and you may 7690 find that you need one or the other or both. 7691 .IP 7692 .nf 7693 \f[C] 7694 --cache-dir string Directory rclone will use for caching. 7695 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 7696 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 7697 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 7698 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 7699 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 7700 \f[R] 7701 .fi 7702 .PP 7703 If run with \f[C]-vv\f[R] rclone will print the location of the file 7704 cache. 7705 The files are stored in the user cache file area which is OS dependent 7706 but can be controlled with \f[C]--cache-dir\f[R] or setting the 7707 appropriate environment variable. 7708 .PP 7709 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 7710 The higher the cache mode the more compatible rclone becomes at the cost 7711 of using disk space. 7712 .PP 7713 Note that files are written back to the remote only when they are closed 7714 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 7715 seconds. 7716 If rclone is quit or dies with files that haven\[aq]t been uploaded, 7717 these will be uploaded next time rclone is run with the same flags. 7718 .PP 7719 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 7720 this size for two reasons. 7721 Firstly because it is only checked every 7722 \f[C]--vfs-cache-poll-interval\f[R]. 7723 Secondly because open files cannot be evicted from the cache. 7724 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 7725 evict the least accessed files from the cache first. 7726 rclone will start with files that haven\[aq]t been accessed for the 7727 longest. 7728 This cache flushing strategy is efficient and more relevant files are 7729 likely to remain cached. 7730 .PP 7731 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 7732 the set time since last access has passed. 7733 The default value of 1 hour will start evicting files from cache that 7734 haven\[aq]t been accessed for 1 hour. 7735 When a cached file is accessed the 1 hour timer is reset to 0 and will 7736 wait for 1 more hour before evicting. 7737 Specify the time with standard notation, s, m, h, d, w . 7738 .PP 7739 You \f[B]should not\f[R] run two copies of rclone using the same VFS 7740 cache with the same or overlapping remotes if using 7741 \f[C]--vfs-cache-mode > off\f[R]. 7742 This can potentially cause data corruption if you do. 7743 You can work around this by giving each rclone its own cache hierarchy 7744 with \f[C]--cache-dir\f[R]. 7745 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 7746 overlap. 7747 .SS --vfs-cache-mode off 7748 .PP 7749 In this mode (the default) the cache will read directly from the remote 7750 and write directly to the remote without caching anything on disk. 7751 .PP 7752 This will mean some operations are not possible 7753 .IP \[bu] 2 7754 Files can\[aq]t be opened for both read AND write 7755 .IP \[bu] 2 7756 Files opened for write can\[aq]t be seeked 7757 .IP \[bu] 2 7758 Existing files opened for write must have O_TRUNC set 7759 .IP \[bu] 2 7760 Files open for read with O_TRUNC will be opened write only 7761 .IP \[bu] 2 7762 Files open for write only will behave as if O_TRUNC was supplied 7763 .IP \[bu] 2 7764 Open modes O_APPEND, O_TRUNC are ignored 7765 .IP \[bu] 2 7766 If an upload fails it can\[aq]t be retried 7767 .SS --vfs-cache-mode minimal 7768 .PP 7769 This is very similar to \[dq]off\[dq] except that files opened for read 7770 AND write will be buffered to disk. 7771 This means that files opened for write will be a lot more compatible, 7772 but uses the minimal disk space. 7773 .PP 7774 These operations are not possible 7775 .IP \[bu] 2 7776 Files opened for write only can\[aq]t be seeked 7777 .IP \[bu] 2 7778 Existing files opened for write must have O_TRUNC set 7779 .IP \[bu] 2 7780 Files opened for write only will ignore O_APPEND, O_TRUNC 7781 .IP \[bu] 2 7782 If an upload fails it can\[aq]t be retried 7783 .SS --vfs-cache-mode writes 7784 .PP 7785 In this mode files opened for read only are still read directly from the 7786 remote, write only and read/write files are buffered to disk first. 7787 .PP 7788 This mode should support all normal file system operations. 7789 .PP 7790 If an upload fails it will be retried at exponentially increasing 7791 intervals up to 1 minute. 7792 .SS --vfs-cache-mode full 7793 .PP 7794 In this mode all reads and writes are buffered to and from disk. 7795 When data is read from the remote this is buffered to disk as well. 7796 .PP 7797 In this mode the files in the cache will be sparse files and rclone will 7798 keep track of which bits of the files it has downloaded. 7799 .PP 7800 So if an application only reads the starts of each file, then rclone 7801 will only buffer the start of the file. 7802 These files will appear to be their full size in the cache, but they 7803 will be sparse files with only the data that has been downloaded present 7804 in them. 7805 .PP 7806 This mode should support all normal file system operations and is 7807 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 7808 .PP 7809 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 7810 \f[C]--vfs-read-ahead\f[R] bytes ahead. 7811 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 7812 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 7813 .PP 7814 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 7815 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 7816 required. 7817 .PP 7818 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 7819 In particular FAT/exFAT do not. 7820 Rclone will perform very badly if the cache directory is on a filesystem 7821 which doesn\[aq]t support sparse files and it will log an ERROR message 7822 if one is detected. 7823 .SS Fingerprinting 7824 .PP 7825 Various parts of the VFS use fingerprinting to see if a local file copy 7826 has changed relative to a remote file. 7827 Fingerprints are made from: 7828 .IP \[bu] 2 7829 size 7830 .IP \[bu] 2 7831 modification time 7832 .IP \[bu] 2 7833 hash 7834 .PP 7835 where available on an object. 7836 .PP 7837 On some backends some of these attributes are slow to read (they take an 7838 extra API call per object, or extra work per object). 7839 .PP 7840 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 7841 \f[C]sftp\f[R] backends as they have to read the entire file and hash 7842 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 7843 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 7844 they need to do an extra API call to fetch it. 7845 .PP 7846 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 7847 not include the slow operations in the fingerprint. 7848 This makes the fingerprinting less accurate but much faster and will 7849 improve the opening time of cached files. 7850 .PP 7851 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 7852 \f[C]swift\f[R] backends then using this flag is recommended. 7853 .PP 7854 Note that if you change the value of this flag, the fingerprints of the 7855 files in the cache may be invalidated and the files will need to be 7856 downloaded again. 7857 .SS VFS Chunked Reading 7858 .PP 7859 When rclone reads files from a remote it reads them in chunks. 7860 This means that rather than requesting the whole file rclone reads the 7861 chunk specified. 7862 This can reduce the used download quota for some remotes by requesting 7863 only chunks from the remote that are actually read, at the cost of an 7864 increased number of requests. 7865 .PP 7866 These flags control the chunking: 7867 .IP 7868 .nf 7869 \f[C] 7870 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 7871 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 7872 \f[R] 7873 .fi 7874 .PP 7875 Rclone will start reading a chunk of size 7876 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 7877 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 7878 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 7879 will get doubled only until the specified value is reached. 7880 If the value is \[dq]off\[dq], which is the default, the limit is 7881 disabled and the chunk size will grow indefinitely. 7882 .PP 7883 With \f[C]--vfs-read-chunk-size 100M\f[R] and 7884 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 7885 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 7886 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 7887 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 7888 on. 7889 .PP 7890 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 7891 disables chunked reading. 7892 .SS VFS Performance 7893 .PP 7894 These flags may be used to enable/disable features of the VFS for 7895 performance or other reasons. 7896 See also the chunked reading feature. 7897 .PP 7898 In particular S3 and Swift benefit hugely from the 7899 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 7900 slightly different effect) as each read of the modification time takes a 7901 transaction. 7902 .IP 7903 .nf 7904 \f[C] 7905 --no-checksum Don\[aq]t compare checksums on up/download. 7906 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 7907 --no-seek Don\[aq]t allow seeking in files. 7908 --read-only Only allow read-only access. 7909 \f[R] 7910 .fi 7911 .PP 7912 Sometimes rclone is delivered reads or writes out of order. 7913 Rather than seeking rclone will wait a short time for the in sequence 7914 read or write to come in. 7915 These flags only come into effect when not using an on disk cache file. 7916 .IP 7917 .nf 7918 \f[C] 7919 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 7920 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 7921 \f[R] 7922 .fi 7923 .PP 7924 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 7925 writes or full), the global flag \f[C]--transfers\f[R] can be set to 7926 adjust the number of parallel uploads of modified files from the cache 7927 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 7928 .IP 7929 .nf 7930 \f[C] 7931 --transfers int Number of file transfers to run in parallel (default 4) 7932 \f[R] 7933 .fi 7934 .SS VFS Case Sensitivity 7935 .PP 7936 Linux file systems are case-sensitive: two files can differ only by 7937 case, and the exact case must be used when opening a file. 7938 .PP 7939 File systems in modern Windows are case-insensitive but case-preserving: 7940 although existing files can be opened using any case, the exact case 7941 used to create the file is preserved and available for programs to 7942 query. 7943 It is not allowed for two files in the same directory to differ only by 7944 case. 7945 .PP 7946 Usually file systems on macOS are case-insensitive. 7947 It is possible to make macOS file systems case-sensitive but that is not 7948 the default. 7949 .PP 7950 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 7951 handles these two cases. 7952 If its value is \[dq]false\[dq], rclone passes file names to the remote 7953 as-is. 7954 If the flag is \[dq]true\[dq] (or appears without a value on the command 7955 line), rclone may perform a \[dq]fixup\[dq] as explained below. 7956 .PP 7957 The user may specify a file name to open/delete/rename/etc with a case 7958 different than what is stored on the remote. 7959 If an argument refers to an existing file with exactly the same name, 7960 then the case of the existing file on the disk will be used. 7961 However, if a file name with exactly the same name is not found but a 7962 name differing only by case exists, rclone will transparently fixup the 7963 name. 7964 This fixup happens only when an existing file is requested. 7965 Case sensitivity of file names created anew by rclone is controlled by 7966 the underlying remote. 7967 .PP 7968 Note that case sensitivity of the operating system running rclone (the 7969 target) may differ from case sensitivity of a file system presented by 7970 rclone (the source). 7971 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 7972 target. 7973 .PP 7974 If the flag is not provided on the command line, then its default value 7975 depends on the operating system where rclone runs: \[dq]true\[dq] on 7976 Windows and macOS, \[dq]false\[dq] otherwise. 7977 If the flag is provided without a value, then it is \[dq]true\[dq]. 7978 .SS VFS Disk Options 7979 .PP 7980 This flag allows you to manually set the statistics about the filing 7981 system. 7982 It can be useful when those statistics cannot be read correctly 7983 automatically. 7984 .IP 7985 .nf 7986 \f[C] 7987 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 7988 \f[R] 7989 .fi 7990 .SS Alternate report of used bytes 7991 .PP 7992 Some backends, most notably S3, do not report the amount of bytes used. 7993 If you need this information to be available when running \f[C]df\f[R] 7994 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 7995 rclone. 7996 With this flag set, instead of relying on the backend to report this 7997 information, rclone will scan the whole remote similar to 7998 \f[C]rclone size\f[R] and compute the total used space itself. 7999 .PP 8000 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 8001 filters so that the result is accurate. 8002 However, this is very inefficient and may cost lots of API calls 8003 resulting in extra charges. 8004 Use it as a last resort and only with caching. 8005 .SS Auth Proxy 8006 .PP 8007 If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then 8008 rclone will use that program to generate backends on the fly which then 8009 are used to authenticate incoming requests. 8010 This uses a simple JSON based protocol with input on STDIN and output on 8011 STDOUT. 8012 .PP 8013 \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and 8014 \f[C]--authorized-keys\f[R] cannot be used together, if 8015 \f[C]--auth-proxy\f[R] is set the authorized keys option will be 8016 ignored. 8017 .PP 8018 There is an example program 8019 bin/test_proxy.py (https://github.com/divyam234/rclone/blob/master/test_proxy.py) 8020 in the rclone source code. 8021 .PP 8022 The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on 8023 the input and turn those into the config for a backend on STDOUT in JSON 8024 format. 8025 This config will have any default parameters for the backend added, but 8026 it won\[aq]t use configuration from environment variables or command 8027 line options - it is the job of the proxy program to make a complete 8028 config. 8029 .PP 8030 This config generated must have this extra parameter - \f[C]_root\f[R] - 8031 root to use for the backend 8032 .PP 8033 And it may have this parameter - \f[C]_obscure\f[R] - comma separated 8034 strings for parameters to obscure 8035 .PP 8036 If password authentication was used by the client, input to the proxy 8037 process (on STDIN) would look similar to this: 8038 .IP 8039 .nf 8040 \f[C] 8041 { 8042 \[dq]user\[dq]: \[dq]me\[dq], 8043 \[dq]pass\[dq]: \[dq]mypassword\[dq] 8044 } 8045 \f[R] 8046 .fi 8047 .PP 8048 If public-key authentication was used by the client, input to the proxy 8049 process (on STDIN) would look similar to this: 8050 .IP 8051 .nf 8052 \f[C] 8053 { 8054 \[dq]user\[dq]: \[dq]me\[dq], 8055 \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq] 8056 } 8057 \f[R] 8058 .fi 8059 .PP 8060 And as an example return this on STDOUT 8061 .IP 8062 .nf 8063 \f[C] 8064 { 8065 \[dq]type\[dq]: \[dq]sftp\[dq], 8066 \[dq]_root\[dq]: \[dq]\[dq], 8067 \[dq]_obscure\[dq]: \[dq]pass\[dq], 8068 \[dq]user\[dq]: \[dq]me\[dq], 8069 \[dq]pass\[dq]: \[dq]mypassword\[dq], 8070 \[dq]host\[dq]: \[dq]sftp.example.com\[dq] 8071 } 8072 \f[R] 8073 .fi 8074 .PP 8075 This would mean that an SFTP backend would be created on the fly for the 8076 \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the 8077 output to the host given. 8078 Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will 8079 obscure the \f[C]pass\f[R] parameter before creating the backend (which 8080 is required for sftp backends). 8081 .PP 8082 The program can manipulate the supplied \f[C]user\f[R] in any way, for 8083 example to make proxy to many different sftp backends, you could make 8084 the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the 8085 \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to 8086 \f[C]user\f[R]. 8087 For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a 8088 limited list. 8089 .PP 8090 Note that an internal cache is keyed on \f[C]user\f[R] so only use that 8091 for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R]. 8092 This also means that if a user\[aq]s password or public-key is changed 8093 the cache will need to expire (which takes 5 mins) before it takes 8094 effect. 8095 .PP 8096 This can be used to build general purpose proxies to any kind of backend 8097 that rclone supports. 8098 .IP 8099 .nf 8100 \f[C] 8101 rclone serve ftp remote:path [flags] 8102 \f[R] 8103 .fi 8104 .SS Options 8105 .IP 8106 .nf 8107 \f[C] 8108 --addr string IPaddress:Port or :Port to bind server to (default \[dq]localhost:2121\[dq]) 8109 --auth-proxy string A program to use to create the backend from the auth 8110 --cert string TLS PEM key (concatenation of certificate and CA certificate) 8111 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 8112 --dir-perms FileMode Directory permissions (default 0777) 8113 --file-perms FileMode File permissions (default 0666) 8114 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 8115 -h, --help help for ftp 8116 --key string TLS PEM Private key 8117 --no-checksum Don\[aq]t compare checksums on up/download 8118 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 8119 --no-seek Don\[aq]t allow seeking in files 8120 --pass string Password for authentication (empty value allow every password) 8121 --passive-port string Passive port range to use (default \[dq]30000-32000\[dq]) 8122 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 8123 --public-ip string Public IP address to advertise for passive connections 8124 --read-only Only allow read-only access 8125 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 8126 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 8127 --user string User name for authentication (default \[dq]anonymous\[dq]) 8128 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 8129 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 8130 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 8131 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 8132 --vfs-case-insensitive If a file name not found, find a case insensitive match 8133 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 8134 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 8135 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 8136 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 8137 --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 (\[aq]off\[aq] is unlimited) (default off) 8138 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 8139 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 8140 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 8141 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 8142 \f[R] 8143 .fi 8144 .PP 8145 See the global flags page (https://rclone.org/flags/) for global options 8146 not listed here. 8147 .SS SEE ALSO 8148 .IP \[bu] 2 8149 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 8150 remote over a protocol. 8151 .SH rclone serve http 8152 .PP 8153 Serve the remote over HTTP. 8154 .SS Synopsis 8155 .PP 8156 Run a basic web server to serve a remote over HTTP. 8157 This can be viewed in a web browser or you can make a remote of type 8158 http read from it. 8159 .PP 8160 You can use the filter flags (e.g. 8161 \f[C]--include\f[R], \f[C]--exclude\f[R]) to control what is served. 8162 .PP 8163 The server will log errors. 8164 Use \f[C]-v\f[R] to see access logs. 8165 .PP 8166 \f[C]--bwlimit\f[R] will be respected for file transfers. 8167 Use \f[C]--stats\f[R] to control the stats printing. 8168 .SS Server options 8169 .PP 8170 Use \f[C]--addr\f[R] to specify which IP address and port the server 8171 should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or 8172 \f[C]--addr :8080\f[R] to listen to all IPs. 8173 By default it only listens on localhost. 8174 You can use port :0 to let the OS choose an available port. 8175 .PP 8176 If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP 8177 address then using Authentication is advised - see the next section for 8178 info. 8179 .PP 8180 You can use a unix socket by setting the url to 8181 \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name. 8182 Note that unix sockets bypass the authentication - this is expected to 8183 be done with file system permissions. 8184 .PP 8185 \f[C]--addr\f[R] may be repeated to listen on multiple 8186 IPs/ports/sockets. 8187 .PP 8188 \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can 8189 be used to control the timeouts on the server. 8190 Note that this is the total time for a transfer. 8191 .PP 8192 \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the 8193 server will accept in the HTTP header. 8194 .PP 8195 \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from. 8196 By default rclone will serve from the root. 8197 If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would 8198 serve from a URL starting with \[dq]/rclone/\[dq]. 8199 This is useful if you wish to proxy rclone serve. 8200 Rclone automatically inserts leading and trailing \[dq]/\[dq] on 8201 \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R], 8202 \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and 8203 \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically. 8204 .SS TLS (SSL) 8205 .PP 8206 By default this will serve over http. 8207 If you want you can serve over https. 8208 You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags. 8209 If you wish to do client side certificate validation then you will need 8210 to supply \f[C]--client-ca\f[R] also. 8211 .PP 8212 \f[C]--cert\f[R] should be a either a PEM encoded certificate or a 8213 concatenation of that with the CA certificate. 8214 \f[C]--key\f[R] should be the PEM encoded private key and 8215 \f[C]--client-ca\f[R] should be the PEM encoded client certificate 8216 authority certificate. 8217 .PP 8218 --min-tls-version is minimum TLS version that is acceptable. 8219 Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq] 8220 and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]). 8221 .SS Template 8222 .PP 8223 \f[C]--template\f[R] allows a user to specify a custom markup template 8224 for HTTP and WebDAV serve functions. 8225 The server exports the following markup to be used within the template 8226 to server pages: 8227 .PP 8228 .TS 8229 tab(@); 8230 lw(35.0n) lw(35.0n). 8231 T{ 8232 Parameter 8233 T}@T{ 8234 Description 8235 T} 8236 _ 8237 T{ 8238 \&.Name 8239 T}@T{ 8240 The full path of a file/directory. 8241 T} 8242 T{ 8243 \&.Title 8244 T}@T{ 8245 Directory listing of .Name 8246 T} 8247 T{ 8248 \&.Sort 8249 T}@T{ 8250 The current sort used. 8251 This is changeable via ?sort= parameter 8252 T} 8253 T{ 8254 T}@T{ 8255 Sort Options: namedirfirst,name,size,time (default namedirfirst) 8256 T} 8257 T{ 8258 \&.Order 8259 T}@T{ 8260 The current ordering used. 8261 This is changeable via ?order= parameter 8262 T} 8263 T{ 8264 T}@T{ 8265 Order Options: asc,desc (default asc) 8266 T} 8267 T{ 8268 \&.Query 8269 T}@T{ 8270 Currently unused. 8271 T} 8272 T{ 8273 \&.Breadcrumb 8274 T}@T{ 8275 Allows for creating a relative navigation 8276 T} 8277 T{ 8278 -- .Link 8279 T}@T{ 8280 The relative to the root link of the Text. 8281 T} 8282 T{ 8283 -- .Text 8284 T}@T{ 8285 The Name of the directory. 8286 T} 8287 T{ 8288 \&.Entries 8289 T}@T{ 8290 Information about a specific file/directory. 8291 T} 8292 T{ 8293 -- .URL 8294 T}@T{ 8295 The \[aq]url\[aq] of an entry. 8296 T} 8297 T{ 8298 -- .Leaf 8299 T}@T{ 8300 Currently same as \[aq]URL\[aq] but intended to be \[aq]just\[aq] the 8301 name. 8302 T} 8303 T{ 8304 -- .IsDir 8305 T}@T{ 8306 Boolean for if an entry is a directory or not. 8307 T} 8308 T{ 8309 -- .Size 8310 T}@T{ 8311 Size in Bytes of the entry. 8312 T} 8313 T{ 8314 -- .ModTime 8315 T}@T{ 8316 The UTC timestamp of an entry. 8317 T} 8318 .TE 8319 .SS Authentication 8320 .PP 8321 By default this will serve files without needing a login. 8322 .PP 8323 You can either use an htpasswd file which can take lots of users, or set 8324 a single username and password with the \f[C]--user\f[R] and 8325 \f[C]--pass\f[R] flags. 8326 .PP 8327 If no static users are configured by either of the above methods, and 8328 client certificates are required by the \f[C]--client-ca\f[R] flag 8329 passed to the server, the client certificate common name will be 8330 considered as the username. 8331 .PP 8332 Use \f[C]--htpasswd /path/to/htpasswd\f[R] to provide an htpasswd file. 8333 This is in standard apache format and supports MD5, SHA1 and BCrypt for 8334 basic authentication. 8335 Bcrypt is recommended. 8336 .PP 8337 To create an htpasswd file: 8338 .IP 8339 .nf 8340 \f[C] 8341 touch htpasswd 8342 htpasswd -B htpasswd user 8343 htpasswd -B htpasswd anotherUser 8344 \f[R] 8345 .fi 8346 .PP 8347 The password file can be updated while rclone is running. 8348 .PP 8349 Use \f[C]--realm\f[R] to set the authentication realm. 8350 .PP 8351 Use \f[C]--salt\f[R] to change the password hashing salt from the 8352 default. 8353 .SS VFS - Virtual File System 8354 .PP 8355 This command uses the VFS layer. 8356 This adapts the cloud storage objects that rclone uses into something 8357 which looks much more like a disk filing system. 8358 .PP 8359 Cloud storage objects have lots of properties which aren\[aq]t like disk 8360 files - you can\[aq]t extend them or write to the middle of them, so the 8361 VFS layer has to deal with that. 8362 Because there is no one right way of doing this there are various 8363 options explained below. 8364 .PP 8365 The VFS layer also implements a directory cache - this caches info about 8366 files and directories (but not the data) in memory. 8367 .SS VFS Directory Cache 8368 .PP 8369 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 8370 directory should be considered up to date and not refreshed from the 8371 backend. 8372 Changes made through the VFS will appear immediately or invalidate the 8373 cache. 8374 .IP 8375 .nf 8376 \f[C] 8377 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 8378 --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) 8379 \f[R] 8380 .fi 8381 .PP 8382 However, changes made directly on the cloud storage by the web interface 8383 or a different copy of rclone will only be picked up once the directory 8384 cache expires if the backend configured does not support polling for 8385 changes. 8386 If the backend supports polling, changes will be picked up within the 8387 polling interval. 8388 .PP 8389 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 8390 directory caches, regardless of how old they are. 8391 Assuming only one rclone instance is running, you can reset the cache 8392 like this: 8393 .IP 8394 .nf 8395 \f[C] 8396 kill -SIGHUP $(pidof rclone) 8397 \f[R] 8398 .fi 8399 .PP 8400 If you configure rclone with a remote control then you can use rclone rc 8401 to flush the whole directory cache: 8402 .IP 8403 .nf 8404 \f[C] 8405 rclone rc vfs/forget 8406 \f[R] 8407 .fi 8408 .PP 8409 Or individual files or directories: 8410 .IP 8411 .nf 8412 \f[C] 8413 rclone rc vfs/forget file=path/to/file dir=path/to/dir 8414 \f[R] 8415 .fi 8416 .SS VFS File Buffering 8417 .PP 8418 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 8419 will be used to buffer data in advance. 8420 .PP 8421 Each open file will try to keep the specified amount of data in memory 8422 at all times. 8423 The buffered data is bound to one open file and won\[aq]t be shared. 8424 .PP 8425 This flag is a upper limit for the used memory per open file. 8426 The buffer will only use memory for data that is downloaded but not not 8427 yet read. 8428 If the buffer is empty, only a small amount of memory will be used. 8429 .PP 8430 The maximum memory used by rclone for buffering can be up to 8431 \f[C]--buffer-size * open files\f[R]. 8432 .SS VFS File Caching 8433 .PP 8434 These flags control the VFS file caching options. 8435 File caching is necessary to make the VFS layer appear compatible with a 8436 normal file system. 8437 It can be disabled at the cost of some compatibility. 8438 .PP 8439 For example you\[aq]ll need to enable VFS caching if you want to read 8440 and write simultaneously to a file. 8441 See below for more details. 8442 .PP 8443 Note that the VFS cache is separate from the cache backend and you may 8444 find that you need one or the other or both. 8445 .IP 8446 .nf 8447 \f[C] 8448 --cache-dir string Directory rclone will use for caching. 8449 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 8450 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 8451 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 8452 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 8453 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 8454 \f[R] 8455 .fi 8456 .PP 8457 If run with \f[C]-vv\f[R] rclone will print the location of the file 8458 cache. 8459 The files are stored in the user cache file area which is OS dependent 8460 but can be controlled with \f[C]--cache-dir\f[R] or setting the 8461 appropriate environment variable. 8462 .PP 8463 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 8464 The higher the cache mode the more compatible rclone becomes at the cost 8465 of using disk space. 8466 .PP 8467 Note that files are written back to the remote only when they are closed 8468 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 8469 seconds. 8470 If rclone is quit or dies with files that haven\[aq]t been uploaded, 8471 these will be uploaded next time rclone is run with the same flags. 8472 .PP 8473 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 8474 this size for two reasons. 8475 Firstly because it is only checked every 8476 \f[C]--vfs-cache-poll-interval\f[R]. 8477 Secondly because open files cannot be evicted from the cache. 8478 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 8479 evict the least accessed files from the cache first. 8480 rclone will start with files that haven\[aq]t been accessed for the 8481 longest. 8482 This cache flushing strategy is efficient and more relevant files are 8483 likely to remain cached. 8484 .PP 8485 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 8486 the set time since last access has passed. 8487 The default value of 1 hour will start evicting files from cache that 8488 haven\[aq]t been accessed for 1 hour. 8489 When a cached file is accessed the 1 hour timer is reset to 0 and will 8490 wait for 1 more hour before evicting. 8491 Specify the time with standard notation, s, m, h, d, w . 8492 .PP 8493 You \f[B]should not\f[R] run two copies of rclone using the same VFS 8494 cache with the same or overlapping remotes if using 8495 \f[C]--vfs-cache-mode > off\f[R]. 8496 This can potentially cause data corruption if you do. 8497 You can work around this by giving each rclone its own cache hierarchy 8498 with \f[C]--cache-dir\f[R]. 8499 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 8500 overlap. 8501 .SS --vfs-cache-mode off 8502 .PP 8503 In this mode (the default) the cache will read directly from the remote 8504 and write directly to the remote without caching anything on disk. 8505 .PP 8506 This will mean some operations are not possible 8507 .IP \[bu] 2 8508 Files can\[aq]t be opened for both read AND write 8509 .IP \[bu] 2 8510 Files opened for write can\[aq]t be seeked 8511 .IP \[bu] 2 8512 Existing files opened for write must have O_TRUNC set 8513 .IP \[bu] 2 8514 Files open for read with O_TRUNC will be opened write only 8515 .IP \[bu] 2 8516 Files open for write only will behave as if O_TRUNC was supplied 8517 .IP \[bu] 2 8518 Open modes O_APPEND, O_TRUNC are ignored 8519 .IP \[bu] 2 8520 If an upload fails it can\[aq]t be retried 8521 .SS --vfs-cache-mode minimal 8522 .PP 8523 This is very similar to \[dq]off\[dq] except that files opened for read 8524 AND write will be buffered to disk. 8525 This means that files opened for write will be a lot more compatible, 8526 but uses the minimal disk space. 8527 .PP 8528 These operations are not possible 8529 .IP \[bu] 2 8530 Files opened for write only can\[aq]t be seeked 8531 .IP \[bu] 2 8532 Existing files opened for write must have O_TRUNC set 8533 .IP \[bu] 2 8534 Files opened for write only will ignore O_APPEND, O_TRUNC 8535 .IP \[bu] 2 8536 If an upload fails it can\[aq]t be retried 8537 .SS --vfs-cache-mode writes 8538 .PP 8539 In this mode files opened for read only are still read directly from the 8540 remote, write only and read/write files are buffered to disk first. 8541 .PP 8542 This mode should support all normal file system operations. 8543 .PP 8544 If an upload fails it will be retried at exponentially increasing 8545 intervals up to 1 minute. 8546 .SS --vfs-cache-mode full 8547 .PP 8548 In this mode all reads and writes are buffered to and from disk. 8549 When data is read from the remote this is buffered to disk as well. 8550 .PP 8551 In this mode the files in the cache will be sparse files and rclone will 8552 keep track of which bits of the files it has downloaded. 8553 .PP 8554 So if an application only reads the starts of each file, then rclone 8555 will only buffer the start of the file. 8556 These files will appear to be their full size in the cache, but they 8557 will be sparse files with only the data that has been downloaded present 8558 in them. 8559 .PP 8560 This mode should support all normal file system operations and is 8561 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 8562 .PP 8563 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 8564 \f[C]--vfs-read-ahead\f[R] bytes ahead. 8565 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 8566 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 8567 .PP 8568 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 8569 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 8570 required. 8571 .PP 8572 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 8573 In particular FAT/exFAT do not. 8574 Rclone will perform very badly if the cache directory is on a filesystem 8575 which doesn\[aq]t support sparse files and it will log an ERROR message 8576 if one is detected. 8577 .SS Fingerprinting 8578 .PP 8579 Various parts of the VFS use fingerprinting to see if a local file copy 8580 has changed relative to a remote file. 8581 Fingerprints are made from: 8582 .IP \[bu] 2 8583 size 8584 .IP \[bu] 2 8585 modification time 8586 .IP \[bu] 2 8587 hash 8588 .PP 8589 where available on an object. 8590 .PP 8591 On some backends some of these attributes are slow to read (they take an 8592 extra API call per object, or extra work per object). 8593 .PP 8594 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 8595 \f[C]sftp\f[R] backends as they have to read the entire file and hash 8596 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 8597 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 8598 they need to do an extra API call to fetch it. 8599 .PP 8600 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 8601 not include the slow operations in the fingerprint. 8602 This makes the fingerprinting less accurate but much faster and will 8603 improve the opening time of cached files. 8604 .PP 8605 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 8606 \f[C]swift\f[R] backends then using this flag is recommended. 8607 .PP 8608 Note that if you change the value of this flag, the fingerprints of the 8609 files in the cache may be invalidated and the files will need to be 8610 downloaded again. 8611 .SS VFS Chunked Reading 8612 .PP 8613 When rclone reads files from a remote it reads them in chunks. 8614 This means that rather than requesting the whole file rclone reads the 8615 chunk specified. 8616 This can reduce the used download quota for some remotes by requesting 8617 only chunks from the remote that are actually read, at the cost of an 8618 increased number of requests. 8619 .PP 8620 These flags control the chunking: 8621 .IP 8622 .nf 8623 \f[C] 8624 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 8625 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 8626 \f[R] 8627 .fi 8628 .PP 8629 Rclone will start reading a chunk of size 8630 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 8631 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 8632 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 8633 will get doubled only until the specified value is reached. 8634 If the value is \[dq]off\[dq], which is the default, the limit is 8635 disabled and the chunk size will grow indefinitely. 8636 .PP 8637 With \f[C]--vfs-read-chunk-size 100M\f[R] and 8638 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 8639 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 8640 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 8641 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 8642 on. 8643 .PP 8644 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 8645 disables chunked reading. 8646 .SS VFS Performance 8647 .PP 8648 These flags may be used to enable/disable features of the VFS for 8649 performance or other reasons. 8650 See also the chunked reading feature. 8651 .PP 8652 In particular S3 and Swift benefit hugely from the 8653 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 8654 slightly different effect) as each read of the modification time takes a 8655 transaction. 8656 .IP 8657 .nf 8658 \f[C] 8659 --no-checksum Don\[aq]t compare checksums on up/download. 8660 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 8661 --no-seek Don\[aq]t allow seeking in files. 8662 --read-only Only allow read-only access. 8663 \f[R] 8664 .fi 8665 .PP 8666 Sometimes rclone is delivered reads or writes out of order. 8667 Rather than seeking rclone will wait a short time for the in sequence 8668 read or write to come in. 8669 These flags only come into effect when not using an on disk cache file. 8670 .IP 8671 .nf 8672 \f[C] 8673 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 8674 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 8675 \f[R] 8676 .fi 8677 .PP 8678 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 8679 writes or full), the global flag \f[C]--transfers\f[R] can be set to 8680 adjust the number of parallel uploads of modified files from the cache 8681 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 8682 .IP 8683 .nf 8684 \f[C] 8685 --transfers int Number of file transfers to run in parallel (default 4) 8686 \f[R] 8687 .fi 8688 .SS VFS Case Sensitivity 8689 .PP 8690 Linux file systems are case-sensitive: two files can differ only by 8691 case, and the exact case must be used when opening a file. 8692 .PP 8693 File systems in modern Windows are case-insensitive but case-preserving: 8694 although existing files can be opened using any case, the exact case 8695 used to create the file is preserved and available for programs to 8696 query. 8697 It is not allowed for two files in the same directory to differ only by 8698 case. 8699 .PP 8700 Usually file systems on macOS are case-insensitive. 8701 It is possible to make macOS file systems case-sensitive but that is not 8702 the default. 8703 .PP 8704 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 8705 handles these two cases. 8706 If its value is \[dq]false\[dq], rclone passes file names to the remote 8707 as-is. 8708 If the flag is \[dq]true\[dq] (or appears without a value on the command 8709 line), rclone may perform a \[dq]fixup\[dq] as explained below. 8710 .PP 8711 The user may specify a file name to open/delete/rename/etc with a case 8712 different than what is stored on the remote. 8713 If an argument refers to an existing file with exactly the same name, 8714 then the case of the existing file on the disk will be used. 8715 However, if a file name with exactly the same name is not found but a 8716 name differing only by case exists, rclone will transparently fixup the 8717 name. 8718 This fixup happens only when an existing file is requested. 8719 Case sensitivity of file names created anew by rclone is controlled by 8720 the underlying remote. 8721 .PP 8722 Note that case sensitivity of the operating system running rclone (the 8723 target) may differ from case sensitivity of a file system presented by 8724 rclone (the source). 8725 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 8726 target. 8727 .PP 8728 If the flag is not provided on the command line, then its default value 8729 depends on the operating system where rclone runs: \[dq]true\[dq] on 8730 Windows and macOS, \[dq]false\[dq] otherwise. 8731 If the flag is provided without a value, then it is \[dq]true\[dq]. 8732 .SS VFS Disk Options 8733 .PP 8734 This flag allows you to manually set the statistics about the filing 8735 system. 8736 It can be useful when those statistics cannot be read correctly 8737 automatically. 8738 .IP 8739 .nf 8740 \f[C] 8741 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 8742 \f[R] 8743 .fi 8744 .SS Alternate report of used bytes 8745 .PP 8746 Some backends, most notably S3, do not report the amount of bytes used. 8747 If you need this information to be available when running \f[C]df\f[R] 8748 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 8749 rclone. 8750 With this flag set, instead of relying on the backend to report this 8751 information, rclone will scan the whole remote similar to 8752 \f[C]rclone size\f[R] and compute the total used space itself. 8753 .PP 8754 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 8755 filters so that the result is accurate. 8756 However, this is very inefficient and may cost lots of API calls 8757 resulting in extra charges. 8758 Use it as a last resort and only with caching. 8759 .SS Auth Proxy 8760 .PP 8761 If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then 8762 rclone will use that program to generate backends on the fly which then 8763 are used to authenticate incoming requests. 8764 This uses a simple JSON based protocol with input on STDIN and output on 8765 STDOUT. 8766 .PP 8767 \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and 8768 \f[C]--authorized-keys\f[R] cannot be used together, if 8769 \f[C]--auth-proxy\f[R] is set the authorized keys option will be 8770 ignored. 8771 .PP 8772 There is an example program 8773 bin/test_proxy.py (https://github.com/divyam234/rclone/blob/master/test_proxy.py) 8774 in the rclone source code. 8775 .PP 8776 The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on 8777 the input and turn those into the config for a backend on STDOUT in JSON 8778 format. 8779 This config will have any default parameters for the backend added, but 8780 it won\[aq]t use configuration from environment variables or command 8781 line options - it is the job of the proxy program to make a complete 8782 config. 8783 .PP 8784 This config generated must have this extra parameter - \f[C]_root\f[R] - 8785 root to use for the backend 8786 .PP 8787 And it may have this parameter - \f[C]_obscure\f[R] - comma separated 8788 strings for parameters to obscure 8789 .PP 8790 If password authentication was used by the client, input to the proxy 8791 process (on STDIN) would look similar to this: 8792 .IP 8793 .nf 8794 \f[C] 8795 { 8796 \[dq]user\[dq]: \[dq]me\[dq], 8797 \[dq]pass\[dq]: \[dq]mypassword\[dq] 8798 } 8799 \f[R] 8800 .fi 8801 .PP 8802 If public-key authentication was used by the client, input to the proxy 8803 process (on STDIN) would look similar to this: 8804 .IP 8805 .nf 8806 \f[C] 8807 { 8808 \[dq]user\[dq]: \[dq]me\[dq], 8809 \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq] 8810 } 8811 \f[R] 8812 .fi 8813 .PP 8814 And as an example return this on STDOUT 8815 .IP 8816 .nf 8817 \f[C] 8818 { 8819 \[dq]type\[dq]: \[dq]sftp\[dq], 8820 \[dq]_root\[dq]: \[dq]\[dq], 8821 \[dq]_obscure\[dq]: \[dq]pass\[dq], 8822 \[dq]user\[dq]: \[dq]me\[dq], 8823 \[dq]pass\[dq]: \[dq]mypassword\[dq], 8824 \[dq]host\[dq]: \[dq]sftp.example.com\[dq] 8825 } 8826 \f[R] 8827 .fi 8828 .PP 8829 This would mean that an SFTP backend would be created on the fly for the 8830 \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the 8831 output to the host given. 8832 Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will 8833 obscure the \f[C]pass\f[R] parameter before creating the backend (which 8834 is required for sftp backends). 8835 .PP 8836 The program can manipulate the supplied \f[C]user\f[R] in any way, for 8837 example to make proxy to many different sftp backends, you could make 8838 the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the 8839 \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to 8840 \f[C]user\f[R]. 8841 For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a 8842 limited list. 8843 .PP 8844 Note that an internal cache is keyed on \f[C]user\f[R] so only use that 8845 for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R]. 8846 This also means that if a user\[aq]s password or public-key is changed 8847 the cache will need to expire (which takes 5 mins) before it takes 8848 effect. 8849 .PP 8850 This can be used to build general purpose proxies to any kind of backend 8851 that rclone supports. 8852 .IP 8853 .nf 8854 \f[C] 8855 rclone serve http remote:path [flags] 8856 \f[R] 8857 .fi 8858 .SS Options 8859 .IP 8860 .nf 8861 \f[C] 8862 --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080]) 8863 --auth-proxy string A program to use to create the backend from the auth 8864 --baseurl string Prefix for URLs - leave blank for root 8865 --cert string TLS PEM key (concatenation of certificate and CA certificate) 8866 --client-ca string Client certificate authority to verify clients with 8867 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 8868 --dir-perms FileMode Directory permissions (default 0777) 8869 --file-perms FileMode File permissions (default 0666) 8870 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 8871 -h, --help help for http 8872 --htpasswd string A htpasswd file - if not provided no authentication is done 8873 --key string TLS PEM Private key 8874 --max-header-bytes int Maximum size of request header (default 4096) 8875 --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq]) 8876 --no-checksum Don\[aq]t compare checksums on up/download 8877 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 8878 --no-seek Don\[aq]t allow seeking in files 8879 --pass string Password for authentication 8880 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 8881 --read-only Only allow read-only access 8882 --realm string Realm for authentication 8883 --salt string Password hashing salt (default \[dq]dlPL2MqE\[dq]) 8884 --server-read-timeout Duration Timeout for server reading data (default 1h0m0s) 8885 --server-write-timeout Duration Timeout for server writing data (default 1h0m0s) 8886 --template string User-specified template 8887 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 8888 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 8889 --user string User name for authentication 8890 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 8891 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 8892 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 8893 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 8894 --vfs-case-insensitive If a file name not found, find a case insensitive match 8895 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 8896 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 8897 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 8898 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 8899 --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 (\[aq]off\[aq] is unlimited) (default off) 8900 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 8901 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 8902 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 8903 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 8904 \f[R] 8905 .fi 8906 .PP 8907 See the global flags page (https://rclone.org/flags/) for global options 8908 not listed here. 8909 .SS SEE ALSO 8910 .IP \[bu] 2 8911 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 8912 remote over a protocol. 8913 .SH rclone serve restic 8914 .PP 8915 Serve the remote for restic\[aq]s REST API. 8916 .SS Synopsis 8917 .PP 8918 Run a basic web server to serve a remote over restic\[aq]s REST backend 8919 API over HTTP. 8920 This allows restic to use rclone as a data storage mechanism for cloud 8921 providers that restic does not support directly. 8922 .PP 8923 Restic (https://restic.net/) is a command-line program for doing 8924 backups. 8925 .PP 8926 The server will log errors. 8927 Use -v to see access logs. 8928 .PP 8929 \f[C]--bwlimit\f[R] will be respected for file transfers. 8930 Use \f[C]--stats\f[R] to control the stats printing. 8931 .SS Setting up rclone for use by restic 8932 .PP 8933 First set up a remote for your chosen cloud 8934 provider (https://rclone.org/docs/#configure). 8935 .PP 8936 Once you have set up the remote, check it is working with, for example 8937 \[dq]rclone lsd remote:\[dq]. 8938 You may have called the remote something other than \[dq]remote:\[dq] - 8939 just substitute whatever you called it in the following instructions. 8940 .PP 8941 Now start the rclone restic server 8942 .IP 8943 .nf 8944 \f[C] 8945 rclone serve restic -v remote:backup 8946 \f[R] 8947 .fi 8948 .PP 8949 Where you can replace \[dq]backup\[dq] in the above by whatever path in 8950 the remote you wish to use. 8951 .PP 8952 By default this will serve on \[dq]localhost:8080\[dq] you can change 8953 this with use of the \f[C]--addr\f[R] flag. 8954 .PP 8955 You might wish to start this server on boot. 8956 .PP 8957 Adding \f[C]--cache-objects=false\f[R] will cause rclone to stop caching 8958 objects returned from the List call. 8959 Caching is normally desirable as it speeds up downloading objects, saves 8960 transactions and uses very little memory. 8961 .SS Setting up restic to use rclone 8962 .PP 8963 Now you can follow the restic 8964 instructions (http://restic.readthedocs.io/en/latest/030_preparing_a_new_repo.html#rest-server) 8965 on setting up restic. 8966 .PP 8967 Note that you will need restic 0.8.2 or later to interoperate with 8968 rclone. 8969 .PP 8970 For the example above you will want to use 8971 \[dq]http://localhost:8080/\[dq] as the URL for the REST server. 8972 .PP 8973 For example: 8974 .IP 8975 .nf 8976 \f[C] 8977 $ export RESTIC_REPOSITORY=rest:http://localhost:8080/ 8978 $ export RESTIC_PASSWORD=yourpassword 8979 $ restic init 8980 created restic backend 8b1a4b56ae at rest:http://localhost:8080/ 8981 8982 Please note that knowledge of your password is required to access 8983 the repository. Losing your password means that your data is 8984 irrecoverably lost. 8985 $ restic backup /path/to/files/to/backup 8986 scan [/path/to/files/to/backup] 8987 scanned 189 directories, 312 files in 0:00 8988 [0:00] 100.00% 38.128 MiB / 38.128 MiB 501 / 501 items 0 errors ETA 0:00 8989 duration: 0:00 8990 snapshot 45c8fdd8 saved 8991 \f[R] 8992 .fi 8993 .SS Multiple repositories 8994 .PP 8995 Note that you can use the endpoint to host multiple repositories. 8996 Do this by adding a directory name or path after the URL. 8997 Note that these \f[B]must\f[R] end with /. 8998 Eg 8999 .IP 9000 .nf 9001 \f[C] 9002 $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user1repo/ 9003 # backup user1 stuff 9004 $ export RESTIC_REPOSITORY=rest:http://localhost:8080/user2repo/ 9005 # backup user2 stuff 9006 \f[R] 9007 .fi 9008 .SS Private repositories 9009 .PP 9010 The\f[C]--private-repos\f[R] flag can be used to limit users to 9011 repositories starting with a path of \f[C]/<username>/\f[R]. 9012 .SS Server options 9013 .PP 9014 Use \f[C]--addr\f[R] to specify which IP address and port the server 9015 should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or 9016 \f[C]--addr :8080\f[R] to listen to all IPs. 9017 By default it only listens on localhost. 9018 You can use port :0 to let the OS choose an available port. 9019 .PP 9020 If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP 9021 address then using Authentication is advised - see the next section for 9022 info. 9023 .PP 9024 You can use a unix socket by setting the url to 9025 \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name. 9026 Note that unix sockets bypass the authentication - this is expected to 9027 be done with file system permissions. 9028 .PP 9029 \f[C]--addr\f[R] may be repeated to listen on multiple 9030 IPs/ports/sockets. 9031 .PP 9032 \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can 9033 be used to control the timeouts on the server. 9034 Note that this is the total time for a transfer. 9035 .PP 9036 \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the 9037 server will accept in the HTTP header. 9038 .PP 9039 \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from. 9040 By default rclone will serve from the root. 9041 If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would 9042 serve from a URL starting with \[dq]/rclone/\[dq]. 9043 This is useful if you wish to proxy rclone serve. 9044 Rclone automatically inserts leading and trailing \[dq]/\[dq] on 9045 \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R], 9046 \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and 9047 \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically. 9048 .SS TLS (SSL) 9049 .PP 9050 By default this will serve over http. 9051 If you want you can serve over https. 9052 You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags. 9053 If you wish to do client side certificate validation then you will need 9054 to supply \f[C]--client-ca\f[R] also. 9055 .PP 9056 \f[C]--cert\f[R] should be a either a PEM encoded certificate or a 9057 concatenation of that with the CA certificate. 9058 \f[C]--key\f[R] should be the PEM encoded private key and 9059 \f[C]--client-ca\f[R] should be the PEM encoded client certificate 9060 authority certificate. 9061 .PP 9062 --min-tls-version is minimum TLS version that is acceptable. 9063 Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq] 9064 and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]). 9065 .SS Authentication 9066 .PP 9067 By default this will serve files without needing a login. 9068 .PP 9069 You can either use an htpasswd file which can take lots of users, or set 9070 a single username and password with the \f[C]--user\f[R] and 9071 \f[C]--pass\f[R] flags. 9072 .PP 9073 If no static users are configured by either of the above methods, and 9074 client certificates are required by the \f[C]--client-ca\f[R] flag 9075 passed to the server, the client certificate common name will be 9076 considered as the username. 9077 .PP 9078 Use \f[C]--htpasswd /path/to/htpasswd\f[R] to provide an htpasswd file. 9079 This is in standard apache format and supports MD5, SHA1 and BCrypt for 9080 basic authentication. 9081 Bcrypt is recommended. 9082 .PP 9083 To create an htpasswd file: 9084 .IP 9085 .nf 9086 \f[C] 9087 touch htpasswd 9088 htpasswd -B htpasswd user 9089 htpasswd -B htpasswd anotherUser 9090 \f[R] 9091 .fi 9092 .PP 9093 The password file can be updated while rclone is running. 9094 .PP 9095 Use \f[C]--realm\f[R] to set the authentication realm. 9096 .PP 9097 Use \f[C]--salt\f[R] to change the password hashing salt from the 9098 default. 9099 .IP 9100 .nf 9101 \f[C] 9102 rclone serve restic remote:path [flags] 9103 \f[R] 9104 .fi 9105 .SS Options 9106 .IP 9107 .nf 9108 \f[C] 9109 --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080]) 9110 --append-only Disallow deletion of repository data 9111 --baseurl string Prefix for URLs - leave blank for root 9112 --cache-objects Cache listed objects (default true) 9113 --cert string TLS PEM key (concatenation of certificate and CA certificate) 9114 --client-ca string Client certificate authority to verify clients with 9115 -h, --help help for restic 9116 --htpasswd string A htpasswd file - if not provided no authentication is done 9117 --key string TLS PEM Private key 9118 --max-header-bytes int Maximum size of request header (default 4096) 9119 --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq]) 9120 --pass string Password for authentication 9121 --private-repos Users can only access their private repo 9122 --realm string Realm for authentication 9123 --salt string Password hashing salt (default \[dq]dlPL2MqE\[dq]) 9124 --server-read-timeout Duration Timeout for server reading data (default 1h0m0s) 9125 --server-write-timeout Duration Timeout for server writing data (default 1h0m0s) 9126 --stdio Run an HTTP2 server on stdin/stdout 9127 --user string User name for authentication 9128 \f[R] 9129 .fi 9130 .PP 9131 See the global flags page (https://rclone.org/flags/) for global options 9132 not listed here. 9133 .SS SEE ALSO 9134 .IP \[bu] 2 9135 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 9136 remote over a protocol. 9137 .SH rclone serve sftp 9138 .PP 9139 Serve the remote over SFTP. 9140 .SS Synopsis 9141 .PP 9142 Run an SFTP server to serve a remote over SFTP. 9143 This can be used with an SFTP client or you can make a remote of type 9144 sftp to use with it. 9145 .PP 9146 You can use the filter flags (e.g. 9147 \f[C]--include\f[R], \f[C]--exclude\f[R]) to control what is served. 9148 .PP 9149 The server will respond to a small number of shell commands, mainly 9150 md5sum, sha1sum and df, which enable it to provide support for checksums 9151 and the about feature when accessed from an sftp remote. 9152 .PP 9153 Note that this server uses standard 32 KiB packet payload size, which 9154 means you must not configure the client to expect anything else, e.g. 9155 with the chunk_size (https://rclone.org/sftp/#sftp-chunk-size) option on 9156 an sftp remote. 9157 .PP 9158 The server will log errors. 9159 Use \f[C]-v\f[R] to see access logs. 9160 .PP 9161 \f[C]--bwlimit\f[R] will be respected for file transfers. 9162 Use \f[C]--stats\f[R] to control the stats printing. 9163 .PP 9164 You must provide some means of authentication, either with 9165 \f[C]--user\f[R]/\f[C]--pass\f[R], an authorized keys file (specify 9166 location with \f[C]--authorized-keys\f[R] - the default is the same as 9167 ssh), an \f[C]--auth-proxy\f[R], or set the \f[C]--no-auth\f[R] flag for 9168 no authentication when logging in. 9169 .PP 9170 If you don\[aq]t supply a host \f[C]--key\f[R] then rclone will generate 9171 rsa, ecdsa and ed25519 variants, and cache them for later use in 9172 rclone\[aq]s cache directory (see \f[C]rclone help flags cache-dir\f[R]) 9173 in the \[dq]serve-sftp\[dq] directory. 9174 .PP 9175 By default the server binds to localhost:2022 - if you want it to be 9176 reachable externally then supply \f[C]--addr :2022\f[R] for example. 9177 .PP 9178 Note that the default of \f[C]--vfs-cache-mode off\f[R] is fine for the 9179 rclone sftp backend, but it may not be with other SFTP clients. 9180 .PP 9181 If \f[C]--stdio\f[R] is specified, rclone will serve SFTP over stdio, 9182 which can be used with sshd via \[ti]/.ssh/authorized_keys, for example: 9183 .IP 9184 .nf 9185 \f[C] 9186 restrict,command=\[dq]rclone serve sftp --stdio ./photos\[dq] ssh-rsa ... 9187 \f[R] 9188 .fi 9189 .PP 9190 On the client you need to set \f[C]--transfers 1\f[R] when using 9191 \f[C]--stdio\f[R]. 9192 Otherwise multiple instances of the rclone server are started by OpenSSH 9193 which can lead to \[dq]corrupted on transfer\[dq] errors. 9194 This is the case because the client chooses indiscriminately which 9195 server to send commands to while the servers all have different views of 9196 the state of the filing system. 9197 .PP 9198 The \[dq]restrict\[dq] in authorized_keys prevents SHA1SUMs and MD5SUMs 9199 from being used. 9200 Omitting \[dq]restrict\[dq] and using \f[C]--sftp-path-override\f[R] to 9201 enable checksumming is possible but less secure and you could use the 9202 SFTP server provided by OpenSSH in this case. 9203 .SS VFS - Virtual File System 9204 .PP 9205 This command uses the VFS layer. 9206 This adapts the cloud storage objects that rclone uses into something 9207 which looks much more like a disk filing system. 9208 .PP 9209 Cloud storage objects have lots of properties which aren\[aq]t like disk 9210 files - you can\[aq]t extend them or write to the middle of them, so the 9211 VFS layer has to deal with that. 9212 Because there is no one right way of doing this there are various 9213 options explained below. 9214 .PP 9215 The VFS layer also implements a directory cache - this caches info about 9216 files and directories (but not the data) in memory. 9217 .SS VFS Directory Cache 9218 .PP 9219 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 9220 directory should be considered up to date and not refreshed from the 9221 backend. 9222 Changes made through the VFS will appear immediately or invalidate the 9223 cache. 9224 .IP 9225 .nf 9226 \f[C] 9227 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 9228 --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) 9229 \f[R] 9230 .fi 9231 .PP 9232 However, changes made directly on the cloud storage by the web interface 9233 or a different copy of rclone will only be picked up once the directory 9234 cache expires if the backend configured does not support polling for 9235 changes. 9236 If the backend supports polling, changes will be picked up within the 9237 polling interval. 9238 .PP 9239 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 9240 directory caches, regardless of how old they are. 9241 Assuming only one rclone instance is running, you can reset the cache 9242 like this: 9243 .IP 9244 .nf 9245 \f[C] 9246 kill -SIGHUP $(pidof rclone) 9247 \f[R] 9248 .fi 9249 .PP 9250 If you configure rclone with a remote control then you can use rclone rc 9251 to flush the whole directory cache: 9252 .IP 9253 .nf 9254 \f[C] 9255 rclone rc vfs/forget 9256 \f[R] 9257 .fi 9258 .PP 9259 Or individual files or directories: 9260 .IP 9261 .nf 9262 \f[C] 9263 rclone rc vfs/forget file=path/to/file dir=path/to/dir 9264 \f[R] 9265 .fi 9266 .SS VFS File Buffering 9267 .PP 9268 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 9269 will be used to buffer data in advance. 9270 .PP 9271 Each open file will try to keep the specified amount of data in memory 9272 at all times. 9273 The buffered data is bound to one open file and won\[aq]t be shared. 9274 .PP 9275 This flag is a upper limit for the used memory per open file. 9276 The buffer will only use memory for data that is downloaded but not not 9277 yet read. 9278 If the buffer is empty, only a small amount of memory will be used. 9279 .PP 9280 The maximum memory used by rclone for buffering can be up to 9281 \f[C]--buffer-size * open files\f[R]. 9282 .SS VFS File Caching 9283 .PP 9284 These flags control the VFS file caching options. 9285 File caching is necessary to make the VFS layer appear compatible with a 9286 normal file system. 9287 It can be disabled at the cost of some compatibility. 9288 .PP 9289 For example you\[aq]ll need to enable VFS caching if you want to read 9290 and write simultaneously to a file. 9291 See below for more details. 9292 .PP 9293 Note that the VFS cache is separate from the cache backend and you may 9294 find that you need one or the other or both. 9295 .IP 9296 .nf 9297 \f[C] 9298 --cache-dir string Directory rclone will use for caching. 9299 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 9300 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 9301 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 9302 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 9303 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 9304 \f[R] 9305 .fi 9306 .PP 9307 If run with \f[C]-vv\f[R] rclone will print the location of the file 9308 cache. 9309 The files are stored in the user cache file area which is OS dependent 9310 but can be controlled with \f[C]--cache-dir\f[R] or setting the 9311 appropriate environment variable. 9312 .PP 9313 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 9314 The higher the cache mode the more compatible rclone becomes at the cost 9315 of using disk space. 9316 .PP 9317 Note that files are written back to the remote only when they are closed 9318 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 9319 seconds. 9320 If rclone is quit or dies with files that haven\[aq]t been uploaded, 9321 these will be uploaded next time rclone is run with the same flags. 9322 .PP 9323 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 9324 this size for two reasons. 9325 Firstly because it is only checked every 9326 \f[C]--vfs-cache-poll-interval\f[R]. 9327 Secondly because open files cannot be evicted from the cache. 9328 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 9329 evict the least accessed files from the cache first. 9330 rclone will start with files that haven\[aq]t been accessed for the 9331 longest. 9332 This cache flushing strategy is efficient and more relevant files are 9333 likely to remain cached. 9334 .PP 9335 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 9336 the set time since last access has passed. 9337 The default value of 1 hour will start evicting files from cache that 9338 haven\[aq]t been accessed for 1 hour. 9339 When a cached file is accessed the 1 hour timer is reset to 0 and will 9340 wait for 1 more hour before evicting. 9341 Specify the time with standard notation, s, m, h, d, w . 9342 .PP 9343 You \f[B]should not\f[R] run two copies of rclone using the same VFS 9344 cache with the same or overlapping remotes if using 9345 \f[C]--vfs-cache-mode > off\f[R]. 9346 This can potentially cause data corruption if you do. 9347 You can work around this by giving each rclone its own cache hierarchy 9348 with \f[C]--cache-dir\f[R]. 9349 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 9350 overlap. 9351 .SS --vfs-cache-mode off 9352 .PP 9353 In this mode (the default) the cache will read directly from the remote 9354 and write directly to the remote without caching anything on disk. 9355 .PP 9356 This will mean some operations are not possible 9357 .IP \[bu] 2 9358 Files can\[aq]t be opened for both read AND write 9359 .IP \[bu] 2 9360 Files opened for write can\[aq]t be seeked 9361 .IP \[bu] 2 9362 Existing files opened for write must have O_TRUNC set 9363 .IP \[bu] 2 9364 Files open for read with O_TRUNC will be opened write only 9365 .IP \[bu] 2 9366 Files open for write only will behave as if O_TRUNC was supplied 9367 .IP \[bu] 2 9368 Open modes O_APPEND, O_TRUNC are ignored 9369 .IP \[bu] 2 9370 If an upload fails it can\[aq]t be retried 9371 .SS --vfs-cache-mode minimal 9372 .PP 9373 This is very similar to \[dq]off\[dq] except that files opened for read 9374 AND write will be buffered to disk. 9375 This means that files opened for write will be a lot more compatible, 9376 but uses the minimal disk space. 9377 .PP 9378 These operations are not possible 9379 .IP \[bu] 2 9380 Files opened for write only can\[aq]t be seeked 9381 .IP \[bu] 2 9382 Existing files opened for write must have O_TRUNC set 9383 .IP \[bu] 2 9384 Files opened for write only will ignore O_APPEND, O_TRUNC 9385 .IP \[bu] 2 9386 If an upload fails it can\[aq]t be retried 9387 .SS --vfs-cache-mode writes 9388 .PP 9389 In this mode files opened for read only are still read directly from the 9390 remote, write only and read/write files are buffered to disk first. 9391 .PP 9392 This mode should support all normal file system operations. 9393 .PP 9394 If an upload fails it will be retried at exponentially increasing 9395 intervals up to 1 minute. 9396 .SS --vfs-cache-mode full 9397 .PP 9398 In this mode all reads and writes are buffered to and from disk. 9399 When data is read from the remote this is buffered to disk as well. 9400 .PP 9401 In this mode the files in the cache will be sparse files and rclone will 9402 keep track of which bits of the files it has downloaded. 9403 .PP 9404 So if an application only reads the starts of each file, then rclone 9405 will only buffer the start of the file. 9406 These files will appear to be their full size in the cache, but they 9407 will be sparse files with only the data that has been downloaded present 9408 in them. 9409 .PP 9410 This mode should support all normal file system operations and is 9411 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 9412 .PP 9413 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 9414 \f[C]--vfs-read-ahead\f[R] bytes ahead. 9415 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 9416 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 9417 .PP 9418 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 9419 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 9420 required. 9421 .PP 9422 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 9423 In particular FAT/exFAT do not. 9424 Rclone will perform very badly if the cache directory is on a filesystem 9425 which doesn\[aq]t support sparse files and it will log an ERROR message 9426 if one is detected. 9427 .SS Fingerprinting 9428 .PP 9429 Various parts of the VFS use fingerprinting to see if a local file copy 9430 has changed relative to a remote file. 9431 Fingerprints are made from: 9432 .IP \[bu] 2 9433 size 9434 .IP \[bu] 2 9435 modification time 9436 .IP \[bu] 2 9437 hash 9438 .PP 9439 where available on an object. 9440 .PP 9441 On some backends some of these attributes are slow to read (they take an 9442 extra API call per object, or extra work per object). 9443 .PP 9444 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 9445 \f[C]sftp\f[R] backends as they have to read the entire file and hash 9446 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 9447 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 9448 they need to do an extra API call to fetch it. 9449 .PP 9450 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 9451 not include the slow operations in the fingerprint. 9452 This makes the fingerprinting less accurate but much faster and will 9453 improve the opening time of cached files. 9454 .PP 9455 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 9456 \f[C]swift\f[R] backends then using this flag is recommended. 9457 .PP 9458 Note that if you change the value of this flag, the fingerprints of the 9459 files in the cache may be invalidated and the files will need to be 9460 downloaded again. 9461 .SS VFS Chunked Reading 9462 .PP 9463 When rclone reads files from a remote it reads them in chunks. 9464 This means that rather than requesting the whole file rclone reads the 9465 chunk specified. 9466 This can reduce the used download quota for some remotes by requesting 9467 only chunks from the remote that are actually read, at the cost of an 9468 increased number of requests. 9469 .PP 9470 These flags control the chunking: 9471 .IP 9472 .nf 9473 \f[C] 9474 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 9475 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 9476 \f[R] 9477 .fi 9478 .PP 9479 Rclone will start reading a chunk of size 9480 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 9481 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 9482 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 9483 will get doubled only until the specified value is reached. 9484 If the value is \[dq]off\[dq], which is the default, the limit is 9485 disabled and the chunk size will grow indefinitely. 9486 .PP 9487 With \f[C]--vfs-read-chunk-size 100M\f[R] and 9488 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 9489 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 9490 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 9491 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 9492 on. 9493 .PP 9494 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 9495 disables chunked reading. 9496 .SS VFS Performance 9497 .PP 9498 These flags may be used to enable/disable features of the VFS for 9499 performance or other reasons. 9500 See also the chunked reading feature. 9501 .PP 9502 In particular S3 and Swift benefit hugely from the 9503 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 9504 slightly different effect) as each read of the modification time takes a 9505 transaction. 9506 .IP 9507 .nf 9508 \f[C] 9509 --no-checksum Don\[aq]t compare checksums on up/download. 9510 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 9511 --no-seek Don\[aq]t allow seeking in files. 9512 --read-only Only allow read-only access. 9513 \f[R] 9514 .fi 9515 .PP 9516 Sometimes rclone is delivered reads or writes out of order. 9517 Rather than seeking rclone will wait a short time for the in sequence 9518 read or write to come in. 9519 These flags only come into effect when not using an on disk cache file. 9520 .IP 9521 .nf 9522 \f[C] 9523 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 9524 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 9525 \f[R] 9526 .fi 9527 .PP 9528 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 9529 writes or full), the global flag \f[C]--transfers\f[R] can be set to 9530 adjust the number of parallel uploads of modified files from the cache 9531 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 9532 .IP 9533 .nf 9534 \f[C] 9535 --transfers int Number of file transfers to run in parallel (default 4) 9536 \f[R] 9537 .fi 9538 .SS VFS Case Sensitivity 9539 .PP 9540 Linux file systems are case-sensitive: two files can differ only by 9541 case, and the exact case must be used when opening a file. 9542 .PP 9543 File systems in modern Windows are case-insensitive but case-preserving: 9544 although existing files can be opened using any case, the exact case 9545 used to create the file is preserved and available for programs to 9546 query. 9547 It is not allowed for two files in the same directory to differ only by 9548 case. 9549 .PP 9550 Usually file systems on macOS are case-insensitive. 9551 It is possible to make macOS file systems case-sensitive but that is not 9552 the default. 9553 .PP 9554 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 9555 handles these two cases. 9556 If its value is \[dq]false\[dq], rclone passes file names to the remote 9557 as-is. 9558 If the flag is \[dq]true\[dq] (or appears without a value on the command 9559 line), rclone may perform a \[dq]fixup\[dq] as explained below. 9560 .PP 9561 The user may specify a file name to open/delete/rename/etc with a case 9562 different than what is stored on the remote. 9563 If an argument refers to an existing file with exactly the same name, 9564 then the case of the existing file on the disk will be used. 9565 However, if a file name with exactly the same name is not found but a 9566 name differing only by case exists, rclone will transparently fixup the 9567 name. 9568 This fixup happens only when an existing file is requested. 9569 Case sensitivity of file names created anew by rclone is controlled by 9570 the underlying remote. 9571 .PP 9572 Note that case sensitivity of the operating system running rclone (the 9573 target) may differ from case sensitivity of a file system presented by 9574 rclone (the source). 9575 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 9576 target. 9577 .PP 9578 If the flag is not provided on the command line, then its default value 9579 depends on the operating system where rclone runs: \[dq]true\[dq] on 9580 Windows and macOS, \[dq]false\[dq] otherwise. 9581 If the flag is provided without a value, then it is \[dq]true\[dq]. 9582 .SS VFS Disk Options 9583 .PP 9584 This flag allows you to manually set the statistics about the filing 9585 system. 9586 It can be useful when those statistics cannot be read correctly 9587 automatically. 9588 .IP 9589 .nf 9590 \f[C] 9591 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 9592 \f[R] 9593 .fi 9594 .SS Alternate report of used bytes 9595 .PP 9596 Some backends, most notably S3, do not report the amount of bytes used. 9597 If you need this information to be available when running \f[C]df\f[R] 9598 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 9599 rclone. 9600 With this flag set, instead of relying on the backend to report this 9601 information, rclone will scan the whole remote similar to 9602 \f[C]rclone size\f[R] and compute the total used space itself. 9603 .PP 9604 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 9605 filters so that the result is accurate. 9606 However, this is very inefficient and may cost lots of API calls 9607 resulting in extra charges. 9608 Use it as a last resort and only with caching. 9609 .SS Auth Proxy 9610 .PP 9611 If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then 9612 rclone will use that program to generate backends on the fly which then 9613 are used to authenticate incoming requests. 9614 This uses a simple JSON based protocol with input on STDIN and output on 9615 STDOUT. 9616 .PP 9617 \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and 9618 \f[C]--authorized-keys\f[R] cannot be used together, if 9619 \f[C]--auth-proxy\f[R] is set the authorized keys option will be 9620 ignored. 9621 .PP 9622 There is an example program 9623 bin/test_proxy.py (https://github.com/divyam234/rclone/blob/master/test_proxy.py) 9624 in the rclone source code. 9625 .PP 9626 The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on 9627 the input and turn those into the config for a backend on STDOUT in JSON 9628 format. 9629 This config will have any default parameters for the backend added, but 9630 it won\[aq]t use configuration from environment variables or command 9631 line options - it is the job of the proxy program to make a complete 9632 config. 9633 .PP 9634 This config generated must have this extra parameter - \f[C]_root\f[R] - 9635 root to use for the backend 9636 .PP 9637 And it may have this parameter - \f[C]_obscure\f[R] - comma separated 9638 strings for parameters to obscure 9639 .PP 9640 If password authentication was used by the client, input to the proxy 9641 process (on STDIN) would look similar to this: 9642 .IP 9643 .nf 9644 \f[C] 9645 { 9646 \[dq]user\[dq]: \[dq]me\[dq], 9647 \[dq]pass\[dq]: \[dq]mypassword\[dq] 9648 } 9649 \f[R] 9650 .fi 9651 .PP 9652 If public-key authentication was used by the client, input to the proxy 9653 process (on STDIN) would look similar to this: 9654 .IP 9655 .nf 9656 \f[C] 9657 { 9658 \[dq]user\[dq]: \[dq]me\[dq], 9659 \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq] 9660 } 9661 \f[R] 9662 .fi 9663 .PP 9664 And as an example return this on STDOUT 9665 .IP 9666 .nf 9667 \f[C] 9668 { 9669 \[dq]type\[dq]: \[dq]sftp\[dq], 9670 \[dq]_root\[dq]: \[dq]\[dq], 9671 \[dq]_obscure\[dq]: \[dq]pass\[dq], 9672 \[dq]user\[dq]: \[dq]me\[dq], 9673 \[dq]pass\[dq]: \[dq]mypassword\[dq], 9674 \[dq]host\[dq]: \[dq]sftp.example.com\[dq] 9675 } 9676 \f[R] 9677 .fi 9678 .PP 9679 This would mean that an SFTP backend would be created on the fly for the 9680 \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the 9681 output to the host given. 9682 Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will 9683 obscure the \f[C]pass\f[R] parameter before creating the backend (which 9684 is required for sftp backends). 9685 .PP 9686 The program can manipulate the supplied \f[C]user\f[R] in any way, for 9687 example to make proxy to many different sftp backends, you could make 9688 the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the 9689 \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to 9690 \f[C]user\f[R]. 9691 For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a 9692 limited list. 9693 .PP 9694 Note that an internal cache is keyed on \f[C]user\f[R] so only use that 9695 for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R]. 9696 This also means that if a user\[aq]s password or public-key is changed 9697 the cache will need to expire (which takes 5 mins) before it takes 9698 effect. 9699 .PP 9700 This can be used to build general purpose proxies to any kind of backend 9701 that rclone supports. 9702 .IP 9703 .nf 9704 \f[C] 9705 rclone serve sftp remote:path [flags] 9706 \f[R] 9707 .fi 9708 .SS Options 9709 .IP 9710 .nf 9711 \f[C] 9712 --addr string IPaddress:Port or :Port to bind server to (default \[dq]localhost:2022\[dq]) 9713 --auth-proxy string A program to use to create the backend from the auth 9714 --authorized-keys string Authorized keys file (default \[dq]\[ti]/.ssh/authorized_keys\[dq]) 9715 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 9716 --dir-perms FileMode Directory permissions (default 0777) 9717 --file-perms FileMode File permissions (default 0666) 9718 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 9719 -h, --help help for sftp 9720 --key stringArray SSH private host key file (Can be multi-valued, leave blank to auto generate) 9721 --no-auth Allow connections with no authentication if set 9722 --no-checksum Don\[aq]t compare checksums on up/download 9723 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 9724 --no-seek Don\[aq]t allow seeking in files 9725 --pass string Password for authentication 9726 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 9727 --read-only Only allow read-only access 9728 --stdio Run an sftp server on stdin/stdout 9729 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 9730 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 9731 --user string User name for authentication 9732 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 9733 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 9734 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 9735 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 9736 --vfs-case-insensitive If a file name not found, find a case insensitive match 9737 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 9738 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 9739 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 9740 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 9741 --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 (\[aq]off\[aq] is unlimited) (default off) 9742 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 9743 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 9744 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 9745 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 9746 \f[R] 9747 .fi 9748 .PP 9749 See the global flags page (https://rclone.org/flags/) for global options 9750 not listed here. 9751 .SS SEE ALSO 9752 .IP \[bu] 2 9753 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 9754 remote over a protocol. 9755 .SH rclone serve webdav 9756 .PP 9757 Serve remote:path over WebDAV. 9758 .SS Synopsis 9759 .PP 9760 Run a basic WebDAV server to serve a remote over HTTP via the WebDAV 9761 protocol. 9762 This can be viewed with a WebDAV client, through a web browser, or you 9763 can make a remote of type WebDAV to read and write it. 9764 .SS WebDAV options 9765 .SS --etag-hash 9766 .PP 9767 This controls the ETag header. 9768 Without this flag the ETag will be based on the ModTime and Size of the 9769 object. 9770 .PP 9771 If this flag is set to \[dq]auto\[dq] then rclone will choose the first 9772 supported hash on the backend or you can use a named hash such as 9773 \[dq]MD5\[dq] or \[dq]SHA-1\[dq]. 9774 Use the hashsum (https://rclone.org/commands/rclone_hashsum/) command to 9775 see the full list. 9776 .SS Access WebDAV on Windows 9777 .PP 9778 WebDAV shared folder can be mapped as a drive on Windows, however the 9779 default settings prevent it. 9780 Windows will fail to connect to the server using insecure Basic 9781 authentication. 9782 It will not even display any login dialog. 9783 Windows requires SSL / HTTPS connection to be used with Basic. 9784 If you try to connect via Add Network Location Wizard you will get the 9785 following error: \[dq]The folder you entered does not appear to be 9786 valid. 9787 Please choose another\[dq]. 9788 However, you still can connect if you set the following registry key on 9789 a client machine: HKEY_LOCAL_MACHINEto 2. 9790 The BasicAuthLevel can be set to the following values: 0 - Basic 9791 authentication disabled 1 - Basic authentication enabled for SSL 9792 connections only 2 - Basic authentication enabled for SSL connections 9793 and for non-SSL connections If required, increase the 9794 FileSizeLimitInBytes to a higher value. 9795 Navigate to the Services interface, then restart the WebClient service. 9796 .SS Access Office applications on WebDAV 9797 .PP 9798 Navigate to following registry HKEY_CURRENT_USER[14.0/15.0/16.0] Create 9799 a new DWORD BasicAuthLevel with value 2. 9800 0 - Basic authentication disabled 1 - Basic authentication enabled for 9801 SSL connections only 2 - Basic authentication enabled for SSL and for 9802 non-SSL connections 9803 .PP 9804 https://learn.microsoft.com/en-us/office/troubleshoot/powerpoint/office-opens-blank-from-sharepoint 9805 .SS Server options 9806 .PP 9807 Use \f[C]--addr\f[R] to specify which IP address and port the server 9808 should listen on, eg \f[C]--addr 1.2.3.4:8000\f[R] or 9809 \f[C]--addr :8080\f[R] to listen to all IPs. 9810 By default it only listens on localhost. 9811 You can use port :0 to let the OS choose an available port. 9812 .PP 9813 If you set \f[C]--addr\f[R] to listen on a public or LAN accessible IP 9814 address then using Authentication is advised - see the next section for 9815 info. 9816 .PP 9817 You can use a unix socket by setting the url to 9818 \f[C]unix:///path/to/socket\f[R] or just by using an absolute path name. 9819 Note that unix sockets bypass the authentication - this is expected to 9820 be done with file system permissions. 9821 .PP 9822 \f[C]--addr\f[R] may be repeated to listen on multiple 9823 IPs/ports/sockets. 9824 .PP 9825 \f[C]--server-read-timeout\f[R] and \f[C]--server-write-timeout\f[R] can 9826 be used to control the timeouts on the server. 9827 Note that this is the total time for a transfer. 9828 .PP 9829 \f[C]--max-header-bytes\f[R] controls the maximum number of bytes the 9830 server will accept in the HTTP header. 9831 .PP 9832 \f[C]--baseurl\f[R] controls the URL prefix that rclone serves from. 9833 By default rclone will serve from the root. 9834 If you used \f[C]--baseurl \[dq]/rclone\[dq]\f[R] then rclone would 9835 serve from a URL starting with \[dq]/rclone/\[dq]. 9836 This is useful if you wish to proxy rclone serve. 9837 Rclone automatically inserts leading and trailing \[dq]/\[dq] on 9838 \f[C]--baseurl\f[R], so \f[C]--baseurl \[dq]rclone\[dq]\f[R], 9839 \f[C]--baseurl \[dq]/rclone\[dq]\f[R] and 9840 \f[C]--baseurl \[dq]/rclone/\[dq]\f[R] are all treated identically. 9841 .SS TLS (SSL) 9842 .PP 9843 By default this will serve over http. 9844 If you want you can serve over https. 9845 You will need to supply the \f[C]--cert\f[R] and \f[C]--key\f[R] flags. 9846 If you wish to do client side certificate validation then you will need 9847 to supply \f[C]--client-ca\f[R] also. 9848 .PP 9849 \f[C]--cert\f[R] should be a either a PEM encoded certificate or a 9850 concatenation of that with the CA certificate. 9851 \f[C]--key\f[R] should be the PEM encoded private key and 9852 \f[C]--client-ca\f[R] should be the PEM encoded client certificate 9853 authority certificate. 9854 .PP 9855 --min-tls-version is minimum TLS version that is acceptable. 9856 Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq] 9857 and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]). 9858 .SS Template 9859 .PP 9860 \f[C]--template\f[R] allows a user to specify a custom markup template 9861 for HTTP and WebDAV serve functions. 9862 The server exports the following markup to be used within the template 9863 to server pages: 9864 .PP 9865 .TS 9866 tab(@); 9867 lw(35.0n) lw(35.0n). 9868 T{ 9869 Parameter 9870 T}@T{ 9871 Description 9872 T} 9873 _ 9874 T{ 9875 \&.Name 9876 T}@T{ 9877 The full path of a file/directory. 9878 T} 9879 T{ 9880 \&.Title 9881 T}@T{ 9882 Directory listing of .Name 9883 T} 9884 T{ 9885 \&.Sort 9886 T}@T{ 9887 The current sort used. 9888 This is changeable via ?sort= parameter 9889 T} 9890 T{ 9891 T}@T{ 9892 Sort Options: namedirfirst,name,size,time (default namedirfirst) 9893 T} 9894 T{ 9895 \&.Order 9896 T}@T{ 9897 The current ordering used. 9898 This is changeable via ?order= parameter 9899 T} 9900 T{ 9901 T}@T{ 9902 Order Options: asc,desc (default asc) 9903 T} 9904 T{ 9905 \&.Query 9906 T}@T{ 9907 Currently unused. 9908 T} 9909 T{ 9910 \&.Breadcrumb 9911 T}@T{ 9912 Allows for creating a relative navigation 9913 T} 9914 T{ 9915 -- .Link 9916 T}@T{ 9917 The relative to the root link of the Text. 9918 T} 9919 T{ 9920 -- .Text 9921 T}@T{ 9922 The Name of the directory. 9923 T} 9924 T{ 9925 \&.Entries 9926 T}@T{ 9927 Information about a specific file/directory. 9928 T} 9929 T{ 9930 -- .URL 9931 T}@T{ 9932 The \[aq]url\[aq] of an entry. 9933 T} 9934 T{ 9935 -- .Leaf 9936 T}@T{ 9937 Currently same as \[aq]URL\[aq] but intended to be \[aq]just\[aq] the 9938 name. 9939 T} 9940 T{ 9941 -- .IsDir 9942 T}@T{ 9943 Boolean for if an entry is a directory or not. 9944 T} 9945 T{ 9946 -- .Size 9947 T}@T{ 9948 Size in Bytes of the entry. 9949 T} 9950 T{ 9951 -- .ModTime 9952 T}@T{ 9953 The UTC timestamp of an entry. 9954 T} 9955 .TE 9956 .SS Authentication 9957 .PP 9958 By default this will serve files without needing a login. 9959 .PP 9960 You can either use an htpasswd file which can take lots of users, or set 9961 a single username and password with the \f[C]--user\f[R] and 9962 \f[C]--pass\f[R] flags. 9963 .PP 9964 If no static users are configured by either of the above methods, and 9965 client certificates are required by the \f[C]--client-ca\f[R] flag 9966 passed to the server, the client certificate common name will be 9967 considered as the username. 9968 .PP 9969 Use \f[C]--htpasswd /path/to/htpasswd\f[R] to provide an htpasswd file. 9970 This is in standard apache format and supports MD5, SHA1 and BCrypt for 9971 basic authentication. 9972 Bcrypt is recommended. 9973 .PP 9974 To create an htpasswd file: 9975 .IP 9976 .nf 9977 \f[C] 9978 touch htpasswd 9979 htpasswd -B htpasswd user 9980 htpasswd -B htpasswd anotherUser 9981 \f[R] 9982 .fi 9983 .PP 9984 The password file can be updated while rclone is running. 9985 .PP 9986 Use \f[C]--realm\f[R] to set the authentication realm. 9987 .PP 9988 Use \f[C]--salt\f[R] to change the password hashing salt from the 9989 default. 9990 .SS VFS - Virtual File System 9991 .PP 9992 This command uses the VFS layer. 9993 This adapts the cloud storage objects that rclone uses into something 9994 which looks much more like a disk filing system. 9995 .PP 9996 Cloud storage objects have lots of properties which aren\[aq]t like disk 9997 files - you can\[aq]t extend them or write to the middle of them, so the 9998 VFS layer has to deal with that. 9999 Because there is no one right way of doing this there are various 10000 options explained below. 10001 .PP 10002 The VFS layer also implements a directory cache - this caches info about 10003 files and directories (but not the data) in memory. 10004 .SS VFS Directory Cache 10005 .PP 10006 Using the \f[C]--dir-cache-time\f[R] flag, you can control how long a 10007 directory should be considered up to date and not refreshed from the 10008 backend. 10009 Changes made through the VFS will appear immediately or invalidate the 10010 cache. 10011 .IP 10012 .nf 10013 \f[C] 10014 --dir-cache-time duration Time to cache directory entries for (default 5m0s) 10015 --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) 10016 \f[R] 10017 .fi 10018 .PP 10019 However, changes made directly on the cloud storage by the web interface 10020 or a different copy of rclone will only be picked up once the directory 10021 cache expires if the backend configured does not support polling for 10022 changes. 10023 If the backend supports polling, changes will be picked up within the 10024 polling interval. 10025 .PP 10026 You can send a \f[C]SIGHUP\f[R] signal to rclone for it to flush all 10027 directory caches, regardless of how old they are. 10028 Assuming only one rclone instance is running, you can reset the cache 10029 like this: 10030 .IP 10031 .nf 10032 \f[C] 10033 kill -SIGHUP $(pidof rclone) 10034 \f[R] 10035 .fi 10036 .PP 10037 If you configure rclone with a remote control then you can use rclone rc 10038 to flush the whole directory cache: 10039 .IP 10040 .nf 10041 \f[C] 10042 rclone rc vfs/forget 10043 \f[R] 10044 .fi 10045 .PP 10046 Or individual files or directories: 10047 .IP 10048 .nf 10049 \f[C] 10050 rclone rc vfs/forget file=path/to/file dir=path/to/dir 10051 \f[R] 10052 .fi 10053 .SS VFS File Buffering 10054 .PP 10055 The \f[C]--buffer-size\f[R] flag determines the amount of memory, that 10056 will be used to buffer data in advance. 10057 .PP 10058 Each open file will try to keep the specified amount of data in memory 10059 at all times. 10060 The buffered data is bound to one open file and won\[aq]t be shared. 10061 .PP 10062 This flag is a upper limit for the used memory per open file. 10063 The buffer will only use memory for data that is downloaded but not not 10064 yet read. 10065 If the buffer is empty, only a small amount of memory will be used. 10066 .PP 10067 The maximum memory used by rclone for buffering can be up to 10068 \f[C]--buffer-size * open files\f[R]. 10069 .SS VFS File Caching 10070 .PP 10071 These flags control the VFS file caching options. 10072 File caching is necessary to make the VFS layer appear compatible with a 10073 normal file system. 10074 It can be disabled at the cost of some compatibility. 10075 .PP 10076 For example you\[aq]ll need to enable VFS caching if you want to read 10077 and write simultaneously to a file. 10078 See below for more details. 10079 .PP 10080 Note that the VFS cache is separate from the cache backend and you may 10081 find that you need one or the other or both. 10082 .IP 10083 .nf 10084 \f[C] 10085 --cache-dir string Directory rclone will use for caching. 10086 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 10087 --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s) 10088 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 10089 --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s) 10090 --vfs-write-back duration Time to writeback files after last use when using cache (default 5s) 10091 \f[R] 10092 .fi 10093 .PP 10094 If run with \f[C]-vv\f[R] rclone will print the location of the file 10095 cache. 10096 The files are stored in the user cache file area which is OS dependent 10097 but can be controlled with \f[C]--cache-dir\f[R] or setting the 10098 appropriate environment variable. 10099 .PP 10100 The cache has 4 different modes selected by \f[C]--vfs-cache-mode\f[R]. 10101 The higher the cache mode the more compatible rclone becomes at the cost 10102 of using disk space. 10103 .PP 10104 Note that files are written back to the remote only when they are closed 10105 and if they haven\[aq]t been accessed for \f[C]--vfs-write-back\f[R] 10106 seconds. 10107 If rclone is quit or dies with files that haven\[aq]t been uploaded, 10108 these will be uploaded next time rclone is run with the same flags. 10109 .PP 10110 If using \f[C]--vfs-cache-max-size\f[R] note that the cache may exceed 10111 this size for two reasons. 10112 Firstly because it is only checked every 10113 \f[C]--vfs-cache-poll-interval\f[R]. 10114 Secondly because open files cannot be evicted from the cache. 10115 When \f[C]--vfs-cache-max-size\f[R] is exceeded, rclone will attempt to 10116 evict the least accessed files from the cache first. 10117 rclone will start with files that haven\[aq]t been accessed for the 10118 longest. 10119 This cache flushing strategy is efficient and more relevant files are 10120 likely to remain cached. 10121 .PP 10122 The \f[C]--vfs-cache-max-age\f[R] will evict files from the cache after 10123 the set time since last access has passed. 10124 The default value of 1 hour will start evicting files from cache that 10125 haven\[aq]t been accessed for 1 hour. 10126 When a cached file is accessed the 1 hour timer is reset to 0 and will 10127 wait for 1 more hour before evicting. 10128 Specify the time with standard notation, s, m, h, d, w . 10129 .PP 10130 You \f[B]should not\f[R] run two copies of rclone using the same VFS 10131 cache with the same or overlapping remotes if using 10132 \f[C]--vfs-cache-mode > off\f[R]. 10133 This can potentially cause data corruption if you do. 10134 You can work around this by giving each rclone its own cache hierarchy 10135 with \f[C]--cache-dir\f[R]. 10136 You don\[aq]t need to worry about this if the remotes in use don\[aq]t 10137 overlap. 10138 .SS --vfs-cache-mode off 10139 .PP 10140 In this mode (the default) the cache will read directly from the remote 10141 and write directly to the remote without caching anything on disk. 10142 .PP 10143 This will mean some operations are not possible 10144 .IP \[bu] 2 10145 Files can\[aq]t be opened for both read AND write 10146 .IP \[bu] 2 10147 Files opened for write can\[aq]t be seeked 10148 .IP \[bu] 2 10149 Existing files opened for write must have O_TRUNC set 10150 .IP \[bu] 2 10151 Files open for read with O_TRUNC will be opened write only 10152 .IP \[bu] 2 10153 Files open for write only will behave as if O_TRUNC was supplied 10154 .IP \[bu] 2 10155 Open modes O_APPEND, O_TRUNC are ignored 10156 .IP \[bu] 2 10157 If an upload fails it can\[aq]t be retried 10158 .SS --vfs-cache-mode minimal 10159 .PP 10160 This is very similar to \[dq]off\[dq] except that files opened for read 10161 AND write will be buffered to disk. 10162 This means that files opened for write will be a lot more compatible, 10163 but uses the minimal disk space. 10164 .PP 10165 These operations are not possible 10166 .IP \[bu] 2 10167 Files opened for write only can\[aq]t be seeked 10168 .IP \[bu] 2 10169 Existing files opened for write must have O_TRUNC set 10170 .IP \[bu] 2 10171 Files opened for write only will ignore O_APPEND, O_TRUNC 10172 .IP \[bu] 2 10173 If an upload fails it can\[aq]t be retried 10174 .SS --vfs-cache-mode writes 10175 .PP 10176 In this mode files opened for read only are still read directly from the 10177 remote, write only and read/write files are buffered to disk first. 10178 .PP 10179 This mode should support all normal file system operations. 10180 .PP 10181 If an upload fails it will be retried at exponentially increasing 10182 intervals up to 1 minute. 10183 .SS --vfs-cache-mode full 10184 .PP 10185 In this mode all reads and writes are buffered to and from disk. 10186 When data is read from the remote this is buffered to disk as well. 10187 .PP 10188 In this mode the files in the cache will be sparse files and rclone will 10189 keep track of which bits of the files it has downloaded. 10190 .PP 10191 So if an application only reads the starts of each file, then rclone 10192 will only buffer the start of the file. 10193 These files will appear to be their full size in the cache, but they 10194 will be sparse files with only the data that has been downloaded present 10195 in them. 10196 .PP 10197 This mode should support all normal file system operations and is 10198 otherwise identical to \f[C]--vfs-cache-mode\f[R] writes. 10199 .PP 10200 When reading a file rclone will read \f[C]--buffer-size\f[R] plus 10201 \f[C]--vfs-read-ahead\f[R] bytes ahead. 10202 The \f[C]--buffer-size\f[R] is buffered in memory whereas the 10203 \f[C]--vfs-read-ahead\f[R] is buffered on disk. 10204 .PP 10205 When using this mode it is recommended that \f[C]--buffer-size\f[R] is 10206 not set too large and \f[C]--vfs-read-ahead\f[R] is set large if 10207 required. 10208 .PP 10209 \f[B]IMPORTANT\f[R] not all file systems support sparse files. 10210 In particular FAT/exFAT do not. 10211 Rclone will perform very badly if the cache directory is on a filesystem 10212 which doesn\[aq]t support sparse files and it will log an ERROR message 10213 if one is detected. 10214 .SS Fingerprinting 10215 .PP 10216 Various parts of the VFS use fingerprinting to see if a local file copy 10217 has changed relative to a remote file. 10218 Fingerprints are made from: 10219 .IP \[bu] 2 10220 size 10221 .IP \[bu] 2 10222 modification time 10223 .IP \[bu] 2 10224 hash 10225 .PP 10226 where available on an object. 10227 .PP 10228 On some backends some of these attributes are slow to read (they take an 10229 extra API call per object, or extra work per object). 10230 .PP 10231 For example \f[C]hash\f[R] is slow with the \f[C]local\f[R] and 10232 \f[C]sftp\f[R] backends as they have to read the entire file and hash 10233 it, and \f[C]modtime\f[R] is slow with the \f[C]s3\f[R], 10234 \f[C]swift\f[R], \f[C]ftp\f[R] and \f[C]qinqstor\f[R] backends because 10235 they need to do an extra API call to fetch it. 10236 .PP 10237 If you use the \f[C]--vfs-fast-fingerprint\f[R] flag then rclone will 10238 not include the slow operations in the fingerprint. 10239 This makes the fingerprinting less accurate but much faster and will 10240 improve the opening time of cached files. 10241 .PP 10242 If you are running a vfs cache over \f[C]local\f[R], \f[C]s3\f[R] or 10243 \f[C]swift\f[R] backends then using this flag is recommended. 10244 .PP 10245 Note that if you change the value of this flag, the fingerprints of the 10246 files in the cache may be invalidated and the files will need to be 10247 downloaded again. 10248 .SS VFS Chunked Reading 10249 .PP 10250 When rclone reads files from a remote it reads them in chunks. 10251 This means that rather than requesting the whole file rclone reads the 10252 chunk specified. 10253 This can reduce the used download quota for some remotes by requesting 10254 only chunks from the remote that are actually read, at the cost of an 10255 increased number of requests. 10256 .PP 10257 These flags control the chunking: 10258 .IP 10259 .nf 10260 \f[C] 10261 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M) 10262 --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off) 10263 \f[R] 10264 .fi 10265 .PP 10266 Rclone will start reading a chunk of size 10267 \f[C]--vfs-read-chunk-size\f[R], and then double the size for each read. 10268 When \f[C]--vfs-read-chunk-size-limit\f[R] is specified, and greater 10269 than \f[C]--vfs-read-chunk-size\f[R], the chunk size for each open file 10270 will get doubled only until the specified value is reached. 10271 If the value is \[dq]off\[dq], which is the default, the limit is 10272 disabled and the chunk size will grow indefinitely. 10273 .PP 10274 With \f[C]--vfs-read-chunk-size 100M\f[R] and 10275 \f[C]--vfs-read-chunk-size-limit 0\f[R] the following parts will be 10276 downloaded: 0-100M, 100M-200M, 200M-300M, 300M-400M and so on. 10277 When \f[C]--vfs-read-chunk-size-limit 500M\f[R] is specified, the result 10278 would be 0-100M, 100M-300M, 300M-700M, 700M-1200M, 1200M-1700M and so 10279 on. 10280 .PP 10281 Setting \f[C]--vfs-read-chunk-size\f[R] to \f[C]0\f[R] or \[dq]off\[dq] 10282 disables chunked reading. 10283 .SS VFS Performance 10284 .PP 10285 These flags may be used to enable/disable features of the VFS for 10286 performance or other reasons. 10287 See also the chunked reading feature. 10288 .PP 10289 In particular S3 and Swift benefit hugely from the 10290 \f[C]--no-modtime\f[R] flag (or use \f[C]--use-server-modtime\f[R] for a 10291 slightly different effect) as each read of the modification time takes a 10292 transaction. 10293 .IP 10294 .nf 10295 \f[C] 10296 --no-checksum Don\[aq]t compare checksums on up/download. 10297 --no-modtime Don\[aq]t read/write the modification time (can speed things up). 10298 --no-seek Don\[aq]t allow seeking in files. 10299 --read-only Only allow read-only access. 10300 \f[R] 10301 .fi 10302 .PP 10303 Sometimes rclone is delivered reads or writes out of order. 10304 Rather than seeking rclone will wait a short time for the in sequence 10305 read or write to come in. 10306 These flags only come into effect when not using an on disk cache file. 10307 .IP 10308 .nf 10309 \f[C] 10310 --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms) 10311 --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s) 10312 \f[R] 10313 .fi 10314 .PP 10315 When using VFS write caching (\f[C]--vfs-cache-mode\f[R] with value 10316 writes or full), the global flag \f[C]--transfers\f[R] can be set to 10317 adjust the number of parallel uploads of modified files from the cache 10318 (the related global flag \f[C]--checkers\f[R] has no effect on the VFS). 10319 .IP 10320 .nf 10321 \f[C] 10322 --transfers int Number of file transfers to run in parallel (default 4) 10323 \f[R] 10324 .fi 10325 .SS VFS Case Sensitivity 10326 .PP 10327 Linux file systems are case-sensitive: two files can differ only by 10328 case, and the exact case must be used when opening a file. 10329 .PP 10330 File systems in modern Windows are case-insensitive but case-preserving: 10331 although existing files can be opened using any case, the exact case 10332 used to create the file is preserved and available for programs to 10333 query. 10334 It is not allowed for two files in the same directory to differ only by 10335 case. 10336 .PP 10337 Usually file systems on macOS are case-insensitive. 10338 It is possible to make macOS file systems case-sensitive but that is not 10339 the default. 10340 .PP 10341 The \f[C]--vfs-case-insensitive\f[R] VFS flag controls how rclone 10342 handles these two cases. 10343 If its value is \[dq]false\[dq], rclone passes file names to the remote 10344 as-is. 10345 If the flag is \[dq]true\[dq] (or appears without a value on the command 10346 line), rclone may perform a \[dq]fixup\[dq] as explained below. 10347 .PP 10348 The user may specify a file name to open/delete/rename/etc with a case 10349 different than what is stored on the remote. 10350 If an argument refers to an existing file with exactly the same name, 10351 then the case of the existing file on the disk will be used. 10352 However, if a file name with exactly the same name is not found but a 10353 name differing only by case exists, rclone will transparently fixup the 10354 name. 10355 This fixup happens only when an existing file is requested. 10356 Case sensitivity of file names created anew by rclone is controlled by 10357 the underlying remote. 10358 .PP 10359 Note that case sensitivity of the operating system running rclone (the 10360 target) may differ from case sensitivity of a file system presented by 10361 rclone (the source). 10362 The flag controls whether \[dq]fixup\[dq] is performed to satisfy the 10363 target. 10364 .PP 10365 If the flag is not provided on the command line, then its default value 10366 depends on the operating system where rclone runs: \[dq]true\[dq] on 10367 Windows and macOS, \[dq]false\[dq] otherwise. 10368 If the flag is provided without a value, then it is \[dq]true\[dq]. 10369 .SS VFS Disk Options 10370 .PP 10371 This flag allows you to manually set the statistics about the filing 10372 system. 10373 It can be useful when those statistics cannot be read correctly 10374 automatically. 10375 .IP 10376 .nf 10377 \f[C] 10378 --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1) 10379 \f[R] 10380 .fi 10381 .SS Alternate report of used bytes 10382 .PP 10383 Some backends, most notably S3, do not report the amount of bytes used. 10384 If you need this information to be available when running \f[C]df\f[R] 10385 on the filesystem, then pass the flag \f[C]--vfs-used-is-size\f[R] to 10386 rclone. 10387 With this flag set, instead of relying on the backend to report this 10388 information, rclone will scan the whole remote similar to 10389 \f[C]rclone size\f[R] and compute the total used space itself. 10390 .PP 10391 \f[I]WARNING.\f[R] Contrary to \f[C]rclone size\f[R], this flag ignores 10392 filters so that the result is accurate. 10393 However, this is very inefficient and may cost lots of API calls 10394 resulting in extra charges. 10395 Use it as a last resort and only with caching. 10396 .SS Auth Proxy 10397 .PP 10398 If you supply the parameter \f[C]--auth-proxy /path/to/program\f[R] then 10399 rclone will use that program to generate backends on the fly which then 10400 are used to authenticate incoming requests. 10401 This uses a simple JSON based protocol with input on STDIN and output on 10402 STDOUT. 10403 .PP 10404 \f[B]PLEASE NOTE:\f[R] \f[C]--auth-proxy\f[R] and 10405 \f[C]--authorized-keys\f[R] cannot be used together, if 10406 \f[C]--auth-proxy\f[R] is set the authorized keys option will be 10407 ignored. 10408 .PP 10409 There is an example program 10410 bin/test_proxy.py (https://github.com/divyam234/rclone/blob/master/test_proxy.py) 10411 in the rclone source code. 10412 .PP 10413 The program\[aq]s job is to take a \f[C]user\f[R] and \f[C]pass\f[R] on 10414 the input and turn those into the config for a backend on STDOUT in JSON 10415 format. 10416 This config will have any default parameters for the backend added, but 10417 it won\[aq]t use configuration from environment variables or command 10418 line options - it is the job of the proxy program to make a complete 10419 config. 10420 .PP 10421 This config generated must have this extra parameter - \f[C]_root\f[R] - 10422 root to use for the backend 10423 .PP 10424 And it may have this parameter - \f[C]_obscure\f[R] - comma separated 10425 strings for parameters to obscure 10426 .PP 10427 If password authentication was used by the client, input to the proxy 10428 process (on STDIN) would look similar to this: 10429 .IP 10430 .nf 10431 \f[C] 10432 { 10433 \[dq]user\[dq]: \[dq]me\[dq], 10434 \[dq]pass\[dq]: \[dq]mypassword\[dq] 10435 } 10436 \f[R] 10437 .fi 10438 .PP 10439 If public-key authentication was used by the client, input to the proxy 10440 process (on STDIN) would look similar to this: 10441 .IP 10442 .nf 10443 \f[C] 10444 { 10445 \[dq]user\[dq]: \[dq]me\[dq], 10446 \[dq]public_key\[dq]: \[dq]AAAAB3NzaC1yc2EAAAADAQABAAABAQDuwESFdAe14hVS6omeyX7edc...JQdf\[dq] 10447 } 10448 \f[R] 10449 .fi 10450 .PP 10451 And as an example return this on STDOUT 10452 .IP 10453 .nf 10454 \f[C] 10455 { 10456 \[dq]type\[dq]: \[dq]sftp\[dq], 10457 \[dq]_root\[dq]: \[dq]\[dq], 10458 \[dq]_obscure\[dq]: \[dq]pass\[dq], 10459 \[dq]user\[dq]: \[dq]me\[dq], 10460 \[dq]pass\[dq]: \[dq]mypassword\[dq], 10461 \[dq]host\[dq]: \[dq]sftp.example.com\[dq] 10462 } 10463 \f[R] 10464 .fi 10465 .PP 10466 This would mean that an SFTP backend would be created on the fly for the 10467 \f[C]user\f[R] and \f[C]pass\f[R]/\f[C]public_key\f[R] returned in the 10468 output to the host given. 10469 Note that since \f[C]_obscure\f[R] is set to \f[C]pass\f[R], rclone will 10470 obscure the \f[C]pass\f[R] parameter before creating the backend (which 10471 is required for sftp backends). 10472 .PP 10473 The program can manipulate the supplied \f[C]user\f[R] in any way, for 10474 example to make proxy to many different sftp backends, you could make 10475 the \f[C]user\f[R] be \f[C]user\[at]example.com\f[R] and then set the 10476 \f[C]host\f[R] to \f[C]example.com\f[R] in the output and the user to 10477 \f[C]user\f[R]. 10478 For security you\[aq]d probably want to restrict the \f[C]host\f[R] to a 10479 limited list. 10480 .PP 10481 Note that an internal cache is keyed on \f[C]user\f[R] so only use that 10482 for configuration, don\[aq]t use \f[C]pass\f[R] or \f[C]public_key\f[R]. 10483 This also means that if a user\[aq]s password or public-key is changed 10484 the cache will need to expire (which takes 5 mins) before it takes 10485 effect. 10486 .PP 10487 This can be used to build general purpose proxies to any kind of backend 10488 that rclone supports. 10489 .IP 10490 .nf 10491 \f[C] 10492 rclone serve webdav remote:path [flags] 10493 \f[R] 10494 .fi 10495 .SS Options 10496 .IP 10497 .nf 10498 \f[C] 10499 --addr stringArray IPaddress:Port or :Port to bind server to (default [127.0.0.1:8080]) 10500 --auth-proxy string A program to use to create the backend from the auth 10501 --baseurl string Prefix for URLs - leave blank for root 10502 --cert string TLS PEM key (concatenation of certificate and CA certificate) 10503 --client-ca string Client certificate authority to verify clients with 10504 --dir-cache-time Duration Time to cache directory entries for (default 5m0s) 10505 --dir-perms FileMode Directory permissions (default 0777) 10506 --disable-dir-list Disable HTML directory list on GET request for a directory 10507 --etag-hash string Which hash to use for the ETag, or auto or blank for off 10508 --file-perms FileMode File permissions (default 0666) 10509 --gid uint32 Override the gid field set by the filesystem (not supported on Windows) (default 1000) 10510 -h, --help help for webdav 10511 --htpasswd string A htpasswd file - if not provided no authentication is done 10512 --key string TLS PEM Private key 10513 --max-header-bytes int Maximum size of request header (default 4096) 10514 --min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq]) 10515 --no-checksum Don\[aq]t compare checksums on up/download 10516 --no-modtime Don\[aq]t read/write the modification time (can speed things up) 10517 --no-seek Don\[aq]t allow seeking in files 10518 --pass string Password for authentication 10519 --poll-interval Duration Time to wait between polling for changes, must be smaller than dir-cache-time and only on supported remotes (set 0 to disable) (default 1m0s) 10520 --read-only Only allow read-only access 10521 --realm string Realm for authentication 10522 --salt string Password hashing salt (default \[dq]dlPL2MqE\[dq]) 10523 --server-read-timeout Duration Timeout for server reading data (default 1h0m0s) 10524 --server-write-timeout Duration Timeout for server writing data (default 1h0m0s) 10525 --template string User-specified template 10526 --uid uint32 Override the uid field set by the filesystem (not supported on Windows) (default 1000) 10527 --umask int Override the permission bits set by the filesystem (not supported on Windows) (default 2) 10528 --user string User name for authentication 10529 --vfs-cache-max-age Duration Max time since last access of objects in the cache (default 1h0m0s) 10530 --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off) 10531 --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off) 10532 --vfs-cache-poll-interval Duration Interval to poll the cache for stale objects (default 1m0s) 10533 --vfs-case-insensitive If a file name not found, find a case insensitive match 10534 --vfs-disk-space-total-size SizeSuffix Specify the total space of disk (default off) 10535 --vfs-fast-fingerprint Use fast (less accurate) fingerprints for change detection 10536 --vfs-read-ahead SizeSuffix Extra read ahead over --buffer-size when using cache-mode full 10537 --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128Mi) 10538 --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 (\[aq]off\[aq] is unlimited) (default off) 10539 --vfs-read-wait Duration Time to wait for in-sequence read before seeking (default 20ms) 10540 --vfs-used-is-size rclone size Use the rclone size algorithm for Used size 10541 --vfs-write-back Duration Time to writeback files after last use when using cache (default 5s) 10542 --vfs-write-wait Duration Time to wait for in-sequence write before giving error (default 1s) 10543 \f[R] 10544 .fi 10545 .PP 10546 See the global flags page (https://rclone.org/flags/) for global options 10547 not listed here. 10548 .SS SEE ALSO 10549 .IP \[bu] 2 10550 rclone serve (https://rclone.org/commands/rclone_serve/) - Serve a 10551 remote over a protocol. 10552 .SH rclone settier 10553 .PP 10554 Changes storage class/tier of objects in remote. 10555 .SS Synopsis 10556 .PP 10557 rclone settier changes storage tier or class at remote if supported. 10558 Few cloud storage services provides different storage classes on 10559 objects, for example AWS S3 and Glacier, Azure Blob storage - Hot, Cool 10560 and Archive, Google Cloud Storage, Regional Storage, Nearline, Coldline 10561 etc. 10562 .PP 10563 Note that, certain tier changes make objects not available to access 10564 immediately. 10565 For example tiering to archive in azure blob storage makes objects in 10566 frozen state, user can restore by setting tier to Hot/Cool, similarly S3 10567 to Glacier makes object inaccessible.true 10568 .PP 10569 You can use it to tier single object 10570 .IP 10571 .nf 10572 \f[C] 10573 rclone settier Cool remote:path/file 10574 \f[R] 10575 .fi 10576 .PP 10577 Or use rclone filters to set tier on only specific files 10578 .IP 10579 .nf 10580 \f[C] 10581 rclone --include \[dq]*.txt\[dq] settier Hot remote:path/dir 10582 \f[R] 10583 .fi 10584 .PP 10585 Or just provide remote directory and all files in directory will be 10586 tiered 10587 .IP 10588 .nf 10589 \f[C] 10590 rclone settier tier remote:path/dir 10591 \f[R] 10592 .fi 10593 .IP 10594 .nf 10595 \f[C] 10596 rclone settier tier remote:path [flags] 10597 \f[R] 10598 .fi 10599 .SS Options 10600 .IP 10601 .nf 10602 \f[C] 10603 -h, --help help for settier 10604 \f[R] 10605 .fi 10606 .PP 10607 See the global flags page (https://rclone.org/flags/) for global options 10608 not listed here. 10609 .SS SEE ALSO 10610 .IP \[bu] 2 10611 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 10612 commands, flags and backends. 10613 .SH rclone test 10614 .PP 10615 Run a test command 10616 .SS Synopsis 10617 .PP 10618 Rclone test is used to run test commands. 10619 .PP 10620 Select which test command you want with the subcommand, eg 10621 .IP 10622 .nf 10623 \f[C] 10624 rclone test memory remote: 10625 \f[R] 10626 .fi 10627 .PP 10628 Each subcommand has its own options which you can see in their help. 10629 .PP 10630 \f[B]NB\f[R] Be careful running these commands, they may do strange 10631 things so reading their documentation first is recommended. 10632 .SS Options 10633 .IP 10634 .nf 10635 \f[C] 10636 -h, --help help for test 10637 \f[R] 10638 .fi 10639 .PP 10640 See the global flags page (https://rclone.org/flags/) for global options 10641 not listed here. 10642 .SS SEE ALSO 10643 .IP \[bu] 2 10644 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 10645 commands, flags and backends. 10646 .IP \[bu] 2 10647 rclone test 10648 changenotify (https://rclone.org/commands/rclone_test_changenotify/) - 10649 Log any change notify requests for the remote passed in. 10650 .IP \[bu] 2 10651 rclone test 10652 histogram (https://rclone.org/commands/rclone_test_histogram/) - Makes a 10653 histogram of file name characters. 10654 .IP \[bu] 2 10655 rclone test info (https://rclone.org/commands/rclone_test_info/) - 10656 Discovers file name or other limitations for paths. 10657 .IP \[bu] 2 10658 rclone test makefile (https://rclone.org/commands/rclone_test_makefile/) 10659 - Make files with random contents of the size given 10660 .IP \[bu] 2 10661 rclone test 10662 makefiles (https://rclone.org/commands/rclone_test_makefiles/) - Make a 10663 random file hierarchy in a directory 10664 .IP \[bu] 2 10665 rclone test memory (https://rclone.org/commands/rclone_test_memory/) - 10666 Load all the objects at remote:path into memory and report memory stats. 10667 .SH rclone test changenotify 10668 .PP 10669 Log any change notify requests for the remote passed in. 10670 .IP 10671 .nf 10672 \f[C] 10673 rclone test changenotify remote: [flags] 10674 \f[R] 10675 .fi 10676 .SS Options 10677 .IP 10678 .nf 10679 \f[C] 10680 -h, --help help for changenotify 10681 --poll-interval Duration Time to wait between polling for changes (default 10s) 10682 \f[R] 10683 .fi 10684 .PP 10685 See the global flags page (https://rclone.org/flags/) for global options 10686 not listed here. 10687 .SS SEE ALSO 10688 .IP \[bu] 2 10689 rclone test (https://rclone.org/commands/rclone_test/) - Run a test 10690 command 10691 .SH rclone test histogram 10692 .PP 10693 Makes a histogram of file name characters. 10694 .SS Synopsis 10695 .PP 10696 This command outputs JSON which shows the histogram of characters used 10697 in filenames in the remote:path specified. 10698 .PP 10699 The data doesn\[aq]t contain any identifying information but is useful 10700 for the rclone developers when developing filename compression. 10701 .IP 10702 .nf 10703 \f[C] 10704 rclone test histogram [remote:path] [flags] 10705 \f[R] 10706 .fi 10707 .SS Options 10708 .IP 10709 .nf 10710 \f[C] 10711 -h, --help help for histogram 10712 \f[R] 10713 .fi 10714 .PP 10715 See the global flags page (https://rclone.org/flags/) for global options 10716 not listed here. 10717 .SS SEE ALSO 10718 .IP \[bu] 2 10719 rclone test (https://rclone.org/commands/rclone_test/) - Run a test 10720 command 10721 .SH rclone test info 10722 .PP 10723 Discovers file name or other limitations for paths. 10724 .SS Synopsis 10725 .PP 10726 rclone info discovers what filenames and upload methods are possible to 10727 write to the paths passed in and how long they can be. 10728 It can take some time. 10729 It will write test files into the remote:path passed in. 10730 It outputs a bit of go code for each one. 10731 .PP 10732 \f[B]NB\f[R] this can create undeletable files and other hazards - use 10733 with care 10734 .IP 10735 .nf 10736 \f[C] 10737 rclone test info [remote:path]+ [flags] 10738 \f[R] 10739 .fi 10740 .SS Options 10741 .IP 10742 .nf 10743 \f[C] 10744 --all Run all tests 10745 --check-control Check control characters 10746 --check-length Check max filename length 10747 --check-normalization Check UTF-8 Normalization 10748 --check-streaming Check uploads with indeterminate file size 10749 -h, --help help for info 10750 --upload-wait Duration Wait after writing a file (default 0s) 10751 --write-json string Write results to file 10752 \f[R] 10753 .fi 10754 .PP 10755 See the global flags page (https://rclone.org/flags/) for global options 10756 not listed here. 10757 .SS SEE ALSO 10758 .IP \[bu] 2 10759 rclone test (https://rclone.org/commands/rclone_test/) - Run a test 10760 command 10761 .SH rclone test makefile 10762 .PP 10763 Make files with random contents of the size given 10764 .IP 10765 .nf 10766 \f[C] 10767 rclone test makefile <size> [<file>]+ [flags] 10768 \f[R] 10769 .fi 10770 .SS Options 10771 .IP 10772 .nf 10773 \f[C] 10774 --ascii Fill files with random ASCII printable bytes only 10775 --chargen Fill files with a ASCII chargen pattern 10776 -h, --help help for makefile 10777 --pattern Fill files with a periodic pattern 10778 --seed int Seed for the random number generator (0 for random) (default 1) 10779 --sparse Make the files sparse (appear to be filled with ASCII 0x00) 10780 --zero Fill files with ASCII 0x00 10781 \f[R] 10782 .fi 10783 .PP 10784 See the global flags page (https://rclone.org/flags/) for global options 10785 not listed here. 10786 .SS SEE ALSO 10787 .IP \[bu] 2 10788 rclone test (https://rclone.org/commands/rclone_test/) - Run a test 10789 command 10790 .SH rclone test makefiles 10791 .PP 10792 Make a random file hierarchy in a directory 10793 .IP 10794 .nf 10795 \f[C] 10796 rclone test makefiles <dir> [flags] 10797 \f[R] 10798 .fi 10799 .SS Options 10800 .IP 10801 .nf 10802 \f[C] 10803 --ascii Fill files with random ASCII printable bytes only 10804 --chargen Fill files with a ASCII chargen pattern 10805 --files int Number of files to create (default 1000) 10806 --files-per-directory int Average number of files per directory (default 10) 10807 -h, --help help for makefiles 10808 --max-depth int Maximum depth of directory hierarchy (default 10) 10809 --max-file-size SizeSuffix Maximum size of files to create (default 100) 10810 --max-name-length int Maximum size of file names (default 12) 10811 --min-file-size SizeSuffix Minimum size of file to create 10812 --min-name-length int Minimum size of file names (default 4) 10813 --pattern Fill files with a periodic pattern 10814 --seed int Seed for the random number generator (0 for random) (default 1) 10815 --sparse Make the files sparse (appear to be filled with ASCII 0x00) 10816 --zero Fill files with ASCII 0x00 10817 \f[R] 10818 .fi 10819 .PP 10820 See the global flags page (https://rclone.org/flags/) for global options 10821 not listed here. 10822 .SS SEE ALSO 10823 .IP \[bu] 2 10824 rclone test (https://rclone.org/commands/rclone_test/) - Run a test 10825 command 10826 .SH rclone test memory 10827 .PP 10828 Load all the objects at remote:path into memory and report memory stats. 10829 .IP 10830 .nf 10831 \f[C] 10832 rclone test memory remote:path [flags] 10833 \f[R] 10834 .fi 10835 .SS Options 10836 .IP 10837 .nf 10838 \f[C] 10839 -h, --help help for memory 10840 \f[R] 10841 .fi 10842 .PP 10843 See the global flags page (https://rclone.org/flags/) for global options 10844 not listed here. 10845 .SS SEE ALSO 10846 .IP \[bu] 2 10847 rclone test (https://rclone.org/commands/rclone_test/) - Run a test 10848 command 10849 .SH rclone touch 10850 .PP 10851 Create new file or change file modification time. 10852 .SS Synopsis 10853 .PP 10854 Set the modification time on file(s) as specified by remote:path to have 10855 the current time. 10856 .PP 10857 If remote:path does not exist then a zero sized file will be created, 10858 unless \f[C]--no-create\f[R] or \f[C]--recursive\f[R] is provided. 10859 .PP 10860 If \f[C]--recursive\f[R] is used then recursively sets the modification 10861 time on all existing files that is found under the path. 10862 Filters are supported, and you can test with the \f[C]--dry-run\f[R] or 10863 the \f[C]--interactive\f[R]/\f[C]-i\f[R] flag. 10864 .PP 10865 If \f[C]--timestamp\f[R] is used then sets the modification time to that 10866 time instead of the current time. 10867 Times may be specified as one of: 10868 .IP \[bu] 2 10869 \[aq]YYMMDD\[aq] - e.g. 10870 17.10.30 10871 .IP \[bu] 2 10872 \[aq]YYYY-MM-DDTHH:MM:SS\[aq] - e.g. 10873 2006-01-02T15:04:05 10874 .IP \[bu] 2 10875 \[aq]YYYY-MM-DDTHH:MM:SS.SSS\[aq] - e.g. 10876 2006-01-02T15:04:05.123456789 10877 .PP 10878 Note that value of \f[C]--timestamp\f[R] is in UTC. 10879 If you want local time then add the \f[C]--localtime\f[R] flag. 10880 .IP 10881 .nf 10882 \f[C] 10883 rclone touch remote:path [flags] 10884 \f[R] 10885 .fi 10886 .SS Options 10887 .IP 10888 .nf 10889 \f[C] 10890 -h, --help help for touch 10891 --localtime Use localtime for timestamp, not UTC 10892 -C, --no-create Do not create the file if it does not exist (implied with --recursive) 10893 -R, --recursive Recursively touch all files 10894 -t, --timestamp string Use specified time instead of the current time of day 10895 \f[R] 10896 .fi 10897 .PP 10898 See the global flags page (https://rclone.org/flags/) for global options 10899 not listed here. 10900 .SS SEE ALSO 10901 .IP \[bu] 2 10902 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 10903 commands, flags and backends. 10904 .SH rclone tree 10905 .PP 10906 List the contents of the remote in a tree like fashion. 10907 .SS Synopsis 10908 .PP 10909 rclone tree lists the contents of a remote in a similar way to the unix 10910 tree command. 10911 .PP 10912 For example 10913 .IP 10914 .nf 10915 \f[C] 10916 $ rclone tree remote:path 10917 / 10918 \[u251C]\[u2500]\[u2500] file1 10919 \[u251C]\[u2500]\[u2500] file2 10920 \[u251C]\[u2500]\[u2500] file3 10921 \[u2514]\[u2500]\[u2500] subdir 10922 \[u251C]\[u2500]\[u2500] file4 10923 \[u2514]\[u2500]\[u2500] file5 10924 10925 1 directories, 5 files 10926 \f[R] 10927 .fi 10928 .PP 10929 You can use any of the filtering options with the tree command (e.g. 10930 \f[C]--include\f[R] and \f[C]--exclude\f[R]. 10931 You can also use \f[C]--fast-list\f[R]. 10932 .PP 10933 The tree command has many options for controlling the listing which are 10934 compatible with the tree command, for example you can include file sizes 10935 with \f[C]--size\f[R]. 10936 Note that not all of them have short options as they conflict with 10937 rclone\[aq]s short options. 10938 .PP 10939 For a more interactive navigation of the remote see the 10940 ncdu (https://rclone.org/commands/rclone_ncdu/) command. 10941 .IP 10942 .nf 10943 \f[C] 10944 rclone tree remote:path [flags] 10945 \f[R] 10946 .fi 10947 .SS Options 10948 .IP 10949 .nf 10950 \f[C] 10951 -a, --all All files are listed (list . files too) 10952 -d, --dirs-only List directories only 10953 --dirsfirst List directories before files (-U disables) 10954 --full-path Print the full path prefix for each file 10955 -h, --help help for tree 10956 --level int Descend only level directories deep 10957 -D, --modtime Print the date of last modification. 10958 --noindent Don\[aq]t print indentation lines 10959 --noreport Turn off file/directory count at end of tree listing 10960 -o, --output string Output to file instead of stdout 10961 -p, --protections Print the protections for each file. 10962 -Q, --quote Quote filenames with double quotes. 10963 -s, --size Print the size in bytes of each file. 10964 --sort string Select sort: name,version,size,mtime,ctime 10965 --sort-ctime Sort files by last status change time 10966 -t, --sort-modtime Sort files by last modification time 10967 -r, --sort-reverse Reverse the order of the sort 10968 -U, --unsorted Leave files unsorted 10969 --version Sort files alphanumerically by version 10970 \f[R] 10971 .fi 10972 .PP 10973 See the global flags page (https://rclone.org/flags/) for global options 10974 not listed here. 10975 .SS SEE ALSO 10976 .IP \[bu] 2 10977 rclone (https://rclone.org/commands/rclone/) - Show help for rclone 10978 commands, flags and backends. 10979 .SS Copying single files 10980 .PP 10981 rclone normally syncs or copies directories. 10982 However, if the source remote points to a file, rclone will just copy 10983 that file. 10984 The destination remote must point to a directory - rclone will give the 10985 error 10986 \f[C]Failed to create file system for \[dq]remote:file\[dq]: is a file not a directory\f[R] 10987 if it isn\[aq]t. 10988 .PP 10989 For example, suppose you have a remote with a file in called 10990 \f[C]test.jpg\f[R], then you could copy just that file like this 10991 .IP 10992 .nf 10993 \f[C] 10994 rclone copy remote:test.jpg /tmp/download 10995 \f[R] 10996 .fi 10997 .PP 10998 The file \f[C]test.jpg\f[R] will be placed inside 10999 \f[C]/tmp/download\f[R]. 11000 .PP 11001 This is equivalent to specifying 11002 .IP 11003 .nf 11004 \f[C] 11005 rclone copy --files-from /tmp/files remote: /tmp/download 11006 \f[R] 11007 .fi 11008 .PP 11009 Where \f[C]/tmp/files\f[R] contains the single line 11010 .IP 11011 .nf 11012 \f[C] 11013 test.jpg 11014 \f[R] 11015 .fi 11016 .PP 11017 It is recommended to use \f[C]copy\f[R] when copying individual files, 11018 not \f[C]sync\f[R]. 11019 They have pretty much the same effect but \f[C]copy\f[R] will use a lot 11020 less memory. 11021 .SS Syntax of remote paths 11022 .PP 11023 The syntax of the paths passed to the rclone command are as follows. 11024 .SS /path/to/dir 11025 .PP 11026 This refers to the local file system. 11027 .PP 11028 On Windows \f[C]\[rs]\f[R] may be used instead of \f[C]/\f[R] in local 11029 paths \f[B]only\f[R], non local paths must use \f[C]/\f[R]. 11030 See local filesystem (https://rclone.org/local/#paths-on-windows) 11031 documentation for more about Windows-specific paths. 11032 .PP 11033 These paths needn\[aq]t start with a leading \f[C]/\f[R] - if they 11034 don\[aq]t then they will be relative to the current directory. 11035 .SS remote:path/to/dir 11036 .PP 11037 This refers to a directory \f[C]path/to/dir\f[R] on \f[C]remote:\f[R] as 11038 defined in the config file (configured with \f[C]rclone config\f[R]). 11039 .SS remote:/path/to/dir 11040 .PP 11041 On most backends this is refers to the same directory as 11042 \f[C]remote:path/to/dir\f[R] and that format should be preferred. 11043 On a very small number of remotes (FTP, SFTP, Dropbox for business) this 11044 will refer to a different directory. 11045 On these, paths without a leading \f[C]/\f[R] will refer to your 11046 \[dq]home\[dq] directory and paths with a leading \f[C]/\f[R] will refer 11047 to the root. 11048 .SS :backend:path/to/dir 11049 .PP 11050 This is an advanced form for creating remotes on the fly. 11051 \f[C]backend\f[R] should be the name or prefix of a backend (the 11052 \f[C]type\f[R] in the config file) and all the configuration for the 11053 backend should be provided on the command line (or in environment 11054 variables). 11055 .PP 11056 Here are some examples: 11057 .IP 11058 .nf 11059 \f[C] 11060 rclone lsd --http-url https://pub.rclone.org :http: 11061 \f[R] 11062 .fi 11063 .PP 11064 To list all the directories in the root of 11065 \f[C]https://pub.rclone.org/\f[R]. 11066 .IP 11067 .nf 11068 \f[C] 11069 rclone lsf --http-url https://example.com :http:path/to/dir 11070 \f[R] 11071 .fi 11072 .PP 11073 To list files and directories in 11074 \f[C]https://example.com/path/to/dir/\f[R] 11075 .IP 11076 .nf 11077 \f[C] 11078 rclone copy --http-url https://example.com :http:path/to/dir /tmp/dir 11079 \f[R] 11080 .fi 11081 .PP 11082 To copy files and directories in 11083 \f[C]https://example.com/path/to/dir\f[R] to \f[C]/tmp/dir\f[R]. 11084 .IP 11085 .nf 11086 \f[C] 11087 rclone copy --sftp-host example.com :sftp:path/to/dir /tmp/dir 11088 \f[R] 11089 .fi 11090 .PP 11091 To copy files and directories from \f[C]example.com\f[R] in the relative 11092 directory \f[C]path/to/dir\f[R] to \f[C]/tmp/dir\f[R] using sftp. 11093 .SS Connection strings 11094 .PP 11095 The above examples can also be written using a connection string syntax, 11096 so instead of providing the arguments as command line parameters 11097 \f[C]--http-url https://pub.rclone.org\f[R] they are provided as part of 11098 the remote specification as a kind of connection string. 11099 .IP 11100 .nf 11101 \f[C] 11102 rclone lsd \[dq]:http,url=\[aq]https://pub.rclone.org\[aq]:\[dq] 11103 rclone lsf \[dq]:http,url=\[aq]https://example.com\[aq]:path/to/dir\[dq] 11104 rclone copy \[dq]:http,url=\[aq]https://example.com\[aq]:path/to/dir\[dq] /tmp/dir 11105 rclone copy :sftp,host=example.com:path/to/dir /tmp/dir 11106 \f[R] 11107 .fi 11108 .PP 11109 These can apply to modify existing remotes as well as create new remotes 11110 with the on the fly syntax. 11111 This example is equivalent to adding the 11112 \f[C]--drive-shared-with-me\f[R] parameter to the remote 11113 \f[C]gdrive:\f[R]. 11114 .IP 11115 .nf 11116 \f[C] 11117 rclone lsf \[dq]gdrive,shared_with_me:path/to/dir\[dq] 11118 \f[R] 11119 .fi 11120 .PP 11121 The major advantage to using the connection string style syntax is that 11122 it only applies to the remote, not to all the remotes of that type of 11123 the command line. 11124 A common confusion is this attempt to copy a file shared on google drive 11125 to the normal drive which \f[B]does not work\f[R] because the 11126 \f[C]--drive-shared-with-me\f[R] flag applies to both the source and the 11127 destination. 11128 .IP 11129 .nf 11130 \f[C] 11131 rclone copy --drive-shared-with-me gdrive:shared-file.txt gdrive: 11132 \f[R] 11133 .fi 11134 .PP 11135 However using the connection string syntax, this does work. 11136 .IP 11137 .nf 11138 \f[C] 11139 rclone copy \[dq]gdrive,shared_with_me:shared-file.txt\[dq] gdrive: 11140 \f[R] 11141 .fi 11142 .PP 11143 Note that the connection string only affects the options of the 11144 immediate backend. 11145 If for example gdriveCrypt is a crypt based on gdrive, then the 11146 following command \f[B]will not work\f[R] as intended, because 11147 \f[C]shared_with_me\f[R] is ignored by the crypt backend: 11148 .IP 11149 .nf 11150 \f[C] 11151 rclone copy \[dq]gdriveCrypt,shared_with_me:shared-file.txt\[dq] gdriveCrypt: 11152 \f[R] 11153 .fi 11154 .PP 11155 The connection strings have the following syntax 11156 .IP 11157 .nf 11158 \f[C] 11159 remote,parameter=value,parameter2=value2:path/to/dir 11160 :backend,parameter=value,parameter2=value2:path/to/dir 11161 \f[R] 11162 .fi 11163 .PP 11164 If the \f[C]parameter\f[R] has a \f[C]:\f[R] or \f[C],\f[R] then it must 11165 be placed in quotes \f[C]\[dq]\f[R] or \f[C]\[aq]\f[R], so 11166 .IP 11167 .nf 11168 \f[C] 11169 remote,parameter=\[dq]colon:value\[dq],parameter2=\[dq]comma,value\[dq]:path/to/dir 11170 :backend,parameter=\[aq]colon:value\[aq],parameter2=\[aq]comma,value\[aq]:path/to/dir 11171 \f[R] 11172 .fi 11173 .PP 11174 If a quoted value needs to include that quote, then it should be 11175 doubled, so 11176 .IP 11177 .nf 11178 \f[C] 11179 remote,parameter=\[dq]with\[dq]\[dq]quote\[dq],parameter2=\[aq]with\[aq]\[aq]quote\[aq]:path/to/dir 11180 \f[R] 11181 .fi 11182 .PP 11183 This will make \f[C]parameter\f[R] be \f[C]with\[dq]quote\f[R] and 11184 \f[C]parameter2\f[R] be \f[C]with\[aq]quote\f[R]. 11185 .PP 11186 If you leave off the \f[C]=parameter\f[R] then rclone will substitute 11187 \f[C]=true\f[R] which works very well with flags. 11188 For example, to use s3 configured in the environment you could use: 11189 .IP 11190 .nf 11191 \f[C] 11192 rclone lsd :s3,env_auth: 11193 \f[R] 11194 .fi 11195 .PP 11196 Which is equivalent to 11197 .IP 11198 .nf 11199 \f[C] 11200 rclone lsd :s3,env_auth=true: 11201 \f[R] 11202 .fi 11203 .PP 11204 Note that on the command line you might need to surround these 11205 connection strings with \f[C]\[dq]\f[R] or \f[C]\[aq]\f[R] to stop the 11206 shell interpreting any special characters within them. 11207 .PP 11208 If you are a shell master then you\[aq]ll know which strings are OK and 11209 which aren\[aq]t, but if you aren\[aq]t sure then enclose them in 11210 \f[C]\[dq]\f[R] and use \f[C]\[aq]\f[R] as the inside quote. 11211 This syntax works on all OSes. 11212 .IP 11213 .nf 11214 \f[C] 11215 rclone copy \[dq]:http,url=\[aq]https://example.com\[aq]:path/to/dir\[dq] /tmp/dir 11216 \f[R] 11217 .fi 11218 .PP 11219 On Linux/macOS some characters are still interpreted inside 11220 \f[C]\[dq]\f[R] strings in the shell (notably \f[C]\[rs]\f[R] and 11221 \f[C]$\f[R] and \f[C]\[dq]\f[R]) so if your strings contain those you 11222 can swap the roles of \f[C]\[dq]\f[R] and \f[C]\[aq]\f[R] thus. 11223 (This syntax does not work on Windows.) 11224 .IP 11225 .nf 11226 \f[C] 11227 rclone copy \[aq]:http,url=\[dq]https://example.com\[dq]:path/to/dir\[aq] /tmp/dir 11228 \f[R] 11229 .fi 11230 .SS Connection strings, config and logging 11231 .PP 11232 If you supply extra configuration to a backend by command line flag, 11233 environment variable or connection string then rclone will add a suffix 11234 based on the hash of the config to the name of the remote, eg 11235 .IP 11236 .nf 11237 \f[C] 11238 rclone -vv lsf --s3-chunk-size 20M s3: 11239 \f[R] 11240 .fi 11241 .PP 11242 Has the log message 11243 .IP 11244 .nf 11245 \f[C] 11246 DEBUG : s3: detected overridden config - adding \[dq]{Srj1p}\[dq] suffix to name 11247 \f[R] 11248 .fi 11249 .PP 11250 This is so rclone can tell the modified remote apart from the unmodified 11251 remote when caching the backends. 11252 .PP 11253 This should only be noticeable in the logs. 11254 .PP 11255 This means that on the fly backends such as 11256 .IP 11257 .nf 11258 \f[C] 11259 rclone -vv lsf :s3,env_auth: 11260 \f[R] 11261 .fi 11262 .PP 11263 Will get their own names 11264 .IP 11265 .nf 11266 \f[C] 11267 DEBUG : :s3: detected overridden config - adding \[dq]{YTu53}\[dq] suffix to name 11268 \f[R] 11269 .fi 11270 .SS Valid remote names 11271 .PP 11272 Remote names are case sensitive, and must adhere to the following rules: 11273 - May contain number, letter, \f[C]_\f[R], \f[C]-\f[R], \f[C].\f[R], 11274 \f[C]+\f[R], \f[C]\[at]\f[R] and space. 11275 - May not start with \f[C]-\f[R] or space. 11276 - May not end with space. 11277 .PP 11278 Starting with rclone version 1.61, any Unicode numbers and letters are 11279 allowed, while in older versions it was limited to plain ASCII (0-9, 11280 A-Z, a-z). 11281 If you use the same rclone configuration from different shells, which 11282 may be configured with different character encoding, you must be 11283 cautious to use characters that are possible to write in all of them. 11284 This is mostly a problem on Windows, where the console traditionally 11285 uses a non-Unicode character set - defined by the so-called \[dq]code 11286 page\[dq]. 11287 .SS Quoting and the shell 11288 .PP 11289 When you are typing commands to your computer you are using something 11290 called the command line shell. 11291 This interprets various characters in an OS specific way. 11292 .PP 11293 Here are some gotchas which may help users unfamiliar with the shell 11294 rules 11295 .SS Linux / OSX 11296 .PP 11297 If your names have spaces or shell metacharacters (e.g. 11298 \f[C]*\f[R], \f[C]?\f[R], \f[C]$\f[R], \f[C]\[aq]\f[R], \f[C]\[dq]\f[R], 11299 etc.) then you must quote them. 11300 Use single quotes \f[C]\[aq]\f[R] by default. 11301 .IP 11302 .nf 11303 \f[C] 11304 rclone copy \[aq]Important files?\[aq] remote:backup 11305 \f[R] 11306 .fi 11307 .PP 11308 If you want to send a \f[C]\[aq]\f[R] you will need to use 11309 \f[C]\[dq]\f[R], e.g. 11310 .IP 11311 .nf 11312 \f[C] 11313 rclone copy \[dq]O\[aq]Reilly Reviews\[dq] remote:backup 11314 \f[R] 11315 .fi 11316 .PP 11317 The rules for quoting metacharacters are complicated and if you want the 11318 full details you\[aq]ll have to consult the manual page for your shell. 11319 .SS Windows 11320 .PP 11321 If your names have spaces in you need to put them in \f[C]\[dq]\f[R], 11322 e.g. 11323 .IP 11324 .nf 11325 \f[C] 11326 rclone copy \[dq]E:\[rs]folder name\[rs]folder name\[rs]folder name\[dq] remote:backup 11327 \f[R] 11328 .fi 11329 .PP 11330 If you are using the root directory on its own then don\[aq]t quote it 11331 (see #464 (https://github.com/divyam234/rclone/issues/464) for why), e.g. 11332 .IP 11333 .nf 11334 \f[C] 11335 rclone copy E:\[rs] remote:backup 11336 \f[R] 11337 .fi 11338 .SS Copying files or directories with \f[C]:\f[R] in the names 11339 .PP 11340 rclone uses \f[C]:\f[R] to mark a remote name. 11341 This is, however, a valid filename component in non-Windows OSes. 11342 The remote name parser will only search for a \f[C]:\f[R] up to the 11343 first \f[C]/\f[R] so if you need to act on a file or directory like this 11344 then use the full path starting with a \f[C]/\f[R], or use \f[C]./\f[R] 11345 as a current directory prefix. 11346 .PP 11347 So to sync a directory called \f[C]sync:me\f[R] to a remote called 11348 \f[C]remote:\f[R] use 11349 .IP 11350 .nf 11351 \f[C] 11352 rclone sync --interactive ./sync:me remote:path 11353 \f[R] 11354 .fi 11355 .PP 11356 or 11357 .IP 11358 .nf 11359 \f[C] 11360 rclone sync --interactive /full/path/to/sync:me remote:path 11361 \f[R] 11362 .fi 11363 .SS Server Side Copy 11364 .PP 11365 Most remotes (but not all - see the 11366 overview (https://rclone.org/overview/#optional-features)) support 11367 server-side copy. 11368 .PP 11369 This means if you want to copy one folder to another then rclone 11370 won\[aq]t download all the files and re-upload them; it will instruct 11371 the server to copy them in place. 11372 .PP 11373 Eg 11374 .IP 11375 .nf 11376 \f[C] 11377 rclone copy s3:oldbucket s3:newbucket 11378 \f[R] 11379 .fi 11380 .PP 11381 Will copy the contents of \f[C]oldbucket\f[R] to \f[C]newbucket\f[R] 11382 without downloading and re-uploading. 11383 .PP 11384 Remotes which don\[aq]t support server-side copy \f[B]will\f[R] download 11385 and re-upload in this case. 11386 .PP 11387 Server side copies are used with \f[C]sync\f[R] and \f[C]copy\f[R] and 11388 will be identified in the log when using the \f[C]-v\f[R] flag. 11389 The \f[C]move\f[R] command may also use them if remote doesn\[aq]t 11390 support server-side move directly. 11391 This is done by issuing a server-side copy then a delete which is much 11392 quicker than a download and re-upload. 11393 .PP 11394 Server side copies will only be attempted if the remote names are the 11395 same. 11396 .PP 11397 This can be used when scripting to make aged backups efficiently, e.g. 11398 .IP 11399 .nf 11400 \f[C] 11401 rclone sync --interactive remote:current-backup remote:previous-backup 11402 rclone sync --interactive /path/to/files remote:current-backup 11403 \f[R] 11404 .fi 11405 .SS Metadata support 11406 .PP 11407 Metadata is data about a file which isn\[aq]t the contents of the file. 11408 Normally rclone only preserves the modification time and the content 11409 (MIME) type where possible. 11410 .PP 11411 Rclone supports preserving all the available metadata on files (not 11412 directories) when using the \f[C]--metadata\f[R] or \f[C]-M\f[R] flag. 11413 .PP 11414 Exactly what metadata is supported and what that support means depends 11415 on the backend. 11416 Backends that support metadata have a metadata section in their docs and 11417 are listed in the features table (https://rclone.org/overview/#features) 11418 (Eg local (https://rclone.org/local/#metadata), s3) 11419 .PP 11420 Rclone only supports a one-time sync of metadata. 11421 This means that metadata will be synced from the source object to the 11422 destination object only when the source object has changed and needs to 11423 be re-uploaded. 11424 If the metadata subsequently changes on the source object without 11425 changing the object itself then it won\[aq]t be synced to the 11426 destination object. 11427 This is in line with the way rclone syncs \f[C]Content-Type\f[R] without 11428 the \f[C]--metadata\f[R] flag. 11429 .PP 11430 Using \f[C]--metadata\f[R] when syncing from local to local will 11431 preserve file attributes such as file mode, owner, extended attributes 11432 (not Windows). 11433 .PP 11434 Note that arbitrary metadata may be added to objects using the 11435 \f[C]--metadata-set key=value\f[R] flag when the object is first 11436 uploaded. 11437 This flag can be repeated as many times as necessary. 11438 .SS Types of metadata 11439 .PP 11440 Metadata is divided into two type. 11441 System metadata and User metadata. 11442 .PP 11443 Metadata which the backend uses itself is called system metadata. 11444 For example on the local backend the system metadata \f[C]uid\f[R] will 11445 store the user ID of the file when used on a unix based platform. 11446 .PP 11447 Arbitrary metadata is called user metadata and this can be set however 11448 is desired. 11449 .PP 11450 When objects are copied from backend to backend, they will attempt to 11451 interpret system metadata if it is supplied. 11452 Metadata may change from being user metadata to system metadata as 11453 objects are copied between different backends. 11454 For example copying an object from s3 sets the \f[C]content-type\f[R] 11455 metadata. 11456 In a backend which understands this (like \f[C]azureblob\f[R]) this will 11457 become the Content-Type of the object. 11458 In a backend which doesn\[aq]t understand this (like the \f[C]local\f[R] 11459 backend) this will become user metadata. 11460 However should the local object be copied back to s3, the Content-Type 11461 will be set correctly. 11462 .SS Metadata framework 11463 .PP 11464 Rclone implements a metadata framework which can read metadata from an 11465 object and write it to the object when (and only when) it is being 11466 uploaded. 11467 .PP 11468 This metadata is stored as a dictionary with string keys and string 11469 values. 11470 .PP 11471 There are some limits on the names of the keys (these may be clarified 11472 further in the future). 11473 .IP \[bu] 2 11474 must be lower case 11475 .IP \[bu] 2 11476 may be \f[C]a-z\f[R] \f[C]0-9\f[R] containing \f[C].\f[R] \f[C]-\f[R] or 11477 \f[C]_\f[R] 11478 .IP \[bu] 2 11479 length is backend dependent 11480 .PP 11481 Each backend can provide system metadata that it understands. 11482 Some backends can also store arbitrary user metadata. 11483 .PP 11484 Where possible the key names are standardized, so, for example, it is 11485 possible to copy object metadata from s3 to azureblob for example and 11486 metadata will be translated appropriately. 11487 .PP 11488 Some backends have limits on the size of the metadata and rclone will 11489 give errors on upload if they are exceeded. 11490 .SS Metadata preservation 11491 .PP 11492 The goal of the implementation is to 11493 .IP "1." 3 11494 Preserve metadata if at all possible 11495 .IP "2." 3 11496 Interpret metadata if at all possible 11497 .PP 11498 The consequences of 1 is that you can copy an S3 object to a local disk 11499 then back to S3 losslessly. 11500 Likewise you can copy a local file with file attributes and xattrs from 11501 local disk to s3 and back again losslessly. 11502 .PP 11503 The consequence of 2 is that you can copy an S3 object with metadata to 11504 Azureblob (say) and have the metadata appear on the Azureblob object 11505 also. 11506 .SS Standard system metadata 11507 .PP 11508 Here is a table of standard system metadata which, if appropriate, a 11509 backend may implement. 11510 .PP 11511 .TS 11512 tab(@); 11513 lw(34.2n) lw(21.2n) lw(14.7n). 11514 T{ 11515 key 11516 T}@T{ 11517 description 11518 T}@T{ 11519 example 11520 T} 11521 _ 11522 T{ 11523 mode 11524 T}@T{ 11525 File type and mode: octal, unix style 11526 T}@T{ 11527 0100664 11528 T} 11529 T{ 11530 uid 11531 T}@T{ 11532 User ID of owner: decimal number 11533 T}@T{ 11534 500 11535 T} 11536 T{ 11537 gid 11538 T}@T{ 11539 Group ID of owner: decimal number 11540 T}@T{ 11541 500 11542 T} 11543 T{ 11544 rdev 11545 T}@T{ 11546 Device ID (if special file) => hexadecimal 11547 T}@T{ 11548 0 11549 T} 11550 T{ 11551 atime 11552 T}@T{ 11553 Time of last access: RFC 3339 11554 T}@T{ 11555 2006-01-02T15:04:05.999999999Z07:00 11556 T} 11557 T{ 11558 mtime 11559 T}@T{ 11560 Time of last modification: RFC 3339 11561 T}@T{ 11562 2006-01-02T15:04:05.999999999Z07:00 11563 T} 11564 T{ 11565 btime 11566 T}@T{ 11567 Time of file creation (birth): RFC 3339 11568 T}@T{ 11569 2006-01-02T15:04:05.999999999Z07:00 11570 T} 11571 T{ 11572 cache-control 11573 T}@T{ 11574 Cache-Control header 11575 T}@T{ 11576 no-cache 11577 T} 11578 T{ 11579 content-disposition 11580 T}@T{ 11581 Content-Disposition header 11582 T}@T{ 11583 inline 11584 T} 11585 T{ 11586 content-encoding 11587 T}@T{ 11588 Content-Encoding header 11589 T}@T{ 11590 gzip 11591 T} 11592 T{ 11593 content-language 11594 T}@T{ 11595 Content-Language header 11596 T}@T{ 11597 en-US 11598 T} 11599 T{ 11600 content-type 11601 T}@T{ 11602 Content-Type header 11603 T}@T{ 11604 text/plain 11605 T} 11606 .TE 11607 .PP 11608 The metadata keys \f[C]mtime\f[R] and \f[C]content-type\f[R] will take 11609 precedence if supplied in the metadata over reading the 11610 \f[C]Content-Type\f[R] or modification time of the source object. 11611 .PP 11612 Hashes are not included in system metadata as there is a well defined 11613 way of reading those already. 11614 .SS Options 11615 .PP 11616 Rclone has a number of options to control its behaviour. 11617 .PP 11618 Options that take parameters can have the values passed in two ways, 11619 \f[C]--option=value\f[R] or \f[C]--option value\f[R]. 11620 However boolean (true/false) options behave slightly differently to the 11621 other options in that \f[C]--boolean\f[R] sets the option to 11622 \f[C]true\f[R] and the absence of the flag sets it to \f[C]false\f[R]. 11623 It is also possible to specify \f[C]--boolean=false\f[R] or 11624 \f[C]--boolean=true\f[R]. 11625 Note that \f[C]--boolean false\f[R] is not valid - this is parsed as 11626 \f[C]--boolean\f[R] and the \f[C]false\f[R] is parsed as an extra 11627 command line argument for rclone. 11628 .SS Time or duration options 11629 .PP 11630 TIME or DURATION options can be specified as a duration string or a time 11631 string. 11632 .PP 11633 A duration string is a possibly signed sequence of decimal numbers, each 11634 with optional fraction and a unit suffix, such as \[dq]300ms\[dq], 11635 \[dq]-1.5h\[dq] or \[dq]2h45m\[dq]. 11636 Default units are seconds or the following abbreviations are valid: 11637 .IP \[bu] 2 11638 \f[C]ms\f[R] - Milliseconds 11639 .IP \[bu] 2 11640 \f[C]s\f[R] - Seconds 11641 .IP \[bu] 2 11642 \f[C]m\f[R] - Minutes 11643 .IP \[bu] 2 11644 \f[C]h\f[R] - Hours 11645 .IP \[bu] 2 11646 \f[C]d\f[R] - Days 11647 .IP \[bu] 2 11648 \f[C]w\f[R] - Weeks 11649 .IP \[bu] 2 11650 \f[C]M\f[R] - Months 11651 .IP \[bu] 2 11652 \f[C]y\f[R] - Years 11653 .PP 11654 These can also be specified as an absolute time in the following 11655 formats: 11656 .IP \[bu] 2 11657 RFC3339 - e.g. 11658 \f[C]2006-01-02T15:04:05Z\f[R] or \f[C]2006-01-02T15:04:05+07:00\f[R] 11659 .IP \[bu] 2 11660 ISO8601 Date and time, local timezone - \f[C]2006-01-02T15:04:05\f[R] 11661 .IP \[bu] 2 11662 ISO8601 Date and time, local timezone - \f[C]2006-01-02 15:04:05\f[R] 11663 .IP \[bu] 2 11664 ISO8601 Date - \f[C]2006-01-02\f[R] (YYYY-MM-DD) 11665 .SS Size options 11666 .PP 11667 Options which use SIZE use KiB (multiples of 1024 bytes) by default. 11668 However, a suffix of \f[C]B\f[R] for Byte, \f[C]K\f[R] for KiB, 11669 \f[C]M\f[R] for MiB, \f[C]G\f[R] for GiB, \f[C]T\f[R] for TiB and 11670 \f[C]P\f[R] for PiB may be used. 11671 These are the binary units, e.g. 11672 1, 2**10, 2**20, 2**30 respectively. 11673 .SS --backup-dir=DIR 11674 .PP 11675 When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] any files 11676 which would have been overwritten or deleted are moved in their original 11677 hierarchy into this directory. 11678 .PP 11679 If \f[C]--suffix\f[R] is set, then the moved files will have the suffix 11680 added to them. 11681 If there is a file with the same path (after the suffix has been added) 11682 in DIR, then it will be overwritten. 11683 .PP 11684 The remote in use must support server-side move or copy and you must use 11685 the same remote as the destination of the sync. 11686 The backup directory must not overlap the destination directory without 11687 it being excluded by a filter rule. 11688 .PP 11689 For example 11690 .IP 11691 .nf 11692 \f[C] 11693 rclone sync --interactive /path/to/local remote:current --backup-dir remote:old 11694 \f[R] 11695 .fi 11696 .PP 11697 will sync \f[C]/path/to/local\f[R] to \f[C]remote:current\f[R], but for 11698 any files which would have been updated or deleted will be stored in 11699 \f[C]remote:old\f[R]. 11700 .PP 11701 If running rclone from a script you might want to use today\[aq]s date 11702 as the directory name passed to \f[C]--backup-dir\f[R] to store the old 11703 files, or you might want to pass \f[C]--suffix\f[R] with today\[aq]s 11704 date. 11705 .PP 11706 See \f[C]--compare-dest\f[R] and \f[C]--copy-dest\f[R]. 11707 .SS --bind string 11708 .PP 11709 Local address to bind to for outgoing connections. 11710 This can be an IPv4 address (1.2.3.4), an IPv6 address (1234::789A) or 11711 host name. 11712 If the host name doesn\[aq]t resolve or resolves to more than one IP 11713 address it will give an error. 11714 .SS --bwlimit=BANDWIDTH_SPEC 11715 .PP 11716 This option controls the bandwidth limit. 11717 For example 11718 .IP 11719 .nf 11720 \f[C] 11721 --bwlimit 10M 11722 \f[R] 11723 .fi 11724 .PP 11725 would mean limit the upload and download bandwidth to 10 MiB/s. 11726 \f[B]NB\f[R] this is \f[B]bytes\f[R] per second not \f[B]bits\f[R] per 11727 second. 11728 To use a single limit, specify the desired bandwidth in KiB/s, or use a 11729 suffix B|K|M|G|T|P. 11730 The default is \f[C]0\f[R] which means to not limit bandwidth. 11731 .PP 11732 The upload and download bandwidth can be specified separately, as 11733 \f[C]--bwlimit UP:DOWN\f[R], so 11734 .IP 11735 .nf 11736 \f[C] 11737 --bwlimit 10M:100k 11738 \f[R] 11739 .fi 11740 .PP 11741 would mean limit the upload bandwidth to 10 MiB/s and the download 11742 bandwidth to 100 KiB/s. 11743 Either limit can be \[dq]off\[dq] meaning no limit, so to just limit the 11744 upload bandwidth you would use 11745 .IP 11746 .nf 11747 \f[C] 11748 --bwlimit 10M:off 11749 \f[R] 11750 .fi 11751 .PP 11752 this would limit the upload bandwidth to 10 MiB/s but the download 11753 bandwidth would be unlimited. 11754 .PP 11755 When specified as above the bandwidth limits last for the duration of 11756 run of the rclone binary. 11757 .PP 11758 It is also possible to specify a \[dq]timetable\[dq] of limits, which 11759 will cause certain limits to be applied at certain times. 11760 To specify a timetable, format your entries as 11761 \f[C]WEEKDAY-HH:MM,BANDWIDTH WEEKDAY-HH:MM,BANDWIDTH...\f[R] where: 11762 \f[C]WEEKDAY\f[R] is optional element. 11763 .IP \[bu] 2 11764 \f[C]BANDWIDTH\f[R] can be a single number, e.g.\f[C]100k\f[R] or a pair 11765 of numbers for upload:download, e.g.\f[C]10M:1M\f[R]. 11766 .IP \[bu] 2 11767 \f[C]WEEKDAY\f[R] can be written as the whole word or only using the 11768 first 3 characters. 11769 It is optional. 11770 .IP \[bu] 2 11771 \f[C]HH:MM\f[R] is an hour from 00:00 to 23:59. 11772 .PP 11773 An example of a typical timetable to avoid link saturation during 11774 daytime working hours could be: 11775 .PP 11776 \f[C]--bwlimit \[dq]08:00,512k 12:00,10M 13:00,512k 18:00,30M 23:00,off\[dq]\f[R] 11777 .PP 11778 In this example, the transfer bandwidth will be set to 512 KiB/s at 8am 11779 every day. 11780 At noon, it will rise to 10 MiB/s, and drop back to 512 KiB/sec at 1pm. 11781 At 6pm, the bandwidth limit will be set to 30 MiB/s, and at 11pm it will 11782 be completely disabled (full speed). 11783 Anything between 11pm and 8am will remain unlimited. 11784 .PP 11785 An example of timetable with \f[C]WEEKDAY\f[R] could be: 11786 .PP 11787 \f[C]--bwlimit \[dq]Mon-00:00,512 Fri-23:59,10M Sat-10:00,1M Sun-20:00,off\[dq]\f[R] 11788 .PP 11789 It means that, the transfer bandwidth will be set to 512 KiB/s on 11790 Monday. 11791 It will rise to 10 MiB/s before the end of Friday. 11792 At 10:00 on Saturday it will be set to 1 MiB/s. 11793 From 20:00 on Sunday it will be unlimited. 11794 .PP 11795 Timeslots without \f[C]WEEKDAY\f[R] are extended to the whole week. 11796 So this example: 11797 .PP 11798 \f[C]--bwlimit \[dq]Mon-00:00,512 12:00,1M Sun-20:00,off\[dq]\f[R] 11799 .PP 11800 Is equivalent to this: 11801 .PP 11802 \f[C]--bwlimit \[dq]Mon-00:00,512Mon-12:00,1M Tue-12:00,1M Wed-12:00,1M Thu-12:00,1M Fri-12:00,1M Sat-12:00,1M Sun-12:00,1M Sun-20:00,off\[dq]\f[R] 11803 .PP 11804 Bandwidth limit apply to the data transfer for all backends. 11805 For most backends the directory listing bandwidth is also included 11806 (exceptions being the non HTTP backends, \f[C]ftp\f[R], \f[C]sftp\f[R] 11807 and \f[C]storj\f[R]). 11808 .PP 11809 Note that the units are \f[B]Byte/s\f[R], not \f[B]bit/s\f[R]. 11810 Typically connections are measured in bit/s - to convert divide by 8. 11811 For example, let\[aq]s say you have a 10 Mbit/s connection and you wish 11812 rclone to use half of it - 5 Mbit/s. 11813 This is 5/8 = 0.625 MiB/s so you would use a \f[C]--bwlimit 0.625M\f[R] 11814 parameter for rclone. 11815 .PP 11816 On Unix systems (Linux, macOS, \&...) the bandwidth limiter can be 11817 toggled by sending a \f[C]SIGUSR2\f[R] signal to rclone. 11818 This allows to remove the limitations of a long running rclone transfer 11819 and to restore it back to the value specified with \f[C]--bwlimit\f[R] 11820 quickly when needed. 11821 Assuming there is only one rclone instance running, you can toggle the 11822 limiter like this: 11823 .IP 11824 .nf 11825 \f[C] 11826 kill -SIGUSR2 $(pidof rclone) 11827 \f[R] 11828 .fi 11829 .PP 11830 If you configure rclone with a remote control then you can use change 11831 the bwlimit dynamically: 11832 .IP 11833 .nf 11834 \f[C] 11835 rclone rc core/bwlimit rate=1M 11836 \f[R] 11837 .fi 11838 .SS --bwlimit-file=BANDWIDTH_SPEC 11839 .PP 11840 This option controls per file bandwidth limit. 11841 For the options see the \f[C]--bwlimit\f[R] flag. 11842 .PP 11843 For example use this to allow no transfers to be faster than 1 MiB/s 11844 .IP 11845 .nf 11846 \f[C] 11847 --bwlimit-file 1M 11848 \f[R] 11849 .fi 11850 .PP 11851 This can be used in conjunction with \f[C]--bwlimit\f[R]. 11852 .PP 11853 Note that if a schedule is provided the file will use the schedule in 11854 effect at the start of the transfer. 11855 .SS --buffer-size=SIZE 11856 .PP 11857 Use this sized buffer to speed up file transfers. 11858 Each \f[C]--transfer\f[R] will use this much memory for buffering. 11859 .PP 11860 When using \f[C]mount\f[R] or \f[C]cmount\f[R] each open file descriptor 11861 will use this much memory for buffering. 11862 See the mount (https://rclone.org/commands/rclone_mount/#file-buffering) 11863 documentation for more details. 11864 .PP 11865 Set to \f[C]0\f[R] to disable the buffering for the minimum memory 11866 usage. 11867 .PP 11868 Note that the memory allocation of the buffers is influenced by the 11869 --use-mmap flag. 11870 .SS --cache-dir=DIR 11871 .PP 11872 Specify the directory rclone will use for caching, to override the 11873 default. 11874 .PP 11875 Default value is depending on operating system: - Windows 11876 \f[C]%LocalAppData%\[rs]rclone\f[R], if \f[C]LocalAppData\f[R] is 11877 defined. 11878 - macOS \f[C]$HOME/Library/Caches/rclone\f[R] if \f[C]HOME\f[R] is 11879 defined. 11880 - Unix \f[C]$XDG_CACHE_HOME/rclone\f[R] if \f[C]XDG_CACHE_HOME\f[R] is 11881 defined, else \f[C]$HOME/.cache/rclone\f[R] if \f[C]HOME\f[R] is 11882 defined. 11883 - Fallback (on all OS) to \f[C]$TMPDIR/rclone\f[R], where 11884 \f[C]TMPDIR\f[R] is the value from --temp-dir. 11885 .PP 11886 You can use the config 11887 paths (https://rclone.org/commands/rclone_config_paths/) command to see 11888 the current value. 11889 .PP 11890 Cache directory is heavily used by the VFS File 11891 Caching (https://rclone.org/commands/rclone_mount/#vfs-file-caching) 11892 mount feature, but also by 11893 serve (https://rclone.org/commands/rclone_serve/), GUI and other parts 11894 of rclone. 11895 .SS --check-first 11896 .PP 11897 If this flag is set then in a \f[C]sync\f[R], \f[C]copy\f[R] or 11898 \f[C]move\f[R], rclone will do all the checks to see whether files need 11899 to be transferred before doing any of the transfers. 11900 Normally rclone would start running transfers as soon as possible. 11901 .PP 11902 This flag can be useful on IO limited systems where transfers interfere 11903 with checking. 11904 .PP 11905 It can also be useful to ensure perfect ordering when using 11906 \f[C]--order-by\f[R]. 11907 .PP 11908 If both \f[C]--check-first\f[R] and \f[C]--order-by\f[R] are set when 11909 doing \f[C]rclone move\f[R] then rclone will use the transfer thread to 11910 delete source files which don\[aq]t need transferring. 11911 This will enable perfect ordering of the transfers and deletes but will 11912 cause the transfer stats to have more items in than expected. 11913 .PP 11914 Using this flag can use more memory as it effectively sets 11915 \f[C]--max-backlog\f[R] to infinite. 11916 This means that all the info on the objects to transfer is held in 11917 memory before the transfers start. 11918 .SS --checkers=N 11919 .PP 11920 Originally controlling just the number of file checkers to run in 11921 parallel, e.g. 11922 by \f[C]rclone copy\f[R]. 11923 Now a fairly universal parallelism control used by \f[C]rclone\f[R] in 11924 several places. 11925 .PP 11926 Note: checkers do the equality checking of files during a sync. 11927 For some storage systems (e.g. 11928 S3, Swift, Dropbox) this can take a significant amount of time so they 11929 are run in parallel. 11930 .PP 11931 The default is to run 8 checkers in parallel. 11932 However, in case of slow-reacting backends you may need to lower (rather 11933 than increase) this default by setting \f[C]--checkers\f[R] to 4 or less 11934 threads. 11935 This is especially advised if you are experiencing backend server 11936 crashes during file checking phase (e.g. 11937 on subsequent or top-up backups where little or no file copying is done 11938 and checking takes up most of the time). 11939 Increase this setting only with utmost care, while monitoring your 11940 server health and file checking throughput. 11941 .SS -c, --checksum 11942 .PP 11943 Normally rclone will look at modification time and size of files to see 11944 if they are equal. 11945 If you set this flag then rclone will check the file hash and size to 11946 determine if files are equal. 11947 .PP 11948 This is useful when the remote doesn\[aq]t support setting modified time 11949 and a more accurate sync is desired than just checking the file size. 11950 .PP 11951 This is very useful when transferring between remotes which store the 11952 same hash type on the object, e.g. 11953 Drive and Swift. 11954 For details of which remotes support which hash type see the table in 11955 the overview section (https://rclone.org/overview/). 11956 .PP 11957 Eg \f[C]rclone --checksum sync s3:/bucket swift:/bucket\f[R] would run 11958 much quicker than without the \f[C]--checksum\f[R] flag. 11959 .PP 11960 When using this flag, rclone won\[aq]t update mtimes of remote files if 11961 they are incorrect as it would normally. 11962 .SS --color WHEN 11963 .PP 11964 Specify when colors (and other ANSI codes) should be added to the 11965 output. 11966 .PP 11967 \f[C]AUTO\f[R] (default) only allows ANSI codes when the output is a 11968 terminal 11969 .PP 11970 \f[C]NEVER\f[R] never allow ANSI codes 11971 .PP 11972 \f[C]ALWAYS\f[R] always add ANSI codes, regardless of the output format 11973 (terminal or file) 11974 .SS --compare-dest=DIR 11975 .PP 11976 When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] DIR is 11977 checked in addition to the destination for files. 11978 If a file identical to the source is found that file is NOT copied from 11979 source. 11980 This is useful to copy just files that have changed since the last 11981 backup. 11982 .PP 11983 You must use the same remote as the destination of the sync. 11984 The compare directory must not overlap the destination directory. 11985 .PP 11986 See \f[C]--copy-dest\f[R] and \f[C]--backup-dir\f[R]. 11987 .SS --config=CONFIG_FILE 11988 .PP 11989 Specify the location of the rclone configuration file, to override the 11990 default. 11991 E.g. 11992 \f[C]rclone config --config=\[dq]rclone.conf\[dq]\f[R]. 11993 .PP 11994 The exact default is a bit complex to describe, due to changes 11995 introduced through different versions of rclone while preserving 11996 backwards compatibility, but in most cases it is as simple as: 11997 .IP \[bu] 2 11998 \f[C]%APPDATA%/divyam234/rclone.conf\f[R] on Windows 11999 .IP \[bu] 2 12000 \f[C]\[ti]/.config/divyam234/rclone.conf\f[R] on other 12001 .PP 12002 The complete logic is as follows: Rclone will look for an existing 12003 configuration file in any of the following locations, in priority order: 12004 .IP "1." 3 12005 \f[C]rclone.conf\f[R] (in program directory, where rclone executable is) 12006 .IP "2." 3 12007 \f[C]%APPDATA%/divyam234/rclone.conf\f[R] (only on Windows) 12008 .IP "3." 3 12009 \f[C]$XDG_CONFIG_HOME/divyam234/rclone.conf\f[R] (on all systems, including 12010 Windows) 12011 .IP "4." 3 12012 \f[C]\[ti]/.config/divyam234/rclone.conf\f[R] (see below for explanation of 12013 \[ti] symbol) 12014 .IP "5." 3 12015 \f[C]\[ti]/.rclone.conf\f[R] 12016 .PP 12017 If no existing configuration file is found, then a new one will be 12018 created in the following location: 12019 .IP \[bu] 2 12020 On Windows: Location 2 listed above, except in the unlikely event that 12021 \f[C]APPDATA\f[R] is not defined, then location 4 is used instead. 12022 .IP \[bu] 2 12023 On Unix: Location 3 if \f[C]XDG_CONFIG_HOME\f[R] is defined, else 12024 location 4. 12025 .IP \[bu] 2 12026 Fallback to location 5 (on all OS), when the rclone directory cannot be 12027 created, but if also a home directory was not found then path 12028 \f[C].rclone.conf\f[R] relative to current working directory will be 12029 used as a final resort. 12030 .PP 12031 The \f[C]\[ti]\f[R] symbol in paths above represent the home directory 12032 of the current user on any OS, and the value is defined as following: 12033 .IP \[bu] 2 12034 On Windows: \f[C]%HOME%\f[R] if defined, else \f[C]%USERPROFILE%\f[R], 12035 or else \f[C]%HOMEDRIVE%\[rs]%HOMEPATH%\f[R]. 12036 .IP \[bu] 2 12037 On Unix: \f[C]$HOME\f[R] if defined, else by looking up current user in 12038 OS-specific user database (e.g. 12039 passwd file), or else use the result from shell command 12040 \f[C]cd && pwd\f[R]. 12041 .PP 12042 If you run \f[C]rclone config file\f[R] you will see where the default 12043 location is for you. 12044 .PP 12045 The fact that an existing file \f[C]rclone.conf\f[R] in the same 12046 directory as the rclone executable is always preferred, means that it is 12047 easy to run in \[dq]portable\[dq] mode by downloading rclone executable 12048 to a writable directory and then create an empty file 12049 \f[C]rclone.conf\f[R] in the same directory. 12050 .PP 12051 If the location is set to empty string \f[C]\[dq]\[dq]\f[R] or path to a 12052 file with name \f[C]notfound\f[R], or the os null device represented by 12053 value \f[C]NUL\f[R] on Windows and \f[C]/dev/null\f[R] on Unix systems, 12054 then rclone will keep the config file in memory only. 12055 .PP 12056 The file format is basic 12057 INI (https://en.wikipedia.org/wiki/INI_file#Format): Sections of text, 12058 led by a \f[C][section]\f[R] header and followed by \f[C]key=value\f[R] 12059 entries on separate lines. 12060 In rclone each remote is represented by its own section, where the 12061 section name defines the name of the remote. 12062 Options are specified as the \f[C]key=value\f[R] entries, where the key 12063 is the option name without the \f[C]--backend-\f[R] prefix, in lowercase 12064 and with \f[C]_\f[R] instead of \f[C]-\f[R]. 12065 E.g. 12066 option \f[C]--mega-hard-delete\f[R] corresponds to key 12067 \f[C]hard_delete\f[R]. 12068 Only backend options can be specified. 12069 A special, and required, key \f[C]type\f[R] identifies the storage 12070 system (https://rclone.org/overview/), where the value is the internal 12071 lowercase name as returned by command \f[C]rclone help backends\f[R]. 12072 Comments are indicated by \f[C];\f[R] or \f[C]#\f[R] at the beginning of 12073 a line. 12074 .PP 12075 Example: 12076 .IP 12077 .nf 12078 \f[C] 12079 [megaremote] 12080 type = mega 12081 user = you\[at]example.com 12082 pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH 12083 \f[R] 12084 .fi 12085 .PP 12086 Note that passwords are in 12087 obscured (https://rclone.org/commands/rclone_obscure/) form. 12088 Also, many storage systems uses token-based authentication instead of 12089 passwords, and this requires additional steps. 12090 It is easier, and safer, to use the interactive command 12091 \f[C]rclone config\f[R] instead of manually editing the configuration 12092 file. 12093 .PP 12094 The configuration file will typically contain login information, and 12095 should therefore have restricted permissions so that only the current 12096 user can read it. 12097 Rclone tries to ensure this when it writes the file. 12098 You may also choose to encrypt the file. 12099 .PP 12100 When token-based authentication are used, the configuration file must be 12101 writable, because rclone needs to update the tokens inside it. 12102 .PP 12103 To reduce risk of corrupting an existing configuration file, rclone will 12104 not write directly to it when saving changes. 12105 Instead it will first write to a new, temporary, file. 12106 If a configuration file already existed, it will (on Unix systems) try 12107 to mirror its permissions to the new file. 12108 Then it will rename the existing file to a temporary name as backup. 12109 Next, rclone will rename the new file to the correct name, before 12110 finally cleaning up by deleting the backup file. 12111 .PP 12112 If the configuration file path used by rclone is a symbolic link, then 12113 this will be evaluated and rclone will write to the resolved path, 12114 instead of overwriting the symbolic link. 12115 Temporary files used in the process (described above) will be written to 12116 the same parent directory as that of the resolved configuration file, 12117 but if this directory is also a symbolic link it will not be resolved 12118 and the temporary files will be written to the location of the directory 12119 symbolic link. 12120 .SS --contimeout=TIME 12121 .PP 12122 Set the connection timeout. 12123 This should be in go time format which looks like \f[C]5s\f[R] for 5 12124 seconds, \f[C]10m\f[R] for 10 minutes, or \f[C]3h30m\f[R]. 12125 .PP 12126 The connection timeout is the amount of time rclone will wait for a 12127 connection to go through to a remote object storage system. 12128 It is \f[C]1m\f[R] by default. 12129 .SS --copy-dest=DIR 12130 .PP 12131 When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] DIR is 12132 checked in addition to the destination for files. 12133 If a file identical to the source is found that file is server-side 12134 copied from DIR to the destination. 12135 This is useful for incremental backup. 12136 .PP 12137 The remote in use must support server-side copy and you must use the 12138 same remote as the destination of the sync. 12139 The compare directory must not overlap the destination directory. 12140 .PP 12141 See \f[C]--compare-dest\f[R] and \f[C]--backup-dir\f[R]. 12142 .SS --dedupe-mode MODE 12143 .PP 12144 Mode to run dedupe command in. 12145 One of \f[C]interactive\f[R], \f[C]skip\f[R], \f[C]first\f[R], 12146 \f[C]newest\f[R], \f[C]oldest\f[R], \f[C]rename\f[R]. 12147 The default is \f[C]interactive\f[R]. 12148 .PD 0 12149 .P 12150 .PD 12151 See the dedupe command for more information as to what these options 12152 mean. 12153 .SS --default-time TIME 12154 .PP 12155 If a file or directory does have a modification time rclone can read 12156 then rclone will display this fixed time instead. 12157 .PP 12158 The default is \f[C]2000-01-01 00:00:00 UTC\f[R]. 12159 This can be configured in any of the ways shown in the time or duration 12160 options. 12161 .PP 12162 For example \f[C]--default-time 2020-06-01\f[R] to set the default time 12163 to the 1st of June 2020 or \f[C]--default-time 0s\f[R] to set the 12164 default time to the time rclone started up. 12165 .SS --disable FEATURE,FEATURE,... 12166 .PP 12167 This disables a comma separated list of optional features. 12168 For example to disable server-side move and server-side copy use: 12169 .IP 12170 .nf 12171 \f[C] 12172 --disable move,copy 12173 \f[R] 12174 .fi 12175 .PP 12176 The features can be put in any case. 12177 .PP 12178 To see a list of which features can be disabled use: 12179 .IP 12180 .nf 12181 \f[C] 12182 --disable help 12183 \f[R] 12184 .fi 12185 .PP 12186 The features a remote has can be seen in JSON format with: 12187 .IP 12188 .nf 12189 \f[C] 12190 rclone backend features remote: 12191 \f[R] 12192 .fi 12193 .PP 12194 See the overview features (https://rclone.org/overview/#features) and 12195 optional features (https://rclone.org/overview/#optional-features) to 12196 get an idea of which feature does what. 12197 .PP 12198 Note that some features can be set to \f[C]true\f[R] if they are 12199 \f[C]true\f[R]/\f[C]false\f[R] feature flag features by prefixing them 12200 with \f[C]!\f[R]. 12201 For example the \f[C]CaseInsensitive\f[R] feature can be forced to 12202 \f[C]false\f[R] with \f[C]--disable CaseInsensitive\f[R] and forced to 12203 \f[C]true\f[R] with \f[C]--disable \[aq]!CaseInsensitive\[aq]\f[R]. 12204 In general it isn\[aq]t a good idea doing this but it may be useful in 12205 extremis. 12206 .PP 12207 (Note that \f[C]!\f[R] is a shell command which you will need to escape 12208 with single quotes or a backslash on unix like platforms.) 12209 .PP 12210 This flag can be useful for debugging and in exceptional circumstances 12211 (e.g. 12212 Google Drive limiting the total volume of Server Side Copies to 100 12213 GiB/day). 12214 .SS --disable-http2 12215 .PP 12216 This stops rclone from trying to use HTTP/2 if available. 12217 This can sometimes speed up transfers due to a problem in the Go 12218 standard library (https://github.com/golang/go/issues/37373). 12219 .SS --dscp VALUE 12220 .PP 12221 Specify a DSCP value or name to use in connections. 12222 This could help QoS system to identify traffic class. 12223 BE, EF, DF, LE, CSx and AFxx are allowed. 12224 .PP 12225 See the description of differentiated 12226 services (https://en.wikipedia.org/wiki/Differentiated_services) to get 12227 an idea of this field. 12228 Setting this to 1 (LE) to identify the flow to SCAVENGER class can avoid 12229 occupying too much bandwidth in a network with DiffServ support (RFC 12230 8622 (https://tools.ietf.org/html/rfc8622)). 12231 .PP 12232 For example, if you configured QoS on router to handle LE properly. 12233 Running: 12234 .IP 12235 .nf 12236 \f[C] 12237 rclone copy --dscp LE from:/from to:/to 12238 \f[R] 12239 .fi 12240 .PP 12241 would make the priority lower than usual internet flows. 12242 .PP 12243 This option has no effect on Windows (see 12244 golang/go#42728 (https://github.com/golang/go/issues/42728)). 12245 .SS -n, --dry-run 12246 .PP 12247 Do a trial run with no permanent changes. 12248 Use this to see what rclone would do without actually doing it. 12249 Useful when setting up the \f[C]sync\f[R] command which deletes files in 12250 the destination. 12251 .SS --expect-continue-timeout=TIME 12252 .PP 12253 This specifies the amount of time to wait for a server\[aq]s first 12254 response headers after fully writing the request headers if the request 12255 has an \[dq]Expect: 100-continue\[dq] header. 12256 Not all backends support using this. 12257 .PP 12258 Zero means no timeout and causes the body to be sent immediately, 12259 without waiting for the server to approve. 12260 This time does not include the time to send the request header. 12261 .PP 12262 The default is \f[C]1s\f[R]. 12263 Set to \f[C]0\f[R] to disable. 12264 .SS --error-on-no-transfer 12265 .PP 12266 By default, rclone will exit with return code 0 if there were no errors. 12267 .PP 12268 This option allows rclone to return exit code 9 if no files were 12269 transferred between the source and destination. 12270 This allows using rclone in scripts, and triggering follow-on actions if 12271 data was copied, or skipping if not. 12272 .PP 12273 NB: Enabling this option turns a usually non-fatal error into a 12274 potentially fatal one - please check and adjust your scripts 12275 accordingly! 12276 .SS --fs-cache-expire-duration=TIME 12277 .PP 12278 When using rclone via the API rclone caches created remotes for 5 12279 minutes by default in the \[dq]fs cache\[dq]. 12280 This means that if you do repeated actions on the same remote then 12281 rclone won\[aq]t have to build it again from scratch, which makes it 12282 more efficient. 12283 .PP 12284 This flag sets the time that the remotes are cached for. 12285 If you set it to \f[C]0\f[R] (or negative) then rclone won\[aq]t cache 12286 the remotes at all. 12287 .PP 12288 Note that if you use some flags, eg \f[C]--backup-dir\f[R] and if this 12289 is set to \f[C]0\f[R] rclone may build two remotes (one for the source 12290 or destination and one for the \f[C]--backup-dir\f[R] where it may have 12291 only built one before. 12292 .SS --fs-cache-expire-interval=TIME 12293 .PP 12294 This controls how often rclone checks for cached remotes to expire. 12295 See the \f[C]--fs-cache-expire-duration\f[R] documentation above for 12296 more info. 12297 The default is 60s, set to 0 to disable expiry. 12298 .SS --header 12299 .PP 12300 Add an HTTP header for all transactions. 12301 The flag can be repeated to add multiple headers. 12302 .PP 12303 If you want to add headers only for uploads use 12304 \f[C]--header-upload\f[R] and if you want to add headers only for 12305 downloads use \f[C]--header-download\f[R]. 12306 .PP 12307 This flag is supported for all HTTP based backends even those not 12308 supported by \f[C]--header-upload\f[R] and \f[C]--header-download\f[R] 12309 so may be used as a workaround for those with care. 12310 .IP 12311 .nf 12312 \f[C] 12313 rclone ls remote:test --header \[dq]X-Rclone: Foo\[dq] --header \[dq]X-LetMeIn: Yes\[dq] 12314 \f[R] 12315 .fi 12316 .SS --header-download 12317 .PP 12318 Add an HTTP header for all download transactions. 12319 The flag can be repeated to add multiple headers. 12320 .IP 12321 .nf 12322 \f[C] 12323 rclone sync --interactive s3:test/src \[ti]/dst --header-download \[dq]X-Amz-Meta-Test: Foo\[dq] --header-download \[dq]X-Amz-Meta-Test2: Bar\[dq] 12324 \f[R] 12325 .fi 12326 .PP 12327 See the GitHub issue here (https://github.com/divyam234/rclone/issues/59) 12328 for currently supported backends. 12329 .SS --header-upload 12330 .PP 12331 Add an HTTP header for all upload transactions. 12332 The flag can be repeated to add multiple headers. 12333 .IP 12334 .nf 12335 \f[C] 12336 rclone sync --interactive \[ti]/src s3:test/dst --header-upload \[dq]Content-Disposition: attachment; filename=\[aq]cool.html\[aq]\[dq] --header-upload \[dq]X-Amz-Meta-Test: FooBar\[dq] 12337 \f[R] 12338 .fi 12339 .PP 12340 See the GitHub issue here (https://github.com/divyam234/rclone/issues/59) 12341 for currently supported backends. 12342 .SS --human-readable 12343 .PP 12344 Rclone commands output values for sizes (e.g. 12345 number of bytes) and counts (e.g. 12346 number of files) either as \f[I]raw\f[R] numbers, or in 12347 \f[I]human-readable\f[R] format. 12348 .PP 12349 In human-readable format the values are scaled to larger units, 12350 indicated with a suffix shown after the value, and rounded to three 12351 decimals. 12352 Rclone consistently uses binary units (powers of 2) for sizes and 12353 decimal units (powers of 10) for counts. 12354 The unit prefix for size is according to IEC standard notation, e.g. 12355 \f[C]Ki\f[R] for kibi. 12356 Used with byte unit, \f[C]1 KiB\f[R] means 1024 Byte. 12357 In list type of output, only the unit prefix appended to the value (e.g. 12358 \f[C]9.762Ki\f[R]), while in more textual output the full unit is shown 12359 (e.g. 12360 \f[C]9.762 KiB\f[R]). 12361 For counts the SI standard notation is used, e.g. 12362 prefix \f[C]k\f[R] for kilo. 12363 Used with file counts, \f[C]1k\f[R] means 1000 files. 12364 .PP 12365 The various list (https://rclone.org/commands/rclone_ls/) commands 12366 output raw numbers by default. 12367 Option \f[C]--human-readable\f[R] will make them output values in 12368 human-readable format instead (with the short unit prefix). 12369 .PP 12370 The about (https://rclone.org/commands/rclone_about/) command outputs 12371 human-readable by default, with a command-specific option 12372 \f[C]--full\f[R] to output the raw numbers instead. 12373 .PP 12374 Command size (https://rclone.org/commands/rclone_size/) outputs both 12375 human-readable and raw numbers in the same output. 12376 .PP 12377 The tree (https://rclone.org/commands/rclone_tree/) command also 12378 considers \f[C]--human-readable\f[R], but it will not use the exact same 12379 notation as the other commands: It rounds to one decimal, and uses 12380 single letter suffix, e.g. 12381 \f[C]K\f[R] instead of \f[C]Ki\f[R]. 12382 The reason for this is that it relies on an external library. 12383 .PP 12384 The interactive command ncdu (https://rclone.org/commands/rclone_ncdu/) 12385 shows human-readable by default, and responds to key \f[C]u\f[R] for 12386 toggling human-readable format. 12387 .SS --ignore-case-sync 12388 .PP 12389 Using this option will cause rclone to ignore the case of the files when 12390 synchronizing so files will not be copied/synced when the existing 12391 filenames are the same, even if the casing is different. 12392 .SS --ignore-checksum 12393 .PP 12394 Normally rclone will check that the checksums of transferred files 12395 match, and give an error \[dq]corrupted on transfer\[dq] if they 12396 don\[aq]t. 12397 .PP 12398 You can use this option to skip that check. 12399 You should only use it if you have had the \[dq]corrupted on 12400 transfer\[dq] error message and you are sure you might want to transfer 12401 potentially corrupted data. 12402 .SS --ignore-existing 12403 .PP 12404 Using this option will make rclone unconditionally skip all files that 12405 exist on the destination, no matter the content of these files. 12406 .PP 12407 While this isn\[aq]t a generally recommended option, it can be useful in 12408 cases where your files change due to encryption. 12409 However, it cannot correct partial transfers in case a transfer was 12410 interrupted. 12411 .PP 12412 When performing a \f[C]move\f[R]/\f[C]moveto\f[R] command, this flag 12413 will leave skipped files in the source location unchanged when a file 12414 with the same name exists on the destination. 12415 .SS --ignore-size 12416 .PP 12417 Normally rclone will look at modification time and size of files to see 12418 if they are equal. 12419 If you set this flag then rclone will check only the modification time. 12420 If \f[C]--checksum\f[R] is set then it only checks the checksum. 12421 .PP 12422 It will also cause rclone to skip verifying the sizes are the same after 12423 transfer. 12424 .PP 12425 This can be useful for transferring files to and from OneDrive which 12426 occasionally misreports the size of image files (see 12427 #399 (https://github.com/divyam234/rclone/issues/399) for more info). 12428 .SS -I, --ignore-times 12429 .PP 12430 Using this option will cause rclone to unconditionally upload all files 12431 regardless of the state of files on the destination. 12432 .PP 12433 Normally rclone would skip any files that have the same modification 12434 time and are the same size (or have the same checksum if using 12435 \f[C]--checksum\f[R]). 12436 .SS --immutable 12437 .PP 12438 Treat source and destination files as immutable and disallow 12439 modification. 12440 .PP 12441 With this option set, files will be created and deleted as requested, 12442 but existing files will never be updated. 12443 If an existing file does not match between the source and destination, 12444 rclone will give the error 12445 \f[C]Source and destination exist but do not match: immutable file modified\f[R]. 12446 .PP 12447 Note that only commands which transfer files (e.g. 12448 \f[C]sync\f[R], \f[C]copy\f[R], \f[C]move\f[R]) are affected by this 12449 behavior, and only modification is disallowed. 12450 Files may still be deleted explicitly (e.g. 12451 \f[C]delete\f[R], \f[C]purge\f[R]) or implicitly (e.g. 12452 \f[C]sync\f[R], \f[C]move\f[R]). 12453 Use \f[C]copy --immutable\f[R] if it is desired to avoid deletion as 12454 well as modification. 12455 .PP 12456 This can be useful as an additional layer of protection for immutable or 12457 append-only data sets (notably backup archives), where modification 12458 implies corruption and should not be propagated. 12459 .SS --inplace 12460 .PP 12461 The \f[C]--inplace\f[R] flag changes the behaviour of rclone when 12462 uploading files to some backends (backends with the 12463 \f[C]PartialUploads\f[R] feature flag set) such as: 12464 .IP \[bu] 2 12465 local 12466 .IP \[bu] 2 12467 ftp 12468 .IP \[bu] 2 12469 sftp 12470 .PP 12471 Without \f[C]--inplace\f[R] (the default) rclone will first upload to a 12472 temporary file with an extension like this where \f[C]XXXXXX\f[R] 12473 represents a random string. 12474 .IP 12475 .nf 12476 \f[C] 12477 original-file-name.XXXXXX.partial 12478 \f[R] 12479 .fi 12480 .PP 12481 (rclone will make sure the final name is no longer than 100 characters 12482 by truncating the \f[C]original-file-name\f[R] part if necessary). 12483 .PP 12484 When the upload is complete, rclone will rename the \f[C].partial\f[R] 12485 file to the correct name, overwriting any existing file at that point. 12486 If the upload fails then the \f[C].partial\f[R] file will be deleted. 12487 .PP 12488 This prevents other users of the backend from seeing partially uploaded 12489 files in their new names and prevents overwriting the old file until the 12490 new one is completely uploaded. 12491 .PP 12492 If the \f[C]--inplace\f[R] flag is supplied, rclone will upload directly 12493 to the final name without creating a \f[C].partial\f[R] file. 12494 .PP 12495 This means that an incomplete file will be visible in the directory 12496 listings while the upload is in progress and any existing files will be 12497 overwritten as soon as the upload starts. 12498 If the transfer fails then the file will be deleted. 12499 This can cause data loss of the existing file if the transfer fails. 12500 .PP 12501 Note that on the local file system if you don\[aq]t use 12502 \f[C]--inplace\f[R] hard links (Unix only) will be broken. 12503 And if you do use \f[C]--inplace\f[R] you won\[aq]t be able to update in 12504 use executables. 12505 .PP 12506 Note also that versions of rclone prior to v1.63.0 behave as if the 12507 \f[C]--inplace\f[R] flag is always supplied. 12508 .SS -i, --interactive 12509 .PP 12510 This flag can be used to tell rclone that you wish a manual confirmation 12511 before destructive operations. 12512 .PP 12513 It is \f[B]recommended\f[R] that you use this flag while learning rclone 12514 especially with \f[C]rclone sync\f[R]. 12515 .PP 12516 For example 12517 .IP 12518 .nf 12519 \f[C] 12520 $ rclone delete --interactive /tmp/dir 12521 rclone: delete \[dq]important-file.txt\[dq]? 12522 y) Yes, this is OK (default) 12523 n) No, skip this 12524 s) Skip all delete operations with no more questions 12525 !) Do all delete operations with no more questions 12526 q) Exit rclone now. 12527 y/n/s/!/q> n 12528 \f[R] 12529 .fi 12530 .PP 12531 The options mean 12532 .IP \[bu] 2 12533 \f[C]y\f[R]: \f[B]Yes\f[R], this operation should go ahead. 12534 You can also press Return for this to happen. 12535 You\[aq]ll be asked every time unless you choose \f[C]s\f[R] or 12536 \f[C]!\f[R]. 12537 .IP \[bu] 2 12538 \f[C]n\f[R]: \f[B]No\f[R], do not do this operation. 12539 You\[aq]ll be asked every time unless you choose \f[C]s\f[R] or 12540 \f[C]!\f[R]. 12541 .IP \[bu] 2 12542 \f[C]s\f[R]: \f[B]Skip\f[R] all the following operations of this type 12543 with no more questions. 12544 This takes effect until rclone exits. 12545 If there are any different kind of operations you\[aq]ll be prompted for 12546 them. 12547 .IP \[bu] 2 12548 \f[C]!\f[R]: \f[B]Do all\f[R] the following operations with no more 12549 questions. 12550 Useful if you\[aq]ve decided that you don\[aq]t mind rclone doing that 12551 kind of operation. 12552 This takes effect until rclone exits . 12553 If there are any different kind of operations you\[aq]ll be prompted for 12554 them. 12555 .IP \[bu] 2 12556 \f[C]q\f[R]: \f[B]Quit\f[R] rclone now, just in case! 12557 .SS --leave-root 12558 .PP 12559 During rmdirs it will not remove root directory, even if it\[aq]s empty. 12560 .SS --log-file=FILE 12561 .PP 12562 Log all of rclone\[aq]s output to FILE. 12563 This is not active by default. 12564 This can be useful for tracking down problems with syncs in combination 12565 with the \f[C]-v\f[R] flag. 12566 See the Logging section for more info. 12567 .PP 12568 If FILE exists then rclone will append to it. 12569 .PP 12570 Note that if you are using the \f[C]logrotate\f[R] program to manage 12571 rclone\[aq]s logs, then you should use the \f[C]copytruncate\f[R] option 12572 as rclone doesn\[aq]t have a signal to rotate logs. 12573 .SS --log-format LIST 12574 .PP 12575 Comma separated list of log format options. 12576 Accepted options are \f[C]date\f[R], \f[C]time\f[R], 12577 \f[C]microseconds\f[R], \f[C]pid\f[R], \f[C]longfile\f[R], 12578 \f[C]shortfile\f[R], \f[C]UTC\f[R]. 12579 Any other keywords will be silently ignored. 12580 \f[C]pid\f[R] will tag log messages with process identifier which useful 12581 with \f[C]rclone mount --daemon\f[R]. 12582 Other accepted options are explained in the go 12583 documentation (https://pkg.go.dev/log#pkg-constants). 12584 The default log format is \[dq]\f[C]date\f[R],\f[C]time\f[R]\[dq]. 12585 .SS --log-level LEVEL 12586 .PP 12587 This sets the log level for rclone. 12588 The default log level is \f[C]NOTICE\f[R]. 12589 .PP 12590 \f[C]DEBUG\f[R] is equivalent to \f[C]-vv\f[R]. 12591 It outputs lots of debug info - useful for bug reports and really 12592 finding out what rclone is doing. 12593 .PP 12594 \f[C]INFO\f[R] is equivalent to \f[C]-v\f[R]. 12595 It outputs information about each transfer and prints stats once a 12596 minute by default. 12597 .PP 12598 \f[C]NOTICE\f[R] is the default log level if no logging flags are 12599 supplied. 12600 It outputs very little when things are working normally. 12601 It outputs warnings and significant events. 12602 .PP 12603 \f[C]ERROR\f[R] is equivalent to \f[C]-q\f[R]. 12604 It only outputs error messages. 12605 .SS --use-json-log 12606 .PP 12607 This switches the log format to JSON for rclone. 12608 The fields of json log are level, msg, source, time. 12609 .SS --low-level-retries NUMBER 12610 .PP 12611 This controls the number of low level retries rclone does. 12612 .PP 12613 A low level retry is used to retry a failing operation - typically one 12614 HTTP request. 12615 This might be uploading a chunk of a big file for example. 12616 You will see low level retries in the log with the \f[C]-v\f[R] flag. 12617 .PP 12618 This shouldn\[aq]t need to be changed from the default in normal 12619 operations. 12620 However, if you get a lot of low level retries you may wish to reduce 12621 the value so rclone moves on to a high level retry (see the 12622 \f[C]--retries\f[R] flag) quicker. 12623 .PP 12624 Disable low level retries with \f[C]--low-level-retries 1\f[R]. 12625 .SS --max-backlog=N 12626 .PP 12627 This is the maximum allowable backlog of files in a sync/copy/move 12628 queued for being checked or transferred. 12629 .PP 12630 This can be set arbitrarily large. 12631 It will only use memory when the queue is in use. 12632 Note that it will use in the order of N KiB of memory when the backlog 12633 is in use. 12634 .PP 12635 Setting this large allows rclone to calculate how many files are pending 12636 more accurately, give a more accurate estimated finish time and make 12637 \f[C]--order-by\f[R] work more accurately. 12638 .PP 12639 Setting this small will make rclone more synchronous to the listings of 12640 the remote which may be desirable. 12641 .PP 12642 Setting this to a negative number will make the backlog as large as 12643 possible. 12644 .SS --max-delete=N 12645 .PP 12646 This tells rclone not to delete more than N files. 12647 If that limit is exceeded then a fatal error will be generated and 12648 rclone will stop the operation in progress. 12649 .SS --max-delete-size=SIZE 12650 .PP 12651 Rclone will stop deleting files when the total size of deletions has 12652 reached the size specified. 12653 It defaults to off. 12654 .PP 12655 If that limit is exceeded then a fatal error will be generated and 12656 rclone will stop the operation in progress. 12657 .SS --max-depth=N 12658 .PP 12659 This modifies the recursion depth for all the commands except purge. 12660 .PP 12661 So if you do \f[C]rclone --max-depth 1 ls remote:path\f[R] you will see 12662 only the files in the top level directory. 12663 Using \f[C]--max-depth 2\f[R] means you will see all the files in first 12664 two directory levels and so on. 12665 .PP 12666 For historical reasons the \f[C]lsd\f[R] command defaults to using a 12667 \f[C]--max-depth\f[R] of 1 - you can override this with the command line 12668 flag. 12669 .PP 12670 You can use this command to disable recursion (with 12671 \f[C]--max-depth 1\f[R]). 12672 .PP 12673 Note that if you use this with \f[C]sync\f[R] and 12674 \f[C]--delete-excluded\f[R] the files not recursed through are 12675 considered excluded and will be deleted on the destination. 12676 Test first with \f[C]--dry-run\f[R] if you are not sure what will 12677 happen. 12678 .SS --max-duration=TIME 12679 .PP 12680 Rclone will stop scheduling new transfers when it has run for the 12681 duration specified. 12682 .PP 12683 Defaults to off. 12684 .PP 12685 When the limit is reached any existing transfers will complete. 12686 .PP 12687 Rclone won\[aq]t exit with an error if the transfer limit is reached. 12688 .SS --max-transfer=SIZE 12689 .PP 12690 Rclone will stop transferring when it has reached the size specified. 12691 Defaults to off. 12692 .PP 12693 When the limit is reached all transfers will stop immediately. 12694 .PP 12695 Rclone will exit with exit code 8 if the transfer limit is reached. 12696 .SS -M, --metadata 12697 .PP 12698 Setting this flag enables rclone to copy the metadata from the source to 12699 the destination. 12700 For local backends this is ownership, permissions, xattr etc. 12701 See the #metadata for more info. 12702 .SS --metadata-set key=value 12703 .PP 12704 Add metadata \f[C]key\f[R] = \f[C]value\f[R] when uploading. 12705 This can be repeated as many times as required. 12706 See the #metadata for more info. 12707 .SS --cutoff-mode=hard|soft|cautious 12708 .PP 12709 This modifies the behavior of \f[C]--max-transfer\f[R] Defaults to 12710 \f[C]--cutoff-mode=hard\f[R]. 12711 .PP 12712 Specifying \f[C]--cutoff-mode=hard\f[R] will stop transferring 12713 immediately when Rclone reaches the limit. 12714 .PP 12715 Specifying \f[C]--cutoff-mode=soft\f[R] will stop starting new transfers 12716 when Rclone reaches the limit. 12717 .PP 12718 Specifying \f[C]--cutoff-mode=cautious\f[R] will try to prevent Rclone 12719 from reaching the limit. 12720 .SS --modify-window=TIME 12721 .PP 12722 When checking whether a file has been modified, this is the maximum 12723 allowed time difference that a file can have and still be considered 12724 equivalent. 12725 .PP 12726 The default is \f[C]1ns\f[R] unless this is overridden by a remote. 12727 For example OS X only stores modification times to the nearest second so 12728 if you are reading and writing to an OS X filing system this will be 12729 \f[C]1s\f[R] by default. 12730 .PP 12731 This command line flag allows you to override that computed default. 12732 .SS --multi-thread-write-buffer-size=SIZE 12733 .PP 12734 When downloading with multiple threads, rclone will buffer SIZE bytes in 12735 memory before writing to disk for each thread. 12736 .PP 12737 This can improve performance if the underlying filesystem does not deal 12738 well with a lot of small writes in different positions of the file, so 12739 if you see downloads being limited by disk write speed, you might want 12740 to experiment with different values. 12741 Specially for magnetic drives and remote file systems a higher value can 12742 be useful. 12743 .PP 12744 Nevertheless, the default of \f[C]128k\f[R] should be fine for almost 12745 all use cases, so before changing it ensure that network is not really 12746 your bottleneck. 12747 .PP 12748 As a final hint, size is not the only factor: block size (or similar 12749 concept) can have an impact. 12750 In one case, we observed that exact multiples of 16k performed much 12751 better than other values. 12752 .SS --multi-thread-cutoff=SIZE 12753 .PP 12754 When downloading files to the local backend above this size, rclone will 12755 use multiple threads to download the file (default 250M). 12756 .PP 12757 Rclone preallocates the file (using 12758 \f[C]fallocate(FALLOC_FL_KEEP_SIZE)\f[R] on unix or 12759 \f[C]NTSetInformationFile\f[R] on Windows both of which takes no time) 12760 then each thread writes directly into the file at the correct place. 12761 This means that rclone won\[aq]t create fragmented or sparse files and 12762 there won\[aq]t be any assembly time at the end of the transfer. 12763 .PP 12764 The number of threads used to download is controlled by 12765 \f[C]--multi-thread-streams\f[R]. 12766 .PP 12767 Use \f[C]-vv\f[R] if you wish to see info about the threads. 12768 .PP 12769 This will work with the \f[C]sync\f[R]/\f[C]copy\f[R]/\f[C]move\f[R] 12770 commands and friends \f[C]copyto\f[R]/\f[C]moveto\f[R]. 12771 Multi thread downloads will be used with \f[C]rclone mount\f[R] and 12772 \f[C]rclone serve\f[R] if \f[C]--vfs-cache-mode\f[R] is set to 12773 \f[C]writes\f[R] or above. 12774 .PP 12775 \f[B]NB\f[R] that this \f[B]only\f[R] works for a local destination but 12776 will work with any source. 12777 .PP 12778 \f[B]NB\f[R] that multi thread copies are disabled for local to local 12779 copies as they are faster without unless 12780 \f[C]--multi-thread-streams\f[R] is set explicitly. 12781 .PP 12782 \f[B]NB\f[R] on Windows using multi-thread downloads will cause the 12783 resulting files to be 12784 sparse (https://en.wikipedia.org/wiki/Sparse_file). 12785 Use \f[C]--local-no-sparse\f[R] to disable sparse files (which may cause 12786 long delays at the start of downloads) or disable multi-thread downloads 12787 with \f[C]--multi-thread-streams 0\f[R] 12788 .SS --multi-thread-streams=N 12789 .PP 12790 When using multi thread downloads (see above 12791 \f[C]--multi-thread-cutoff\f[R]) this sets the maximum number of streams 12792 to use. 12793 Set to \f[C]0\f[R] to disable multi thread downloads (Default 4). 12794 .PP 12795 Exactly how many streams rclone uses for the download depends on the 12796 size of the file. 12797 To calculate the number of download streams Rclone divides the size of 12798 the file by the \f[C]--multi-thread-cutoff\f[R] and rounds up, up to the 12799 maximum set with \f[C]--multi-thread-streams\f[R]. 12800 .PP 12801 So if \f[C]--multi-thread-cutoff 250M\f[R] and 12802 \f[C]--multi-thread-streams 4\f[R] are in effect (the defaults): 12803 .IP \[bu] 2 12804 0..250 MiB files will be downloaded with 1 stream 12805 .IP \[bu] 2 12806 250..500 MiB files will be downloaded with 2 streams 12807 .IP \[bu] 2 12808 500..750 MiB files will be downloaded with 3 streams 12809 .IP \[bu] 2 12810 750+ MiB files will be downloaded with 4 streams 12811 .SS --no-check-dest 12812 .PP 12813 The \f[C]--no-check-dest\f[R] can be used with \f[C]move\f[R] or 12814 \f[C]copy\f[R] and it causes rclone not to check the destination at all 12815 when copying files. 12816 .PP 12817 This means that: 12818 .IP \[bu] 2 12819 the destination is not listed minimising the API calls 12820 .IP \[bu] 2 12821 files are always transferred 12822 .IP \[bu] 2 12823 this can cause duplicates on remotes which allow it (e.g. 12824 Google Drive) 12825 .IP \[bu] 2 12826 \f[C]--retries 1\f[R] is recommended otherwise you\[aq]ll transfer 12827 everything again on a retry 12828 .PP 12829 This flag is useful to minimise the transactions if you know that none 12830 of the files are on the destination. 12831 .PP 12832 This is a specialized flag which should be ignored by most users! 12833 .SS --no-gzip-encoding 12834 .PP 12835 Don\[aq]t set \f[C]Accept-Encoding: gzip\f[R]. 12836 This means that rclone won\[aq]t ask the server for compressed files 12837 automatically. 12838 Useful if you\[aq]ve set the server to return files with 12839 \f[C]Content-Encoding: gzip\f[R] but you uploaded compressed files. 12840 .PP 12841 There is no need to set this in normal operation, and doing so will 12842 decrease the network transfer efficiency of rclone. 12843 .SS --no-traverse 12844 .PP 12845 The \f[C]--no-traverse\f[R] flag controls whether the destination file 12846 system is traversed when using the \f[C]copy\f[R] or \f[C]move\f[R] 12847 commands. 12848 \f[C]--no-traverse\f[R] is not compatible with \f[C]sync\f[R] and will 12849 be ignored if you supply it with \f[C]sync\f[R]. 12850 .PP 12851 If you are only copying a small number of files (or are filtering most 12852 of the files) and/or have a large number of files on the destination 12853 then \f[C]--no-traverse\f[R] will stop rclone listing the destination 12854 and save time. 12855 .PP 12856 However, if you are copying a large number of files, especially if you 12857 are doing a copy where lots of the files under consideration haven\[aq]t 12858 changed and won\[aq]t need copying then you shouldn\[aq]t use 12859 \f[C]--no-traverse\f[R]. 12860 .PP 12861 See rclone copy (https://rclone.org/commands/rclone_copy/) for an 12862 example of how to use it. 12863 .SS --no-unicode-normalization 12864 .PP 12865 Don\[aq]t normalize unicode characters in filenames during the sync 12866 routine. 12867 .PP 12868 Sometimes, an operating system will store filenames containing unicode 12869 parts in their decomposed form (particularly macOS). 12870 Some cloud storage systems will then recompose the unicode, resulting in 12871 duplicate files if the data is ever copied back to a local filesystem. 12872 .PP 12873 Using this flag will disable that functionality, treating each unicode 12874 character as unique. 12875 For example, by default e\[u0301] and \['e] will be normalized into the 12876 same character. 12877 With \f[C]--no-unicode-normalization\f[R] they will be treated as unique 12878 characters. 12879 .SS --no-update-modtime 12880 .PP 12881 When using this flag, rclone won\[aq]t update modification times of 12882 remote files if they are incorrect as it would normally. 12883 .PP 12884 This can be used if the remote is being synced with another tool also 12885 (e.g. 12886 the Google Drive client). 12887 .SS --order-by string 12888 .PP 12889 The \f[C]--order-by\f[R] flag controls the order in which files in the 12890 backlog are processed in \f[C]rclone sync\f[R], \f[C]rclone copy\f[R] 12891 and \f[C]rclone move\f[R]. 12892 .PP 12893 The order by string is constructed like this. 12894 The first part describes what aspect is being measured: 12895 .IP \[bu] 2 12896 \f[C]size\f[R] - order by the size of the files 12897 .IP \[bu] 2 12898 \f[C]name\f[R] - order by the full path of the files 12899 .IP \[bu] 2 12900 \f[C]modtime\f[R] - order by the modification date of the files 12901 .PP 12902 This can have a modifier appended with a comma: 12903 .IP \[bu] 2 12904 \f[C]ascending\f[R] or \f[C]asc\f[R] - order so that the smallest (or 12905 oldest) is processed first 12906 .IP \[bu] 2 12907 \f[C]descending\f[R] or \f[C]desc\f[R] - order so that the largest (or 12908 newest) is processed first 12909 .IP \[bu] 2 12910 \f[C]mixed\f[R] - order so that the smallest is processed first for some 12911 threads and the largest for others 12912 .PP 12913 If the modifier is \f[C]mixed\f[R] then it can have an optional 12914 percentage (which defaults to \f[C]50\f[R]), e.g. 12915 \f[C]size,mixed,25\f[R] which means that 25% of the threads should be 12916 taking the smallest items and 75% the largest. 12917 The threads which take the smallest first will always take the smallest 12918 first and likewise the largest first threads. 12919 The \f[C]mixed\f[R] mode can be useful to minimise the transfer time 12920 when you are transferring a mixture of large and small files - the large 12921 files are guaranteed upload threads and bandwidth and the small files 12922 will be processed continuously. 12923 .PP 12924 If no modifier is supplied then the order is \f[C]ascending\f[R]. 12925 .PP 12926 For example 12927 .IP \[bu] 2 12928 \f[C]--order-by size,desc\f[R] - send the largest files first 12929 .IP \[bu] 2 12930 \f[C]--order-by modtime,ascending\f[R] - send the oldest files first 12931 .IP \[bu] 2 12932 \f[C]--order-by name\f[R] - send the files with alphabetically by path 12933 first 12934 .PP 12935 If the \f[C]--order-by\f[R] flag is not supplied or it is supplied with 12936 an empty string then the default ordering will be used which is as 12937 scanned. 12938 With \f[C]--checkers 1\f[R] this is mostly alphabetical, however with 12939 the default \f[C]--checkers 8\f[R] it is somewhat random. 12940 .SS Limitations 12941 .PP 12942 The \f[C]--order-by\f[R] flag does not do a separate pass over the data. 12943 This means that it may transfer some files out of the order specified if 12944 .IP \[bu] 2 12945 there are no files in the backlog or the source has not been fully 12946 scanned yet 12947 .IP \[bu] 2 12948 there are more than --max-backlog files in the backlog 12949 .PP 12950 Rclone will do its best to transfer the best file it has so in practice 12951 this should not cause a problem. 12952 Think of \f[C]--order-by\f[R] as being more of a best efforts flag 12953 rather than a perfect ordering. 12954 .PP 12955 If you want perfect ordering then you will need to specify --check-first 12956 which will find all the files which need transferring first before 12957 transferring any. 12958 .SS --password-command SpaceSepList 12959 .PP 12960 This flag supplies a program which should supply the config password 12961 when run. 12962 This is an alternative to rclone prompting for the password or setting 12963 the \f[C]RCLONE_CONFIG_PASS\f[R] variable. 12964 .PP 12965 The argument to this should be a command with a space separated list of 12966 arguments. 12967 If one of the arguments has a space in then enclose it in 12968 \f[C]\[dq]\f[R], if you want a literal \f[C]\[dq]\f[R] in an argument 12969 then enclose the argument in \f[C]\[dq]\f[R] and double the 12970 \f[C]\[dq]\f[R]. 12971 See CSV encoding (https://godoc.org/encoding/csv) for more info. 12972 .PP 12973 Eg 12974 .IP 12975 .nf 12976 \f[C] 12977 --password-command echo hello 12978 --password-command echo \[dq]hello with space\[dq] 12979 --password-command echo \[dq]hello with \[dq]\[dq]quotes\[dq]\[dq] and space\[dq] 12980 \f[R] 12981 .fi 12982 .PP 12983 See the Configuration Encryption for more info. 12984 .PP 12985 See a Windows PowerShell example on the 12986 Wiki (https://github.com/divyam234/rclone/wiki/Windows-Powershell-use-rclone-password-command-for-Config-file-password). 12987 .SS -P, --progress 12988 .PP 12989 This flag makes rclone update the stats in a static block in the 12990 terminal providing a realtime overview of the transfer. 12991 .PP 12992 Any log messages will scroll above the static block. 12993 Log messages will push the static block down to the bottom of the 12994 terminal where it will stay. 12995 .PP 12996 Normally this is updated every 500mS but this period can be overridden 12997 with the \f[C]--stats\f[R] flag. 12998 .PP 12999 This can be used with the \f[C]--stats-one-line\f[R] flag for a simpler 13000 display. 13001 .PP 13002 Note: On Windows until this 13003 bug (https://github.com/Azure/go-ansiterm/issues/26) is fixed all 13004 non-ASCII characters will be replaced with \f[C].\f[R] when 13005 \f[C]--progress\f[R] is in use. 13006 .SS --progress-terminal-title 13007 .PP 13008 This flag, when used with \f[C]-P/--progress\f[R], will print the string 13009 \f[C]ETA: %s\f[R] to the terminal title. 13010 .SS -q, --quiet 13011 .PP 13012 This flag will limit rclone\[aq]s output to error messages only. 13013 .SS --refresh-times 13014 .PP 13015 The \f[C]--refresh-times\f[R] flag can be used to update modification 13016 times of existing files when they are out of sync on backends which 13017 don\[aq]t support hashes. 13018 .PP 13019 This is useful if you uploaded files with the incorrect timestamps and 13020 you now wish to correct them. 13021 .PP 13022 This flag is \f[B]only\f[R] useful for destinations which don\[aq]t 13023 support hashes (e.g. 13024 \f[C]crypt\f[R]). 13025 .PP 13026 This can be used any of the sync commands \f[C]sync\f[R], \f[C]copy\f[R] 13027 or \f[C]move\f[R]. 13028 .PP 13029 To use this flag you will need to be doing a modification time sync (so 13030 not using \f[C]--size-only\f[R] or \f[C]--checksum\f[R]). 13031 The flag will have no effect when using \f[C]--size-only\f[R] or 13032 \f[C]--checksum\f[R]. 13033 .PP 13034 If this flag is used when rclone comes to upload a file it will check to 13035 see if there is an existing file on the destination. 13036 If this file matches the source with size (and checksum if available) 13037 but has a differing timestamp then instead of re-uploading it, rclone 13038 will update the timestamp on the destination file. 13039 If the checksum does not match rclone will upload the new file. 13040 If the checksum is absent (e.g. 13041 on a \f[C]crypt\f[R] backend) then rclone will update the timestamp. 13042 .PP 13043 Note that some remotes can\[aq]t set the modification time without 13044 re-uploading the file so this flag is less useful on them. 13045 .PP 13046 Normally if you are doing a modification time sync rclone will update 13047 modification times without \f[C]--refresh-times\f[R] provided that the 13048 remote supports checksums \f[B]and\f[R] the checksums match on the file. 13049 However if the checksums are absent then rclone will upload the file 13050 rather than setting the timestamp as this is the safe behaviour. 13051 .SS --retries int 13052 .PP 13053 Retry the entire sync if it fails this many times it fails (default 3). 13054 .PP 13055 Some remotes can be unreliable and a few retries help pick up the files 13056 which didn\[aq]t get transferred because of errors. 13057 .PP 13058 Disable retries with \f[C]--retries 1\f[R]. 13059 .SS --retries-sleep=TIME 13060 .PP 13061 This sets the interval between each retry specified by 13062 \f[C]--retries\f[R] 13063 .PP 13064 The default is \f[C]0\f[R]. 13065 Use \f[C]0\f[R] to disable. 13066 .SS --server-side-across-configs 13067 .PP 13068 Allow server-side operations (e.g. 13069 copy or move) to work across different configurations. 13070 .PP 13071 This can be useful if you wish to do a server-side copy or move between 13072 two remotes which use the same backend but are configured differently. 13073 .PP 13074 Note that this isn\[aq]t enabled by default because it isn\[aq]t easy 13075 for rclone to tell if it will work between any two configurations. 13076 .SS --size-only 13077 .PP 13078 Normally rclone will look at modification time and size of files to see 13079 if they are equal. 13080 If you set this flag then rclone will check only the size. 13081 .PP 13082 This can be useful transferring files from Dropbox which have been 13083 modified by the desktop sync client which doesn\[aq]t set checksums of 13084 modification times in the same way as rclone. 13085 .SS --stats=TIME 13086 .PP 13087 Commands which transfer data (\f[C]sync\f[R], \f[C]copy\f[R], 13088 \f[C]copyto\f[R], \f[C]move\f[R], \f[C]moveto\f[R]) will print data 13089 transfer stats at regular intervals to show their progress. 13090 .PP 13091 This sets the interval. 13092 .PP 13093 The default is \f[C]1m\f[R]. 13094 Use \f[C]0\f[R] to disable. 13095 .PP 13096 If you set the stats interval then all commands can show stats. 13097 This can be useful when running other commands, \f[C]check\f[R] or 13098 \f[C]mount\f[R] for example. 13099 .PP 13100 Stats are logged at \f[C]INFO\f[R] level by default which means they 13101 won\[aq]t show at default log level \f[C]NOTICE\f[R]. 13102 Use \f[C]--stats-log-level NOTICE\f[R] or \f[C]-v\f[R] to make them 13103 show. 13104 See the Logging section for more info on log levels. 13105 .PP 13106 Note that on macOS you can send a SIGINFO (which is normally ctrl-T in 13107 the terminal) to make the stats print immediately. 13108 .SS --stats-file-name-length integer 13109 .PP 13110 By default, the \f[C]--stats\f[R] output will truncate file names and 13111 paths longer than 40 characters. 13112 This is equivalent to providing \f[C]--stats-file-name-length 40\f[R]. 13113 Use \f[C]--stats-file-name-length 0\f[R] to disable any truncation of 13114 file names printed by stats. 13115 .SS --stats-log-level string 13116 .PP 13117 Log level to show \f[C]--stats\f[R] output at. 13118 This can be \f[C]DEBUG\f[R], \f[C]INFO\f[R], \f[C]NOTICE\f[R], or 13119 \f[C]ERROR\f[R]. 13120 The default is \f[C]INFO\f[R]. 13121 This means at the default level of logging which is \f[C]NOTICE\f[R] the 13122 stats won\[aq]t show - if you want them to then use 13123 \f[C]--stats-log-level NOTICE\f[R]. 13124 See the Logging section for more info on log levels. 13125 .SS --stats-one-line 13126 .PP 13127 When this is specified, rclone condenses the stats into a single line 13128 showing the most important stats only. 13129 .SS --stats-one-line-date 13130 .PP 13131 When this is specified, rclone enables the single-line stats and 13132 prepends the display with a date string. 13133 The default is \f[C]2006/01/02 15:04:05 -\f[R] 13134 .SS --stats-one-line-date-format 13135 .PP 13136 When this is specified, rclone enables the single-line stats and 13137 prepends the display with a user-supplied date string. 13138 The date string MUST be enclosed in quotes. 13139 Follow golang specs (https://golang.org/pkg/time/#Time.Format) for date 13140 formatting syntax. 13141 .SS --stats-unit=bits|bytes 13142 .PP 13143 By default, data transfer rates will be printed in bytes per second. 13144 .PP 13145 This option allows the data rate to be printed in bits per second. 13146 .PP 13147 Data transfer volume will still be reported in bytes. 13148 .PP 13149 The rate is reported as a binary unit, not SI unit. 13150 So 1 Mbit/s equals 1,048,576 bit/s and not 1,000,000 bit/s. 13151 .PP 13152 The default is \f[C]bytes\f[R]. 13153 .SS --suffix=SUFFIX 13154 .PP 13155 When using \f[C]sync\f[R], \f[C]copy\f[R] or \f[C]move\f[R] any files 13156 which would have been overwritten or deleted will have the suffix added 13157 to them. 13158 If there is a file with the same path (after the suffix has been added), 13159 then it will be overwritten. 13160 .PP 13161 The remote in use must support server-side move or copy and you must use 13162 the same remote as the destination of the sync. 13163 .PP 13164 This is for use with files to add the suffix in the current directory or 13165 with \f[C]--backup-dir\f[R]. 13166 See \f[C]--backup-dir\f[R] for more info. 13167 .PP 13168 For example 13169 .IP 13170 .nf 13171 \f[C] 13172 rclone copy --interactive /path/to/local/file remote:current --suffix .bak 13173 \f[R] 13174 .fi 13175 .PP 13176 will copy \f[C]/path/to/local\f[R] to \f[C]remote:current\f[R], but for 13177 any files which would have been updated or deleted have .bak added. 13178 .PP 13179 If using \f[C]rclone sync\f[R] with \f[C]--suffix\f[R] and without 13180 \f[C]--backup-dir\f[R] then it is recommended to put a filter rule in 13181 excluding the suffix otherwise the \f[C]sync\f[R] will delete the backup 13182 files. 13183 .IP 13184 .nf 13185 \f[C] 13186 rclone sync --interactive /path/to/local/file remote:current --suffix .bak --exclude \[dq]*.bak\[dq] 13187 \f[R] 13188 .fi 13189 .SS --suffix-keep-extension 13190 .PP 13191 When using \f[C]--suffix\f[R], setting this causes rclone put the SUFFIX 13192 before the extension of the files that it backs up rather than after. 13193 .PP 13194 So let\[aq]s say we had \f[C]--suffix -2019-01-01\f[R], without the flag 13195 \f[C]file.txt\f[R] would be backed up to \f[C]file.txt-2019-01-01\f[R] 13196 and with the flag it would be backed up to 13197 \f[C]file-2019-01-01.txt\f[R]. 13198 This can be helpful to make sure the suffixed files can still be opened. 13199 .PP 13200 If a file has two (or more) extensions and the second (or subsequent) 13201 extension is recognised as a valid mime type, then the suffix will go 13202 before that extension. 13203 So \f[C]file.tar.gz\f[R] would be backed up to 13204 \f[C]file-2019-01-01.tar.gz\f[R] whereas \f[C]file.badextension.gz\f[R] 13205 would be backed up to \f[C]file.badextension-2019-01-01.gz\f[R]. 13206 .SS --syslog 13207 .PP 13208 On capable OSes (not Windows or Plan9) send all log output to syslog. 13209 .PP 13210 This can be useful for running rclone in a script or 13211 \f[C]rclone mount\f[R]. 13212 .SS --syslog-facility string 13213 .PP 13214 If using \f[C]--syslog\f[R] this sets the syslog facility (e.g. 13215 \f[C]KERN\f[R], \f[C]USER\f[R]). 13216 See \f[C]man syslog\f[R] for a list of possible facilities. 13217 The default facility is \f[C]DAEMON\f[R]. 13218 .SS --temp-dir=DIR 13219 .PP 13220 Specify the directory rclone will use for temporary files, to override 13221 the default. 13222 Make sure the directory exists and have accessible permissions. 13223 .PP 13224 By default the operating system\[aq]s temp directory will be used: - On 13225 Unix systems, \f[C]$TMPDIR\f[R] if non-empty, else \f[C]/tmp\f[R]. 13226 - On Windows, the first non-empty value from \f[C]%TMP%\f[R], 13227 \f[C]%TEMP%\f[R], \f[C]%USERPROFILE%\f[R], or the Windows directory. 13228 .PP 13229 When overriding the default with this option, the specified path will be 13230 set as value of environment variable \f[C]TMPDIR\f[R] on Unix systems 13231 and \f[C]TMP\f[R] and \f[C]TEMP\f[R] on Windows. 13232 .PP 13233 You can use the config 13234 paths (https://rclone.org/commands/rclone_config_paths/) command to see 13235 the current value. 13236 .SS --tpslimit float 13237 .PP 13238 Limit transactions per second to this number. 13239 Default is 0 which is used to mean unlimited transactions per second. 13240 .PP 13241 A transaction is roughly defined as an API call; its exact meaning will 13242 depend on the backend. 13243 For HTTP based backends it is an HTTP PUT/GET/POST/etc and its response. 13244 For FTP/SFTP it is a round trip transaction over TCP. 13245 .PP 13246 For example, to limit rclone to 10 transactions per second use 13247 \f[C]--tpslimit 10\f[R], or to 1 transaction every 2 seconds use 13248 \f[C]--tpslimit 0.5\f[R]. 13249 .PP 13250 Use this when the number of transactions per second from rclone is 13251 causing a problem with the cloud storage provider (e.g. 13252 getting you banned or rate limited). 13253 .PP 13254 This can be very useful for \f[C]rclone mount\f[R] to control the 13255 behaviour of applications using it. 13256 .PP 13257 This limit applies to all HTTP based backends and to the FTP and SFTP 13258 backends. 13259 It does not apply to the local backend or the Storj backend. 13260 .PP 13261 See also \f[C]--tpslimit-burst\f[R]. 13262 .SS --tpslimit-burst int 13263 .PP 13264 Max burst of transactions for \f[C]--tpslimit\f[R] (default 13265 \f[C]1\f[R]). 13266 .PP 13267 Normally \f[C]--tpslimit\f[R] will do exactly the number of transaction 13268 per second specified. 13269 However if you supply \f[C]--tps-burst\f[R] then rclone can save up some 13270 transactions from when it was idle giving a burst of up to the parameter 13271 supplied. 13272 .PP 13273 For example if you provide \f[C]--tpslimit-burst 10\f[R] then if rclone 13274 has been idle for more than 10*\f[C]--tpslimit\f[R] then it can do 10 13275 transactions very quickly before they are limited again. 13276 .PP 13277 This may be used to increase performance of \f[C]--tpslimit\f[R] without 13278 changing the long term average number of transactions per second. 13279 .SS --track-renames 13280 .PP 13281 By default, rclone doesn\[aq]t keep track of renamed files, so if you 13282 rename a file locally then sync it to a remote, rclone will delete the 13283 old file on the remote and upload a new copy. 13284 .PP 13285 An rclone sync with \f[C]--track-renames\f[R] runs like a normal sync, 13286 but keeps track of objects which exist in the destination but not in the 13287 source (which would normally be deleted), and which objects exist in the 13288 source but not the destination (which would normally be transferred). 13289 These objects are then candidates for renaming. 13290 .PP 13291 After the sync, rclone matches up the source only and destination only 13292 objects using the \f[C]--track-renames-strategy\f[R] specified and 13293 either renames the destination object or transfers the source and 13294 deletes the destination object. 13295 \f[C]--track-renames\f[R] is stateless like all of rclone\[aq]s syncs. 13296 .PP 13297 To use this flag the destination must support server-side copy or 13298 server-side move, and to use a hash based 13299 \f[C]--track-renames-strategy\f[R] (the default) the source and the 13300 destination must have a compatible hash. 13301 .PP 13302 If the destination does not support server-side copy or move, rclone 13303 will fall back to the default behaviour and log an error level message 13304 to the console. 13305 .PP 13306 Encrypted destinations are not currently supported by 13307 \f[C]--track-renames\f[R] if \f[C]--track-renames-strategy\f[R] includes 13308 \f[C]hash\f[R]. 13309 .PP 13310 Note that \f[C]--track-renames\f[R] is incompatible with 13311 \f[C]--no-traverse\f[R] and that it uses extra memory to keep track of 13312 all the rename candidates. 13313 .PP 13314 Note also that \f[C]--track-renames\f[R] is incompatible with 13315 \f[C]--delete-before\f[R] and will select \f[C]--delete-after\f[R] 13316 instead of \f[C]--delete-during\f[R]. 13317 .SS --track-renames-strategy (hash,modtime,leaf,size) 13318 .PP 13319 This option changes the file matching criteria for 13320 \f[C]--track-renames\f[R]. 13321 .PP 13322 The matching is controlled by a comma separated selection of these 13323 tokens: 13324 .IP \[bu] 2 13325 \f[C]modtime\f[R] - the modification time of the file - not supported on 13326 all backends 13327 .IP \[bu] 2 13328 \f[C]hash\f[R] - the hash of the file contents - not supported on all 13329 backends 13330 .IP \[bu] 2 13331 \f[C]leaf\f[R] - the name of the file not including its directory name 13332 .IP \[bu] 2 13333 \f[C]size\f[R] - the size of the file (this is always enabled) 13334 .PP 13335 The default option is \f[C]hash\f[R]. 13336 .PP 13337 Using \f[C]--track-renames-strategy modtime,leaf\f[R] would match files 13338 based on modification time, the leaf of the file name and the size only. 13339 .PP 13340 Using \f[C]--track-renames-strategy modtime\f[R] or \f[C]leaf\f[R] can 13341 enable \f[C]--track-renames\f[R] support for encrypted destinations. 13342 .PP 13343 Note that the \f[C]hash\f[R] strategy is not supported with encrypted 13344 destinations. 13345 .SS --delete-(before,during,after) 13346 .PP 13347 This option allows you to specify when files on your destination are 13348 deleted when you sync folders. 13349 .PP 13350 Specifying the value \f[C]--delete-before\f[R] will delete all files 13351 present on the destination, but not on the source \f[I]before\f[R] 13352 starting the transfer of any new or updated files. 13353 This uses two passes through the file systems, one for the deletions and 13354 one for the copies. 13355 .PP 13356 Specifying \f[C]--delete-during\f[R] will delete files while checking 13357 and uploading files. 13358 This is the fastest option and uses the least memory. 13359 .PP 13360 Specifying \f[C]--delete-after\f[R] (the default value) will delay 13361 deletion of files until all new/updated files have been successfully 13362 transferred. 13363 The files to be deleted are collected in the copy pass then deleted 13364 after the copy pass has completed successfully. 13365 The files to be deleted are held in memory so this mode may use more 13366 memory. 13367 This is the safest mode as it will only delete files if there have been 13368 no errors subsequent to that. 13369 If there have been errors before the deletions start then you will get 13370 the message \f[C]not deleting files as there were IO errors\f[R]. 13371 .SS --fast-list 13372 .PP 13373 When doing anything which involves a directory listing (e.g. 13374 \f[C]sync\f[R], \f[C]copy\f[R], \f[C]ls\f[R] - in fact nearly every 13375 command), rclone normally lists a directory and processes it before 13376 using more directory lists to process any subdirectories. 13377 This can be parallelised and works very quickly using the least amount 13378 of memory. 13379 .PP 13380 However, some remotes have a way of listing all files beneath a 13381 directory in one (or a small number) of transactions. 13382 These tend to be the bucket-based remotes (e.g. 13383 S3, B2, GCS, Swift). 13384 .PP 13385 If you use the \f[C]--fast-list\f[R] flag then rclone will use this 13386 method for listing directories. 13387 This will have the following consequences for the listing: 13388 .IP \[bu] 2 13389 It \f[B]will\f[R] use fewer transactions (important if you pay for them) 13390 .IP \[bu] 2 13391 It \f[B]will\f[R] use more memory. 13392 Rclone has to load the whole listing into memory. 13393 .IP \[bu] 2 13394 It \f[I]may\f[R] be faster because it uses fewer transactions 13395 .IP \[bu] 2 13396 It \f[I]may\f[R] be slower because it can\[aq]t be parallelized 13397 .PP 13398 rclone should always give identical results with and without 13399 \f[C]--fast-list\f[R]. 13400 .PP 13401 If you pay for transactions and can fit your entire sync listing into 13402 memory then \f[C]--fast-list\f[R] is recommended. 13403 If you have a very big sync to do then don\[aq]t use 13404 \f[C]--fast-list\f[R] otherwise you will run out of memory. 13405 .PP 13406 If you use \f[C]--fast-list\f[R] on a remote which doesn\[aq]t support 13407 it, then rclone will just ignore it. 13408 .SS --timeout=TIME 13409 .PP 13410 This sets the IO idle timeout. 13411 If a transfer has started but then becomes idle for this long it is 13412 considered broken and disconnected. 13413 .PP 13414 The default is \f[C]5m\f[R]. 13415 Set to \f[C]0\f[R] to disable. 13416 .SS --transfers=N 13417 .PP 13418 The number of file transfers to run in parallel. 13419 It can sometimes be useful to set this to a smaller number if the remote 13420 is giving a lot of timeouts or bigger if you have lots of bandwidth and 13421 a fast remote. 13422 .PP 13423 The default is to run 4 file transfers in parallel. 13424 .PP 13425 Look at --multi-thread-streams if you would like to control single file 13426 transfers. 13427 .SS -u, --update 13428 .PP 13429 This forces rclone to skip any files which exist on the destination and 13430 have a modified time that is newer than the source file. 13431 .PP 13432 This can be useful in avoiding needless transfers when transferring to a 13433 remote which doesn\[aq]t support modification times directly (or when 13434 using \f[C]--use-server-modtime\f[R] to avoid extra API calls) as it is 13435 more accurate than a \f[C]--size-only\f[R] check and faster than using 13436 \f[C]--checksum\f[R]. 13437 On such remotes (or when using \f[C]--use-server-modtime\f[R]) the time 13438 checked will be the uploaded time. 13439 .PP 13440 If an existing destination file has a modification time older than the 13441 source file\[aq]s, it will be updated if the sizes are different. 13442 If the sizes are the same, it will be updated if the checksum is 13443 different or not available. 13444 .PP 13445 If an existing destination file has a modification time equal (within 13446 the computed modify window) to the source file\[aq]s, it will be updated 13447 if the sizes are different. 13448 The checksum will not be checked in this case unless the 13449 \f[C]--checksum\f[R] flag is provided. 13450 .PP 13451 In all other cases the file will not be updated. 13452 .PP 13453 Consider using the \f[C]--modify-window\f[R] flag to compensate for time 13454 skews between the source and the backend, for backends that do not 13455 support mod times, and instead use uploaded times. 13456 However, if the backend does not support checksums, note that syncing or 13457 copying within the time skew window may still result in additional 13458 transfers for safety. 13459 .SS --use-mmap 13460 .PP 13461 If this flag is set then rclone will use anonymous memory allocated by 13462 mmap on Unix based platforms and VirtualAlloc on Windows for its 13463 transfer buffers (size controlled by \f[C]--buffer-size\f[R]). 13464 Memory allocated like this does not go on the Go heap and can be 13465 returned to the OS immediately when it is finished with. 13466 .PP 13467 If this flag is not set then rclone will allocate and free the buffers 13468 using the Go memory allocator which may use more memory as memory pages 13469 are returned less aggressively to the OS. 13470 .PP 13471 It is possible this does not work well on all platforms so it is 13472 disabled by default; in the future it may be enabled by default. 13473 .SS --use-server-modtime 13474 .PP 13475 Some object-store backends (e.g, Swift, S3) do not preserve file 13476 modification times (modtime). 13477 On these backends, rclone stores the original modtime as additional 13478 metadata on the object. 13479 By default it will make an API call to retrieve the metadata when the 13480 modtime is needed by an operation. 13481 .PP 13482 Use this flag to disable the extra API call and rely instead on the 13483 server\[aq]s modified time. 13484 In cases such as a local to remote sync using \f[C]--update\f[R], 13485 knowing the local file is newer than the time it was last uploaded to 13486 the remote is sufficient. 13487 In those cases, this flag can speed up the process and reduce the number 13488 of API calls necessary. 13489 .PP 13490 Using this flag on a sync operation without also using 13491 \f[C]--update\f[R] would cause all files modified at any time other than 13492 the last upload time to be uploaded again, which is probably not what 13493 you want. 13494 .SS -v, -vv, --verbose 13495 .PP 13496 With \f[C]-v\f[R] rclone will tell you about each file that is 13497 transferred and a small number of significant events. 13498 .PP 13499 With \f[C]-vv\f[R] rclone will become very verbose telling you about 13500 every file it considers and transfers. 13501 Please send bug reports with a log with this setting. 13502 .PP 13503 When setting verbosity as an environment variable, use 13504 \f[C]RCLONE_VERBOSE=1\f[R] or \f[C]RCLONE_VERBOSE=2\f[R] for 13505 \f[C]-v\f[R] and \f[C]-vv\f[R] respectively. 13506 .SS -V, --version 13507 .PP 13508 Prints the version number 13509 .SS SSL/TLS options 13510 .PP 13511 The outgoing SSL/TLS connections rclone makes can be controlled with 13512 these options. 13513 For example this can be very useful with the HTTP or WebDAV backends. 13514 Rclone HTTP servers have their own set of configuration for SSL/TLS 13515 which you can find in their documentation. 13516 .SS --ca-cert stringArray 13517 .PP 13518 This loads the PEM encoded certificate authority certificates and uses 13519 it to verify the certificates of the servers rclone connects to. 13520 .PP 13521 If you have generated certificates signed with a local CA then you will 13522 need this flag to connect to servers using those certificates. 13523 .SS --client-cert string 13524 .PP 13525 This loads the PEM encoded client side certificate. 13526 .PP 13527 This is used for mutual TLS 13528 authentication (https://en.wikipedia.org/wiki/Mutual_authentication). 13529 .PP 13530 The \f[C]--client-key\f[R] flag is required too when using this. 13531 .SS --client-key string 13532 .PP 13533 This loads the PEM encoded client side private key used for mutual TLS 13534 authentication. 13535 Used in conjunction with \f[C]--client-cert\f[R]. 13536 .SS --no-check-certificate=true/false 13537 .PP 13538 \f[C]--no-check-certificate\f[R] controls whether a client verifies the 13539 server\[aq]s certificate chain and host name. 13540 If \f[C]--no-check-certificate\f[R] is true, TLS accepts any certificate 13541 presented by the server and any host name in that certificate. 13542 In this mode, TLS is susceptible to man-in-the-middle attacks. 13543 .PP 13544 This option defaults to \f[C]false\f[R]. 13545 .PP 13546 \f[B]This should be used only for testing.\f[R] 13547 .SS Configuration Encryption 13548 .PP 13549 Your configuration file contains information for logging in to your 13550 cloud services. 13551 This means that you should keep your \f[C]rclone.conf\f[R] file in a 13552 secure location. 13553 .PP 13554 If you are in an environment where that isn\[aq]t possible, you can add 13555 a password to your configuration. 13556 This means that you will have to supply the password every time you 13557 start rclone. 13558 .PP 13559 To add a password to your rclone configuration, execute 13560 \f[C]rclone config\f[R]. 13561 .IP 13562 .nf 13563 \f[C] 13564 >rclone config 13565 Current remotes: 13566 13567 e) Edit existing remote 13568 n) New remote 13569 d) Delete remote 13570 s) Set configuration password 13571 q) Quit config 13572 e/n/d/s/q> 13573 \f[R] 13574 .fi 13575 .PP 13576 Go into \f[C]s\f[R], Set configuration password: 13577 .IP 13578 .nf 13579 \f[C] 13580 e/n/d/s/q> s 13581 Your configuration is not encrypted. 13582 If you add a password, you will protect your login information to cloud services. 13583 a) Add Password 13584 q) Quit to main menu 13585 a/q> a 13586 Enter NEW configuration password: 13587 password: 13588 Confirm NEW password: 13589 password: 13590 Password set 13591 Your configuration is encrypted. 13592 c) Change Password 13593 u) Unencrypt configuration 13594 q) Quit to main menu 13595 c/u/q> 13596 \f[R] 13597 .fi 13598 .PP 13599 Your configuration is now encrypted, and every time you start rclone you 13600 will have to supply the password. 13601 See below for details. 13602 In the same menu, you can change the password or completely remove 13603 encryption from your configuration. 13604 .PP 13605 There is no way to recover the configuration if you lose your password. 13606 .PP 13607 rclone uses nacl 13608 secretbox (https://godoc.org/golang.org/x/crypto/nacl/secretbox) which 13609 in turn uses XSalsa20 and Poly1305 to encrypt and authenticate your 13610 configuration with secret-key cryptography. 13611 The password is SHA-256 hashed, which produces the key for secretbox. 13612 The hashed password is not stored. 13613 .PP 13614 While this provides very good security, we do not recommend storing your 13615 encrypted rclone configuration in public if it contains sensitive 13616 information, maybe except if you use a very strong password. 13617 .PP 13618 If it is safe in your environment, you can set the 13619 \f[C]RCLONE_CONFIG_PASS\f[R] environment variable to contain your 13620 password, in which case it will be used for decrypting the 13621 configuration. 13622 .PP 13623 You can set this for a session from a script. 13624 For unix like systems save this to a file called 13625 \f[C]set-rclone-password\f[R]: 13626 .IP 13627 .nf 13628 \f[C] 13629 #!/bin/echo Source this file don\[aq]t run it 13630 13631 read -s RCLONE_CONFIG_PASS 13632 export RCLONE_CONFIG_PASS 13633 \f[R] 13634 .fi 13635 .PP 13636 Then source the file when you want to use it. 13637 From the shell you would do \f[C]source set-rclone-password\f[R]. 13638 It will then ask you for the password and set it in the environment 13639 variable. 13640 .PP 13641 An alternate means of supplying the password is to provide a script 13642 which will retrieve the password and print on standard output. 13643 This script should have a fully specified path name and not rely on any 13644 environment variables. 13645 The script is supplied either via 13646 \f[C]--password-command=\[dq]...\[dq]\f[R] command line argument or via 13647 the \f[C]RCLONE_PASSWORD_COMMAND\f[R] environment variable. 13648 .PP 13649 One useful example of this is using the \f[C]passwordstore\f[R] 13650 application to retrieve the password: 13651 .IP 13652 .nf 13653 \f[C] 13654 export RCLONE_PASSWORD_COMMAND=\[dq]pass rclone/config\[dq] 13655 \f[R] 13656 .fi 13657 .PP 13658 If the \f[C]passwordstore\f[R] password manager holds the password for 13659 the rclone configuration, using the script method means the password is 13660 primarily protected by the \f[C]passwordstore\f[R] system, and is never 13661 embedded in the clear in scripts, nor available for examination using 13662 the standard commands available. 13663 It is quite possible with long running rclone sessions for copies of 13664 passwords to be innocently captured in log files or terminal scroll 13665 buffers, etc. 13666 Using the script method of supplying the password enhances the security 13667 of the config password considerably. 13668 .PP 13669 If you are running rclone inside a script, unless you are using the 13670 \f[C]--password-command\f[R] method, you might want to disable password 13671 prompts. 13672 To do that, pass the parameter \f[C]--ask-password=false\f[R] to rclone. 13673 This will make rclone fail instead of asking for a password if 13674 \f[C]RCLONE_CONFIG_PASS\f[R] doesn\[aq]t contain a valid password, and 13675 \f[C]--password-command\f[R] has not been supplied. 13676 .PP 13677 Whenever running commands that may be affected by options in a 13678 configuration file, rclone will look for an existing file according to 13679 the rules described above, and load any it finds. 13680 If an encrypted file is found, this includes decrypting it, with the 13681 possible consequence of a password prompt. 13682 When executing a command line that you know are not actually using 13683 anything from such a configuration file, you can avoid it being loaded 13684 by overriding the location, e.g. 13685 with one of the documented special values for memory-only configuration. 13686 Since only backend options can be stored in configuration files, this is 13687 normally unnecessary for commands that do not operate on backends, e.g. 13688 \f[C]genautocomplete\f[R]. 13689 However, it will be relevant for commands that do operate on backends in 13690 general, but are used without referencing a stored remote, e.g. 13691 listing local filesystem paths, or connection strings: 13692 \f[C]rclone --config=\[dq]\[dq] ls .\f[R] 13693 .SS Developer options 13694 .PP 13695 These options are useful when developing or debugging rclone. 13696 There are also some more remote specific options which aren\[aq]t 13697 documented here which are used for testing. 13698 These start with remote name e.g. 13699 \f[C]--drive-test-option\f[R] - see the docs for the remote in question. 13700 .SS --cpuprofile=FILE 13701 .PP 13702 Write CPU profile to file. 13703 This can be analysed with \f[C]go tool pprof\f[R]. 13704 .SS --dump flag,flag,flag 13705 .PP 13706 The \f[C]--dump\f[R] flag takes a comma separated list of flags to dump 13707 info about. 13708 .PP 13709 Note that some headers including \f[C]Accept-Encoding\f[R] as shown may 13710 not be correct in the request and the response may not show 13711 \f[C]Content-Encoding\f[R] if the go standard libraries auto gzip 13712 encoding was in effect. 13713 In this case the body of the request will be gunzipped before showing 13714 it. 13715 .PP 13716 The available flags are: 13717 .SS --dump headers 13718 .PP 13719 Dump HTTP headers with \f[C]Authorization:\f[R] lines removed. 13720 May still contain sensitive info. 13721 Can be very verbose. 13722 Useful for debugging only. 13723 .PP 13724 Use \f[C]--dump auth\f[R] if you do want the \f[C]Authorization:\f[R] 13725 headers. 13726 .SS --dump bodies 13727 .PP 13728 Dump HTTP headers and bodies - may contain sensitive info. 13729 Can be very verbose. 13730 Useful for debugging only. 13731 .PP 13732 Note that the bodies are buffered in memory so don\[aq]t use this for 13733 enormous files. 13734 .SS --dump requests 13735 .PP 13736 Like \f[C]--dump bodies\f[R] but dumps the request bodies and the 13737 response headers. 13738 Useful for debugging download problems. 13739 .SS --dump responses 13740 .PP 13741 Like \f[C]--dump bodies\f[R] but dumps the response bodies and the 13742 request headers. 13743 Useful for debugging upload problems. 13744 .SS --dump auth 13745 .PP 13746 Dump HTTP headers - will contain sensitive info such as 13747 \f[C]Authorization:\f[R] headers - use \f[C]--dump headers\f[R] to dump 13748 without \f[C]Authorization:\f[R] headers. 13749 Can be very verbose. 13750 Useful for debugging only. 13751 .SS --dump filters 13752 .PP 13753 Dump the filters to the output. 13754 Useful to see exactly what include and exclude options are filtering on. 13755 .SS --dump goroutines 13756 .PP 13757 This dumps a list of the running go-routines at the end of the command 13758 to standard output. 13759 .SS --dump openfiles 13760 .PP 13761 This dumps a list of the open files at the end of the command. 13762 It uses the \f[C]lsof\f[R] command to do that so you\[aq]ll need that 13763 installed to use it. 13764 .SS --memprofile=FILE 13765 .PP 13766 Write memory profile to file. 13767 This can be analysed with \f[C]go tool pprof\f[R]. 13768 .SS Filtering 13769 .PP 13770 For the filtering options 13771 .IP \[bu] 2 13772 \f[C]--delete-excluded\f[R] 13773 .IP \[bu] 2 13774 \f[C]--filter\f[R] 13775 .IP \[bu] 2 13776 \f[C]--filter-from\f[R] 13777 .IP \[bu] 2 13778 \f[C]--exclude\f[R] 13779 .IP \[bu] 2 13780 \f[C]--exclude-from\f[R] 13781 .IP \[bu] 2 13782 \f[C]--exclude-if-present\f[R] 13783 .IP \[bu] 2 13784 \f[C]--include\f[R] 13785 .IP \[bu] 2 13786 \f[C]--include-from\f[R] 13787 .IP \[bu] 2 13788 \f[C]--files-from\f[R] 13789 .IP \[bu] 2 13790 \f[C]--files-from-raw\f[R] 13791 .IP \[bu] 2 13792 \f[C]--min-size\f[R] 13793 .IP \[bu] 2 13794 \f[C]--max-size\f[R] 13795 .IP \[bu] 2 13796 \f[C]--min-age\f[R] 13797 .IP \[bu] 2 13798 \f[C]--max-age\f[R] 13799 .IP \[bu] 2 13800 \f[C]--dump filters\f[R] 13801 .IP \[bu] 2 13802 \f[C]--metadata-include\f[R] 13803 .IP \[bu] 2 13804 \f[C]--metadata-include-from\f[R] 13805 .IP \[bu] 2 13806 \f[C]--metadata-exclude\f[R] 13807 .IP \[bu] 2 13808 \f[C]--metadata-exclude-from\f[R] 13809 .IP \[bu] 2 13810 \f[C]--metadata-filter\f[R] 13811 .IP \[bu] 2 13812 \f[C]--metadata-filter-from\f[R] 13813 .PP 13814 See the filtering section (https://rclone.org/filtering/). 13815 .SS Remote control 13816 .PP 13817 For the remote control options and for instructions on how to remote 13818 control rclone 13819 .IP \[bu] 2 13820 \f[C]--rc\f[R] 13821 .IP \[bu] 2 13822 and anything starting with \f[C]--rc-\f[R] 13823 .PP 13824 See the remote control section (https://rclone.org/rc/). 13825 .SS Logging 13826 .PP 13827 rclone has 4 levels of logging, \f[C]ERROR\f[R], \f[C]NOTICE\f[R], 13828 \f[C]INFO\f[R] and \f[C]DEBUG\f[R]. 13829 .PP 13830 By default, rclone logs to standard error. 13831 This means you can redirect standard error and still see the normal 13832 output of rclone commands (e.g. 13833 \f[C]rclone ls\f[R]). 13834 .PP 13835 By default, rclone will produce \f[C]Error\f[R] and \f[C]Notice\f[R] 13836 level messages. 13837 .PP 13838 If you use the \f[C]-q\f[R] flag, rclone will only produce 13839 \f[C]Error\f[R] messages. 13840 .PP 13841 If you use the \f[C]-v\f[R] flag, rclone will produce \f[C]Error\f[R], 13842 \f[C]Notice\f[R] and \f[C]Info\f[R] messages. 13843 .PP 13844 If you use the \f[C]-vv\f[R] flag, rclone will produce \f[C]Error\f[R], 13845 \f[C]Notice\f[R], \f[C]Info\f[R] and \f[C]Debug\f[R] messages. 13846 .PP 13847 You can also control the log levels with the \f[C]--log-level\f[R] flag. 13848 .PP 13849 If you use the \f[C]--log-file=FILE\f[R] option, rclone will redirect 13850 \f[C]Error\f[R], \f[C]Info\f[R] and \f[C]Debug\f[R] messages along with 13851 standard error to FILE. 13852 .PP 13853 If you use the \f[C]--syslog\f[R] flag then rclone will log to syslog 13854 and the \f[C]--syslog-facility\f[R] control which facility it uses. 13855 .PP 13856 Rclone prefixes all log messages with their level in capitals, e.g. 13857 INFO which makes it easy to grep the log file for different kinds of 13858 information. 13859 .SS Exit Code 13860 .PP 13861 If any errors occur during the command execution, rclone will exit with 13862 a non-zero exit code. 13863 This allows scripts to detect when rclone operations have failed. 13864 .PP 13865 During the startup phase, rclone will exit immediately if an error is 13866 detected in the configuration. 13867 There will always be a log message immediately before exiting. 13868 .PP 13869 When rclone is running it will accumulate errors as it goes along, and 13870 only exit with a non-zero exit code if (after retries) there were still 13871 failed transfers. 13872 For every error counted there will be a high priority log message 13873 (visible with \f[C]-q\f[R]) showing the message and which file caused 13874 the problem. 13875 A high priority message is also shown when starting a retry so the user 13876 can see that any previous error messages may not be valid after the 13877 retry. 13878 If rclone has done a retry it will log a high priority message if the 13879 retry was successful. 13880 .SS List of exit codes 13881 .IP \[bu] 2 13882 \f[C]0\f[R] - success 13883 .IP \[bu] 2 13884 \f[C]1\f[R] - Syntax or usage error 13885 .IP \[bu] 2 13886 \f[C]2\f[R] - Error not otherwise categorised 13887 .IP \[bu] 2 13888 \f[C]3\f[R] - Directory not found 13889 .IP \[bu] 2 13890 \f[C]4\f[R] - File not found 13891 .IP \[bu] 2 13892 \f[C]5\f[R] - Temporary error (one that more retries might fix) (Retry 13893 errors) 13894 .IP \[bu] 2 13895 \f[C]6\f[R] - Less serious errors (like 461 errors from dropbox) 13896 (NoRetry errors) 13897 .IP \[bu] 2 13898 \f[C]7\f[R] - Fatal error (one that more retries won\[aq]t fix, like 13899 account suspended) (Fatal errors) 13900 .IP \[bu] 2 13901 \f[C]8\f[R] - Transfer exceeded - limit set by --max-transfer reached 13902 .IP \[bu] 2 13903 \f[C]9\f[R] - Operation successful, but no files transferred 13904 .SS Environment Variables 13905 .PP 13906 Rclone can be configured entirely using environment variables. 13907 These can be used to set defaults for options or config file entries. 13908 .SS Options 13909 .PP 13910 Every option in rclone can have its default set by environment variable. 13911 .PP 13912 To find the name of the environment variable, first, take the long 13913 option name, strip the leading \f[C]--\f[R], change \f[C]-\f[R] to 13914 \f[C]_\f[R], make upper case and prepend \f[C]RCLONE_\f[R]. 13915 .PP 13916 For example, to always set \f[C]--stats 5s\f[R], set the environment 13917 variable \f[C]RCLONE_STATS=5s\f[R]. 13918 If you set stats on the command line this will override the environment 13919 variable setting. 13920 .PP 13921 Or to always use the trash in drive \f[C]--drive-use-trash\f[R], set 13922 \f[C]RCLONE_DRIVE_USE_TRASH=true\f[R]. 13923 .PP 13924 Verbosity is slightly different, the environment variable equivalent of 13925 \f[C]--verbose\f[R] or \f[C]-v\f[R] is \f[C]RCLONE_VERBOSE=1\f[R], or 13926 for \f[C]-vv\f[R], \f[C]RCLONE_VERBOSE=2\f[R]. 13927 .PP 13928 The same parser is used for the options and the environment variables so 13929 they take exactly the same form. 13930 .PP 13931 The options set by environment variables can be seen with the 13932 \f[C]-vv\f[R] flag, e.g. 13933 \f[C]rclone version -vv\f[R]. 13934 .SS Config file 13935 .PP 13936 You can set defaults for values in the config file on an individual 13937 remote basis. 13938 The names of the config items are documented in the page for each 13939 backend. 13940 .PP 13941 To find the name of the environment variable, you need to set, take 13942 \f[C]RCLONE_CONFIG_\f[R] + name of remote + \f[C]_\f[R] + name of config 13943 file option and make it all uppercase. 13944 .PP 13945 For example, to configure an S3 remote named \f[C]mys3:\f[R] without a 13946 config file (using unix ways of setting environment variables): 13947 .IP 13948 .nf 13949 \f[C] 13950 $ export RCLONE_CONFIG_MYS3_TYPE=s3 13951 $ export RCLONE_CONFIG_MYS3_ACCESS_KEY_ID=XXX 13952 $ export RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY=XXX 13953 $ rclone lsd mys3: 13954 -1 2016-09-21 12:54:21 -1 my-bucket 13955 $ rclone listremotes | grep mys3 13956 mys3: 13957 \f[R] 13958 .fi 13959 .PP 13960 Note that if you want to create a remote using environment variables you 13961 must create the \f[C]..._TYPE\f[R] variable as above. 13962 .PP 13963 Note that the name of a remote created using environment variable is 13964 case insensitive, in contrast to regular remotes stored in config file 13965 as documented above. 13966 You must write the name in uppercase in the environment variable, but as 13967 seen from example above it will be listed and can be accessed in 13968 lowercase, while you can also refer to the same remote in uppercase: 13969 .IP 13970 .nf 13971 \f[C] 13972 $ rclone lsd mys3: 13973 -1 2016-09-21 12:54:21 -1 my-bucket 13974 $ rclone lsd MYS3: 13975 -1 2016-09-21 12:54:21 -1 my-bucket 13976 \f[R] 13977 .fi 13978 .PP 13979 Note that you can only set the options of the immediate backend, so 13980 RCLONE_CONFIG_MYS3CRYPT_ACCESS_KEY_ID has no effect, if myS3Crypt is a 13981 crypt remote based on an S3 remote. 13982 However RCLONE_S3_ACCESS_KEY_ID will set the access key of all remotes 13983 using S3, including myS3Crypt. 13984 .PP 13985 Note also that now rclone has connection strings, it is probably easier 13986 to use those instead which makes the above example 13987 .IP 13988 .nf 13989 \f[C] 13990 rclone lsd :s3,access_key_id=XXX,secret_access_key=XXX: 13991 \f[R] 13992 .fi 13993 .SS Precedence 13994 .PP 13995 The various different methods of backend configuration are read in this 13996 order and the first one with a value is used. 13997 .IP \[bu] 2 13998 Parameters in connection strings, e.g. 13999 \f[C]myRemote,skip_links:\f[R] 14000 .IP \[bu] 2 14001 Flag values as supplied on the command line, e.g. 14002 \f[C]--skip-links\f[R] 14003 .IP \[bu] 2 14004 Remote specific environment vars, e.g. 14005 \f[C]RCLONE_CONFIG_MYREMOTE_SKIP_LINKS\f[R] (see above). 14006 .IP \[bu] 2 14007 Backend-specific environment vars, e.g. 14008 \f[C]RCLONE_LOCAL_SKIP_LINKS\f[R]. 14009 .IP \[bu] 2 14010 Backend generic environment vars, e.g. 14011 \f[C]RCLONE_SKIP_LINKS\f[R]. 14012 .IP \[bu] 2 14013 Config file, e.g. 14014 \f[C]skip_links = true\f[R]. 14015 .IP \[bu] 2 14016 Default values, e.g. 14017 \f[C]false\f[R] - these can\[aq]t be changed. 14018 .PP 14019 So if both \f[C]--skip-links\f[R] is supplied on the command line and an 14020 environment variable \f[C]RCLONE_LOCAL_SKIP_LINKS\f[R] is set, the 14021 command line flag will take preference. 14022 .PP 14023 The backend configurations set by environment variables can be seen with 14024 the \f[C]-vv\f[R] flag, e.g. 14025 \f[C]rclone about myRemote: -vv\f[R]. 14026 .PP 14027 For non backend configuration the order is as follows: 14028 .IP \[bu] 2 14029 Flag values as supplied on the command line, e.g. 14030 \f[C]--stats 5s\f[R]. 14031 .IP \[bu] 2 14032 Environment vars, e.g. 14033 \f[C]RCLONE_STATS=5s\f[R]. 14034 .IP \[bu] 2 14035 Default values, e.g. 14036 \f[C]1m\f[R] - these can\[aq]t be changed. 14037 .SS Other environment variables 14038 .IP \[bu] 2 14039 \f[C]RCLONE_CONFIG_PASS\f[R] set to contain your config file password 14040 (see Configuration Encryption section) 14041 .IP \[bu] 2 14042 \f[C]HTTP_PROXY\f[R], \f[C]HTTPS_PROXY\f[R] and \f[C]NO_PROXY\f[R] (or 14043 the lowercase versions thereof). 14044 .RS 2 14045 .IP \[bu] 2 14046 \f[C]HTTPS_PROXY\f[R] takes precedence over \f[C]HTTP_PROXY\f[R] for 14047 https requests. 14048 .IP \[bu] 2 14049 The environment values may be either a complete URL or a 14050 \[dq]host[:port]\[dq] for, in which case the \[dq]http\[dq] scheme is 14051 assumed. 14052 .RE 14053 .IP \[bu] 2 14054 \f[C]USER\f[R] and \f[C]LOGNAME\f[R] values are used as fallbacks for 14055 current username. 14056 The primary method for looking up username is OS-specific: Windows API 14057 on Windows, real user ID in /etc/passwd on Unix systems. 14058 In the documentation the current username is simply referred to as 14059 \f[C]$USER\f[R]. 14060 .IP \[bu] 2 14061 \f[C]RCLONE_CONFIG_DIR\f[R] - rclone \f[B]sets\f[R] this variable for 14062 use in config files and sub processes to point to the directory holding 14063 the config file. 14064 .PP 14065 The options set by environment variables can be seen with the 14066 \f[C]-vv\f[R] and \f[C]--log-level=DEBUG\f[R] flags, e.g. 14067 \f[C]rclone version -vv\f[R]. 14068 .SH Configuring rclone on a remote / headless machine 14069 .PP 14070 Some of the configurations (those involving oauth2) require an Internet 14071 connected web browser. 14072 .PP 14073 If you are trying to set rclone up on a remote or headless box with no 14074 browser available on it (e.g. 14075 a NAS or a server in a datacenter) then you will need to use an 14076 alternative means of configuration. 14077 There are two ways of doing it, described below. 14078 .SS Configuring using rclone authorize 14079 .PP 14080 On the headless box run \f[C]rclone\f[R] config but answer \f[C]N\f[R] 14081 to the \f[C]Use web browser to automatically authenticate?\f[R] 14082 question. 14083 .IP 14084 .nf 14085 \f[C] 14086 \&... 14087 Remote config 14088 Use web browser to automatically authenticate rclone with remote? 14089 * Say Y if the machine running rclone has a web browser you can use 14090 * Say N if running rclone on a (remote) machine without web browser access 14091 If not sure try Y. If Y failed, try N. 14092 y) Yes (default) 14093 n) No 14094 y/n> n 14095 For this to work, you will need rclone available on a machine that has 14096 a web browser available. 14097 14098 For more help and alternate methods see: https://rclone.org/remote_setup/ 14099 14100 Execute the following on the machine with the web browser (same rclone 14101 version recommended): 14102 14103 rclone authorize \[dq]amazon cloud drive\[dq] 14104 14105 Then paste the result below: 14106 result> 14107 \f[R] 14108 .fi 14109 .PP 14110 Then on your main desktop machine 14111 .IP 14112 .nf 14113 \f[C] 14114 rclone authorize \[dq]amazon cloud drive\[dq] 14115 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 14116 Log in and authorize rclone for access 14117 Waiting for code... 14118 Got code 14119 Paste the following into your remote machine ---> 14120 SECRET_TOKEN 14121 <---End paste 14122 \f[R] 14123 .fi 14124 .PP 14125 Then back to the headless box, paste in the code 14126 .IP 14127 .nf 14128 \f[C] 14129 result> SECRET_TOKEN 14130 -------------------- 14131 [acd12] 14132 client_id = 14133 client_secret = 14134 token = SECRET_TOKEN 14135 -------------------- 14136 y) Yes this is OK 14137 e) Edit this remote 14138 d) Delete this remote 14139 y/e/d> 14140 \f[R] 14141 .fi 14142 .SS Configuring by copying the config file 14143 .PP 14144 Rclone stores all of its config in a single configuration file. 14145 This can easily be copied to configure a remote rclone. 14146 .PP 14147 So first configure rclone on your desktop machine with 14148 .IP 14149 .nf 14150 \f[C] 14151 rclone config 14152 \f[R] 14153 .fi 14154 .PP 14155 to set up the config file. 14156 .PP 14157 Find the config file by running \f[C]rclone config file\f[R], for 14158 example 14159 .IP 14160 .nf 14161 \f[C] 14162 $ rclone config file 14163 Configuration file is stored at: 14164 /home/user/.rclone.conf 14165 \f[R] 14166 .fi 14167 .PP 14168 Now transfer it to the remote box (scp, cut paste, ftp, sftp, etc.) and 14169 place it in the correct place (use \f[C]rclone config file\f[R] on the 14170 remote box to find out where). 14171 .SS Configuring using SSH Tunnel 14172 .PP 14173 Linux and MacOS users can utilize SSH Tunnel to redirect the headless 14174 box port 53682 to local machine by using the following command: 14175 .IP 14176 .nf 14177 \f[C] 14178 ssh -L localhost:53682:localhost:53682 username\[at]remote_server 14179 \f[R] 14180 .fi 14181 .PP 14182 Then on the headless box run \f[C]rclone\f[R] config and answer 14183 \f[C]Y\f[R] to the 14184 \f[C]Use web browser to automatically authenticate?\f[R] question. 14185 .IP 14186 .nf 14187 \f[C] 14188 \&... 14189 Remote config 14190 Use web browser to automatically authenticate rclone with remote? 14191 * Say Y if the machine running rclone has a web browser you can use 14192 * Say N if running rclone on a (remote) machine without web browser access 14193 If not sure try Y. If Y failed, try N. 14194 y) Yes (default) 14195 n) No 14196 y/n> y 14197 \f[R] 14198 .fi 14199 .PP 14200 Then copy and paste the auth url 14201 \f[C]http://127.0.0.1:53682/auth?state=xxxxxxxxxxxx\f[R] to the browser 14202 on your local machine, complete the auth and it is done. 14203 .SH Filtering, includes and excludes 14204 .PP 14205 Filter flags determine which files rclone \f[C]sync\f[R], 14206 \f[C]move\f[R], \f[C]ls\f[R], \f[C]lsl\f[R], \f[C]md5sum\f[R], 14207 \f[C]sha1sum\f[R], \f[C]size\f[R], \f[C]delete\f[R], \f[C]check\f[R] and 14208 similar commands apply to. 14209 .PP 14210 They are specified in terms of path/file name patterns; path/file lists; 14211 file age and size, or presence of a file in a directory. 14212 Bucket based remotes without the concept of directory apply filters to 14213 object key, age and size in an analogous way. 14214 .PP 14215 Rclone \f[C]purge\f[R] does not obey filters. 14216 .PP 14217 To test filters without risk of damage to data, apply them to 14218 \f[C]rclone ls\f[R], or with the \f[C]--dry-run\f[R] and \f[C]-vv\f[R] 14219 flags. 14220 .PP 14221 Rclone filter patterns can only be used in filter command line options, 14222 not in the specification of a remote. 14223 .PP 14224 E.g. 14225 \f[C]rclone copy \[dq]remote:dir*.jpg\[dq] /path/to/dir\f[R] does not 14226 have a filter effect. 14227 \f[C]rclone copy remote:dir /path/to/dir --include \[dq]*.jpg\[dq]\f[R] 14228 does. 14229 .PP 14230 \f[B]Important\f[R] Avoid mixing any two of \f[C]--include...\f[R], 14231 \f[C]--exclude...\f[R] or \f[C]--filter...\f[R] flags in an rclone 14232 command. 14233 The results may not be what you expect. 14234 Instead use a \f[C]--filter...\f[R] flag. 14235 .SS Patterns for matching path/file names 14236 .SS Pattern syntax 14237 .PP 14238 Here is a formal definition of the pattern syntax, examples are below. 14239 .PP 14240 Rclone matching rules follow a glob style: 14241 .IP 14242 .nf 14243 \f[C] 14244 * matches any sequence of non-separator (/) characters 14245 ** matches any sequence of characters including / separators 14246 ? matches any single non-separator (/) character 14247 [ [ ! ] { character-range } ] 14248 character class (must be non-empty) 14249 { pattern-list } 14250 pattern alternatives 14251 {{ regexp }} 14252 regular expression to match 14253 c matches character c (c != *, **, ?, \[rs], [, {, }) 14254 \[rs]c matches reserved character c (c = *, **, ?, \[rs], [, {, }) or character class 14255 \f[R] 14256 .fi 14257 .PP 14258 character-range: 14259 .IP 14260 .nf 14261 \f[C] 14262 c matches character c (c != \[rs], -, ]) 14263 \[rs]c matches reserved character c (c = \[rs], -, ]) 14264 lo - hi matches character c for lo <= c <= hi 14265 \f[R] 14266 .fi 14267 .PP 14268 pattern-list: 14269 .IP 14270 .nf 14271 \f[C] 14272 pattern { , pattern } 14273 comma-separated (without spaces) patterns 14274 \f[R] 14275 .fi 14276 .PP 14277 character classes (see Go regular expression 14278 reference (https://golang.org/pkg/regexp/syntax/)) include: 14279 .IP 14280 .nf 14281 \f[C] 14282 Named character classes (e.g. [\[rs]d], [\[ha]\[rs]d], [\[rs]D], [\[ha]\[rs]D]) 14283 Perl character classes (e.g. \[rs]s, \[rs]S, \[rs]w, \[rs]W) 14284 ASCII character classes (e.g. [[:alnum:]], [[:alpha:]], [[:punct:]], [[:xdigit:]]) 14285 \f[R] 14286 .fi 14287 .PP 14288 regexp for advanced users to insert a regular expression - see below for 14289 more info: 14290 .IP 14291 .nf 14292 \f[C] 14293 Any re2 regular expression not containing \[ga]}}\[ga] 14294 \f[R] 14295 .fi 14296 .PP 14297 If the filter pattern starts with a \f[C]/\f[R] then it only matches at 14298 the top level of the directory tree, \f[B]relative to the root of the 14299 remote\f[R] (not necessarily the root of the drive). 14300 If it does not start with \f[C]/\f[R] then it is matched starting at the 14301 \f[B]end of the path/file name\f[R] but it only matches a complete path 14302 element - it must match from a \f[C]/\f[R] separator or the beginning of 14303 the path/file. 14304 .IP 14305 .nf 14306 \f[C] 14307 file.jpg - matches \[dq]file.jpg\[dq] 14308 - matches \[dq]directory/file.jpg\[dq] 14309 - doesn\[aq]t match \[dq]afile.jpg\[dq] 14310 - doesn\[aq]t match \[dq]directory/afile.jpg\[dq] 14311 /file.jpg - matches \[dq]file.jpg\[dq] in the root directory of the remote 14312 - doesn\[aq]t match \[dq]afile.jpg\[dq] 14313 - doesn\[aq]t match \[dq]directory/file.jpg\[dq] 14314 \f[R] 14315 .fi 14316 .PP 14317 The top level of the remote may not be the top level of the drive. 14318 .PP 14319 E.g. 14320 for a Microsoft Windows local directory structure 14321 .IP 14322 .nf 14323 \f[C] 14324 F: 14325 \[u251C]\[u2500]\[u2500] bkp 14326 \[u251C]\[u2500]\[u2500] data 14327 \[br] \[u251C]\[u2500]\[u2500] excl 14328 \[br] \[br] \[u251C]\[u2500]\[u2500] 123.jpg 14329 \[br] \[br] \[u2514]\[u2500]\[u2500] 456.jpg 14330 \[br] \[u251C]\[u2500]\[u2500] incl 14331 \[br] \[br] \[u2514]\[u2500]\[u2500] document.pdf 14332 \f[R] 14333 .fi 14334 .PP 14335 To copy the contents of folder \f[C]data\f[R] into folder \f[C]bkp\f[R] 14336 excluding the contents of subfolder \f[C]excl\f[R]the following command 14337 treats \f[C]F:\[rs]data\f[R] and \f[C]F:\[rs]bkp\f[R] as top level for 14338 filtering. 14339 .PP 14340 \f[C]rclone copy F:\[rs]data\[rs] F:\[rs]bkp\[rs] --exclude=/excl/**\f[R] 14341 .PP 14342 \f[B]Important\f[R] Use \f[C]/\f[R] in path/file name patterns and not 14343 \f[C]\[rs]\f[R] even if running on Microsoft Windows. 14344 .PP 14345 Simple patterns are case sensitive unless the \f[C]--ignore-case\f[R] 14346 flag is used. 14347 .PP 14348 Without \f[C]--ignore-case\f[R] (default) 14349 .IP 14350 .nf 14351 \f[C] 14352 potato - matches \[dq]potato\[dq] 14353 - doesn\[aq]t match \[dq]POTATO\[dq] 14354 \f[R] 14355 .fi 14356 .PP 14357 With \f[C]--ignore-case\f[R] 14358 .IP 14359 .nf 14360 \f[C] 14361 potato - matches \[dq]potato\[dq] 14362 - matches \[dq]POTATO\[dq] 14363 \f[R] 14364 .fi 14365 .SS Using regular expressions in filter patterns 14366 .PP 14367 The syntax of filter patterns is glob style matching (like 14368 \f[C]bash\f[R] uses) to make things easy for users. 14369 However this does not provide absolute control over the matching, so for 14370 advanced users rclone also provides a regular expression syntax. 14371 .PP 14372 The regular expressions used are as defined in the Go regular expression 14373 reference (https://golang.org/pkg/regexp/syntax/). 14374 Regular expressions should be enclosed in \f[C]{{\f[R] \f[C]}}\f[R]. 14375 They will match only the last path segment if the glob doesn\[aq]t start 14376 with \f[C]/\f[R] or the whole path name if it does. 14377 Note that rclone does not attempt to parse the supplied regular 14378 expression, meaning that using any regular expression filter will 14379 prevent rclone from using directory filter rules, as it will instead 14380 check every path against the supplied regular expression(s). 14381 .PP 14382 Here is how the \f[C]{{regexp}}\f[R] is transformed into an full regular 14383 expression to match the entire path: 14384 .IP 14385 .nf 14386 \f[C] 14387 {{regexp}} becomes (\[ha]|/)(regexp)$ 14388 /{{regexp}} becomes \[ha](regexp)$ 14389 \f[R] 14390 .fi 14391 .PP 14392 Regexp syntax can be mixed with glob syntax, for example 14393 .IP 14394 .nf 14395 \f[C] 14396 *.{{jpe?g}} to match file.jpg, file.jpeg but not file.png 14397 \f[R] 14398 .fi 14399 .PP 14400 You can also use regexp flags - to set case insensitive, for example 14401 .IP 14402 .nf 14403 \f[C] 14404 *.{{(?i)jpg}} to match file.jpg, file.JPG but not file.png 14405 \f[R] 14406 .fi 14407 .PP 14408 Be careful with wildcards in regular expressions - you don\[aq]t want 14409 them to match path separators normally. 14410 To match any file name starting with \f[C]start\f[R] and ending with 14411 \f[C]end\f[R] write 14412 .IP 14413 .nf 14414 \f[C] 14415 {{start[\[ha]/]*end\[rs].jpg}} 14416 \f[R] 14417 .fi 14418 .PP 14419 Not 14420 .IP 14421 .nf 14422 \f[C] 14423 {{start.*end\[rs].jpg}} 14424 \f[R] 14425 .fi 14426 .PP 14427 Which will match a directory called \f[C]start\f[R] with a file called 14428 \f[C]end.jpg\f[R] in it as the \f[C].*\f[R] will match \f[C]/\f[R] 14429 characters. 14430 .PP 14431 Note that you can use \f[C]-vv --dump filters\f[R] to show the filter 14432 patterns in regexp format - rclone implements the glob patterns by 14433 transforming them into regular expressions. 14434 .SS Filter pattern examples 14435 .PP 14436 .TS 14437 tab(@); 14438 l l l l. 14439 T{ 14440 Description 14441 T}@T{ 14442 Pattern 14443 T}@T{ 14444 Matches 14445 T}@T{ 14446 Does not match 14447 T} 14448 _ 14449 T{ 14450 Wildcard 14451 T}@T{ 14452 \f[C]*.jpg\f[R] 14453 T}@T{ 14454 \f[C]/file.jpg\f[R] 14455 T}@T{ 14456 \f[C]/file.png\f[R] 14457 T} 14458 T{ 14459 T}@T{ 14460 T}@T{ 14461 \f[C]/dir/file.jpg\f[R] 14462 T}@T{ 14463 \f[C]/dir/file.png\f[R] 14464 T} 14465 T{ 14466 Rooted 14467 T}@T{ 14468 \f[C]/*.jpg\f[R] 14469 T}@T{ 14470 \f[C]/file.jpg\f[R] 14471 T}@T{ 14472 \f[C]/file.png\f[R] 14473 T} 14474 T{ 14475 T}@T{ 14476 T}@T{ 14477 \f[C]/file2.jpg\f[R] 14478 T}@T{ 14479 \f[C]/dir/file.jpg\f[R] 14480 T} 14481 T{ 14482 Alternates 14483 T}@T{ 14484 \f[C]*.{jpg,png}\f[R] 14485 T}@T{ 14486 \f[C]/file.jpg\f[R] 14487 T}@T{ 14488 \f[C]/file.gif\f[R] 14489 T} 14490 T{ 14491 T}@T{ 14492 T}@T{ 14493 \f[C]/dir/file.png\f[R] 14494 T}@T{ 14495 \f[C]/dir/file.gif\f[R] 14496 T} 14497 T{ 14498 Path Wildcard 14499 T}@T{ 14500 \f[C]dir/**\f[R] 14501 T}@T{ 14502 \f[C]/dir/anyfile\f[R] 14503 T}@T{ 14504 \f[C]file.png\f[R] 14505 T} 14506 T{ 14507 T}@T{ 14508 T}@T{ 14509 \f[C]/subdir/dir/subsubdir/anyfile\f[R] 14510 T}@T{ 14511 \f[C]/subdir/file.png\f[R] 14512 T} 14513 T{ 14514 Any Char 14515 T}@T{ 14516 \f[C]*.t?t\f[R] 14517 T}@T{ 14518 \f[C]/file.txt\f[R] 14519 T}@T{ 14520 \f[C]/file.qxt\f[R] 14521 T} 14522 T{ 14523 T}@T{ 14524 T}@T{ 14525 \f[C]/dir/file.tzt\f[R] 14526 T}@T{ 14527 \f[C]/dir/file.png\f[R] 14528 T} 14529 T{ 14530 Range 14531 T}@T{ 14532 \f[C]*.[a-z]\f[R] 14533 T}@T{ 14534 \f[C]/file.a\f[R] 14535 T}@T{ 14536 \f[C]/file.0\f[R] 14537 T} 14538 T{ 14539 T}@T{ 14540 T}@T{ 14541 \f[C]/dir/file.b\f[R] 14542 T}@T{ 14543 \f[C]/dir/file.1\f[R] 14544 T} 14545 T{ 14546 Escape 14547 T}@T{ 14548 \f[C]*.\[rs]?\[rs]?\[rs]?\f[R] 14549 T}@T{ 14550 \f[C]/file.???\f[R] 14551 T}@T{ 14552 \f[C]/file.abc\f[R] 14553 T} 14554 T{ 14555 T}@T{ 14556 T}@T{ 14557 \f[C]/dir/file.???\f[R] 14558 T}@T{ 14559 \f[C]/dir/file.def\f[R] 14560 T} 14561 T{ 14562 Class 14563 T}@T{ 14564 \f[C]*.\[rs]d\[rs]d\[rs]d\f[R] 14565 T}@T{ 14566 \f[C]/file.012\f[R] 14567 T}@T{ 14568 \f[C]/file.abc\f[R] 14569 T} 14570 T{ 14571 T}@T{ 14572 T}@T{ 14573 \f[C]/dir/file.345\f[R] 14574 T}@T{ 14575 \f[C]/dir/file.def\f[R] 14576 T} 14577 T{ 14578 Regexp 14579 T}@T{ 14580 \f[C]*.{{jpe?g}}\f[R] 14581 T}@T{ 14582 \f[C]/file.jpeg\f[R] 14583 T}@T{ 14584 \f[C]/file.png\f[R] 14585 T} 14586 T{ 14587 T}@T{ 14588 T}@T{ 14589 \f[C]/dir/file.jpg\f[R] 14590 T}@T{ 14591 \f[C]/dir/file.jpeeg\f[R] 14592 T} 14593 T{ 14594 Rooted Regexp 14595 T}@T{ 14596 \f[C]/{{.*\[rs].jpe?g}}\f[R] 14597 T}@T{ 14598 \f[C]/file.jpeg\f[R] 14599 T}@T{ 14600 \f[C]/file.png\f[R] 14601 T} 14602 T{ 14603 T}@T{ 14604 T}@T{ 14605 \f[C]/file.jpg\f[R] 14606 T}@T{ 14607 \f[C]/dir/file.jpg\f[R] 14608 T} 14609 .TE 14610 .SS How filter rules are applied to files 14611 .PP 14612 Rclone path/file name filters are made up of one or more of the 14613 following flags: 14614 .IP \[bu] 2 14615 \f[C]--include\f[R] 14616 .IP \[bu] 2 14617 \f[C]--include-from\f[R] 14618 .IP \[bu] 2 14619 \f[C]--exclude\f[R] 14620 .IP \[bu] 2 14621 \f[C]--exclude-from\f[R] 14622 .IP \[bu] 2 14623 \f[C]--filter\f[R] 14624 .IP \[bu] 2 14625 \f[C]--filter-from\f[R] 14626 .PP 14627 There can be more than one instance of individual flags. 14628 .PP 14629 Rclone internally uses a combined list of all the include and exclude 14630 rules. 14631 The order in which rules are processed can influence the result of the 14632 filter. 14633 .PP 14634 All flags of the same type are processed together in the order above, 14635 regardless of what order the different types of flags are included on 14636 the command line. 14637 .PP 14638 Multiple instances of the same flag are processed from left to right 14639 according to their position in the command line. 14640 .PP 14641 To mix up the order of processing includes and excludes use 14642 \f[C]--filter...\f[R] flags. 14643 .PP 14644 Within \f[C]--include-from\f[R], \f[C]--exclude-from\f[R] and 14645 \f[C]--filter-from\f[R] flags rules are processed from top to bottom of 14646 the referenced file. 14647 .PP 14648 If there is an \f[C]--include\f[R] or \f[C]--include-from\f[R] flag 14649 specified, rclone implies a \f[C]- **\f[R] rule which it adds to the 14650 bottom of the internal rule list. 14651 Specifying a \f[C]+\f[R] rule with a \f[C]--filter...\f[R] flag does not 14652 imply that rule. 14653 .PP 14654 Each path/file name passed through rclone is matched against the 14655 combined filter list. 14656 At first match to a rule the path/file name is included or excluded and 14657 no further filter rules are processed for that path/file. 14658 .PP 14659 If rclone does not find a match, after testing against all rules 14660 (including the implied rule if appropriate), the path/file name is 14661 included. 14662 .PP 14663 Any path/file included at that stage is processed by the rclone command. 14664 .PP 14665 \f[C]--files-from\f[R] and \f[C]--files-from-raw\f[R] flags over-ride 14666 and cannot be combined with other filter options. 14667 .PP 14668 To see the internal combined rule list, in regular expression form, for 14669 a command add the \f[C]--dump filters\f[R] flag. 14670 Running an rclone command with \f[C]--dump filters\f[R] and 14671 \f[C]-vv\f[R] flags lists the internal filter elements and shows how 14672 they are applied to each source path/file. 14673 There is not currently a means provided to pass regular expression 14674 filter options into rclone directly though character class filter rules 14675 contain character classes. 14676 Go regular expression reference (https://golang.org/pkg/regexp/syntax/) 14677 .SS How filter rules are applied to directories 14678 .PP 14679 Rclone commands are applied to path/file names not directories. 14680 The entire contents of a directory can be matched to a filter by the 14681 pattern \f[C]directory/*\f[R] or recursively by \f[C]directory/**\f[R]. 14682 .PP 14683 Directory filter rules are defined with a closing \f[C]/\f[R] separator. 14684 .PP 14685 E.g. 14686 \f[C]/directory/subdirectory/\f[R] is an rclone directory filter rule. 14687 .PP 14688 Rclone commands can use directory filter rules to determine whether they 14689 recurse into subdirectories. 14690 This potentially optimises access to a remote by avoiding listing 14691 unnecessary directories. 14692 Whether optimisation is desirable depends on the specific filter rules 14693 and source remote content. 14694 .PP 14695 If any regular expression filters are in use, then no directory 14696 recursion optimisation is possible, as rclone must check every path 14697 against the supplied regular expression(s). 14698 .PP 14699 Directory recursion optimisation occurs if either: 14700 .IP \[bu] 2 14701 A source remote does not support the rclone \f[C]ListR\f[R] primitive. 14702 local, sftp, Microsoft OneDrive and WebDAV do not support 14703 \f[C]ListR\f[R]. 14704 Google Drive and most bucket type storage do. 14705 Full list (https://rclone.org/overview/#optional-features) 14706 .IP \[bu] 2 14707 On other remotes (those that support \f[C]ListR\f[R]), if the rclone 14708 command is not naturally recursive, and provided it is not run with the 14709 \f[C]--fast-list\f[R] flag. 14710 \f[C]ls\f[R], \f[C]lsf -R\f[R] and \f[C]size\f[R] are naturally 14711 recursive but \f[C]sync\f[R], \f[C]copy\f[R] and \f[C]move\f[R] are not. 14712 .IP \[bu] 2 14713 Whenever the \f[C]--disable ListR\f[R] flag is applied to an rclone 14714 command. 14715 .PP 14716 Rclone commands imply directory filter rules from path/file filter 14717 rules. 14718 To view the directory filter rules rclone has implied for a command 14719 specify the \f[C]--dump filters\f[R] flag. 14720 .PP 14721 E.g. 14722 for an include rule 14723 .IP 14724 .nf 14725 \f[C] 14726 /a/*.jpg 14727 \f[R] 14728 .fi 14729 .PP 14730 Rclone implies the directory include rule 14731 .IP 14732 .nf 14733 \f[C] 14734 /a/ 14735 \f[R] 14736 .fi 14737 .PP 14738 Directory filter rules specified in an rclone command can limit the 14739 scope of an rclone command but path/file filters still have to be 14740 specified. 14741 .PP 14742 E.g. 14743 \f[C]rclone ls remote: --include /directory/\f[R] will not match any 14744 files. 14745 Because it is an \f[C]--include\f[R] option the \f[C]--exclude **\f[R] 14746 rule is implied, and the \f[C]/directory/\f[R] pattern serves only to 14747 optimise access to the remote by ignoring everything outside of that 14748 directory. 14749 .PP 14750 E.g. 14751 \f[C]rclone ls remote: --filter-from filter-list.txt\f[R] with a file 14752 \f[C]filter-list.txt\f[R]: 14753 .IP 14754 .nf 14755 \f[C] 14756 - /dir1/ 14757 - /dir2/ 14758 + *.pdf 14759 - ** 14760 \f[R] 14761 .fi 14762 .PP 14763 All files in directories \f[C]dir1\f[R] or \f[C]dir2\f[R] or their 14764 subdirectories are completely excluded from the listing. 14765 Only files of suffix \f[C]pdf\f[R] in the root of \f[C]remote:\f[R] or 14766 its subdirectories are listed. 14767 The \f[C]- **\f[R] rule prevents listing of any path/files not 14768 previously matched by the rules above. 14769 .PP 14770 Option \f[C]exclude-if-present\f[R] creates a directory exclude rule 14771 based on the presence of a file in a directory and takes precedence over 14772 other rclone directory filter rules. 14773 .PP 14774 When using pattern list syntax, if a pattern item contains either 14775 \f[C]/\f[R] or \f[C]**\f[R], then rclone will not able to imply a 14776 directory filter rule from this pattern list. 14777 .PP 14778 E.g. 14779 for an include rule 14780 .IP 14781 .nf 14782 \f[C] 14783 {dir1/**,dir2/**} 14784 \f[R] 14785 .fi 14786 .PP 14787 Rclone will match files below directories \f[C]dir1\f[R] or 14788 \f[C]dir2\f[R] only, but will not be able to use this filter to exclude 14789 a directory \f[C]dir3\f[R] from being traversed. 14790 .PP 14791 Directory recursion optimisation may affect performance, but normally 14792 not the result. 14793 One exception to this is sync operations with option 14794 \f[C]--create-empty-src-dirs\f[R], where any traversed empty directories 14795 will be created. 14796 With the pattern list example \f[C]{dir1/**,dir2/**}\f[R] above, this 14797 would create an empty directory \f[C]dir3\f[R] on destination (when it 14798 exists on source). 14799 Changing the filter to \f[C]{dir1,dir2}/**\f[R], or splitting it into 14800 two include rules \f[C]--include dir1/** --include dir2/**\f[R], will 14801 match the same files while also filtering directories, with the result 14802 that an empty directory \f[C]dir3\f[R] will no longer be created. 14803 .SS \f[C]--exclude\f[R] - Exclude files matching pattern 14804 .PP 14805 Excludes path/file names from an rclone command based on a single 14806 exclude rule. 14807 .PP 14808 This flag can be repeated. 14809 See above for the order filter flags are processed in. 14810 .PP 14811 \f[C]--exclude\f[R] should not be used with \f[C]--include\f[R], 14812 \f[C]--include-from\f[R], \f[C]--filter\f[R] or \f[C]--filter-from\f[R] 14813 flags. 14814 .PP 14815 \f[C]--exclude\f[R] has no effect when combined with 14816 \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags. 14817 .PP 14818 E.g. 14819 \f[C]rclone ls remote: --exclude *.bak\f[R] excludes all .bak files from 14820 listing. 14821 .PP 14822 E.g. 14823 \f[C]rclone size remote: \[dq]--exclude /dir/**\[dq]\f[R] returns the 14824 total size of all files on \f[C]remote:\f[R] excluding those in root 14825 directory \f[C]dir\f[R] and sub directories. 14826 .PP 14827 E.g. 14828 on Microsoft Windows 14829 \f[C]rclone ls remote: --exclude \[dq]*\[rs][{JP,KR,HK}\[rs]]*\[dq]\f[R] 14830 lists the files in \f[C]remote:\f[R] with \f[C][JP]\f[R] or 14831 \f[C][KR]\f[R] or \f[C][HK]\f[R] in their name. 14832 Quotes prevent the shell from interpreting the \f[C]\[rs]\f[R] 14833 characters.\f[C]\[rs]\f[R] characters escape the \f[C][\f[R] and 14834 \f[C]]\f[R] so an rclone filter treats them literally rather than as a 14835 character-range. 14836 The \f[C]{\f[R] and \f[C]}\f[R] define an rclone pattern list. 14837 For other operating systems single quotes are required ie 14838 \f[C]rclone ls remote: --exclude \[aq]*\[rs][{JP,KR,HK}\[rs]]*\[aq]\f[R] 14839 .SS \f[C]--exclude-from\f[R] - Read exclude patterns from file 14840 .PP 14841 Excludes path/file names from an rclone command based on rules in a 14842 named file. 14843 The file contains a list of remarks and pattern rules. 14844 .PP 14845 For an example \f[C]exclude-file.txt\f[R]: 14846 .IP 14847 .nf 14848 \f[C] 14849 # a sample exclude rule file 14850 *.bak 14851 file2.jpg 14852 \f[R] 14853 .fi 14854 .PP 14855 \f[C]rclone ls remote: --exclude-from exclude-file.txt\f[R] lists the 14856 files on \f[C]remote:\f[R] except those named \f[C]file2.jpg\f[R] or 14857 with a suffix \f[C].bak\f[R]. 14858 That is equivalent to 14859 \f[C]rclone ls remote: --exclude file2.jpg --exclude \[dq]*.bak\[dq]\f[R]. 14860 .PP 14861 This flag can be repeated. 14862 See above for the order filter flags are processed in. 14863 .PP 14864 The \f[C]--exclude-from\f[R] flag is useful where multiple exclude 14865 filter rules are applied to an rclone command. 14866 .PP 14867 \f[C]--exclude-from\f[R] should not be used with \f[C]--include\f[R], 14868 \f[C]--include-from\f[R], \f[C]--filter\f[R] or \f[C]--filter-from\f[R] 14869 flags. 14870 .PP 14871 \f[C]--exclude-from\f[R] has no effect when combined with 14872 \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags. 14873 .PP 14874 \f[C]--exclude-from\f[R] followed by \f[C]-\f[R] reads filter rules from 14875 standard input. 14876 .SS \f[C]--include\f[R] - Include files matching pattern 14877 .PP 14878 Adds a single include rule based on path/file names to an rclone 14879 command. 14880 .PP 14881 This flag can be repeated. 14882 See above for the order filter flags are processed in. 14883 .PP 14884 \f[C]--include\f[R] has no effect when combined with 14885 \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags. 14886 .PP 14887 \f[C]--include\f[R] implies \f[C]--exclude **\f[R] at the end of an 14888 rclone internal filter list. 14889 Therefore if you mix \f[C]--include\f[R] and \f[C]--include-from\f[R] 14890 flags with \f[C]--exclude\f[R], \f[C]--exclude-from\f[R], 14891 \f[C]--filter\f[R] or \f[C]--filter-from\f[R], you must use include 14892 rules for all the files you want in the include statement. 14893 For more flexibility use the \f[C]--filter-from\f[R] flag. 14894 .PP 14895 E.g. 14896 \f[C]rclone ls remote: --include \[dq]*.{png,jpg}\[dq]\f[R] lists the 14897 files on \f[C]remote:\f[R] with suffix \f[C].png\f[R] and 14898 \f[C].jpg\f[R]. 14899 All other files are excluded. 14900 .PP 14901 E.g. 14902 multiple rclone copy commands can be combined with \f[C]--include\f[R] 14903 and a pattern-list. 14904 .IP 14905 .nf 14906 \f[C] 14907 rclone copy /vol1/A remote:A 14908 rclone copy /vol1/B remote:B 14909 \f[R] 14910 .fi 14911 .PP 14912 is equivalent to: 14913 .IP 14914 .nf 14915 \f[C] 14916 rclone copy /vol1 remote: --include \[dq]{A,B}/**\[dq] 14917 \f[R] 14918 .fi 14919 .PP 14920 E.g. 14921 \f[C]rclone ls remote:/wheat --include \[dq]??[\[ha][:punct:]]*\[dq]\f[R] 14922 lists the files \f[C]remote:\f[R] directory \f[C]wheat\f[R] (and 14923 subdirectories) whose third character is not punctuation. 14924 This example uses an ASCII character 14925 class (https://golang.org/pkg/regexp/syntax/). 14926 .SS \f[C]--include-from\f[R] - Read include patterns from file 14927 .PP 14928 Adds path/file names to an rclone command based on rules in a named 14929 file. 14930 The file contains a list of remarks and pattern rules. 14931 .PP 14932 For an example \f[C]include-file.txt\f[R]: 14933 .IP 14934 .nf 14935 \f[C] 14936 # a sample include rule file 14937 *.jpg 14938 file2.avi 14939 \f[R] 14940 .fi 14941 .PP 14942 \f[C]rclone ls remote: --include-from include-file.txt\f[R] lists the 14943 files on \f[C]remote:\f[R] with name \f[C]file2.avi\f[R] or suffix 14944 \f[C].jpg\f[R]. 14945 That is equivalent to 14946 \f[C]rclone ls remote: --include file2.avi --include \[dq]*.jpg\[dq]\f[R]. 14947 .PP 14948 This flag can be repeated. 14949 See above for the order filter flags are processed in. 14950 .PP 14951 The \f[C]--include-from\f[R] flag is useful where multiple include 14952 filter rules are applied to an rclone command. 14953 .PP 14954 \f[C]--include-from\f[R] implies \f[C]--exclude **\f[R] at the end of an 14955 rclone internal filter list. 14956 Therefore if you mix \f[C]--include\f[R] and \f[C]--include-from\f[R] 14957 flags with \f[C]--exclude\f[R], \f[C]--exclude-from\f[R], 14958 \f[C]--filter\f[R] or \f[C]--filter-from\f[R], you must use include 14959 rules for all the files you want in the include statement. 14960 For more flexibility use the \f[C]--filter-from\f[R] flag. 14961 .PP 14962 \f[C]--exclude-from\f[R] has no effect when combined with 14963 \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags. 14964 .PP 14965 \f[C]--exclude-from\f[R] followed by \f[C]-\f[R] reads filter rules from 14966 standard input. 14967 .SS \f[C]--filter\f[R] - Add a file-filtering rule 14968 .PP 14969 Specifies path/file names to an rclone command, based on a single 14970 include or exclude rule, in \f[C]+\f[R] or \f[C]-\f[R] format. 14971 .PP 14972 This flag can be repeated. 14973 See above for the order filter flags are processed in. 14974 .PP 14975 \f[C]--filter +\f[R] differs from \f[C]--include\f[R]. 14976 In the case of \f[C]--include\f[R] rclone implies an 14977 \f[C]--exclude *\f[R] rule which it adds to the bottom of the internal 14978 rule list. 14979 \f[C]--filter...+\f[R] does not imply that rule. 14980 .PP 14981 \f[C]--filter\f[R] has no effect when combined with 14982 \f[C]--files-from\f[R] or \f[C]--files-from-raw\f[R] flags. 14983 .PP 14984 \f[C]--filter\f[R] should not be used with \f[C]--include\f[R], 14985 \f[C]--include-from\f[R], \f[C]--exclude\f[R] or 14986 \f[C]--exclude-from\f[R] flags. 14987 .PP 14988 E.g. 14989 \f[C]rclone ls remote: --filter \[dq]- *.bak\[dq]\f[R] excludes all 14990 \f[C].bak\f[R] files from a list of \f[C]remote:\f[R]. 14991 .SS \f[C]--filter-from\f[R] - Read filtering patterns from a file 14992 .PP 14993 Adds path/file names to an rclone command based on rules in a named 14994 file. 14995 The file contains a list of remarks and pattern rules. 14996 Include rules start with \f[C]+\f[R] and exclude rules with \f[C]-\f[R]. 14997 \f[C]!\f[R] clears existing rules. 14998 Rules are processed in the order they are defined. 14999 .PP 15000 This flag can be repeated. 15001 See above for the order filter flags are processed in. 15002 .PP 15003 Arrange the order of filter rules with the most restrictive first and 15004 work down. 15005 .PP 15006 E.g. 15007 for \f[C]filter-file.txt\f[R]: 15008 .IP 15009 .nf 15010 \f[C] 15011 # a sample filter rule file 15012 - secret*.jpg 15013 + *.jpg 15014 + *.png 15015 + file2.avi 15016 - /dir/Trash/** 15017 + /dir/** 15018 # exclude everything else 15019 - * 15020 \f[R] 15021 .fi 15022 .PP 15023 \f[C]rclone ls remote: --filter-from filter-file.txt\f[R] lists the 15024 path/files on \f[C]remote:\f[R] including all \f[C]jpg\f[R] and 15025 \f[C]png\f[R] files, excluding any matching \f[C]secret*.jpg\f[R] and 15026 including \f[C]file2.avi\f[R]. 15027 It also includes everything in the directory \f[C]dir\f[R] at the root 15028 of \f[C]remote\f[R], except \f[C]remote:dir/Trash\f[R] which it 15029 excludes. 15030 Everything else is excluded. 15031 .PP 15032 E.g. 15033 for an alternative \f[C]filter-file.txt\f[R]: 15034 .IP 15035 .nf 15036 \f[C] 15037 - secret*.jpg 15038 + *.jpg 15039 + *.png 15040 + file2.avi 15041 - * 15042 \f[R] 15043 .fi 15044 .PP 15045 Files \f[C]file1.jpg\f[R], \f[C]file3.png\f[R] and \f[C]file2.avi\f[R] 15046 are listed whilst \f[C]secret17.jpg\f[R] and files without the suffix 15047 \&.jpg\f[C]or\f[R].png\[ga] are excluded. 15048 .PP 15049 E.g. 15050 for an alternative \f[C]filter-file.txt\f[R]: 15051 .IP 15052 .nf 15053 \f[C] 15054 + *.jpg 15055 + *.gif 15056 ! 15057 + 42.doc 15058 - * 15059 \f[R] 15060 .fi 15061 .PP 15062 Only file 42.doc is listed. 15063 Prior rules are cleared by the \f[C]!\f[R]. 15064 .SS \f[C]--files-from\f[R] - Read list of source-file names 15065 .PP 15066 Adds path/files to an rclone command from a list in a named file. 15067 Rclone processes the path/file names in the order of the list, and no 15068 others. 15069 .PP 15070 Other filter flags (\f[C]--include\f[R], \f[C]--include-from\f[R], 15071 \f[C]--exclude\f[R], \f[C]--exclude-from\f[R], \f[C]--filter\f[R] and 15072 \f[C]--filter-from\f[R]) are ignored when \f[C]--files-from\f[R] is 15073 used. 15074 .PP 15075 \f[C]--files-from\f[R] expects a list of files as its input. 15076 Leading or trailing whitespace is stripped from the input lines. 15077 Lines starting with \f[C]#\f[R] or \f[C];\f[R] are ignored. 15078 .PP 15079 Rclone commands with a \f[C]--files-from\f[R] flag traverse the remote, 15080 treating the names in \f[C]--files-from\f[R] as a set of filters. 15081 .PP 15082 If the \f[C]--no-traverse\f[R] and \f[C]--files-from\f[R] flags are used 15083 together an rclone command does not traverse the remote. 15084 Instead it addresses each path/file named in the file individually. 15085 For each path/file name, that requires typically 1 API call. 15086 This can be efficient for a short \f[C]--files-from\f[R] list and a 15087 remote containing many files. 15088 .PP 15089 Rclone commands do not error if any names in the \f[C]--files-from\f[R] 15090 file are missing from the source remote. 15091 .PP 15092 The \f[C]--files-from\f[R] flag can be repeated in a single rclone 15093 command to read path/file names from more than one file. 15094 The files are read from left to right along the command line. 15095 .PP 15096 Paths within the \f[C]--files-from\f[R] file are interpreted as starting 15097 with the root specified in the rclone command. 15098 Leading \f[C]/\f[R] separators are ignored. 15099 See --files-from-raw if you need the input to be processed in a raw 15100 manner. 15101 .PP 15102 E.g. 15103 for a file \f[C]files-from.txt\f[R]: 15104 .IP 15105 .nf 15106 \f[C] 15107 # comment 15108 file1.jpg 15109 subdir/file2.jpg 15110 \f[R] 15111 .fi 15112 .PP 15113 \f[C]rclone copy --files-from files-from.txt /home/me/pics remote:pics\f[R] 15114 copies the following, if they exist, and only those files. 15115 .IP 15116 .nf 15117 \f[C] 15118 /home/me/pics/file1.jpg \[->] remote:pics/file1.jpg 15119 /home/me/pics/subdir/file2.jpg \[->] remote:pics/subdir/file2.jpg 15120 \f[R] 15121 .fi 15122 .PP 15123 E.g. 15124 to copy the following files referenced by their absolute paths: 15125 .IP 15126 .nf 15127 \f[C] 15128 /home/user1/42 15129 /home/user1/dir/ford 15130 /home/user2/prefect 15131 \f[R] 15132 .fi 15133 .PP 15134 First find a common subdirectory - in this case \f[C]/home\f[R] and put 15135 the remaining files in \f[C]files-from.txt\f[R] with or without leading 15136 \f[C]/\f[R], e.g. 15137 .IP 15138 .nf 15139 \f[C] 15140 user1/42 15141 user1/dir/ford 15142 user2/prefect 15143 \f[R] 15144 .fi 15145 .PP 15146 Then copy these to a remote: 15147 .IP 15148 .nf 15149 \f[C] 15150 rclone copy --files-from files-from.txt /home remote:backup 15151 \f[R] 15152 .fi 15153 .PP 15154 The three files are transferred as follows: 15155 .IP 15156 .nf 15157 \f[C] 15158 /home/user1/42 \[->] remote:backup/user1/important 15159 /home/user1/dir/ford \[->] remote:backup/user1/dir/file 15160 /home/user2/prefect \[->] remote:backup/user2/stuff 15161 \f[R] 15162 .fi 15163 .PP 15164 Alternatively if \f[C]/\f[R] is chosen as root \f[C]files-from.txt\f[R] 15165 will be: 15166 .IP 15167 .nf 15168 \f[C] 15169 /home/user1/42 15170 /home/user1/dir/ford 15171 /home/user2/prefect 15172 \f[R] 15173 .fi 15174 .PP 15175 The copy command will be: 15176 .IP 15177 .nf 15178 \f[C] 15179 rclone copy --files-from files-from.txt / remote:backup 15180 \f[R] 15181 .fi 15182 .PP 15183 Then there will be an extra \f[C]home\f[R] directory on the remote: 15184 .IP 15185 .nf 15186 \f[C] 15187 /home/user1/42 \[->] remote:backup/home/user1/42 15188 /home/user1/dir/ford \[->] remote:backup/home/user1/dir/ford 15189 /home/user2/prefect \[->] remote:backup/home/user2/prefect 15190 \f[R] 15191 .fi 15192 .SS \f[C]--files-from-raw\f[R] - Read list of source-file names without any processing 15193 .PP 15194 This flag is the same as \f[C]--files-from\f[R] except that input is 15195 read in a raw manner. 15196 Lines with leading / trailing whitespace, and lines starting with 15197 \f[C];\f[R] or \f[C]#\f[R] are read without any processing. 15198 rclone lsf (https://rclone.org/commands/rclone_lsf/) has a compatible 15199 format that can be used to export file lists from remotes for input to 15200 \f[C]--files-from-raw\f[R]. 15201 .SS \f[C]--ignore-case\f[R] - make searches case insensitive 15202 .PP 15203 By default, rclone filter patterns are case sensitive. 15204 The \f[C]--ignore-case\f[R] flag makes all of the filters patterns on 15205 the command line case insensitive. 15206 .PP 15207 E.g. 15208 \f[C]--include \[dq]zaphod.txt\[dq]\f[R] does not match a file 15209 \f[C]Zaphod.txt\f[R]. 15210 With \f[C]--ignore-case\f[R] a match is made. 15211 .SS Quoting shell metacharacters 15212 .PP 15213 Rclone commands with filter patterns containing shell metacharacters may 15214 not as work as expected in your shell and may require quoting. 15215 .PP 15216 E.g. 15217 linux, OSX (\f[C]*\f[R] metacharacter) 15218 .IP \[bu] 2 15219 \f[C]--include \[rs]*.jpg\f[R] 15220 .IP \[bu] 2 15221 \f[C]--include \[aq]*.jpg\[aq]\f[R] 15222 .IP \[bu] 2 15223 \f[C]--include=\[aq]*.jpg\[aq]\f[R] 15224 .PP 15225 Microsoft Windows expansion is done by the command, not shell, so 15226 \f[C]--include *.jpg\f[R] does not require quoting. 15227 .PP 15228 If the rclone error 15229 \f[C]Command .... needs .... arguments maximum: you provided .... non flag arguments:\f[R] 15230 is encountered, the cause is commonly spaces within the name of a remote 15231 or flag value. 15232 The fix then is to quote values containing spaces. 15233 .SS Other filters 15234 .SS \f[C]--min-size\f[R] - Don\[aq]t transfer any file smaller than this 15235 .PP 15236 Controls the minimum size file within the scope of an rclone command. 15237 Default units are \f[C]KiB\f[R] but abbreviations \f[C]K\f[R], 15238 \f[C]M\f[R], \f[C]G\f[R], \f[C]T\f[R] or \f[C]P\f[R] are valid. 15239 .PP 15240 E.g. 15241 \f[C]rclone ls remote: --min-size 50k\f[R] lists files on 15242 \f[C]remote:\f[R] of 50 KiB size or larger. 15243 .PP 15244 See the size option docs (https://rclone.org/docs/#size-option) for more 15245 info. 15246 .SS \f[C]--max-size\f[R] - Don\[aq]t transfer any file larger than this 15247 .PP 15248 Controls the maximum size file within the scope of an rclone command. 15249 Default units are \f[C]KiB\f[R] but abbreviations \f[C]K\f[R], 15250 \f[C]M\f[R], \f[C]G\f[R], \f[C]T\f[R] or \f[C]P\f[R] are valid. 15251 .PP 15252 E.g. 15253 \f[C]rclone ls remote: --max-size 1G\f[R] lists files on 15254 \f[C]remote:\f[R] of 1 GiB size or smaller. 15255 .PP 15256 See the size option docs (https://rclone.org/docs/#size-option) for more 15257 info. 15258 .SS \f[C]--max-age\f[R] - Don\[aq]t transfer any file older than this 15259 .PP 15260 Controls the maximum age of files within the scope of an rclone command. 15261 .PP 15262 \f[C]--max-age\f[R] applies only to files and not to directories. 15263 .PP 15264 E.g. 15265 \f[C]rclone ls remote: --max-age 2d\f[R] lists files on 15266 \f[C]remote:\f[R] of 2 days old or less. 15267 .PP 15268 See the time option docs (https://rclone.org/docs/#time-option) for 15269 valid formats. 15270 .SS \f[C]--min-age\f[R] - Don\[aq]t transfer any file younger than this 15271 .PP 15272 Controls the minimum age of files within the scope of an rclone command. 15273 (see \f[C]--max-age\f[R] for valid formats) 15274 .PP 15275 \f[C]--min-age\f[R] applies only to files and not to directories. 15276 .PP 15277 E.g. 15278 \f[C]rclone ls remote: --min-age 2d\f[R] lists files on 15279 \f[C]remote:\f[R] of 2 days old or more. 15280 .PP 15281 See the time option docs (https://rclone.org/docs/#time-option) for 15282 valid formats. 15283 .SS Other flags 15284 .SS \f[C]--delete-excluded\f[R] - Delete files on dest excluded from sync 15285 .PP 15286 \f[B]Important\f[R] this flag is dangerous to your data - use with 15287 \f[C]--dry-run\f[R] and \f[C]-v\f[R] first. 15288 .PP 15289 In conjunction with \f[C]rclone sync\f[R], \f[C]--delete-excluded\f[R] 15290 deletes any files on the destination which are excluded from the 15291 command. 15292 .PP 15293 E.g. 15294 the scope of \f[C]rclone sync --interactive A: B:\f[R] can be 15295 restricted: 15296 .IP 15297 .nf 15298 \f[C] 15299 rclone --min-size 50k --delete-excluded sync A: B: 15300 \f[R] 15301 .fi 15302 .PP 15303 All files on \f[C]B:\f[R] which are less than 50 KiB are deleted because 15304 they are excluded from the rclone sync command. 15305 .SS \f[C]--dump filters\f[R] - dump the filters to the output 15306 .PP 15307 Dumps the defined filters to standard output in regular expression 15308 format. 15309 .PP 15310 Useful for debugging. 15311 .SS Exclude directory based on a file 15312 .PP 15313 The \f[C]--exclude-if-present\f[R] flag controls whether a directory is 15314 within the scope of an rclone command based on the presence of a named 15315 file within it. 15316 The flag can be repeated to check for multiple file names, presence of 15317 any of them will exclude the directory. 15318 .PP 15319 This flag has a priority over other filter flags. 15320 .PP 15321 E.g. 15322 for the following directory structure: 15323 .IP 15324 .nf 15325 \f[C] 15326 dir1/file1 15327 dir1/dir2/file2 15328 dir1/dir2/dir3/file3 15329 dir1/dir2/dir3/.ignore 15330 \f[R] 15331 .fi 15332 .PP 15333 The command \f[C]rclone ls --exclude-if-present .ignore dir1\f[R] does 15334 not list \f[C]dir3\f[R], \f[C]file3\f[R] or \f[C].ignore\f[R]. 15335 .SS Metadata filters 15336 .PP 15337 The metadata filters work in a very similar way to the normal file name 15338 filters, except they match metadata (https://rclone.org/docs/#metadata) 15339 on the object. 15340 .PP 15341 The metadata should be specified as \f[C]key=value\f[R] patterns. 15342 This may be wildcarded using the normal filter patterns or regular 15343 expressions. 15344 .PP 15345 For example if you wished to list only local files with a mode of 15346 \f[C]100664\f[R] you could do that with: 15347 .IP 15348 .nf 15349 \f[C] 15350 rclone lsf -M --files-only --metadata-include \[dq]mode=100664\[dq] . 15351 \f[R] 15352 .fi 15353 .PP 15354 Or if you wished to show files with an \f[C]atime\f[R], \f[C]mtime\f[R] 15355 or \f[C]btime\f[R] at a given date: 15356 .IP 15357 .nf 15358 \f[C] 15359 rclone lsf -M --files-only --metadata-include \[dq][abm]time=2022-12-16*\[dq] . 15360 \f[R] 15361 .fi 15362 .PP 15363 Like file filtering, metadata filtering only applies to files not to 15364 directories. 15365 .PP 15366 The filters can be applied using these flags. 15367 .IP \[bu] 2 15368 \f[C]--metadata-include\f[R] - Include metadatas matching pattern 15369 .IP \[bu] 2 15370 \f[C]--metadata-include-from\f[R] - Read metadata include patterns from 15371 file (use - to read from stdin) 15372 .IP \[bu] 2 15373 \f[C]--metadata-exclude\f[R] - Exclude metadatas matching pattern 15374 .IP \[bu] 2 15375 \f[C]--metadata-exclude-from\f[R] - Read metadata exclude patterns from 15376 file (use - to read from stdin) 15377 .IP \[bu] 2 15378 \f[C]--metadata-filter\f[R] - Add a metadata filtering rule 15379 .IP \[bu] 2 15380 \f[C]--metadata-filter-from\f[R] - Read metadata filtering patterns from 15381 a file (use - to read from stdin) 15382 .PP 15383 Each flag can be repeated. 15384 See the section on how filter rules are applied for more details - these 15385 flags work in an identical way to the file name filtering flags, but 15386 instead of file name patterns have metadata patterns. 15387 .SS Common pitfalls 15388 .PP 15389 The most frequent filter support issues on the rclone 15390 forum (https://forum.rclone.org/) are: 15391 .IP \[bu] 2 15392 Not using paths relative to the root of the remote 15393 .IP \[bu] 2 15394 Not using \f[C]/\f[R] to match from the root of a remote 15395 .IP \[bu] 2 15396 Not using \f[C]**\f[R] to match the contents of a directory 15397 .SH GUI (Experimental) 15398 .PP 15399 Rclone can serve a web based GUI (graphical user interface). 15400 This is somewhat experimental at the moment so things may be subject to 15401 change. 15402 .PP 15403 Run this command in a terminal and rclone will download and then display 15404 the GUI in a web browser. 15405 .IP 15406 .nf 15407 \f[C] 15408 rclone rcd --rc-web-gui 15409 \f[R] 15410 .fi 15411 .PP 15412 This will produce logs like this and rclone needs to continue to run to 15413 serve the GUI: 15414 .IP 15415 .nf 15416 \f[C] 15417 2019/08/25 11:40:14 NOTICE: A new release for gui is present at https://github.com/divyam234/rclone-webui-react/releases/download/v0.0.6/currentbuild.zip 15418 2019/08/25 11:40:14 NOTICE: Downloading webgui binary. Please wait. [Size: 3813937, Path : /home/USER/.cache/rclone/webgui/v0.0.6.zip] 15419 2019/08/25 11:40:16 NOTICE: Unzipping 15420 2019/08/25 11:40:16 NOTICE: Serving remote control on http://127.0.0.1:5572/ 15421 \f[R] 15422 .fi 15423 .PP 15424 This assumes you are running rclone locally on your machine. 15425 It is possible to separate the rclone and the GUI - see below for 15426 details. 15427 .PP 15428 If you wish to check for updates then you can add 15429 \f[C]--rc-web-gui-update\f[R] to the command line. 15430 .PP 15431 If you find your GUI broken, you may force it to update by add 15432 \f[C]--rc-web-gui-force-update\f[R]. 15433 .PP 15434 By default, rclone will open your browser. 15435 Add \f[C]--rc-web-gui-no-open-browser\f[R] to disable this feature. 15436 .SS Using the GUI 15437 .PP 15438 Once the GUI opens, you will be looking at the dashboard which has an 15439 overall overview. 15440 .PP 15441 On the left hand side you will see a series of view buttons you can 15442 click on: 15443 .IP \[bu] 2 15444 Dashboard - main overview 15445 .IP \[bu] 2 15446 Configs - examine and create new configurations 15447 .IP \[bu] 2 15448 Explorer - view, download and upload files to the cloud storage systems 15449 .IP \[bu] 2 15450 Backend - view or alter the backend config 15451 .IP \[bu] 2 15452 Log out 15453 .PP 15454 (More docs and walkthrough video to come!) 15455 .SS How it works 15456 .PP 15457 When you run the \f[C]rclone rcd --rc-web-gui\f[R] this is what happens 15458 .IP \[bu] 2 15459 Rclone starts but only runs the remote control API (\[dq]rc\[dq]). 15460 .IP \[bu] 2 15461 The API is bound to localhost with an auto-generated username and 15462 password. 15463 .IP \[bu] 2 15464 If the API bundle is missing then rclone will download it. 15465 .IP \[bu] 2 15466 rclone will start serving the files from the API bundle over the same 15467 port as the API 15468 .IP \[bu] 2 15469 rclone will open the browser with a \f[C]login_token\f[R] so it can log 15470 straight in. 15471 .SS Advanced use 15472 .PP 15473 The \f[C]rclone rcd\f[R] may use any of the flags documented on the rc 15474 page (https://rclone.org/rc/#supported-parameters). 15475 .PP 15476 The flag \f[C]--rc-web-gui\f[R] is shorthand for 15477 .IP \[bu] 2 15478 Download the web GUI if necessary 15479 .IP \[bu] 2 15480 Check we are using some authentication 15481 .IP \[bu] 2 15482 \f[C]--rc-user gui\f[R] 15483 .IP \[bu] 2 15484 \f[C]--rc-pass <random password>\f[R] 15485 .IP \[bu] 2 15486 \f[C]--rc-serve\f[R] 15487 .PP 15488 These flags can be overridden as desired. 15489 .PP 15490 See also the rclone rcd 15491 documentation (https://rclone.org/commands/rclone_rcd/). 15492 .SS Example: Running a public GUI 15493 .PP 15494 For example the GUI could be served on a public port over SSL using an 15495 htpasswd file using the following flags: 15496 .IP \[bu] 2 15497 \f[C]--rc-web-gui\f[R] 15498 .IP \[bu] 2 15499 \f[C]--rc-addr :443\f[R] 15500 .IP \[bu] 2 15501 \f[C]--rc-htpasswd /path/to/htpasswd\f[R] 15502 .IP \[bu] 2 15503 \f[C]--rc-cert /path/to/ssl.crt\f[R] 15504 .IP \[bu] 2 15505 \f[C]--rc-key /path/to/ssl.key\f[R] 15506 .SS Example: Running a GUI behind a proxy 15507 .PP 15508 If you want to run the GUI behind a proxy at \f[C]/rclone\f[R] you could 15509 use these flags: 15510 .IP \[bu] 2 15511 \f[C]--rc-web-gui\f[R] 15512 .IP \[bu] 2 15513 \f[C]--rc-baseurl rclone\f[R] 15514 .IP \[bu] 2 15515 \f[C]--rc-htpasswd /path/to/htpasswd\f[R] 15516 .PP 15517 Or instead of htpasswd if you just want a single user and password: 15518 .IP \[bu] 2 15519 \f[C]--rc-user me\f[R] 15520 .IP \[bu] 2 15521 \f[C]--rc-pass mypassword\f[R] 15522 .SS Project 15523 .PP 15524 The GUI is being developed in the: rclone/rclone-webui-react 15525 repository (https://github.com/divyam234/rclone-webui-react). 15526 .PP 15527 Bug reports and contributions are very welcome :-) 15528 .PP 15529 If you have questions then please ask them on the rclone 15530 forum (https://forum.rclone.org/). 15531 .SH Remote controlling rclone with its API 15532 .PP 15533 If rclone is run with the \f[C]--rc\f[R] flag then it starts an HTTP 15534 server which can be used to remote control rclone using its API. 15535 .PP 15536 You can either use the rc command to access the API or use HTTP 15537 directly. 15538 .PP 15539 If you just want to run a remote control then see the 15540 rcd (https://rclone.org/commands/rclone_rcd/) command. 15541 .SS Supported parameters 15542 .SS --rc 15543 .PP 15544 Flag to start the http server listen on remote requests 15545 .SS --rc-addr=IP 15546 .PP 15547 IPaddress:Port or :Port to bind server to. 15548 (default \[dq]localhost:5572\[dq]) 15549 .SS --rc-cert=KEY 15550 .PP 15551 SSL PEM key (concatenation of certificate and CA certificate) 15552 .SS --rc-client-ca=PATH 15553 .PP 15554 Client certificate authority to verify clients with 15555 .SS --rc-htpasswd=PATH 15556 .PP 15557 htpasswd file - if not provided no authentication is done 15558 .SS --rc-key=PATH 15559 .PP 15560 SSL PEM Private key 15561 .SS --rc-max-header-bytes=VALUE 15562 .PP 15563 Maximum size of request header (default 4096) 15564 .SS --rc-min-tls-version=VALUE 15565 .PP 15566 The minimum TLS version that is acceptable. 15567 Valid values are \[dq]tls1.0\[dq], \[dq]tls1.1\[dq], \[dq]tls1.2\[dq] 15568 and \[dq]tls1.3\[dq] (default \[dq]tls1.0\[dq]). 15569 .SS --rc-user=VALUE 15570 .PP 15571 User name for authentication. 15572 .SS --rc-pass=VALUE 15573 .PP 15574 Password for authentication. 15575 .SS --rc-realm=VALUE 15576 .PP 15577 Realm for authentication (default \[dq]rclone\[dq]) 15578 .SS --rc-server-read-timeout=DURATION 15579 .PP 15580 Timeout for server reading data (default 1h0m0s) 15581 .SS --rc-server-write-timeout=DURATION 15582 .PP 15583 Timeout for server writing data (default 1h0m0s) 15584 .SS --rc-serve 15585 .PP 15586 Enable the serving of remote objects via the HTTP interface. 15587 This means objects will be accessible at http://127.0.0.1:5572/ by 15588 default, so you can browse to http://127.0.0.1:5572/ or 15589 http://127.0.0.1:5572/* to see a listing of the remotes. 15590 Objects may be requested from remotes using this syntax 15591 http://127.0.0.1:5572/[remote:path]/path/to/object 15592 .PP 15593 Default Off. 15594 .SS --rc-files /path/to/directory 15595 .PP 15596 Path to local files to serve on the HTTP server. 15597 .PP 15598 If this is set then rclone will serve the files in that directory. 15599 It will also open the root in the web browser if specified. 15600 This is for implementing browser based GUIs for rclone functions. 15601 .PP 15602 If \f[C]--rc-user\f[R] or \f[C]--rc-pass\f[R] is set then the URL that 15603 is opened will have the authorization in the URL in the 15604 \f[C]http://user:pass\[at]localhost/\f[R] style. 15605 .PP 15606 Default Off. 15607 .SS --rc-enable-metrics 15608 .PP 15609 Enable OpenMetrics/Prometheus compatible endpoint at \f[C]/metrics\f[R]. 15610 .PP 15611 Default Off. 15612 .SS --rc-web-gui 15613 .PP 15614 Set this flag to serve the default web gui on the same port as rclone. 15615 .PP 15616 Default Off. 15617 .SS --rc-allow-origin 15618 .PP 15619 Set the allowed Access-Control-Allow-Origin for rc requests. 15620 .PP 15621 Can be used with --rc-web-gui if the rclone is running on different IP 15622 than the web-gui. 15623 .PP 15624 Default is IP address on which rc is running. 15625 .SS --rc-web-fetch-url 15626 .PP 15627 Set the URL to fetch the rclone-web-gui files from. 15628 .PP 15629 Default 15630 https://api.github.com/repos/divyam234/rclone-webui-react/releases/latest. 15631 .SS --rc-web-gui-update 15632 .PP 15633 Set this flag to check and update rclone-webui-react from the 15634 rc-web-fetch-url. 15635 .PP 15636 Default Off. 15637 .SS --rc-web-gui-force-update 15638 .PP 15639 Set this flag to force update rclone-webui-react from the 15640 rc-web-fetch-url. 15641 .PP 15642 Default Off. 15643 .SS --rc-web-gui-no-open-browser 15644 .PP 15645 Set this flag to disable opening browser automatically when using 15646 web-gui. 15647 .PP 15648 Default Off. 15649 .SS --rc-job-expire-duration=DURATION 15650 .PP 15651 Expire finished async jobs older than DURATION (default 60s). 15652 .SS --rc-job-expire-interval=DURATION 15653 .PP 15654 Interval duration to check for expired async jobs (default 10s). 15655 .SS --rc-no-auth 15656 .PP 15657 By default rclone will require authorisation to have been set up on the 15658 rc interface in order to use any methods which access any rclone 15659 remotes. 15660 Eg \f[C]operations/list\f[R] is denied as it involved creating a remote 15661 as is \f[C]sync/copy\f[R]. 15662 .PP 15663 If this is set then no authorisation will be required on the server to 15664 use these methods. 15665 The alternative is to use \f[C]--rc-user\f[R] and \f[C]--rc-pass\f[R] 15666 and use these credentials in the request. 15667 .PP 15668 Default Off. 15669 .SS --rc-baseurl 15670 .PP 15671 Prefix for URLs. 15672 .PP 15673 Default is root 15674 .SS --rc-template 15675 .PP 15676 User-specified template. 15677 .SS Accessing the remote control via the rclone rc command 15678 .PP 15679 Rclone itself implements the remote control protocol in its 15680 \f[C]rclone rc\f[R] command. 15681 .PP 15682 You can use it like this 15683 .IP 15684 .nf 15685 \f[C] 15686 $ rclone rc rc/noop param1=one param2=two 15687 { 15688 \[dq]param1\[dq]: \[dq]one\[dq], 15689 \[dq]param2\[dq]: \[dq]two\[dq] 15690 } 15691 \f[R] 15692 .fi 15693 .PP 15694 Run \f[C]rclone rc\f[R] on its own to see the help for the installed 15695 remote control commands. 15696 .SS JSON input 15697 .PP 15698 \f[C]rclone rc\f[R] also supports a \f[C]--json\f[R] flag which can be 15699 used to send more complicated input parameters. 15700 .IP 15701 .nf 15702 \f[C] 15703 $ rclone rc --json \[aq]{ \[dq]p1\[dq]: [1,\[dq]2\[dq],null,4], \[dq]p2\[dq]: { \[dq]a\[dq]:1, \[dq]b\[dq]:2 } }\[aq] rc/noop 15704 { 15705 \[dq]p1\[dq]: [ 15706 1, 15707 \[dq]2\[dq], 15708 null, 15709 4 15710 ], 15711 \[dq]p2\[dq]: { 15712 \[dq]a\[dq]: 1, 15713 \[dq]b\[dq]: 2 15714 } 15715 } 15716 \f[R] 15717 .fi 15718 .PP 15719 If the parameter being passed is an object then it can be passed as a 15720 JSON string rather than using the \f[C]--json\f[R] flag which simplifies 15721 the command line. 15722 .IP 15723 .nf 15724 \f[C] 15725 rclone rc operations/list fs=/tmp remote=test opt=\[aq]{\[dq]showHash\[dq]: true}\[aq] 15726 \f[R] 15727 .fi 15728 .PP 15729 Rather than 15730 .IP 15731 .nf 15732 \f[C] 15733 rclone rc operations/list --json \[aq]{\[dq]fs\[dq]: \[dq]/tmp\[dq], \[dq]remote\[dq]: \[dq]test\[dq], \[dq]opt\[dq]: {\[dq]showHash\[dq]: true}}\[aq] 15734 \f[R] 15735 .fi 15736 .SS Special parameters 15737 .PP 15738 The rc interface supports some special parameters which apply to 15739 \f[B]all\f[R] commands. 15740 These start with \f[C]_\f[R] to show they are different. 15741 .SS Running asynchronous jobs with _async = true 15742 .PP 15743 Each rc call is classified as a job and it is assigned its own id. 15744 By default jobs are executed immediately as they are created or 15745 synchronously. 15746 .PP 15747 If \f[C]_async\f[R] has a true value when supplied to an rc call then it 15748 will return immediately with a job id and the task will be run in the 15749 background. 15750 The \f[C]job/status\f[R] call can be used to get information of the 15751 background job. 15752 The job can be queried for up to 1 minute after it has finished. 15753 .PP 15754 It is recommended that potentially long running jobs, e.g. 15755 \f[C]sync/sync\f[R], \f[C]sync/copy\f[R], \f[C]sync/move\f[R], 15756 \f[C]operations/purge\f[R] are run with the \f[C]_async\f[R] flag to 15757 avoid any potential problems with the HTTP request and response timing 15758 out. 15759 .PP 15760 Starting a job with the \f[C]_async\f[R] flag: 15761 .IP 15762 .nf 15763 \f[C] 15764 $ rclone rc --json \[aq]{ \[dq]p1\[dq]: [1,\[dq]2\[dq],null,4], \[dq]p2\[dq]: { \[dq]a\[dq]:1, \[dq]b\[dq]:2 }, \[dq]_async\[dq]: true }\[aq] rc/noop 15765 { 15766 \[dq]jobid\[dq]: 2 15767 } 15768 \f[R] 15769 .fi 15770 .PP 15771 Query the status to see if the job has finished. 15772 For more information on the meaning of these return parameters see the 15773 \f[C]job/status\f[R] call. 15774 .IP 15775 .nf 15776 \f[C] 15777 $ rclone rc --json \[aq]{ \[dq]jobid\[dq]:2 }\[aq] job/status 15778 { 15779 \[dq]duration\[dq]: 0.000124163, 15780 \[dq]endTime\[dq]: \[dq]2018-10-27T11:38:07.911245881+01:00\[dq], 15781 \[dq]error\[dq]: \[dq]\[dq], 15782 \[dq]finished\[dq]: true, 15783 \[dq]id\[dq]: 2, 15784 \[dq]output\[dq]: { 15785 \[dq]_async\[dq]: true, 15786 \[dq]p1\[dq]: [ 15787 1, 15788 \[dq]2\[dq], 15789 null, 15790 4 15791 ], 15792 \[dq]p2\[dq]: { 15793 \[dq]a\[dq]: 1, 15794 \[dq]b\[dq]: 2 15795 } 15796 }, 15797 \[dq]startTime\[dq]: \[dq]2018-10-27T11:38:07.911121728+01:00\[dq], 15798 \[dq]success\[dq]: true 15799 } 15800 \f[R] 15801 .fi 15802 .PP 15803 \f[C]job/list\f[R] can be used to show the running or recently completed 15804 jobs 15805 .IP 15806 .nf 15807 \f[C] 15808 $ rclone rc job/list 15809 { 15810 \[dq]jobids\[dq]: [ 15811 2 15812 ] 15813 } 15814 \f[R] 15815 .fi 15816 .SS Setting config flags with _config 15817 .PP 15818 If you wish to set config (the equivalent of the global flags) for the 15819 duration of an rc call only then pass in the \f[C]_config\f[R] 15820 parameter. 15821 .PP 15822 This should be in the same format as the \f[C]config\f[R] key returned 15823 by options/get. 15824 .PP 15825 For example, if you wished to run a sync with the \f[C]--checksum\f[R] 15826 parameter, you would pass this parameter in your JSON blob. 15827 .IP 15828 .nf 15829 \f[C] 15830 \[dq]_config\[dq]:{\[dq]CheckSum\[dq]: true} 15831 \f[R] 15832 .fi 15833 .PP 15834 If using \f[C]rclone rc\f[R] this could be passed as 15835 .IP 15836 .nf 15837 \f[C] 15838 rclone rc operations/sync ... _config=\[aq]{\[dq]CheckSum\[dq]: true}\[aq] 15839 \f[R] 15840 .fi 15841 .PP 15842 Any config parameters you don\[aq]t set will inherit the global defaults 15843 which were set with command line flags or environment variables. 15844 .PP 15845 Note that it is possible to set some values as strings or integers - see 15846 data types for more info. 15847 Here is an example setting the equivalent of \f[C]--buffer-size\f[R] in 15848 string or integer format. 15849 .IP 15850 .nf 15851 \f[C] 15852 \[dq]_config\[dq]:{\[dq]BufferSize\[dq]: \[dq]42M\[dq]} 15853 \[dq]_config\[dq]:{\[dq]BufferSize\[dq]: 44040192} 15854 \f[R] 15855 .fi 15856 .PP 15857 If you wish to check the \f[C]_config\f[R] assignment has worked 15858 properly then calling \f[C]options/local\f[R] will show what the value 15859 got set to. 15860 .SS Setting filter flags with _filter 15861 .PP 15862 If you wish to set filters for the duration of an rc call only then pass 15863 in the \f[C]_filter\f[R] parameter. 15864 .PP 15865 This should be in the same format as the \f[C]filter\f[R] key returned 15866 by options/get. 15867 .PP 15868 For example, if you wished to run a sync with these flags 15869 .IP 15870 .nf 15871 \f[C] 15872 --max-size 1M --max-age 42s --include \[dq]a\[dq] --include \[dq]b\[dq] 15873 \f[R] 15874 .fi 15875 .PP 15876 you would pass this parameter in your JSON blob. 15877 .IP 15878 .nf 15879 \f[C] 15880 \[dq]_filter\[dq]:{\[dq]MaxSize\[dq]:\[dq]1M\[dq], \[dq]IncludeRule\[dq]:[\[dq]a\[dq],\[dq]b\[dq]], \[dq]MaxAge\[dq]:\[dq]42s\[dq]} 15881 \f[R] 15882 .fi 15883 .PP 15884 If using \f[C]rclone rc\f[R] this could be passed as 15885 .IP 15886 .nf 15887 \f[C] 15888 rclone rc ... _filter=\[aq]{\[dq]MaxSize\[dq]:\[dq]1M\[dq], \[dq]IncludeRule\[dq]:[\[dq]a\[dq],\[dq]b\[dq]], \[dq]MaxAge\[dq]:\[dq]42s\[dq]}\[aq] 15889 \f[R] 15890 .fi 15891 .PP 15892 Any filter parameters you don\[aq]t set will inherit the global defaults 15893 which were set with command line flags or environment variables. 15894 .PP 15895 Note that it is possible to set some values as strings or integers - see 15896 data types for more info. 15897 Here is an example setting the equivalent of \f[C]--buffer-size\f[R] in 15898 string or integer format. 15899 .IP 15900 .nf 15901 \f[C] 15902 \[dq]_filter\[dq]:{\[dq]MinSize\[dq]: \[dq]42M\[dq]} 15903 \[dq]_filter\[dq]:{\[dq]MinSize\[dq]: 44040192} 15904 \f[R] 15905 .fi 15906 .PP 15907 If you wish to check the \f[C]_filter\f[R] assignment has worked 15908 properly then calling \f[C]options/local\f[R] will show what the value 15909 got set to. 15910 .SS Assigning operations to groups with _group = value 15911 .PP 15912 Each rc call has its own stats group for tracking its metrics. 15913 By default grouping is done by the composite group name from prefix 15914 \f[C]job/\f[R] and id of the job like so \f[C]job/1\f[R]. 15915 .PP 15916 If \f[C]_group\f[R] has a value then stats for that request will be 15917 grouped under that value. 15918 This allows caller to group stats under their own name. 15919 .PP 15920 Stats for specific group can be accessed by passing \f[C]group\f[R] to 15921 \f[C]core/stats\f[R]: 15922 .IP 15923 .nf 15924 \f[C] 15925 $ rclone rc --json \[aq]{ \[dq]group\[dq]: \[dq]job/1\[dq] }\[aq] core/stats 15926 { 15927 \[dq]speed\[dq]: 12345 15928 ... 15929 } 15930 \f[R] 15931 .fi 15932 .SS Data types 15933 .PP 15934 When the API returns types, these will mostly be straight forward 15935 integer, string or boolean types. 15936 .PP 15937 However some of the types returned by the options/get call and taken by 15938 the options/set calls as well as the \f[C]vfsOpt\f[R], 15939 \f[C]mountOpt\f[R] and the \f[C]_config\f[R] parameters. 15940 .IP \[bu] 2 15941 \f[C]Duration\f[R] - these are returned as an integer duration in 15942 nanoseconds. 15943 They may be set as an integer, or they may be set with time string, eg 15944 \[dq]5s\[dq]. 15945 See the options section (https://rclone.org/docs/#options) for more 15946 info. 15947 .IP \[bu] 2 15948 \f[C]Size\f[R] - these are returned as an integer number of bytes. 15949 They may be set as an integer or they may be set with a size suffix 15950 string, eg \[dq]10M\[dq]. 15951 See the options section (https://rclone.org/docs/#options) for more 15952 info. 15953 .IP \[bu] 2 15954 Enumerated type (such as \f[C]CutoffMode\f[R], \f[C]DumpFlags\f[R], 15955 \f[C]LogLevel\f[R], \f[C]VfsCacheMode\f[R] - these will be returned as 15956 an integer and may be set as an integer but more conveniently they can 15957 be set as a string, eg \[dq]HARD\[dq] for \f[C]CutoffMode\f[R] or 15958 \f[C]DEBUG\f[R] for \f[C]LogLevel\f[R]. 15959 .IP \[bu] 2 15960 \f[C]BandwidthSpec\f[R] - this will be set and returned as a string, eg 15961 \[dq]1M\[dq]. 15962 .SS Specifying remotes to work on 15963 .PP 15964 Remotes are specified with the \f[C]fs=\f[R], \f[C]srcFs=\f[R], 15965 \f[C]dstFs=\f[R] parameters depending on the command being used. 15966 .PP 15967 The parameters can be a string as per the rest of rclone, eg 15968 \f[C]s3:bucket/path\f[R] or \f[C]:sftp:/my/dir\f[R]. 15969 They can also be specified as JSON blobs. 15970 .PP 15971 If specifying a JSON blob it should be a object mapping strings to 15972 strings. 15973 These values will be used to configure the remote. 15974 There are 3 special values which may be set: 15975 .IP \[bu] 2 15976 \f[C]type\f[R] - set to \f[C]type\f[R] to specify a remote called 15977 \f[C]:type:\f[R] 15978 .IP \[bu] 2 15979 \f[C]_name\f[R] - set to \f[C]name\f[R] to specify a remote called 15980 \f[C]name:\f[R] 15981 .IP \[bu] 2 15982 \f[C]_root\f[R] - sets the root of the remote - may be empty 15983 .PP 15984 One of \f[C]_name\f[R] or \f[C]type\f[R] should normally be set. 15985 If the \f[C]local\f[R] backend is desired then \f[C]type\f[R] should be 15986 set to \f[C]local\f[R]. 15987 If \f[C]_root\f[R] isn\[aq]t specified then it defaults to the root of 15988 the remote. 15989 .PP 15990 For example this JSON is equivalent to \f[C]remote:/tmp\f[R] 15991 .IP 15992 .nf 15993 \f[C] 15994 { 15995 \[dq]_name\[dq]: \[dq]remote\[dq], 15996 \[dq]_path\[dq]: \[dq]/tmp\[dq] 15997 } 15998 \f[R] 15999 .fi 16000 .PP 16001 And this is equivalent to 16002 \f[C]:sftp,host=\[aq]example.com\[aq]:/tmp\f[R] 16003 .IP 16004 .nf 16005 \f[C] 16006 { 16007 \[dq]type\[dq]: \[dq]sftp\[dq], 16008 \[dq]host\[dq]: \[dq]example.com\[dq], 16009 \[dq]_path\[dq]: \[dq]/tmp\[dq] 16010 } 16011 \f[R] 16012 .fi 16013 .PP 16014 And this is equivalent to \f[C]/tmp/dir\f[R] 16015 .IP 16016 .nf 16017 \f[C] 16018 { 16019 type = \[dq]local\[dq], 16020 _ path = \[dq]/tmp/dir\[dq] 16021 } 16022 \f[R] 16023 .fi 16024 .SS Supported commands 16025 .SS backend/command: Runs a backend command. 16026 .PP 16027 This takes the following parameters: 16028 .IP \[bu] 2 16029 command - a string with the command name 16030 .IP \[bu] 2 16031 fs - a remote name string e.g. 16032 \[dq]drive:\[dq] 16033 .IP \[bu] 2 16034 arg - a list of arguments for the backend command 16035 .IP \[bu] 2 16036 opt - a map of string to string of options 16037 .PP 16038 Returns: 16039 .IP \[bu] 2 16040 result - result from the backend command 16041 .PP 16042 Example: 16043 .IP 16044 .nf 16045 \f[C] 16046 rclone rc backend/command command=noop fs=. -o echo=yes -o blue -a path1 -a path2 16047 \f[R] 16048 .fi 16049 .PP 16050 Returns 16051 .IP 16052 .nf 16053 \f[C] 16054 { 16055 \[dq]result\[dq]: { 16056 \[dq]arg\[dq]: [ 16057 \[dq]path1\[dq], 16058 \[dq]path2\[dq] 16059 ], 16060 \[dq]name\[dq]: \[dq]noop\[dq], 16061 \[dq]opt\[dq]: { 16062 \[dq]blue\[dq]: \[dq]\[dq], 16063 \[dq]echo\[dq]: \[dq]yes\[dq] 16064 } 16065 } 16066 } 16067 \f[R] 16068 .fi 16069 .PP 16070 Note that this is the direct equivalent of using this \[dq]backend\[dq] 16071 command: 16072 .IP 16073 .nf 16074 \f[C] 16075 rclone backend noop . -o echo=yes -o blue path1 path2 16076 \f[R] 16077 .fi 16078 .PP 16079 Note that arguments must be preceded by the \[dq]-a\[dq] flag 16080 .PP 16081 See the backend (https://rclone.org/commands/rclone_backend/) command 16082 for more information. 16083 .PP 16084 \f[B]Authentication is required for this call.\f[R] 16085 .SS cache/expire: Purge a remote from cache 16086 .PP 16087 Purge a remote from the cache backend. 16088 Supports either a directory or a file. 16089 Params: - remote = path to remote (required) - withData = true/false to 16090 delete cached data (chunks) as well (optional) 16091 .PP 16092 Eg 16093 .IP 16094 .nf 16095 \f[C] 16096 rclone rc cache/expire remote=path/to/sub/folder/ 16097 rclone rc cache/expire remote=/ withData=true 16098 \f[R] 16099 .fi 16100 .SS cache/fetch: Fetch file chunks 16101 .PP 16102 Ensure the specified file chunks are cached on disk. 16103 .PP 16104 The chunks= parameter specifies the file chunks to check. 16105 It takes a comma separated list of array slice indices. 16106 The slice indices are similar to Python slices: start[:end] 16107 .PP 16108 start is the 0 based chunk number from the beginning of the file to 16109 fetch inclusive. 16110 end is 0 based chunk number from the beginning of the file to fetch 16111 exclusive. 16112 Both values can be negative, in which case they count from the back of 16113 the file. 16114 The value \[dq]-5:\[dq] represents the last 5 chunks of a file. 16115 .PP 16116 Some valid examples are: \[dq]:5,-5:\[dq] -> the first and last five 16117 chunks \[dq]0,-2\[dq] -> the first and the second last chunk 16118 \[dq]0:10\[dq] -> the first ten chunks 16119 .PP 16120 Any parameter with a key that starts with \[dq]file\[dq] can be used to 16121 specify files to fetch, e.g. 16122 .IP 16123 .nf 16124 \f[C] 16125 rclone rc cache/fetch chunks=0 file=hello file2=home/goodbye 16126 \f[R] 16127 .fi 16128 .PP 16129 File names will automatically be encrypted when the a crypt remote is 16130 used on top of the cache. 16131 .SS cache/stats: Get cache stats 16132 .PP 16133 Show statistics for the cache remote. 16134 .SS config/create: create the config for a remote. 16135 .PP 16136 This takes the following parameters: 16137 .IP \[bu] 2 16138 name - name of remote 16139 .IP \[bu] 2 16140 parameters - a map of { \[dq]key\[dq]: \[dq]value\[dq] } pairs 16141 .IP \[bu] 2 16142 type - type of the new remote 16143 .IP \[bu] 2 16144 opt - a dictionary of options to control the configuration 16145 .RS 2 16146 .IP \[bu] 2 16147 obscure - declare passwords are plain and need obscuring 16148 .IP \[bu] 2 16149 noObscure - declare passwords are already obscured and don\[aq]t need 16150 obscuring 16151 .IP \[bu] 2 16152 nonInteractive - don\[aq]t interact with a user, return questions 16153 .IP \[bu] 2 16154 continue - continue the config process with an answer 16155 .IP \[bu] 2 16156 all - ask all the config questions not just the post config ones 16157 .IP \[bu] 2 16158 state - state to restart with - used with continue 16159 .IP \[bu] 2 16160 result - result to restart with - used with continue 16161 .RE 16162 .PP 16163 See the config 16164 create (https://rclone.org/commands/rclone_config_create/) command for 16165 more information on the above. 16166 .PP 16167 \f[B]Authentication is required for this call.\f[R] 16168 .SS config/delete: Delete a remote in the config file. 16169 .PP 16170 Parameters: 16171 .IP \[bu] 2 16172 name - name of remote to delete 16173 .PP 16174 See the config 16175 delete (https://rclone.org/commands/rclone_config_delete/) command for 16176 more information on the above. 16177 .PP 16178 \f[B]Authentication is required for this call.\f[R] 16179 .SS config/dump: Dumps the config file. 16180 .PP 16181 Returns a JSON object: - key: value 16182 .PP 16183 Where keys are remote names and values are the config parameters. 16184 .PP 16185 See the config dump (https://rclone.org/commands/rclone_config_dump/) 16186 command for more information on the above. 16187 .PP 16188 \f[B]Authentication is required for this call.\f[R] 16189 .SS config/get: Get a remote in the config file. 16190 .PP 16191 Parameters: 16192 .IP \[bu] 2 16193 name - name of remote to get 16194 .PP 16195 See the config dump (https://rclone.org/commands/rclone_config_dump/) 16196 command for more information on the above. 16197 .PP 16198 \f[B]Authentication is required for this call.\f[R] 16199 .SS config/listremotes: Lists the remotes in the config file and defined in environment variables. 16200 .PP 16201 Returns - remotes - array of remote names 16202 .PP 16203 See the listremotes (https://rclone.org/commands/rclone_listremotes/) 16204 command for more information on the above. 16205 .PP 16206 \f[B]Authentication is required for this call.\f[R] 16207 .SS config/password: password the config for a remote. 16208 .PP 16209 This takes the following parameters: 16210 .IP \[bu] 2 16211 name - name of remote 16212 .IP \[bu] 2 16213 parameters - a map of { \[dq]key\[dq]: \[dq]value\[dq] } pairs 16214 .PP 16215 See the config 16216 password (https://rclone.org/commands/rclone_config_password/) command 16217 for more information on the above. 16218 .PP 16219 \f[B]Authentication is required for this call.\f[R] 16220 .SS config/providers: Shows how providers are configured in the config file. 16221 .PP 16222 Returns a JSON object: - providers - array of objects 16223 .PP 16224 See the config 16225 providers (https://rclone.org/commands/rclone_config_providers/) command 16226 for more information on the above. 16227 .PP 16228 \f[B]Authentication is required for this call.\f[R] 16229 .SS config/setpath: Set the path of the config file 16230 .PP 16231 Parameters: 16232 .IP \[bu] 2 16233 path - path to the config file to use 16234 .PP 16235 \f[B]Authentication is required for this call.\f[R] 16236 .SS config/update: update the config for a remote. 16237 .PP 16238 This takes the following parameters: 16239 .IP \[bu] 2 16240 name - name of remote 16241 .IP \[bu] 2 16242 parameters - a map of { \[dq]key\[dq]: \[dq]value\[dq] } pairs 16243 .IP \[bu] 2 16244 opt - a dictionary of options to control the configuration 16245 .RS 2 16246 .IP \[bu] 2 16247 obscure - declare passwords are plain and need obscuring 16248 .IP \[bu] 2 16249 noObscure - declare passwords are already obscured and don\[aq]t need 16250 obscuring 16251 .IP \[bu] 2 16252 nonInteractive - don\[aq]t interact with a user, return questions 16253 .IP \[bu] 2 16254 continue - continue the config process with an answer 16255 .IP \[bu] 2 16256 all - ask all the config questions not just the post config ones 16257 .IP \[bu] 2 16258 state - state to restart with - used with continue 16259 .IP \[bu] 2 16260 result - result to restart with - used with continue 16261 .RE 16262 .PP 16263 See the config 16264 update (https://rclone.org/commands/rclone_config_update/) command for 16265 more information on the above. 16266 .PP 16267 \f[B]Authentication is required for this call.\f[R] 16268 .SS core/bwlimit: Set the bandwidth limit. 16269 .PP 16270 This sets the bandwidth limit to the string passed in. 16271 This should be a single bandwidth limit entry or a pair of 16272 upload:download bandwidth. 16273 .PP 16274 Eg 16275 .IP 16276 .nf 16277 \f[C] 16278 rclone rc core/bwlimit rate=off 16279 { 16280 \[dq]bytesPerSecond\[dq]: -1, 16281 \[dq]bytesPerSecondTx\[dq]: -1, 16282 \[dq]bytesPerSecondRx\[dq]: -1, 16283 \[dq]rate\[dq]: \[dq]off\[dq] 16284 } 16285 rclone rc core/bwlimit rate=1M 16286 { 16287 \[dq]bytesPerSecond\[dq]: 1048576, 16288 \[dq]bytesPerSecondTx\[dq]: 1048576, 16289 \[dq]bytesPerSecondRx\[dq]: 1048576, 16290 \[dq]rate\[dq]: \[dq]1M\[dq] 16291 } 16292 rclone rc core/bwlimit rate=1M:100k 16293 { 16294 \[dq]bytesPerSecond\[dq]: 1048576, 16295 \[dq]bytesPerSecondTx\[dq]: 1048576, 16296 \[dq]bytesPerSecondRx\[dq]: 131072, 16297 \[dq]rate\[dq]: \[dq]1M\[dq] 16298 } 16299 \f[R] 16300 .fi 16301 .PP 16302 If the rate parameter is not supplied then the bandwidth is queried 16303 .IP 16304 .nf 16305 \f[C] 16306 rclone rc core/bwlimit 16307 { 16308 \[dq]bytesPerSecond\[dq]: 1048576, 16309 \[dq]bytesPerSecondTx\[dq]: 1048576, 16310 \[dq]bytesPerSecondRx\[dq]: 1048576, 16311 \[dq]rate\[dq]: \[dq]1M\[dq] 16312 } 16313 \f[R] 16314 .fi 16315 .PP 16316 The format of the parameter is exactly the same as passed to --bwlimit 16317 except only one bandwidth may be specified. 16318 .PP 16319 In either case \[dq]rate\[dq] is returned as a human-readable string, 16320 and \[dq]bytesPerSecond\[dq] is returned as a number. 16321 .SS core/command: Run a rclone terminal command over rc. 16322 .PP 16323 This takes the following parameters: 16324 .IP \[bu] 2 16325 command - a string with the command name. 16326 .IP \[bu] 2 16327 arg - a list of arguments for the backend command. 16328 .IP \[bu] 2 16329 opt - a map of string to string of options. 16330 .IP \[bu] 2 16331 returnType - one of (\[dq]COMBINED_OUTPUT\[dq], \[dq]STREAM\[dq], 16332 \[dq]STREAM_ONLY_STDOUT\[dq], \[dq]STREAM_ONLY_STDERR\[dq]). 16333 .RS 2 16334 .IP \[bu] 2 16335 Defaults to \[dq]COMBINED_OUTPUT\[dq] if not set. 16336 .IP \[bu] 2 16337 The STREAM returnTypes will write the output to the body of the HTTP 16338 message. 16339 .IP \[bu] 2 16340 The COMBINED_OUTPUT will write the output to the \[dq]result\[dq] 16341 parameter. 16342 .RE 16343 .PP 16344 Returns: 16345 .IP \[bu] 2 16346 result - result from the backend command. 16347 .RS 2 16348 .IP \[bu] 2 16349 Only set when using returnType \[dq]COMBINED_OUTPUT\[dq]. 16350 .RE 16351 .IP \[bu] 2 16352 error - set if rclone exits with an error code. 16353 .IP \[bu] 2 16354 returnType - one of (\[dq]COMBINED_OUTPUT\[dq], \[dq]STREAM\[dq], 16355 \[dq]STREAM_ONLY_STDOUT\[dq], \[dq]STREAM_ONLY_STDERR\[dq]). 16356 .PP 16357 Example: 16358 .IP 16359 .nf 16360 \f[C] 16361 rclone rc core/command command=ls -a mydrive:/ -o max-depth=1 16362 rclone rc core/command -a ls -a mydrive:/ -o max-depth=1 16363 \f[R] 16364 .fi 16365 .PP 16366 Returns: 16367 .IP 16368 .nf 16369 \f[C] 16370 { 16371 \[dq]error\[dq]: false, 16372 \[dq]result\[dq]: \[dq]<Raw command line output>\[dq] 16373 } 16374 16375 OR 16376 { 16377 \[dq]error\[dq]: true, 16378 \[dq]result\[dq]: \[dq]<Raw command line output>\[dq] 16379 } 16380 \f[R] 16381 .fi 16382 .PP 16383 \f[B]Authentication is required for this call.\f[R] 16384 .SS core/gc: Runs a garbage collection. 16385 .PP 16386 This tells the go runtime to do a garbage collection run. 16387 It isn\[aq]t necessary to call this normally, but it can be useful for 16388 debugging memory problems. 16389 .SS core/group-list: Returns list of stats. 16390 .PP 16391 This returns list of stats groups currently in memory. 16392 .PP 16393 Returns the following values: 16394 .IP 16395 .nf 16396 \f[C] 16397 { 16398 \[dq]groups\[dq]: an array of group names: 16399 [ 16400 \[dq]group1\[dq], 16401 \[dq]group2\[dq], 16402 ... 16403 ] 16404 } 16405 \f[R] 16406 .fi 16407 .SS core/memstats: Returns the memory statistics 16408 .PP 16409 This returns the memory statistics of the running program. 16410 What the values mean are explained in the go docs: 16411 https://golang.org/pkg/runtime/#MemStats 16412 .PP 16413 The most interesting values for most people are: 16414 .IP \[bu] 2 16415 HeapAlloc - this is the amount of memory rclone is actually using 16416 .IP \[bu] 2 16417 HeapSys - this is the amount of memory rclone has obtained from the OS 16418 .IP \[bu] 2 16419 Sys - this is the total amount of memory requested from the OS 16420 .RS 2 16421 .IP \[bu] 2 16422 It is virtual memory so may include unused memory 16423 .RE 16424 .SS core/obscure: Obscures a string passed in. 16425 .PP 16426 Pass a clear string and rclone will obscure it for the config file: - 16427 clear - string 16428 .PP 16429 Returns: - obscured - string 16430 .SS core/pid: Return PID of current process 16431 .PP 16432 This returns PID of current process. 16433 Useful for stopping rclone process. 16434 .SS core/quit: Terminates the app. 16435 .PP 16436 (Optional) Pass an exit code to be used for terminating the app: - 16437 exitCode - int 16438 .SS core/stats: Returns stats about current transfers. 16439 .PP 16440 This returns all available stats: 16441 .IP 16442 .nf 16443 \f[C] 16444 rclone rc core/stats 16445 \f[R] 16446 .fi 16447 .PP 16448 If group is not provided then summed up stats for all groups will be 16449 returned. 16450 .PP 16451 Parameters 16452 .IP \[bu] 2 16453 group - name of the stats group (string) 16454 .PP 16455 Returns the following values: 16456 .IP 16457 .nf 16458 \f[C] 16459 { 16460 \[dq]bytes\[dq]: total transferred bytes since the start of the group, 16461 \[dq]checks\[dq]: number of files checked, 16462 \[dq]deletes\[dq] : number of files deleted, 16463 \[dq]elapsedTime\[dq]: time in floating point seconds since rclone was started, 16464 \[dq]errors\[dq]: number of errors, 16465 \[dq]eta\[dq]: estimated time in seconds until the group completes, 16466 \[dq]fatalError\[dq]: boolean whether there has been at least one fatal error, 16467 \[dq]lastError\[dq]: last error string, 16468 \[dq]renames\[dq] : number of files renamed, 16469 \[dq]retryError\[dq]: boolean showing whether there has been at least one non-NoRetryError, 16470 \[dq]speed\[dq]: average speed in bytes per second since start of the group, 16471 \[dq]totalBytes\[dq]: total number of bytes in the group, 16472 \[dq]totalChecks\[dq]: total number of checks in the group, 16473 \[dq]totalTransfers\[dq]: total number of transfers in the group, 16474 \[dq]transferTime\[dq] : total time spent on running jobs, 16475 \[dq]transfers\[dq]: number of transferred files, 16476 \[dq]transferring\[dq]: an array of currently active file transfers: 16477 [ 16478 { 16479 \[dq]bytes\[dq]: total transferred bytes for this file, 16480 \[dq]eta\[dq]: estimated time in seconds until file transfer completion 16481 \[dq]name\[dq]: name of the file, 16482 \[dq]percentage\[dq]: progress of the file transfer in percent, 16483 \[dq]speed\[dq]: average speed over the whole transfer in bytes per second, 16484 \[dq]speedAvg\[dq]: current speed in bytes per second as an exponentially weighted moving average, 16485 \[dq]size\[dq]: size of the file in bytes 16486 } 16487 ], 16488 \[dq]checking\[dq]: an array of names of currently active file checks 16489 [] 16490 } 16491 \f[R] 16492 .fi 16493 .PP 16494 Values for \[dq]transferring\[dq], \[dq]checking\[dq] and 16495 \[dq]lastError\[dq] are only assigned if data is available. 16496 The value for \[dq]eta\[dq] is null if an eta cannot be determined. 16497 .SS core/stats-delete: Delete stats group. 16498 .PP 16499 This deletes entire stats group. 16500 .PP 16501 Parameters 16502 .IP \[bu] 2 16503 group - name of the stats group (string) 16504 .SS core/stats-reset: Reset stats. 16505 .PP 16506 This clears counters, errors and finished transfers for all stats or 16507 specific stats group if group is provided. 16508 .PP 16509 Parameters 16510 .IP \[bu] 2 16511 group - name of the stats group (string) 16512 .SS core/transferred: Returns stats about completed transfers. 16513 .PP 16514 This returns stats about completed transfers: 16515 .IP 16516 .nf 16517 \f[C] 16518 rclone rc core/transferred 16519 \f[R] 16520 .fi 16521 .PP 16522 If group is not provided then completed transfers for all groups will be 16523 returned. 16524 .PP 16525 Note only the last 100 completed transfers are returned. 16526 .PP 16527 Parameters 16528 .IP \[bu] 2 16529 group - name of the stats group (string) 16530 .PP 16531 Returns the following values: 16532 .IP 16533 .nf 16534 \f[C] 16535 { 16536 \[dq]transferred\[dq]: an array of completed transfers (including failed ones): 16537 [ 16538 { 16539 \[dq]name\[dq]: name of the file, 16540 \[dq]size\[dq]: size of the file in bytes, 16541 \[dq]bytes\[dq]: total transferred bytes for this file, 16542 \[dq]checked\[dq]: if the transfer is only checked (skipped, deleted), 16543 \[dq]timestamp\[dq]: integer representing millisecond unix epoch, 16544 \[dq]error\[dq]: string description of the error (empty if successful), 16545 \[dq]jobid\[dq]: id of the job that this transfer belongs to 16546 } 16547 ] 16548 } 16549 \f[R] 16550 .fi 16551 .SS core/version: Shows the current version of rclone and the go runtime. 16552 .PP 16553 This shows the current version of go and the go runtime: 16554 .IP \[bu] 2 16555 version - rclone version, e.g. 16556 \[dq]v1.53.0\[dq] 16557 .IP \[bu] 2 16558 decomposed - version number as [major, minor, patch] 16559 .IP \[bu] 2 16560 isGit - boolean - true if this was compiled from the git version 16561 .IP \[bu] 2 16562 isBeta - boolean - true if this is a beta version 16563 .IP \[bu] 2 16564 os - OS in use as according to Go 16565 .IP \[bu] 2 16566 arch - cpu architecture in use according to Go 16567 .IP \[bu] 2 16568 goVersion - version of Go runtime in use 16569 .IP \[bu] 2 16570 linking - type of rclone executable (static or dynamic) 16571 .IP \[bu] 2 16572 goTags - space separated build tags or \[dq]none\[dq] 16573 .SS debug/set-block-profile-rate: Set runtime.SetBlockProfileRate for blocking profiling. 16574 .PP 16575 SetBlockProfileRate controls the fraction of goroutine blocking events 16576 that are reported in the blocking profile. 16577 The profiler aims to sample an average of one blocking event per rate 16578 nanoseconds spent blocked. 16579 .PP 16580 To include every blocking event in the profile, pass rate = 1. 16581 To turn off profiling entirely, pass rate <= 0. 16582 .PP 16583 After calling this you can use this to see the blocking profile: 16584 .IP 16585 .nf 16586 \f[C] 16587 go tool pprof http://localhost:5572/debug/pprof/block 16588 \f[R] 16589 .fi 16590 .PP 16591 Parameters: 16592 .IP \[bu] 2 16593 rate - int 16594 .SS debug/set-gc-percent: Call runtime/debug.SetGCPercent for setting the garbage collection target percentage. 16595 .PP 16596 SetGCPercent sets the garbage collection target percentage: a collection 16597 is triggered when the ratio of freshly allocated data to live data 16598 remaining after the previous collection reaches this percentage. 16599 SetGCPercent returns the previous setting. 16600 The initial setting is the value of the GOGC environment variable at 16601 startup, or 100 if the variable is not set. 16602 .PP 16603 This setting may be effectively reduced in order to maintain a memory 16604 limit. 16605 A negative percentage effectively disables garbage collection, unless 16606 the memory limit is reached. 16607 .PP 16608 See https://pkg.go.dev/runtime/debug#SetMemoryLimit for more details. 16609 .PP 16610 Parameters: 16611 .IP \[bu] 2 16612 gc-percent - int 16613 .SS debug/set-mutex-profile-fraction: Set runtime.SetMutexProfileFraction for mutex profiling. 16614 .PP 16615 SetMutexProfileFraction controls the fraction of mutex contention events 16616 that are reported in the mutex profile. 16617 On average 1/rate events are reported. 16618 The previous rate is returned. 16619 .PP 16620 To turn off profiling entirely, pass rate 0. 16621 To just read the current rate, pass rate < 0. 16622 (For n>1 the details of sampling may change.) 16623 .PP 16624 Once this is set you can look use this to profile the mutex contention: 16625 .IP 16626 .nf 16627 \f[C] 16628 go tool pprof http://localhost:5572/debug/pprof/mutex 16629 \f[R] 16630 .fi 16631 .PP 16632 Parameters: 16633 .IP \[bu] 2 16634 rate - int 16635 .PP 16636 Results: 16637 .IP \[bu] 2 16638 previousRate - int 16639 .SS debug/set-soft-memory-limit: Call runtime/debug.SetMemoryLimit for setting a soft memory limit for the runtime. 16640 .PP 16641 SetMemoryLimit provides the runtime with a soft memory limit. 16642 .PP 16643 The runtime undertakes several processes to try to respect this memory 16644 limit, including adjustments to the frequency of garbage collections and 16645 returning memory to the underlying system more aggressively. 16646 This limit will be respected even if GOGC=off (or, if SetGCPercent(-1) 16647 is executed). 16648 .PP 16649 The input limit is provided as bytes, and includes all memory mapped, 16650 managed, and not released by the Go runtime. 16651 Notably, it does not account for space used by the Go binary and memory 16652 external to Go, such as memory managed by the underlying system on 16653 behalf of the process, or memory managed by non-Go code inside the same 16654 process. 16655 Examples of excluded memory sources include: OS kernel memory held on 16656 behalf of the process, memory allocated by C code, and memory mapped by 16657 syscall.Mmap (because it is not managed by the Go runtime). 16658 .PP 16659 A zero limit or a limit that\[aq]s lower than the amount of memory used 16660 by the Go runtime may cause the garbage collector to run nearly 16661 continuously. 16662 However, the application may still make progress. 16663 .PP 16664 The memory limit is always respected by the Go runtime, so to 16665 effectively disable this behavior, set the limit very high. 16666 math.MaxInt64 is the canonical value for disabling the limit, but values 16667 much greater than the available memory on the underlying system work 16668 just as well. 16669 .PP 16670 See https://go.dev/doc/gc-guide for a detailed guide explaining the soft 16671 memory limit in more detail, as well as a variety of common use-cases 16672 and scenarios. 16673 .PP 16674 SetMemoryLimit returns the previously set memory limit. 16675 A negative input does not adjust the limit, and allows for retrieval of 16676 the currently set memory limit. 16677 .PP 16678 Parameters: 16679 .IP \[bu] 2 16680 mem-limit - int 16681 .SS fscache/clear: Clear the Fs cache. 16682 .PP 16683 This clears the fs cache. 16684 This is where remotes created from backends are cached for a short while 16685 to make repeated rc calls more efficient. 16686 .PP 16687 If you change the parameters of a backend then you may want to call this 16688 to clear an existing remote out of the cache before re-creating it. 16689 .PP 16690 \f[B]Authentication is required for this call.\f[R] 16691 .SS fscache/entries: Returns the number of entries in the fs cache. 16692 .PP 16693 This returns the number of entries in the fs cache. 16694 .PP 16695 Returns - entries - number of items in the cache 16696 .PP 16697 \f[B]Authentication is required for this call.\f[R] 16698 .SS job/list: Lists the IDs of the running jobs 16699 .PP 16700 Parameters: None. 16701 .PP 16702 Results: 16703 .IP \[bu] 2 16704 jobids - array of integer job ids. 16705 .SS job/status: Reads the status of the job ID 16706 .PP 16707 Parameters: 16708 .IP \[bu] 2 16709 jobid - id of the job (integer). 16710 .PP 16711 Results: 16712 .IP \[bu] 2 16713 finished - boolean 16714 .IP \[bu] 2 16715 duration - time in seconds that the job ran for 16716 .IP \[bu] 2 16717 endTime - time the job finished (e.g. 16718 \[dq]2018-10-26T18:50:20.528746884+01:00\[dq]) 16719 .IP \[bu] 2 16720 error - error from the job or empty string for no error 16721 .IP \[bu] 2 16722 finished - boolean whether the job has finished or not 16723 .IP \[bu] 2 16724 id - as passed in above 16725 .IP \[bu] 2 16726 startTime - time the job started (e.g. 16727 \[dq]2018-10-26T18:50:20.528336039+01:00\[dq]) 16728 .IP \[bu] 2 16729 success - boolean - true for success false otherwise 16730 .IP \[bu] 2 16731 output - output of the job as would have been returned if called 16732 synchronously 16733 .IP \[bu] 2 16734 progress - output of the progress related to the underlying job 16735 .SS job/stop: Stop the running job 16736 .PP 16737 Parameters: 16738 .IP \[bu] 2 16739 jobid - id of the job (integer). 16740 .SS job/stopgroup: Stop all running jobs in a group 16741 .PP 16742 Parameters: 16743 .IP \[bu] 2 16744 group - name of the group (string). 16745 .SS mount/listmounts: Show current mount points 16746 .PP 16747 This shows currently mounted points, which can be used for performing an 16748 unmount. 16749 .PP 16750 This takes no parameters and returns 16751 .IP \[bu] 2 16752 mountPoints: list of current mount points 16753 .PP 16754 Eg 16755 .IP 16756 .nf 16757 \f[C] 16758 rclone rc mount/listmounts 16759 \f[R] 16760 .fi 16761 .PP 16762 \f[B]Authentication is required for this call.\f[R] 16763 .SS mount/mount: Create a new mount point 16764 .PP 16765 rclone allows Linux, FreeBSD, macOS and Windows to mount any of 16766 Rclone\[aq]s cloud storage systems as a file system with FUSE. 16767 .PP 16768 If no mountType is provided, the priority is given as follows: 1. 16769 mount 2.cmount 3.mount2 16770 .PP 16771 This takes the following parameters: 16772 .IP \[bu] 2 16773 fs - a remote path to be mounted (required) 16774 .IP \[bu] 2 16775 mountPoint: valid path on the local machine (required) 16776 .IP \[bu] 2 16777 mountType: one of the values (mount, cmount, mount2) specifies the mount 16778 implementation to use 16779 .IP \[bu] 2 16780 mountOpt: a JSON object with Mount options in. 16781 .IP \[bu] 2 16782 vfsOpt: a JSON object with VFS options in. 16783 .PP 16784 Example: 16785 .IP 16786 .nf 16787 \f[C] 16788 rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint 16789 rclone rc mount/mount fs=mydrive: mountPoint=/home/<user>/mountPoint mountType=mount 16790 rclone rc mount/mount fs=TestDrive: mountPoint=/mnt/tmp vfsOpt=\[aq]{\[dq]CacheMode\[dq]: 2}\[aq] mountOpt=\[aq]{\[dq]AllowOther\[dq]: true}\[aq] 16791 \f[R] 16792 .fi 16793 .PP 16794 The vfsOpt are as described in options/get and can be seen in the the 16795 \[dq]vfs\[dq] section when running and the mountOpt can be seen in the 16796 \[dq]mount\[dq] section: 16797 .IP 16798 .nf 16799 \f[C] 16800 rclone rc options/get 16801 \f[R] 16802 .fi 16803 .PP 16804 \f[B]Authentication is required for this call.\f[R] 16805 .SS mount/types: Show all possible mount types 16806 .PP 16807 This shows all possible mount types and returns them as a list. 16808 .PP 16809 This takes no parameters and returns 16810 .IP \[bu] 2 16811 mountTypes: list of mount types 16812 .PP 16813 The mount types are strings like \[dq]mount\[dq], \[dq]mount2\[dq], 16814 \[dq]cmount\[dq] and can be passed to mount/mount as the mountType 16815 parameter. 16816 .PP 16817 Eg 16818 .IP 16819 .nf 16820 \f[C] 16821 rclone rc mount/types 16822 \f[R] 16823 .fi 16824 .PP 16825 \f[B]Authentication is required for this call.\f[R] 16826 .SS mount/unmount: Unmount selected active mount 16827 .PP 16828 rclone allows Linux, FreeBSD, macOS and Windows to mount any of 16829 Rclone\[aq]s cloud storage systems as a file system with FUSE. 16830 .PP 16831 This takes the following parameters: 16832 .IP \[bu] 2 16833 mountPoint: valid path on the local machine where the mount was created 16834 (required) 16835 .PP 16836 Example: 16837 .IP 16838 .nf 16839 \f[C] 16840 rclone rc mount/unmount mountPoint=/home/<user>/mountPoint 16841 \f[R] 16842 .fi 16843 .PP 16844 \f[B]Authentication is required for this call.\f[R] 16845 .SS mount/unmountall: Unmount all active mounts 16846 .PP 16847 rclone allows Linux, FreeBSD, macOS and Windows to mount any of 16848 Rclone\[aq]s cloud storage systems as a file system with FUSE. 16849 .PP 16850 This takes no parameters and returns error if unmount does not succeed. 16851 .PP 16852 Eg 16853 .IP 16854 .nf 16855 \f[C] 16856 rclone rc mount/unmountall 16857 \f[R] 16858 .fi 16859 .PP 16860 \f[B]Authentication is required for this call.\f[R] 16861 .SS operations/about: Return the space used on the remote 16862 .PP 16863 This takes the following parameters: 16864 .IP \[bu] 2 16865 fs - a remote name string e.g. 16866 \[dq]drive:\[dq] 16867 .PP 16868 The result is as returned from rclone about --json 16869 .PP 16870 See the about (https://rclone.org/commands/rclone_about/) command for 16871 more information on the above. 16872 .PP 16873 \f[B]Authentication is required for this call.\f[R] 16874 .SS operations/cleanup: Remove trashed files in the remote or path 16875 .PP 16876 This takes the following parameters: 16877 .IP \[bu] 2 16878 fs - a remote name string e.g. 16879 \[dq]drive:\[dq] 16880 .PP 16881 See the cleanup (https://rclone.org/commands/rclone_cleanup/) command 16882 for more information on the above. 16883 .PP 16884 \f[B]Authentication is required for this call.\f[R] 16885 .SS operations/copyfile: Copy a file from source remote to destination remote 16886 .PP 16887 This takes the following parameters: 16888 .IP \[bu] 2 16889 srcFs - a remote name string e.g. 16890 \[dq]drive:\[dq] for the source, \[dq]/\[dq] for local filesystem 16891 .IP \[bu] 2 16892 srcRemote - a path within that remote e.g. 16893 \[dq]file.txt\[dq] for the source 16894 .IP \[bu] 2 16895 dstFs - a remote name string e.g. 16896 \[dq]drive2:\[dq] for the destination, \[dq]/\[dq] for local filesystem 16897 .IP \[bu] 2 16898 dstRemote - a path within that remote e.g. 16899 \[dq]file2.txt\[dq] for the destination 16900 .PP 16901 \f[B]Authentication is required for this call.\f[R] 16902 .SS operations/copyurl: Copy the URL to the object 16903 .PP 16904 This takes the following parameters: 16905 .IP \[bu] 2 16906 fs - a remote name string e.g. 16907 \[dq]drive:\[dq] 16908 .IP \[bu] 2 16909 remote - a path within that remote e.g. 16910 \[dq]dir\[dq] 16911 .IP \[bu] 2 16912 url - string, URL to read from 16913 .IP \[bu] 2 16914 autoFilename - boolean, set to true to retrieve destination file name 16915 from url 16916 .PP 16917 See the copyurl (https://rclone.org/commands/rclone_copyurl/) command 16918 for more information on the above. 16919 .PP 16920 \f[B]Authentication is required for this call.\f[R] 16921 .SS operations/delete: Remove files in the path 16922 .PP 16923 This takes the following parameters: 16924 .IP \[bu] 2 16925 fs - a remote name string e.g. 16926 \[dq]drive:\[dq] 16927 .PP 16928 See the delete (https://rclone.org/commands/rclone_delete/) command for 16929 more information on the above. 16930 .PP 16931 \f[B]Authentication is required for this call.\f[R] 16932 .SS operations/deletefile: Remove the single file pointed to 16933 .PP 16934 This takes the following parameters: 16935 .IP \[bu] 2 16936 fs - a remote name string e.g. 16937 \[dq]drive:\[dq] 16938 .IP \[bu] 2 16939 remote - a path within that remote e.g. 16940 \[dq]dir\[dq] 16941 .PP 16942 See the deletefile (https://rclone.org/commands/rclone_deletefile/) 16943 command for more information on the above. 16944 .PP 16945 \f[B]Authentication is required for this call.\f[R] 16946 .SS operations/fsinfo: Return information about the remote 16947 .PP 16948 This takes the following parameters: 16949 .IP \[bu] 2 16950 fs - a remote name string e.g. 16951 \[dq]drive:\[dq] 16952 .PP 16953 This returns info about the remote passed in; 16954 .IP 16955 .nf 16956 \f[C] 16957 { 16958 // optional features and whether they are available or not 16959 \[dq]Features\[dq]: { 16960 \[dq]About\[dq]: true, 16961 \[dq]BucketBased\[dq]: false, 16962 \[dq]BucketBasedRootOK\[dq]: false, 16963 \[dq]CanHaveEmptyDirectories\[dq]: true, 16964 \[dq]CaseInsensitive\[dq]: false, 16965 \[dq]ChangeNotify\[dq]: false, 16966 \[dq]CleanUp\[dq]: false, 16967 \[dq]Command\[dq]: true, 16968 \[dq]Copy\[dq]: false, 16969 \[dq]DirCacheFlush\[dq]: false, 16970 \[dq]DirMove\[dq]: true, 16971 \[dq]Disconnect\[dq]: false, 16972 \[dq]DuplicateFiles\[dq]: false, 16973 \[dq]GetTier\[dq]: false, 16974 \[dq]IsLocal\[dq]: true, 16975 \[dq]ListR\[dq]: false, 16976 \[dq]MergeDirs\[dq]: false, 16977 \[dq]MetadataInfo\[dq]: true, 16978 \[dq]Move\[dq]: true, 16979 \[dq]OpenWriterAt\[dq]: true, 16980 \[dq]PublicLink\[dq]: false, 16981 \[dq]Purge\[dq]: true, 16982 \[dq]PutStream\[dq]: true, 16983 \[dq]PutUnchecked\[dq]: false, 16984 \[dq]ReadMetadata\[dq]: true, 16985 \[dq]ReadMimeType\[dq]: false, 16986 \[dq]ServerSideAcrossConfigs\[dq]: false, 16987 \[dq]SetTier\[dq]: false, 16988 \[dq]SetWrapper\[dq]: false, 16989 \[dq]Shutdown\[dq]: false, 16990 \[dq]SlowHash\[dq]: true, 16991 \[dq]SlowModTime\[dq]: false, 16992 \[dq]UnWrap\[dq]: false, 16993 \[dq]UserInfo\[dq]: false, 16994 \[dq]UserMetadata\[dq]: true, 16995 \[dq]WrapFs\[dq]: false, 16996 \[dq]WriteMetadata\[dq]: true, 16997 \[dq]WriteMimeType\[dq]: false 16998 }, 16999 // Names of hashes available 17000 \[dq]Hashes\[dq]: [ 17001 \[dq]md5\[dq], 17002 \[dq]sha1\[dq], 17003 \[dq]whirlpool\[dq], 17004 \[dq]crc32\[dq], 17005 \[dq]sha256\[dq], 17006 \[dq]dropbox\[dq], 17007 \[dq]mailru\[dq], 17008 \[dq]quickxor\[dq] 17009 ], 17010 \[dq]Name\[dq]: \[dq]local\[dq], // Name as created 17011 \[dq]Precision\[dq]: 1, // Precision of timestamps in ns 17012 \[dq]Root\[dq]: \[dq]/\[dq], // Path as created 17013 \[dq]String\[dq]: \[dq]Local file system at /\[dq], // how the remote will appear in logs 17014 // Information about the system metadata for this backend 17015 \[dq]MetadataInfo\[dq]: { 17016 \[dq]System\[dq]: { 17017 \[dq]atime\[dq]: { 17018 \[dq]Help\[dq]: \[dq]Time of last access\[dq], 17019 \[dq]Type\[dq]: \[dq]RFC 3339\[dq], 17020 \[dq]Example\[dq]: \[dq]2006-01-02T15:04:05.999999999Z07:00\[dq] 17021 }, 17022 \[dq]btime\[dq]: { 17023 \[dq]Help\[dq]: \[dq]Time of file birth (creation)\[dq], 17024 \[dq]Type\[dq]: \[dq]RFC 3339\[dq], 17025 \[dq]Example\[dq]: \[dq]2006-01-02T15:04:05.999999999Z07:00\[dq] 17026 }, 17027 \[dq]gid\[dq]: { 17028 \[dq]Help\[dq]: \[dq]Group ID of owner\[dq], 17029 \[dq]Type\[dq]: \[dq]decimal number\[dq], 17030 \[dq]Example\[dq]: \[dq]500\[dq] 17031 }, 17032 \[dq]mode\[dq]: { 17033 \[dq]Help\[dq]: \[dq]File type and mode\[dq], 17034 \[dq]Type\[dq]: \[dq]octal, unix style\[dq], 17035 \[dq]Example\[dq]: \[dq]0100664\[dq] 17036 }, 17037 \[dq]mtime\[dq]: { 17038 \[dq]Help\[dq]: \[dq]Time of last modification\[dq], 17039 \[dq]Type\[dq]: \[dq]RFC 3339\[dq], 17040 \[dq]Example\[dq]: \[dq]2006-01-02T15:04:05.999999999Z07:00\[dq] 17041 }, 17042 \[dq]rdev\[dq]: { 17043 \[dq]Help\[dq]: \[dq]Device ID (if special file)\[dq], 17044 \[dq]Type\[dq]: \[dq]hexadecimal\[dq], 17045 \[dq]Example\[dq]: \[dq]1abc\[dq] 17046 }, 17047 \[dq]uid\[dq]: { 17048 \[dq]Help\[dq]: \[dq]User ID of owner\[dq], 17049 \[dq]Type\[dq]: \[dq]decimal number\[dq], 17050 \[dq]Example\[dq]: \[dq]500\[dq] 17051 } 17052 }, 17053 \[dq]Help\[dq]: \[dq]Textual help string\[rs]n\[dq] 17054 } 17055 } 17056 \f[R] 17057 .fi 17058 .PP 17059 This command does not have a command line equivalent so use this 17060 instead: 17061 .IP 17062 .nf 17063 \f[C] 17064 rclone rc --loopback operations/fsinfo fs=remote: 17065 \f[R] 17066 .fi 17067 .SS operations/list: List the given remote and path in JSON format 17068 .PP 17069 This takes the following parameters: 17070 .IP \[bu] 2 17071 fs - a remote name string e.g. 17072 \[dq]drive:\[dq] 17073 .IP \[bu] 2 17074 remote - a path within that remote e.g. 17075 \[dq]dir\[dq] 17076 .IP \[bu] 2 17077 opt - a dictionary of options to control the listing (optional) 17078 .RS 2 17079 .IP \[bu] 2 17080 recurse - If set recurse directories 17081 .IP \[bu] 2 17082 noModTime - If set return modification time 17083 .IP \[bu] 2 17084 showEncrypted - If set show decrypted names 17085 .IP \[bu] 2 17086 showOrigIDs - If set show the IDs for each item if known 17087 .IP \[bu] 2 17088 showHash - If set return a dictionary of hashes 17089 .IP \[bu] 2 17090 noMimeType - If set don\[aq]t show mime types 17091 .IP \[bu] 2 17092 dirsOnly - If set only show directories 17093 .IP \[bu] 2 17094 filesOnly - If set only show files 17095 .IP \[bu] 2 17096 metadata - If set return metadata of objects also 17097 .IP \[bu] 2 17098 hashTypes - array of strings of hash types to show if showHash set 17099 .RE 17100 .PP 17101 Returns: 17102 .IP \[bu] 2 17103 list 17104 .RS 2 17105 .IP \[bu] 2 17106 This is an array of objects as described in the lsjson command 17107 .RE 17108 .PP 17109 See the lsjson (https://rclone.org/commands/rclone_lsjson/) command for 17110 more information on the above and examples. 17111 .PP 17112 \f[B]Authentication is required for this call.\f[R] 17113 .SS operations/mkdir: Make a destination directory or container 17114 .PP 17115 This takes the following parameters: 17116 .IP \[bu] 2 17117 fs - a remote name string e.g. 17118 \[dq]drive:\[dq] 17119 .IP \[bu] 2 17120 remote - a path within that remote e.g. 17121 \[dq]dir\[dq] 17122 .PP 17123 See the mkdir (https://rclone.org/commands/rclone_mkdir/) command for 17124 more information on the above. 17125 .PP 17126 \f[B]Authentication is required for this call.\f[R] 17127 .SS operations/movefile: Move a file from source remote to destination remote 17128 .PP 17129 This takes the following parameters: 17130 .IP \[bu] 2 17131 srcFs - a remote name string e.g. 17132 \[dq]drive:\[dq] for the source, \[dq]/\[dq] for local filesystem 17133 .IP \[bu] 2 17134 srcRemote - a path within that remote e.g. 17135 \[dq]file.txt\[dq] for the source 17136 .IP \[bu] 2 17137 dstFs - a remote name string e.g. 17138 \[dq]drive2:\[dq] for the destination, \[dq]/\[dq] for local filesystem 17139 .IP \[bu] 2 17140 dstRemote - a path within that remote e.g. 17141 \[dq]file2.txt\[dq] for the destination 17142 .PP 17143 \f[B]Authentication is required for this call.\f[R] 17144 .SS operations/publiclink: Create or retrieve a public link to the given file or folder. 17145 .PP 17146 This takes the following parameters: 17147 .IP \[bu] 2 17148 fs - a remote name string e.g. 17149 \[dq]drive:\[dq] 17150 .IP \[bu] 2 17151 remote - a path within that remote e.g. 17152 \[dq]dir\[dq] 17153 .IP \[bu] 2 17154 unlink - boolean - if set removes the link rather than adding it 17155 (optional) 17156 .IP \[bu] 2 17157 expire - string - the expiry time of the link e.g. 17158 \[dq]1d\[dq] (optional) 17159 .PP 17160 Returns: 17161 .IP \[bu] 2 17162 url - URL of the resource 17163 .PP 17164 See the link (https://rclone.org/commands/rclone_link/) command for more 17165 information on the above. 17166 .PP 17167 \f[B]Authentication is required for this call.\f[R] 17168 .SS operations/purge: Remove a directory or container and all of its contents 17169 .PP 17170 This takes the following parameters: 17171 .IP \[bu] 2 17172 fs - a remote name string e.g. 17173 \[dq]drive:\[dq] 17174 .IP \[bu] 2 17175 remote - a path within that remote e.g. 17176 \[dq]dir\[dq] 17177 .PP 17178 See the purge (https://rclone.org/commands/rclone_purge/) command for 17179 more information on the above. 17180 .PP 17181 \f[B]Authentication is required for this call.\f[R] 17182 .SS operations/rmdir: Remove an empty directory or container 17183 .PP 17184 This takes the following parameters: 17185 .IP \[bu] 2 17186 fs - a remote name string e.g. 17187 \[dq]drive:\[dq] 17188 .IP \[bu] 2 17189 remote - a path within that remote e.g. 17190 \[dq]dir\[dq] 17191 .PP 17192 See the rmdir (https://rclone.org/commands/rclone_rmdir/) command for 17193 more information on the above. 17194 .PP 17195 \f[B]Authentication is required for this call.\f[R] 17196 .SS operations/rmdirs: Remove all the empty directories in the path 17197 .PP 17198 This takes the following parameters: 17199 .IP \[bu] 2 17200 fs - a remote name string e.g. 17201 \[dq]drive:\[dq] 17202 .IP \[bu] 2 17203 remote - a path within that remote e.g. 17204 \[dq]dir\[dq] 17205 .IP \[bu] 2 17206 leaveRoot - boolean, set to true not to delete the root 17207 .PP 17208 See the rmdirs (https://rclone.org/commands/rclone_rmdirs/) command for 17209 more information on the above. 17210 .PP 17211 \f[B]Authentication is required for this call.\f[R] 17212 .SS operations/size: Count the number of bytes and files in remote 17213 .PP 17214 This takes the following parameters: 17215 .IP \[bu] 2 17216 fs - a remote name string e.g. 17217 \[dq]drive:path/to/dir\[dq] 17218 .PP 17219 Returns: 17220 .IP \[bu] 2 17221 count - number of files 17222 .IP \[bu] 2 17223 bytes - number of bytes in those files 17224 .PP 17225 See the size (https://rclone.org/commands/rclone_size/) command for more 17226 information on the above. 17227 .PP 17228 \f[B]Authentication is required for this call.\f[R] 17229 .SS operations/stat: Give information about the supplied file or directory 17230 .PP 17231 This takes the following parameters 17232 .IP \[bu] 2 17233 fs - a remote name string eg \[dq]drive:\[dq] 17234 .IP \[bu] 2 17235 remote - a path within that remote eg \[dq]dir\[dq] 17236 .IP \[bu] 2 17237 opt - a dictionary of options to control the listing (optional) 17238 .RS 2 17239 .IP \[bu] 2 17240 see operations/list for the options 17241 .RE 17242 .PP 17243 The result is 17244 .IP \[bu] 2 17245 item - an object as described in the lsjson command. 17246 Will be null if not found. 17247 .PP 17248 Note that if you are only interested in files then it is much more 17249 efficient to set the filesOnly flag in the options. 17250 .PP 17251 See the lsjson (https://rclone.org/commands/rclone_lsjson/) command for 17252 more information on the above and examples. 17253 .PP 17254 \f[B]Authentication is required for this call.\f[R] 17255 .SS operations/uploadfile: Upload file using multiform/form-data 17256 .PP 17257 This takes the following parameters: 17258 .IP \[bu] 2 17259 fs - a remote name string e.g. 17260 \[dq]drive:\[dq] 17261 .IP \[bu] 2 17262 remote - a path within that remote e.g. 17263 \[dq]dir\[dq] 17264 .IP \[bu] 2 17265 each part in body represents a file to be uploaded 17266 .PP 17267 See the uploadfile (https://rclone.org/commands/rclone_uploadfile/) 17268 command for more information on the above. 17269 .PP 17270 \f[B]Authentication is required for this call.\f[R] 17271 .SS options/blocks: List all the option blocks 17272 .PP 17273 Returns: - options - a list of the options block names 17274 .SS options/get: Get all the global options 17275 .PP 17276 Returns an object where keys are option block names and values are an 17277 object with the current option values in. 17278 .PP 17279 Note that these are the global options which are unaffected by use of 17280 the _config and _filter parameters. 17281 If you wish to read the parameters set in _config then use 17282 options/config and for _filter use options/filter. 17283 .PP 17284 This shows the internal names of the option within rclone which should 17285 map to the external options very easily with a few exceptions. 17286 .SS options/local: Get the currently active config for this call 17287 .PP 17288 Returns an object with the keys \[dq]config\[dq] and \[dq]filter\[dq]. 17289 The \[dq]config\[dq] key contains the local config and the 17290 \[dq]filter\[dq] key contains the local filters. 17291 .PP 17292 Note that these are the local options specific to this rc call. 17293 If _config was not supplied then they will be the global options. 17294 Likewise with \[dq]_filter\[dq]. 17295 .PP 17296 This call is mostly useful for seeing if _config and _filter passing is 17297 working. 17298 .PP 17299 This shows the internal names of the option within rclone which should 17300 map to the external options very easily with a few exceptions. 17301 .SS options/set: Set an option 17302 .PP 17303 Parameters: 17304 .IP \[bu] 2 17305 option block name containing an object with 17306 .RS 2 17307 .IP \[bu] 2 17308 key: value 17309 .RE 17310 .PP 17311 Repeated as often as required. 17312 .PP 17313 Only supply the options you wish to change. 17314 If an option is unknown it will be silently ignored. 17315 Not all options will have an effect when changed like this. 17316 .PP 17317 For example: 17318 .PP 17319 This sets DEBUG level logs (-vv) (these can be set by number or string) 17320 .IP 17321 .nf 17322 \f[C] 17323 rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: \[dq]DEBUG\[dq]}}\[aq] 17324 rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: 8}}\[aq] 17325 \f[R] 17326 .fi 17327 .PP 17328 And this sets INFO level logs (-v) 17329 .IP 17330 .nf 17331 \f[C] 17332 rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: \[dq]INFO\[dq]}}\[aq] 17333 \f[R] 17334 .fi 17335 .PP 17336 And this sets NOTICE level logs (normal without -v) 17337 .IP 17338 .nf 17339 \f[C] 17340 rclone rc options/set --json \[aq]{\[dq]main\[dq]: {\[dq]LogLevel\[dq]: \[dq]NOTICE\[dq]}}\[aq] 17341 \f[R] 17342 .fi 17343 .SS pluginsctl/addPlugin: Add a plugin using url 17344 .PP 17345 Used for adding a plugin to the webgui. 17346 .PP 17347 This takes the following parameters: 17348 .IP \[bu] 2 17349 url - http url of the github repo where the plugin is hosted 17350 (http://github.com/divyam234/rclone-webui-react). 17351 .PP 17352 Example: 17353 .PP 17354 rclone rc pluginsctl/addPlugin 17355 .PP 17356 \f[B]Authentication is required for this call.\f[R] 17357 .SS pluginsctl/getPluginsForType: Get plugins with type criteria 17358 .PP 17359 This shows all possible plugins by a mime type. 17360 .PP 17361 This takes the following parameters: 17362 .IP \[bu] 2 17363 type - supported mime type by a loaded plugin e.g. 17364 (video/mp4, audio/mp3). 17365 .IP \[bu] 2 17366 pluginType - filter plugins based on their type e.g. 17367 (DASHBOARD, FILE_HANDLER, TERMINAL). 17368 .PP 17369 Returns: 17370 .IP \[bu] 2 17371 loadedPlugins - list of current production plugins. 17372 .IP \[bu] 2 17373 testPlugins - list of temporarily loaded development plugins, usually 17374 running on a different server. 17375 .PP 17376 Example: 17377 .PP 17378 rclone rc pluginsctl/getPluginsForType type=video/mp4 17379 .PP 17380 \f[B]Authentication is required for this call.\f[R] 17381 .SS pluginsctl/listPlugins: Get the list of currently loaded plugins 17382 .PP 17383 This allows you to get the currently enabled plugins and their details. 17384 .PP 17385 This takes no parameters and returns: 17386 .IP \[bu] 2 17387 loadedPlugins - list of current production plugins. 17388 .IP \[bu] 2 17389 testPlugins - list of temporarily loaded development plugins, usually 17390 running on a different server. 17391 .PP 17392 E.g. 17393 .PP 17394 rclone rc pluginsctl/listPlugins 17395 .PP 17396 \f[B]Authentication is required for this call.\f[R] 17397 .SS pluginsctl/listTestPlugins: Show currently loaded test plugins 17398 .PP 17399 Allows listing of test plugins with the rclone.test set to true in 17400 package.json of the plugin. 17401 .PP 17402 This takes no parameters and returns: 17403 .IP \[bu] 2 17404 loadedTestPlugins - list of currently available test plugins. 17405 .PP 17406 E.g. 17407 .IP 17408 .nf 17409 \f[C] 17410 rclone rc pluginsctl/listTestPlugins 17411 \f[R] 17412 .fi 17413 .PP 17414 \f[B]Authentication is required for this call.\f[R] 17415 .SS pluginsctl/removePlugin: Remove a loaded plugin 17416 .PP 17417 This allows you to remove a plugin using it\[aq]s name. 17418 .PP 17419 This takes parameters: 17420 .IP \[bu] 2 17421 name - name of the plugin in the format 17422 \f[C]author\f[R]/\f[C]plugin_name\f[R]. 17423 .PP 17424 E.g. 17425 .PP 17426 rclone rc pluginsctl/removePlugin name=rclone/video-plugin 17427 .PP 17428 \f[B]Authentication is required for this call.\f[R] 17429 .SS pluginsctl/removeTestPlugin: Remove a test plugin 17430 .PP 17431 This allows you to remove a plugin using it\[aq]s name. 17432 .PP 17433 This takes the following parameters: 17434 .IP \[bu] 2 17435 name - name of the plugin in the format 17436 \f[C]author\f[R]/\f[C]plugin_name\f[R]. 17437 .PP 17438 Example: 17439 .IP 17440 .nf 17441 \f[C] 17442 rclone rc pluginsctl/removeTestPlugin name=rclone/rclone-webui-react 17443 \f[R] 17444 .fi 17445 .PP 17446 \f[B]Authentication is required for this call.\f[R] 17447 .SS rc/error: This returns an error 17448 .PP 17449 This returns an error with the input as part of its error string. 17450 Useful for testing error handling. 17451 .SS rc/list: List all the registered remote control commands 17452 .PP 17453 This lists all the registered remote control commands as a JSON map in 17454 the commands response. 17455 .SS rc/noop: Echo the input to the output parameters 17456 .PP 17457 This echoes the input parameters to the output parameters for testing 17458 purposes. 17459 It can be used to check that rclone is still alive and to check that 17460 parameter passing is working properly. 17461 .SS rc/noopauth: Echo the input to the output parameters requiring auth 17462 .PP 17463 This echoes the input parameters to the output parameters for testing 17464 purposes. 17465 It can be used to check that rclone is still alive and to check that 17466 parameter passing is working properly. 17467 .PP 17468 \f[B]Authentication is required for this call.\f[R] 17469 .SS sync/bisync: Perform bidirectional synchronization between two paths. 17470 .PP 17471 This takes the following parameters 17472 .IP \[bu] 2 17473 path1 - a remote directory string e.g. 17474 \f[C]drive:path1\f[R] 17475 .IP \[bu] 2 17476 path2 - a remote directory string e.g. 17477 \f[C]drive:path2\f[R] 17478 .IP \[bu] 2 17479 dryRun - dry-run mode 17480 .IP \[bu] 2 17481 resync - performs the resync run 17482 .IP \[bu] 2 17483 checkAccess - abort if RCLONE_TEST files are not found on both 17484 filesystems 17485 .IP \[bu] 2 17486 checkFilename - file name for checkAccess (default: RCLONE_TEST) 17487 .IP \[bu] 2 17488 maxDelete - abort sync if percentage of deleted files is above this 17489 threshold (default: 50) 17490 .IP \[bu] 2 17491 force - maxDelete safety check and run the sync 17492 .IP \[bu] 2 17493 checkSync - \f[C]true\f[R] by default, \f[C]false\f[R] disables 17494 comparison of final listings, \f[C]only\f[R] will skip sync, only 17495 compare listings from the last run 17496 .IP \[bu] 2 17497 removeEmptyDirs - remove empty directories at the final cleanup step 17498 .IP \[bu] 2 17499 filtersFile - read filtering patterns from a file 17500 .IP \[bu] 2 17501 workdir - server directory for history files (default: 17502 /home/ncw/.cache/rclone/bisync) 17503 .IP \[bu] 2 17504 noCleanup - retain working files 17505 .PP 17506 See bisync command help (https://rclone.org/commands/rclone_bisync/) and 17507 full bisync description (https://rclone.org/bisync/) for more 17508 information. 17509 .PP 17510 \f[B]Authentication is required for this call.\f[R] 17511 .SS sync/copy: copy a directory from source remote to destination remote 17512 .PP 17513 This takes the following parameters: 17514 .IP \[bu] 2 17515 srcFs - a remote name string e.g. 17516 \[dq]drive:src\[dq] for the source 17517 .IP \[bu] 2 17518 dstFs - a remote name string e.g. 17519 \[dq]drive:dst\[dq] for the destination 17520 .IP \[bu] 2 17521 createEmptySrcDirs - create empty src directories on destination if set 17522 .PP 17523 See the copy (https://rclone.org/commands/rclone_copy/) command for more 17524 information on the above. 17525 .PP 17526 \f[B]Authentication is required for this call.\f[R] 17527 .SS sync/move: move a directory from source remote to destination remote 17528 .PP 17529 This takes the following parameters: 17530 .IP \[bu] 2 17531 srcFs - a remote name string e.g. 17532 \[dq]drive:src\[dq] for the source 17533 .IP \[bu] 2 17534 dstFs - a remote name string e.g. 17535 \[dq]drive:dst\[dq] for the destination 17536 .IP \[bu] 2 17537 createEmptySrcDirs - create empty src directories on destination if set 17538 .IP \[bu] 2 17539 deleteEmptySrcDirs - delete empty src directories if set 17540 .PP 17541 See the move (https://rclone.org/commands/rclone_move/) command for more 17542 information on the above. 17543 .PP 17544 \f[B]Authentication is required for this call.\f[R] 17545 .SS sync/sync: sync a directory from source remote to destination remote 17546 .PP 17547 This takes the following parameters: 17548 .IP \[bu] 2 17549 srcFs - a remote name string e.g. 17550 \[dq]drive:src\[dq] for the source 17551 .IP \[bu] 2 17552 dstFs - a remote name string e.g. 17553 \[dq]drive:dst\[dq] for the destination 17554 .IP \[bu] 2 17555 createEmptySrcDirs - create empty src directories on destination if set 17556 .PP 17557 See the sync (https://rclone.org/commands/rclone_sync/) command for more 17558 information on the above. 17559 .PP 17560 \f[B]Authentication is required for this call.\f[R] 17561 .SS vfs/forget: Forget files or directories in the directory cache. 17562 .PP 17563 This forgets the paths in the directory cache causing them to be re-read 17564 from the remote when needed. 17565 .PP 17566 If no paths are passed in then it will forget all the paths in the 17567 directory cache. 17568 .IP 17569 .nf 17570 \f[C] 17571 rclone rc vfs/forget 17572 \f[R] 17573 .fi 17574 .PP 17575 Otherwise pass files or dirs in as file=path or dir=path. 17576 Any parameter key starting with file will forget that file and any 17577 starting with dir will forget that dir, e.g. 17578 .IP 17579 .nf 17580 \f[C] 17581 rclone rc vfs/forget file=hello file2=goodbye dir=home/junk 17582 \f[R] 17583 .fi 17584 .PP 17585 This command takes an \[dq]fs\[dq] parameter. 17586 If this parameter is not supplied and if there is only one VFS in use 17587 then that VFS will be used. 17588 If there is more than one VFS in use then the \[dq]fs\[dq] parameter 17589 must be supplied. 17590 .SS vfs/list: List active VFSes. 17591 .PP 17592 This lists the active VFSes. 17593 .PP 17594 It returns a list under the key \[dq]vfses\[dq] where the values are the 17595 VFS names that could be passed to the other VFS commands in the 17596 \[dq]fs\[dq] parameter. 17597 .SS vfs/poll-interval: Get the status or update the value of the poll-interval option. 17598 .PP 17599 Without any parameter given this returns the current status of the 17600 poll-interval setting. 17601 .PP 17602 When the interval=duration parameter is set, the poll-interval value is 17603 updated and the polling function is notified. 17604 Setting interval=0 disables poll-interval. 17605 .IP 17606 .nf 17607 \f[C] 17608 rclone rc vfs/poll-interval interval=5m 17609 \f[R] 17610 .fi 17611 .PP 17612 The timeout=duration parameter can be used to specify a time to wait for 17613 the current poll function to apply the new value. 17614 If timeout is less or equal 0, which is the default, wait indefinitely. 17615 .PP 17616 The new poll-interval value will only be active when the timeout is not 17617 reached. 17618 .PP 17619 If poll-interval is updated or disabled temporarily, some changes might 17620 not get picked up by the polling function, depending on the used remote. 17621 .PP 17622 This command takes an \[dq]fs\[dq] parameter. 17623 If this parameter is not supplied and if there is only one VFS in use 17624 then that VFS will be used. 17625 If there is more than one VFS in use then the \[dq]fs\[dq] parameter 17626 must be supplied. 17627 .SS vfs/refresh: Refresh the directory cache. 17628 .PP 17629 This reads the directories for the specified paths and freshens the 17630 directory cache. 17631 .PP 17632 If no paths are passed in then it will refresh the root directory. 17633 .IP 17634 .nf 17635 \f[C] 17636 rclone rc vfs/refresh 17637 \f[R] 17638 .fi 17639 .PP 17640 Otherwise pass directories in as dir=path. 17641 Any parameter key starting with dir will refresh that directory, e.g. 17642 .IP 17643 .nf 17644 \f[C] 17645 rclone rc vfs/refresh dir=home/junk dir2=data/misc 17646 \f[R] 17647 .fi 17648 .PP 17649 If the parameter recursive=true is given the whole directory tree will 17650 get refreshed. 17651 This refresh will use --fast-list if enabled. 17652 .PP 17653 This command takes an \[dq]fs\[dq] parameter. 17654 If this parameter is not supplied and if there is only one VFS in use 17655 then that VFS will be used. 17656 If there is more than one VFS in use then the \[dq]fs\[dq] parameter 17657 must be supplied. 17658 .SS vfs/stats: Stats for a VFS. 17659 .PP 17660 This returns stats for the selected VFS. 17661 .IP 17662 .nf 17663 \f[C] 17664 { 17665 // Status of the disk cache - only present if --vfs-cache-mode > off 17666 \[dq]diskCache\[dq]: { 17667 \[dq]bytesUsed\[dq]: 0, 17668 \[dq]erroredFiles\[dq]: 0, 17669 \[dq]files\[dq]: 0, 17670 \[dq]hashType\[dq]: 1, 17671 \[dq]outOfSpace\[dq]: false, 17672 \[dq]path\[dq]: \[dq]/home/user/.cache/rclone/vfs/local/mnt/a\[dq], 17673 \[dq]pathMeta\[dq]: \[dq]/home/user/.cache/rclone/vfsMeta/local/mnt/a\[dq], 17674 \[dq]uploadsInProgress\[dq]: 0, 17675 \[dq]uploadsQueued\[dq]: 0 17676 }, 17677 \[dq]fs\[dq]: \[dq]/mnt/a\[dq], 17678 \[dq]inUse\[dq]: 1, 17679 // Status of the in memory metadata cache 17680 \[dq]metadataCache\[dq]: { 17681 \[dq]dirs\[dq]: 1, 17682 \[dq]files\[dq]: 0 17683 }, 17684 // Options as returned by options/get 17685 \[dq]opt\[dq]: { 17686 \[dq]CacheMaxAge\[dq]: 3600000000000, 17687 // ... 17688 \[dq]WriteWait\[dq]: 1000000000 17689 } 17690 } 17691 \f[R] 17692 .fi 17693 .PP 17694 This command takes an \[dq]fs\[dq] parameter. 17695 If this parameter is not supplied and if there is only one VFS in use 17696 then that VFS will be used. 17697 If there is more than one VFS in use then the \[dq]fs\[dq] parameter 17698 must be supplied. 17699 .SS Accessing the remote control via HTTP 17700 .PP 17701 Rclone implements a simple HTTP based protocol. 17702 .PP 17703 Each endpoint takes an JSON object and returns a JSON object or an 17704 error. 17705 The JSON objects are essentially a map of string names to values. 17706 .PP 17707 All calls must made using POST. 17708 .PP 17709 The input objects can be supplied using URL parameters, POST parameters 17710 or by supplying \[dq]Content-Type: application/json\[dq] and a JSON blob 17711 in the body. 17712 There are examples of these below using \f[C]curl\f[R]. 17713 .PP 17714 The response will be a JSON blob in the body of the response. 17715 This is formatted to be reasonably human-readable. 17716 .SS Error returns 17717 .PP 17718 If an error occurs then there will be an HTTP error status (e.g. 17719 500) and the body of the response will contain a JSON encoded error 17720 object, e.g. 17721 .IP 17722 .nf 17723 \f[C] 17724 { 17725 \[dq]error\[dq]: \[dq]Expecting string value for key \[rs]\[dq]remote\[rs]\[dq] (was float64)\[dq], 17726 \[dq]input\[dq]: { 17727 \[dq]fs\[dq]: \[dq]/tmp\[dq], 17728 \[dq]remote\[dq]: 3 17729 }, 17730 \[dq]status\[dq]: 400 17731 \[dq]path\[dq]: \[dq]operations/rmdir\[dq], 17732 } 17733 \f[R] 17734 .fi 17735 .PP 17736 The keys in the error response are - error - error string - input - the 17737 input parameters to the call - status - the HTTP status code - path - 17738 the path of the call 17739 .SS CORS 17740 .PP 17741 The sever implements basic CORS support and allows all origins for that. 17742 The response to a preflight OPTIONS request will echo the requested 17743 \[dq]Access-Control-Request-Headers\[dq] back. 17744 .SS Using POST with URL parameters only 17745 .IP 17746 .nf 17747 \f[C] 17748 curl -X POST \[aq]http://localhost:5572/rc/noop?potato=1&sausage=2\[aq] 17749 \f[R] 17750 .fi 17751 .PP 17752 Response 17753 .IP 17754 .nf 17755 \f[C] 17756 { 17757 \[dq]potato\[dq]: \[dq]1\[dq], 17758 \[dq]sausage\[dq]: \[dq]2\[dq] 17759 } 17760 \f[R] 17761 .fi 17762 .PP 17763 Here is what an error response looks like: 17764 .IP 17765 .nf 17766 \f[C] 17767 curl -X POST \[aq]http://localhost:5572/rc/error?potato=1&sausage=2\[aq] 17768 \f[R] 17769 .fi 17770 .IP 17771 .nf 17772 \f[C] 17773 { 17774 \[dq]error\[dq]: \[dq]arbitrary error on input map[potato:1 sausage:2]\[dq], 17775 \[dq]input\[dq]: { 17776 \[dq]potato\[dq]: \[dq]1\[dq], 17777 \[dq]sausage\[dq]: \[dq]2\[dq] 17778 } 17779 } 17780 \f[R] 17781 .fi 17782 .PP 17783 Note that curl doesn\[aq]t return errors to the shell unless you use the 17784 \f[C]-f\f[R] option 17785 .IP 17786 .nf 17787 \f[C] 17788 $ curl -f -X POST \[aq]http://localhost:5572/rc/error?potato=1&sausage=2\[aq] 17789 curl: (22) The requested URL returned error: 400 Bad Request 17790 $ echo $? 17791 22 17792 \f[R] 17793 .fi 17794 .SS Using POST with a form 17795 .IP 17796 .nf 17797 \f[C] 17798 curl --data \[dq]potato=1\[dq] --data \[dq]sausage=2\[dq] http://localhost:5572/rc/noop 17799 \f[R] 17800 .fi 17801 .PP 17802 Response 17803 .IP 17804 .nf 17805 \f[C] 17806 { 17807 \[dq]potato\[dq]: \[dq]1\[dq], 17808 \[dq]sausage\[dq]: \[dq]2\[dq] 17809 } 17810 \f[R] 17811 .fi 17812 .PP 17813 Note that you can combine these with URL parameters too with the POST 17814 parameters taking precedence. 17815 .IP 17816 .nf 17817 \f[C] 17818 curl --data \[dq]potato=1\[dq] --data \[dq]sausage=2\[dq] \[dq]http://localhost:5572/rc/noop?rutabaga=3&sausage=4\[dq] 17819 \f[R] 17820 .fi 17821 .PP 17822 Response 17823 .IP 17824 .nf 17825 \f[C] 17826 { 17827 \[dq]potato\[dq]: \[dq]1\[dq], 17828 \[dq]rutabaga\[dq]: \[dq]3\[dq], 17829 \[dq]sausage\[dq]: \[dq]4\[dq] 17830 } 17831 \f[R] 17832 .fi 17833 .SS Using POST with a JSON blob 17834 .IP 17835 .nf 17836 \f[C] 17837 curl -H \[dq]Content-Type: application/json\[dq] -X POST -d \[aq]{\[dq]potato\[dq]:2,\[dq]sausage\[dq]:1}\[aq] http://localhost:5572/rc/noop 17838 \f[R] 17839 .fi 17840 .PP 17841 response 17842 .IP 17843 .nf 17844 \f[C] 17845 { 17846 \[dq]password\[dq]: \[dq]xyz\[dq], 17847 \[dq]username\[dq]: \[dq]xyz\[dq] 17848 } 17849 \f[R] 17850 .fi 17851 .PP 17852 This can be combined with URL parameters too if required. 17853 The JSON blob takes precedence. 17854 .IP 17855 .nf 17856 \f[C] 17857 curl -H \[dq]Content-Type: application/json\[dq] -X POST -d \[aq]{\[dq]potato\[dq]:2,\[dq]sausage\[dq]:1}\[aq] \[aq]http://localhost:5572/rc/noop?rutabaga=3&potato=4\[aq] 17858 \f[R] 17859 .fi 17860 .IP 17861 .nf 17862 \f[C] 17863 { 17864 \[dq]potato\[dq]: 2, 17865 \[dq]rutabaga\[dq]: \[dq]3\[dq], 17866 \[dq]sausage\[dq]: 1 17867 } 17868 \f[R] 17869 .fi 17870 .SS Debugging rclone with pprof 17871 .PP 17872 If you use the \f[C]--rc\f[R] flag this will also enable the use of the 17873 go profiling tools on the same port. 17874 .PP 17875 To use these, first install go (https://golang.org/doc/install). 17876 .SS Debugging memory use 17877 .PP 17878 To profile rclone\[aq]s memory use you can run: 17879 .IP 17880 .nf 17881 \f[C] 17882 go tool pprof -web http://localhost:5572/debug/pprof/heap 17883 \f[R] 17884 .fi 17885 .PP 17886 This should open a page in your browser showing what is using what 17887 memory. 17888 .PP 17889 You can also use the \f[C]-text\f[R] flag to produce a textual summary 17890 .IP 17891 .nf 17892 \f[C] 17893 $ go tool pprof -text http://localhost:5572/debug/pprof/heap 17894 Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total 17895 flat flat% sum% cum cum% 17896 1024.03kB 66.62% 66.62% 1024.03kB 66.62% github.com/divyam234/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode 17897 513kB 33.38% 100% 513kB 33.38% net/http.newBufioWriterSize 17898 0 0% 100% 1024.03kB 66.62% github.com/divyam234/rclone/cmd/all.init 17899 0 0% 100% 1024.03kB 66.62% github.com/divyam234/rclone/cmd/serve.init 17900 0 0% 100% 1024.03kB 66.62% github.com/divyam234/rclone/cmd/serve/restic.init 17901 0 0% 100% 1024.03kB 66.62% github.com/divyam234/rclone/vendor/golang.org/x/net/http2.init 17902 0 0% 100% 1024.03kB 66.62% github.com/divyam234/rclone/vendor/golang.org/x/net/http2/hpack.init 17903 0 0% 100% 1024.03kB 66.62% github.com/divyam234/rclone/vendor/golang.org/x/net/http2/hpack.init.0 17904 0 0% 100% 1024.03kB 66.62% main.init 17905 0 0% 100% 513kB 33.38% net/http.(*conn).readRequest 17906 0 0% 100% 513kB 33.38% net/http.(*conn).serve 17907 0 0% 100% 1024.03kB 66.62% runtime.main 17908 \f[R] 17909 .fi 17910 .SS Debugging go routine leaks 17911 .PP 17912 Memory leaks are most often caused by go routine leaks keeping memory 17913 alive which should have been garbage collected. 17914 .PP 17915 See all active go routines using 17916 .IP 17917 .nf 17918 \f[C] 17919 curl http://localhost:5572/debug/pprof/goroutine?debug=1 17920 \f[R] 17921 .fi 17922 .PP 17923 Or go to http://localhost:5572/debug/pprof/goroutine?debug=1 in your 17924 browser. 17925 .SS Other profiles to look at 17926 .PP 17927 You can see a summary of profiles available at 17928 http://localhost:5572/debug/pprof/ 17929 .PP 17930 Here is how to use some of them: 17931 .IP \[bu] 2 17932 Memory: \f[C]go tool pprof http://localhost:5572/debug/pprof/heap\f[R] 17933 .IP \[bu] 2 17934 Go routines: 17935 \f[C]curl http://localhost:5572/debug/pprof/goroutine?debug=1\f[R] 17936 .IP \[bu] 2 17937 30-second CPU profile: 17938 \f[C]go tool pprof http://localhost:5572/debug/pprof/profile\f[R] 17939 .IP \[bu] 2 17940 5-second execution trace: 17941 \f[C]wget http://localhost:5572/debug/pprof/trace?seconds=5\f[R] 17942 .IP \[bu] 2 17943 Goroutine blocking profile 17944 .RS 2 17945 .IP \[bu] 2 17946 Enable first with: 17947 \f[C]rclone rc debug/set-block-profile-rate rate=1\f[R] (docs) 17948 .IP \[bu] 2 17949 \f[C]go tool pprof http://localhost:5572/debug/pprof/block\f[R] 17950 .RE 17951 .IP \[bu] 2 17952 Contended mutexes: 17953 .RS 2 17954 .IP \[bu] 2 17955 Enable first with: 17956 \f[C]rclone rc debug/set-mutex-profile-fraction rate=1\f[R] (docs) 17957 .IP \[bu] 2 17958 \f[C]go tool pprof http://localhost:5572/debug/pprof/mutex\f[R] 17959 .RE 17960 .PP 17961 See the net/http/pprof docs (https://golang.org/pkg/net/http/pprof/) for 17962 more info on how to use the profiling and for a general overview see the 17963 Go team\[aq]s blog post on profiling go 17964 programs (https://blog.golang.org/profiling-go-programs). 17965 .PP 17966 The profiling hook is zero overhead unless it is 17967 used (https://stackoverflow.com/q/26545159/164234). 17968 .SH Overview of cloud storage systems 17969 .PP 17970 Each cloud storage system is slightly different. 17971 Rclone attempts to provide a unified interface to them, but some 17972 underlying differences show through. 17973 .SS Features 17974 .PP 17975 Here is an overview of the major features of each cloud storage system. 17976 .PP 17977 .TS 17978 tab(@); 17979 l c c c c c c. 17980 T{ 17981 Name 17982 T}@T{ 17983 Hash 17984 T}@T{ 17985 ModTime 17986 T}@T{ 17987 Case Insensitive 17988 T}@T{ 17989 Duplicate Files 17990 T}@T{ 17991 MIME Type 17992 T}@T{ 17993 Metadata 17994 T} 17995 _ 17996 T{ 17997 1Fichier 17998 T}@T{ 17999 Whirlpool 18000 T}@T{ 18001 - 18002 T}@T{ 18003 No 18004 T}@T{ 18005 Yes 18006 T}@T{ 18007 R 18008 T}@T{ 18009 - 18010 T} 18011 T{ 18012 Akamai Netstorage 18013 T}@T{ 18014 MD5, SHA256 18015 T}@T{ 18016 R/W 18017 T}@T{ 18018 No 18019 T}@T{ 18020 No 18021 T}@T{ 18022 R 18023 T}@T{ 18024 - 18025 T} 18026 T{ 18027 Amazon Drive 18028 T}@T{ 18029 MD5 18030 T}@T{ 18031 - 18032 T}@T{ 18033 Yes 18034 T}@T{ 18035 No 18036 T}@T{ 18037 R 18038 T}@T{ 18039 - 18040 T} 18041 T{ 18042 Amazon S3 (or S3 compatible) 18043 T}@T{ 18044 MD5 18045 T}@T{ 18046 R/W 18047 T}@T{ 18048 No 18049 T}@T{ 18050 No 18051 T}@T{ 18052 R/W 18053 T}@T{ 18054 RWU 18055 T} 18056 T{ 18057 Backblaze B2 18058 T}@T{ 18059 SHA1 18060 T}@T{ 18061 R/W 18062 T}@T{ 18063 No 18064 T}@T{ 18065 No 18066 T}@T{ 18067 R/W 18068 T}@T{ 18069 - 18070 T} 18071 T{ 18072 Box 18073 T}@T{ 18074 SHA1 18075 T}@T{ 18076 R/W 18077 T}@T{ 18078 Yes 18079 T}@T{ 18080 No 18081 T}@T{ 18082 - 18083 T}@T{ 18084 - 18085 T} 18086 T{ 18087 Citrix ShareFile 18088 T}@T{ 18089 MD5 18090 T}@T{ 18091 R/W 18092 T}@T{ 18093 Yes 18094 T}@T{ 18095 No 18096 T}@T{ 18097 - 18098 T}@T{ 18099 - 18100 T} 18101 T{ 18102 Dropbox 18103 T}@T{ 18104 DBHASH \[S1] 18105 T}@T{ 18106 R 18107 T}@T{ 18108 Yes 18109 T}@T{ 18110 No 18111 T}@T{ 18112 - 18113 T}@T{ 18114 - 18115 T} 18116 T{ 18117 Enterprise File Fabric 18118 T}@T{ 18119 - 18120 T}@T{ 18121 R/W 18122 T}@T{ 18123 Yes 18124 T}@T{ 18125 No 18126 T}@T{ 18127 R/W 18128 T}@T{ 18129 - 18130 T} 18131 T{ 18132 FTP 18133 T}@T{ 18134 - 18135 T}@T{ 18136 R/W \[S1]\[u2070] 18137 T}@T{ 18138 No 18139 T}@T{ 18140 No 18141 T}@T{ 18142 - 18143 T}@T{ 18144 - 18145 T} 18146 T{ 18147 Google Cloud Storage 18148 T}@T{ 18149 MD5 18150 T}@T{ 18151 R/W 18152 T}@T{ 18153 No 18154 T}@T{ 18155 No 18156 T}@T{ 18157 R/W 18158 T}@T{ 18159 - 18160 T} 18161 T{ 18162 Google Drive 18163 T}@T{ 18164 MD5 18165 T}@T{ 18166 R/W 18167 T}@T{ 18168 No 18169 T}@T{ 18170 Yes 18171 T}@T{ 18172 R/W 18173 T}@T{ 18174 - 18175 T} 18176 T{ 18177 Google Photos 18178 T}@T{ 18179 - 18180 T}@T{ 18181 - 18182 T}@T{ 18183 No 18184 T}@T{ 18185 Yes 18186 T}@T{ 18187 R 18188 T}@T{ 18189 - 18190 T} 18191 T{ 18192 HDFS 18193 T}@T{ 18194 - 18195 T}@T{ 18196 R/W 18197 T}@T{ 18198 No 18199 T}@T{ 18200 No 18201 T}@T{ 18202 - 18203 T}@T{ 18204 - 18205 T} 18206 T{ 18207 HiDrive 18208 T}@T{ 18209 HiDrive \[S1]\[S2] 18210 T}@T{ 18211 R/W 18212 T}@T{ 18213 No 18214 T}@T{ 18215 No 18216 T}@T{ 18217 - 18218 T}@T{ 18219 - 18220 T} 18221 T{ 18222 HTTP 18223 T}@T{ 18224 - 18225 T}@T{ 18226 R 18227 T}@T{ 18228 No 18229 T}@T{ 18230 No 18231 T}@T{ 18232 R 18233 T}@T{ 18234 - 18235 T} 18236 T{ 18237 Internet Archive 18238 T}@T{ 18239 MD5, SHA1, CRC32 18240 T}@T{ 18241 R/W \[S1]\[S1] 18242 T}@T{ 18243 No 18244 T}@T{ 18245 No 18246 T}@T{ 18247 - 18248 T}@T{ 18249 RWU 18250 T} 18251 T{ 18252 Jottacloud 18253 T}@T{ 18254 MD5 18255 T}@T{ 18256 R/W 18257 T}@T{ 18258 Yes 18259 T}@T{ 18260 No 18261 T}@T{ 18262 R 18263 T}@T{ 18264 - 18265 T} 18266 T{ 18267 Koofr 18268 T}@T{ 18269 MD5 18270 T}@T{ 18271 - 18272 T}@T{ 18273 Yes 18274 T}@T{ 18275 No 18276 T}@T{ 18277 - 18278 T}@T{ 18279 - 18280 T} 18281 T{ 18282 Mail.ru Cloud 18283 T}@T{ 18284 Mailru \[u2076] 18285 T}@T{ 18286 R/W 18287 T}@T{ 18288 Yes 18289 T}@T{ 18290 No 18291 T}@T{ 18292 - 18293 T}@T{ 18294 - 18295 T} 18296 T{ 18297 Mega 18298 T}@T{ 18299 - 18300 T}@T{ 18301 - 18302 T}@T{ 18303 No 18304 T}@T{ 18305 Yes 18306 T}@T{ 18307 - 18308 T}@T{ 18309 - 18310 T} 18311 T{ 18312 Memory 18313 T}@T{ 18314 MD5 18315 T}@T{ 18316 R/W 18317 T}@T{ 18318 No 18319 T}@T{ 18320 No 18321 T}@T{ 18322 - 18323 T}@T{ 18324 - 18325 T} 18326 T{ 18327 Microsoft Azure Blob Storage 18328 T}@T{ 18329 MD5 18330 T}@T{ 18331 R/W 18332 T}@T{ 18333 No 18334 T}@T{ 18335 No 18336 T}@T{ 18337 R/W 18338 T}@T{ 18339 - 18340 T} 18341 T{ 18342 Microsoft OneDrive 18343 T}@T{ 18344 QuickXorHash \[u2075] 18345 T}@T{ 18346 R/W 18347 T}@T{ 18348 Yes 18349 T}@T{ 18350 No 18351 T}@T{ 18352 R 18353 T}@T{ 18354 - 18355 T} 18356 T{ 18357 OpenDrive 18358 T}@T{ 18359 MD5 18360 T}@T{ 18361 R/W 18362 T}@T{ 18363 Yes 18364 T}@T{ 18365 Partial \[u2078] 18366 T}@T{ 18367 - 18368 T}@T{ 18369 - 18370 T} 18371 T{ 18372 OpenStack Swift 18373 T}@T{ 18374 MD5 18375 T}@T{ 18376 R/W 18377 T}@T{ 18378 No 18379 T}@T{ 18380 No 18381 T}@T{ 18382 R/W 18383 T}@T{ 18384 - 18385 T} 18386 T{ 18387 Oracle Object Storage 18388 T}@T{ 18389 MD5 18390 T}@T{ 18391 R/W 18392 T}@T{ 18393 No 18394 T}@T{ 18395 No 18396 T}@T{ 18397 R/W 18398 T}@T{ 18399 - 18400 T} 18401 T{ 18402 pCloud 18403 T}@T{ 18404 MD5, SHA1 \[u2077] 18405 T}@T{ 18406 R 18407 T}@T{ 18408 No 18409 T}@T{ 18410 No 18411 T}@T{ 18412 W 18413 T}@T{ 18414 - 18415 T} 18416 T{ 18417 PikPak 18418 T}@T{ 18419 MD5 18420 T}@T{ 18421 R 18422 T}@T{ 18423 No 18424 T}@T{ 18425 No 18426 T}@T{ 18427 R 18428 T}@T{ 18429 - 18430 T} 18431 T{ 18432 premiumize.me 18433 T}@T{ 18434 - 18435 T}@T{ 18436 - 18437 T}@T{ 18438 Yes 18439 T}@T{ 18440 No 18441 T}@T{ 18442 R 18443 T}@T{ 18444 - 18445 T} 18446 T{ 18447 put.io 18448 T}@T{ 18449 CRC-32 18450 T}@T{ 18451 R/W 18452 T}@T{ 18453 No 18454 T}@T{ 18455 Yes 18456 T}@T{ 18457 R 18458 T}@T{ 18459 - 18460 T} 18461 T{ 18462 QingStor 18463 T}@T{ 18464 MD5 18465 T}@T{ 18466 - \[u2079] 18467 T}@T{ 18468 No 18469 T}@T{ 18470 No 18471 T}@T{ 18472 R/W 18473 T}@T{ 18474 - 18475 T} 18476 T{ 18477 Seafile 18478 T}@T{ 18479 - 18480 T}@T{ 18481 - 18482 T}@T{ 18483 No 18484 T}@T{ 18485 No 18486 T}@T{ 18487 - 18488 T}@T{ 18489 - 18490 T} 18491 T{ 18492 SFTP 18493 T}@T{ 18494 MD5, SHA1 \[S2] 18495 T}@T{ 18496 R/W 18497 T}@T{ 18498 Depends 18499 T}@T{ 18500 No 18501 T}@T{ 18502 - 18503 T}@T{ 18504 - 18505 T} 18506 T{ 18507 Sia 18508 T}@T{ 18509 - 18510 T}@T{ 18511 - 18512 T}@T{ 18513 No 18514 T}@T{ 18515 No 18516 T}@T{ 18517 - 18518 T}@T{ 18519 - 18520 T} 18521 T{ 18522 SMB 18523 T}@T{ 18524 - 18525 T}@T{ 18526 - 18527 T}@T{ 18528 Yes 18529 T}@T{ 18530 No 18531 T}@T{ 18532 - 18533 T}@T{ 18534 - 18535 T} 18536 T{ 18537 SugarSync 18538 T}@T{ 18539 - 18540 T}@T{ 18541 - 18542 T}@T{ 18543 No 18544 T}@T{ 18545 No 18546 T}@T{ 18547 - 18548 T}@T{ 18549 - 18550 T} 18551 T{ 18552 Storj 18553 T}@T{ 18554 - 18555 T}@T{ 18556 R 18557 T}@T{ 18558 No 18559 T}@T{ 18560 No 18561 T}@T{ 18562 - 18563 T}@T{ 18564 - 18565 T} 18566 T{ 18567 Uptobox 18568 T}@T{ 18569 - 18570 T}@T{ 18571 - 18572 T}@T{ 18573 No 18574 T}@T{ 18575 Yes 18576 T}@T{ 18577 - 18578 T}@T{ 18579 - 18580 T} 18581 T{ 18582 WebDAV 18583 T}@T{ 18584 MD5, SHA1 \[S3] 18585 T}@T{ 18586 R \[u2074] 18587 T}@T{ 18588 Depends 18589 T}@T{ 18590 No 18591 T}@T{ 18592 - 18593 T}@T{ 18594 - 18595 T} 18596 T{ 18597 Yandex Disk 18598 T}@T{ 18599 MD5 18600 T}@T{ 18601 R/W 18602 T}@T{ 18603 No 18604 T}@T{ 18605 No 18606 T}@T{ 18607 R 18608 T}@T{ 18609 - 18610 T} 18611 T{ 18612 Zoho WorkDrive 18613 T}@T{ 18614 - 18615 T}@T{ 18616 - 18617 T}@T{ 18618 No 18619 T}@T{ 18620 No 18621 T}@T{ 18622 - 18623 T}@T{ 18624 - 18625 T} 18626 T{ 18627 The local filesystem 18628 T}@T{ 18629 All 18630 T}@T{ 18631 R/W 18632 T}@T{ 18633 Depends 18634 T}@T{ 18635 No 18636 T}@T{ 18637 - 18638 T}@T{ 18639 RWU 18640 T} 18641 .TE 18642 .SS Notes 18643 .PP 18644 \[S1] Dropbox supports its own custom 18645 hash (https://www.dropbox.com/developers/reference/content-hash). 18646 This is an SHA256 sum of all the 4 MiB block SHA256s. 18647 .PP 18648 \[S2] SFTP supports checksums if the same login has shell access and 18649 \f[C]md5sum\f[R] or \f[C]sha1sum\f[R] as well as \f[C]echo\f[R] are in 18650 the remote\[aq]s PATH. 18651 .PP 18652 \[S3] WebDAV supports hashes when used with Fastmail Files. 18653 Owncloud and Nextcloud only. 18654 .PP 18655 \[u2074] WebDAV supports modtimes when used with Fastmail Files, 18656 Owncloud and Nextcloud only. 18657 .PP 18658 \[u2075] 18659 QuickXorHash (https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash) 18660 is Microsoft\[aq]s own hash. 18661 .PP 18662 \[u2076] Mail.ru uses its own modified SHA1 hash 18663 .PP 18664 \[u2077] pCloud only supports SHA1 (not MD5) in its EU region 18665 .PP 18666 \[u2078] Opendrive does not support creation of duplicate files using 18667 their web client interface or other stock clients, but the underlying 18668 storage platform has been determined to allow duplicate files, and it is 18669 possible to create them with \f[C]rclone\f[R]. 18670 It may be that this is a mistake or an unsupported feature. 18671 .PP 18672 \[u2079] QingStor does not support SetModTime for objects bigger than 5 18673 GiB. 18674 .PP 18675 \[S1]\[u2070] FTP supports modtimes for the major FTP servers, and also 18676 others if they advertised required protocol extensions. 18677 See this (https://rclone.org/ftp/#modified-time) for more details. 18678 .PP 18679 \[S1]\[S1] Internet Archive requires option \f[C]wait_archive\f[R] to be 18680 set to a non-zero value for full modtime support. 18681 .PP 18682 \[S1]\[S2] HiDrive supports its own custom 18683 hash (https://static.hidrive.com/dev/0001). 18684 It combines SHA1 sums for each 4 KiB block hierarchically to a single 18685 top-level sum. 18686 .SS Hash 18687 .PP 18688 The cloud storage system supports various hash types of the objects. 18689 The hashes are used when transferring data as an integrity check and can 18690 be specifically used with the \f[C]--checksum\f[R] flag in syncs and in 18691 the \f[C]check\f[R] command. 18692 .PP 18693 To use the verify checksums when transferring between cloud storage 18694 systems they must support a common hash type. 18695 .SS ModTime 18696 .PP 18697 Almost all cloud storage systems store some sort of timestamp on 18698 objects, but several of them not something that is appropriate to use 18699 for syncing. 18700 E.g. 18701 some backends will only write a timestamp that represent the time of the 18702 upload. 18703 To be relevant for syncing it should be able to store the modification 18704 time of the source object. 18705 If this is not the case, rclone will only check the file size by 18706 default, though can be configured to check the file hash (with the 18707 \f[C]--checksum\f[R] flag). 18708 Ideally it should also be possible to change the timestamp of an 18709 existing file without having to re-upload it. 18710 .PP 18711 Storage systems with a \f[C]-\f[R] in the ModTime column, means the 18712 modification read on objects is not the modification time of the file 18713 when uploaded. 18714 It is most likely the time the file was uploaded, or possibly something 18715 else (like the time the picture was taken in Google Photos). 18716 .PP 18717 Storage systems with a \f[C]R\f[R] (for read-only) in the ModTime 18718 column, means the it keeps modification times on objects, and updates 18719 them when uploading objects, but it does not support changing only the 18720 modification time (\f[C]SetModTime\f[R] operation) without re-uploading, 18721 possibly not even without deleting existing first. 18722 Some operations in rclone, such as \f[C]copy\f[R] and \f[C]sync\f[R] 18723 commands, will automatically check for \f[C]SetModTime\f[R] support and 18724 re-upload if necessary to keep the modification times in sync. 18725 Other commands will not work without \f[C]SetModTime\f[R] support, e.g. 18726 \f[C]touch\f[R] command on an existing file will fail, and changes to 18727 modification time only on a files in a \f[C]mount\f[R] will be silently 18728 ignored. 18729 .PP 18730 Storage systems with \f[C]R/W\f[R] (for read/write) in the ModTime 18731 column, means they do also support modtime-only operations. 18732 .SS Case Insensitive 18733 .PP 18734 If a cloud storage systems is case sensitive then it is possible to have 18735 two files which differ only in case, e.g. 18736 \f[C]file.txt\f[R] and \f[C]FILE.txt\f[R]. 18737 If a cloud storage system is case insensitive then that isn\[aq]t 18738 possible. 18739 .PP 18740 This can cause problems when syncing between a case insensitive system 18741 and a case sensitive system. 18742 The symptom of this is that no matter how many times you run the sync it 18743 never completes fully. 18744 .PP 18745 The local filesystem and SFTP may or may not be case sensitive depending 18746 on OS. 18747 .IP \[bu] 2 18748 Windows - usually case insensitive, though case is preserved 18749 .IP \[bu] 2 18750 OSX - usually case insensitive, though it is possible to format case 18751 sensitive 18752 .IP \[bu] 2 18753 Linux - usually case sensitive, but there are case insensitive file 18754 systems (e.g. 18755 FAT formatted USB keys) 18756 .PP 18757 Most of the time this doesn\[aq]t cause any problems as people tend to 18758 avoid files whose name differs only by case even on case sensitive 18759 systems. 18760 .SS Duplicate files 18761 .PP 18762 If a cloud storage system allows duplicate files then it can have two 18763 objects with the same name. 18764 .PP 18765 This confuses rclone greatly when syncing - use the 18766 \f[C]rclone dedupe\f[R] command to rename or remove duplicates. 18767 .SS Restricted filenames 18768 .PP 18769 Some cloud storage systems might have restrictions on the characters 18770 that are usable in file or directory names. 18771 When \f[C]rclone\f[R] detects such a name during a file upload, it will 18772 transparently replace the restricted characters with similar looking 18773 Unicode characters. 18774 To handle the different sets of restricted characters for different 18775 backends, rclone uses something it calls encoding. 18776 .PP 18777 This process is designed to avoid ambiguous file names as much as 18778 possible and allow to move files between many cloud storage systems 18779 transparently. 18780 .PP 18781 The name shown by \f[C]rclone\f[R] to the user or during log output will 18782 only contain a minimal set of replaced characters to ensure correct 18783 formatting and not necessarily the actual name used on the cloud 18784 storage. 18785 .PP 18786 This transformation is reversed when downloading a file or parsing 18787 \f[C]rclone\f[R] arguments. 18788 For example, when uploading a file named \f[C]my file?.txt\f[R] to 18789 Onedrive, it will be displayed as \f[C]my file?.txt\f[R] on the console, 18790 but stored as \f[C]my file\[uFF1F].txt\f[R] to Onedrive (the \f[C]?\f[R] 18791 gets replaced by the similar looking \f[C]\[uFF1F]\f[R] character, the 18792 so-called \[dq]fullwidth question mark\[dq]). 18793 The reverse transformation allows to read a file 18794 \f[C]unusual/name.txt\f[R] from Google Drive, by passing the name 18795 \f[C]unusual\[uFF0F]name.txt\f[R] on the command line (the \f[C]/\f[R] 18796 needs to be replaced by the similar looking \f[C]\[uFF0F]\f[R] 18797 character). 18798 .SS Caveats 18799 .PP 18800 The filename encoding system works well in most cases, at least where 18801 file names are written in English or similar languages. 18802 You might not even notice it: It just works. 18803 In some cases it may lead to issues, though. 18804 E.g. 18805 when file names are written in Chinese, or Japanese, where it is always 18806 the Unicode fullwidth variants of the punctuation marks that are used. 18807 .PP 18808 On Windows, the characters \f[C]:\f[R], \f[C]*\f[R] and \f[C]?\f[R] are 18809 examples of restricted characters. 18810 If these are used in filenames on a remote that supports it, Rclone will 18811 transparently convert them to their fullwidth Unicode variants 18812 \f[C]\[uFF0A]\f[R], \f[C]\[uFF1F]\f[R] and \f[C]\[uFF1A]\f[R] when 18813 downloading to Windows, and back again when uploading. 18814 This way files with names that are not allowed on Windows can still be 18815 stored. 18816 .PP 18817 However, if you have files on your Windows system originally with these 18818 same Unicode characters in their names, they will be included in the 18819 same conversion process. 18820 E.g. 18821 if you create a file in your Windows filesystem with name 18822 \f[C]Test\[uFF1A]1.jpg\f[R], where \f[C]\[uFF1A]\f[R] is the Unicode 18823 fullwidth colon symbol, and use rclone to upload it to Google Drive, 18824 which supports regular \f[C]:\f[R] (halfwidth question mark), rclone 18825 will replace the fullwidth \f[C]:\f[R] with the halfwidth \f[C]:\f[R] 18826 and store the file as \f[C]Test:1.jpg\f[R] in Google Drive. 18827 Since both Windows and Google Drive allows the name 18828 \f[C]Test\[uFF1A]1.jpg\f[R], it would probably be better if rclone just 18829 kept the name as is in this case. 18830 .PP 18831 With the opposite situation; if you have a file named 18832 \f[C]Test:1.jpg\f[R], in your Google Drive, e.g. 18833 uploaded from a Linux system where \f[C]:\f[R] is valid in file names. 18834 Then later use rclone to copy this file to your Windows computer you 18835 will notice that on your local disk it gets renamed to 18836 \f[C]Test\[uFF1A]1.jpg\f[R]. 18837 The original filename is not legal on Windows, due to the \f[C]:\f[R], 18838 and rclone therefore renames it to make the copy possible. 18839 That is all good. 18840 However, this can also lead to an issue: If you already had a 18841 \f[I]different\f[R] file named \f[C]Test\[uFF1A]1.jpg\f[R] on Windows, 18842 and then use rclone to copy either way. 18843 Rclone will then treat the file originally named \f[C]Test:1.jpg\f[R] on 18844 Google Drive and the file originally named \f[C]Test\[uFF1A]1.jpg\f[R] 18845 on Windows as the same file, and replace the contents from one with the 18846 other. 18847 .PP 18848 Its virtually impossible to handle all cases like these correctly in all 18849 situations, but by customizing the encoding option, changing the set of 18850 characters that rclone should convert, you should be able to create a 18851 configuration that works well for your specific situation. 18852 See also the 18853 example (https://rclone.org/overview/#encoding-example-windows) below. 18854 .PP 18855 (Windows was used as an example of a file system with many restricted 18856 characters, and Google drive a storage system with few.) 18857 .SS Default restricted characters 18858 .PP 18859 The table below shows the characters that are replaced by default. 18860 .PP 18861 When a replacement character is found in a filename, this character will 18862 be escaped with the \f[C]\[u201B]\f[R] character to avoid ambiguous file 18863 names. 18864 (e.g. 18865 a file named \f[C]\[u2400].txt\f[R] would shown as 18866 \f[C]\[u201B]\[u2400].txt\f[R]) 18867 .PP 18868 Each cloud storage backend can use a different set of characters, which 18869 will be specified in the documentation for each backend. 18870 .PP 18871 .TS 18872 tab(@); 18873 l c c. 18874 T{ 18875 Character 18876 T}@T{ 18877 Value 18878 T}@T{ 18879 Replacement 18880 T} 18881 _ 18882 T{ 18883 NUL 18884 T}@T{ 18885 0x00 18886 T}@T{ 18887 \[u2400] 18888 T} 18889 T{ 18890 SOH 18891 T}@T{ 18892 0x01 18893 T}@T{ 18894 \[u2401] 18895 T} 18896 T{ 18897 STX 18898 T}@T{ 18899 0x02 18900 T}@T{ 18901 \[u2402] 18902 T} 18903 T{ 18904 ETX 18905 T}@T{ 18906 0x03 18907 T}@T{ 18908 \[u2403] 18909 T} 18910 T{ 18911 EOT 18912 T}@T{ 18913 0x04 18914 T}@T{ 18915 \[u2404] 18916 T} 18917 T{ 18918 ENQ 18919 T}@T{ 18920 0x05 18921 T}@T{ 18922 \[u2405] 18923 T} 18924 T{ 18925 ACK 18926 T}@T{ 18927 0x06 18928 T}@T{ 18929 \[u2406] 18930 T} 18931 T{ 18932 BEL 18933 T}@T{ 18934 0x07 18935 T}@T{ 18936 \[u2407] 18937 T} 18938 T{ 18939 BS 18940 T}@T{ 18941 0x08 18942 T}@T{ 18943 \[u2408] 18944 T} 18945 T{ 18946 HT 18947 T}@T{ 18948 0x09 18949 T}@T{ 18950 \[u2409] 18951 T} 18952 T{ 18953 LF 18954 T}@T{ 18955 0x0A 18956 T}@T{ 18957 \[u240A] 18958 T} 18959 T{ 18960 VT 18961 T}@T{ 18962 0x0B 18963 T}@T{ 18964 \[u240B] 18965 T} 18966 T{ 18967 FF 18968 T}@T{ 18969 0x0C 18970 T}@T{ 18971 \[u240C] 18972 T} 18973 T{ 18974 CR 18975 T}@T{ 18976 0x0D 18977 T}@T{ 18978 \[u240D] 18979 T} 18980 T{ 18981 SO 18982 T}@T{ 18983 0x0E 18984 T}@T{ 18985 \[u240E] 18986 T} 18987 T{ 18988 SI 18989 T}@T{ 18990 0x0F 18991 T}@T{ 18992 \[u240F] 18993 T} 18994 T{ 18995 DLE 18996 T}@T{ 18997 0x10 18998 T}@T{ 18999 \[u2410] 19000 T} 19001 T{ 19002 DC1 19003 T}@T{ 19004 0x11 19005 T}@T{ 19006 \[u2411] 19007 T} 19008 T{ 19009 DC2 19010 T}@T{ 19011 0x12 19012 T}@T{ 19013 \[u2412] 19014 T} 19015 T{ 19016 DC3 19017 T}@T{ 19018 0x13 19019 T}@T{ 19020 \[u2413] 19021 T} 19022 T{ 19023 DC4 19024 T}@T{ 19025 0x14 19026 T}@T{ 19027 \[u2414] 19028 T} 19029 T{ 19030 NAK 19031 T}@T{ 19032 0x15 19033 T}@T{ 19034 \[u2415] 19035 T} 19036 T{ 19037 SYN 19038 T}@T{ 19039 0x16 19040 T}@T{ 19041 \[u2416] 19042 T} 19043 T{ 19044 ETB 19045 T}@T{ 19046 0x17 19047 T}@T{ 19048 \[u2417] 19049 T} 19050 T{ 19051 CAN 19052 T}@T{ 19053 0x18 19054 T}@T{ 19055 \[u2418] 19056 T} 19057 T{ 19058 EM 19059 T}@T{ 19060 0x19 19061 T}@T{ 19062 \[u2419] 19063 T} 19064 T{ 19065 SUB 19066 T}@T{ 19067 0x1A 19068 T}@T{ 19069 \[u241A] 19070 T} 19071 T{ 19072 ESC 19073 T}@T{ 19074 0x1B 19075 T}@T{ 19076 \[u241B] 19077 T} 19078 T{ 19079 FS 19080 T}@T{ 19081 0x1C 19082 T}@T{ 19083 \[u241C] 19084 T} 19085 T{ 19086 GS 19087 T}@T{ 19088 0x1D 19089 T}@T{ 19090 \[u241D] 19091 T} 19092 T{ 19093 RS 19094 T}@T{ 19095 0x1E 19096 T}@T{ 19097 \[u241E] 19098 T} 19099 T{ 19100 US 19101 T}@T{ 19102 0x1F 19103 T}@T{ 19104 \[u241F] 19105 T} 19106 T{ 19107 / 19108 T}@T{ 19109 0x2F 19110 T}@T{ 19111 \[uFF0F] 19112 T} 19113 T{ 19114 DEL 19115 T}@T{ 19116 0x7F 19117 T}@T{ 19118 \[u2421] 19119 T} 19120 .TE 19121 .PP 19122 The default encoding will also encode these file names as they are 19123 problematic with many cloud storage systems. 19124 .PP 19125 .TS 19126 tab(@); 19127 l c. 19128 T{ 19129 File name 19130 T}@T{ 19131 Replacement 19132 T} 19133 _ 19134 T{ 19135 \&. 19136 T}@T{ 19137 \[uFF0E] 19138 T} 19139 T{ 19140 \&.. 19141 T}@T{ 19142 \[uFF0E]\[uFF0E] 19143 T} 19144 .TE 19145 .SS Invalid UTF-8 bytes 19146 .PP 19147 Some backends only support a sequence of well formed UTF-8 bytes as file 19148 or directory names. 19149 .PP 19150 In this case all invalid UTF-8 bytes will be replaced with a quoted 19151 representation of the byte value to allow uploading a file to such a 19152 backend. 19153 For example, the invalid byte \f[C]0xFE\f[R] will be encoded as 19154 \f[C]\[u201B]FE\f[R]. 19155 .PP 19156 A common source of invalid UTF-8 bytes are local filesystems, that store 19157 names in a different encoding than UTF-8 or UTF-16, like latin1. 19158 See the local filenames (https://rclone.org/local/#filenames) section 19159 for details. 19160 .SS Encoding option 19161 .PP 19162 Most backends have an encoding option, specified as a flag 19163 \f[C]--backend-encoding\f[R] where \f[C]backend\f[R] is the name of the 19164 backend, or as a config parameter \f[C]encoding\f[R] (you\[aq]ll need to 19165 select the Advanced config in \f[C]rclone config\f[R] to see it). 19166 .PP 19167 This will have default value which encodes and decodes characters in 19168 such a way as to preserve the maximum number of characters (see above). 19169 .PP 19170 However this can be incorrect in some scenarios, for example if you have 19171 a Windows file system with Unicode fullwidth characters 19172 \f[C]\[uFF0A]\f[R], \f[C]\[uFF1F]\f[R] or \f[C]\[uFF1A]\f[R], that you 19173 want to remain as those characters on the remote rather than being 19174 translated to regular (halfwidth) \f[C]*\f[R], \f[C]?\f[R] and 19175 \f[C]:\f[R]. 19176 .PP 19177 The \f[C]--backend-encoding\f[R] flags allow you to change that. 19178 You can disable the encoding completely with 19179 \f[C]--backend-encoding None\f[R] or set \f[C]encoding = None\f[R] in 19180 the config file. 19181 .PP 19182 Encoding takes a comma separated list of encodings. 19183 You can see the list of all possible values by passing an invalid value 19184 to this flag, e.g. 19185 \f[C]--local-encoding \[dq]help\[dq]\f[R]. 19186 The command \f[C]rclone help flags encoding\f[R] will show you the 19187 defaults for the backends. 19188 .PP 19189 .TS 19190 tab(@); 19191 lw(21.7n) lw(24.1n) lw(24.1n). 19192 T{ 19193 Encoding 19194 T}@T{ 19195 Characters 19196 T}@T{ 19197 Encoded as 19198 T} 19199 _ 19200 T{ 19201 Asterisk 19202 T}@T{ 19203 \f[C]*\f[R] 19204 T}@T{ 19205 \f[C]\[uFF0A]\f[R] 19206 T} 19207 T{ 19208 BackQuote 19209 T}@T{ 19210 \f[C]\[ga]\f[R] 19211 T}@T{ 19212 \f[C]\[uFF40]\f[R] 19213 T} 19214 T{ 19215 BackSlash 19216 T}@T{ 19217 \f[C]\[rs]\f[R] 19218 T}@T{ 19219 \f[C]\[uFF3C]\f[R] 19220 T} 19221 T{ 19222 Colon 19223 T}@T{ 19224 \f[C]:\f[R] 19225 T}@T{ 19226 \f[C]\[uFF1A]\f[R] 19227 T} 19228 T{ 19229 CrLf 19230 T}@T{ 19231 CR 0x0D, LF 0x0A 19232 T}@T{ 19233 \f[C]\[u240D]\f[R], \f[C]\[u240A]\f[R] 19234 T} 19235 T{ 19236 Ctl 19237 T}@T{ 19238 All control characters 0x00-0x1F 19239 T}@T{ 19240 \f[C]\[u2400]\[u2401]\[u2402]\[u2403]\[u2404]\[u2405]\[u2406]\[u2407]\[u2408]\[u2409]\[u240A]\[u240B]\[u240C]\[u240D]\[u240E]\[u240F]\[u2410]\[u2411]\[u2412]\[u2413]\[u2414]\[u2415]\[u2416]\[u2417]\[u2418]\[u2419]\[u241A]\[u241B]\[u241C]\[u241D]\[u241E]\[u241F]\f[R] 19241 T} 19242 T{ 19243 Del 19244 T}@T{ 19245 DEL 0x7F 19246 T}@T{ 19247 \f[C]\[u2421]\f[R] 19248 T} 19249 T{ 19250 Dollar 19251 T}@T{ 19252 \f[C]$\f[R] 19253 T}@T{ 19254 \f[C]\[uFF04]\f[R] 19255 T} 19256 T{ 19257 Dot 19258 T}@T{ 19259 \f[C].\f[R] or \f[C]..\f[R] as entire string 19260 T}@T{ 19261 \f[C]\[uFF0E]\f[R], \f[C]\[uFF0E]\[uFF0E]\f[R] 19262 T} 19263 T{ 19264 DoubleQuote 19265 T}@T{ 19266 \f[C]\[dq]\f[R] 19267 T}@T{ 19268 \f[C]\[uFF02]\f[R] 19269 T} 19270 T{ 19271 Hash 19272 T}@T{ 19273 \f[C]#\f[R] 19274 T}@T{ 19275 \f[C]\[uFF03]\f[R] 19276 T} 19277 T{ 19278 InvalidUtf8 19279 T}@T{ 19280 An invalid UTF-8 character (e.g. 19281 latin1) 19282 T}@T{ 19283 \f[C]\[uFFFD]\f[R] 19284 T} 19285 T{ 19286 LeftCrLfHtVt 19287 T}@T{ 19288 CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the left of a string 19289 T}@T{ 19290 \f[C]\[u240D]\f[R], \f[C]\[u240A]\f[R], \f[C]\[u2409]\f[R], 19291 \f[C]\[u240B]\f[R] 19292 T} 19293 T{ 19294 LeftPeriod 19295 T}@T{ 19296 \f[C].\f[R] on the left of a string 19297 T}@T{ 19298 \f[C].\f[R] 19299 T} 19300 T{ 19301 LeftSpace 19302 T}@T{ 19303 SPACE on the left of a string 19304 T}@T{ 19305 \f[C]\[u2420]\f[R] 19306 T} 19307 T{ 19308 LeftTilde 19309 T}@T{ 19310 \f[C]\[ti]\f[R] on the left of a string 19311 T}@T{ 19312 \f[C]\[uFF5E]\f[R] 19313 T} 19314 T{ 19315 LtGt 19316 T}@T{ 19317 \f[C]<\f[R], \f[C]>\f[R] 19318 T}@T{ 19319 \f[C]\[uFF1C]\f[R], \f[C]\[uFF1E]\f[R] 19320 T} 19321 T{ 19322 None 19323 T}@T{ 19324 No characters are encoded 19325 T}@T{ 19326 T} 19327 T{ 19328 Percent 19329 T}@T{ 19330 \f[C]%\f[R] 19331 T}@T{ 19332 \f[C]\[uFF05]\f[R] 19333 T} 19334 T{ 19335 Pipe 19336 T}@T{ 19337 | 19338 T}@T{ 19339 \f[C]\[uFF5C]\f[R] 19340 T} 19341 T{ 19342 Question 19343 T}@T{ 19344 \f[C]?\f[R] 19345 T}@T{ 19346 \f[C]\[uFF1F]\f[R] 19347 T} 19348 T{ 19349 RightCrLfHtVt 19350 T}@T{ 19351 CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B on the right of a string 19352 T}@T{ 19353 \f[C]\[u240D]\f[R], \f[C]\[u240A]\f[R], \f[C]\[u2409]\f[R], 19354 \f[C]\[u240B]\f[R] 19355 T} 19356 T{ 19357 RightPeriod 19358 T}@T{ 19359 \f[C].\f[R] on the right of a string 19360 T}@T{ 19361 \f[C].\f[R] 19362 T} 19363 T{ 19364 RightSpace 19365 T}@T{ 19366 SPACE on the right of a string 19367 T}@T{ 19368 \f[C]\[u2420]\f[R] 19369 T} 19370 T{ 19371 Semicolon 19372 T}@T{ 19373 \f[C];\f[R] 19374 T}@T{ 19375 \f[C]\[uFF1B]\f[R] 19376 T} 19377 T{ 19378 SingleQuote 19379 T}@T{ 19380 \f[C]\[aq]\f[R] 19381 T}@T{ 19382 \f[C]\[uFF07]\f[R] 19383 T} 19384 T{ 19385 Slash 19386 T}@T{ 19387 \f[C]/\f[R] 19388 T}@T{ 19389 \f[C]\[uFF0F]\f[R] 19390 T} 19391 T{ 19392 SquareBracket 19393 T}@T{ 19394 \f[C][\f[R], \f[C]]\f[R] 19395 T}@T{ 19396 \f[C]\[uFF3B]\f[R], \f[C]\[uFF3D]\f[R] 19397 T} 19398 .TE 19399 .SS Encoding example: FTP 19400 .PP 19401 To take a specific example, the FTP backend\[aq]s default encoding is 19402 .IP 19403 .nf 19404 \f[C] 19405 --ftp-encoding \[dq]Slash,Del,Ctl,RightSpace,Dot\[dq] 19406 \f[R] 19407 .fi 19408 .PP 19409 However, let\[aq]s say the FTP server is running on Windows and 19410 can\[aq]t have any of the invalid Windows characters in file names. 19411 You are backing up Linux servers to this FTP server which do have those 19412 characters in file names. 19413 So you would add the Windows set which are 19414 .IP 19415 .nf 19416 \f[C] 19417 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot 19418 \f[R] 19419 .fi 19420 .PP 19421 to the existing ones, giving: 19422 .IP 19423 .nf 19424 \f[C] 19425 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace 19426 \f[R] 19427 .fi 19428 .PP 19429 This can be specified using the \f[C]--ftp-encoding\f[R] flag or using 19430 an \f[C]encoding\f[R] parameter in the config file. 19431 .SS Encoding example: Windows 19432 .PP 19433 As a nother example, take a Windows system where there is a file with 19434 name \f[C]Test\[uFF1A]1.jpg\f[R], where \f[C]\[uFF1A]\f[R] is the 19435 Unicode fullwidth colon symbol. 19436 When using rclone to copy this to a remote which supports \f[C]:\f[R], 19437 the regular (halfwidth) colon (such as Google Drive), you will notice 19438 that the file gets renamed to \f[C]Test:1.jpg\f[R]. 19439 .PP 19440 To avoid this you can change the set of characters rclone should convert 19441 for the local filesystem, using command-line argument 19442 \f[C]--local-encoding\f[R]. 19443 Rclone\[aq]s default behavior on Windows corresponds to 19444 .IP 19445 .nf 19446 \f[C] 19447 --local-encoding \[dq]Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot\[dq] 19448 \f[R] 19449 .fi 19450 .PP 19451 If you want to use fullwidth characters \f[C]\[uFF1A]\f[R], 19452 \f[C]\[uFF0A]\f[R] and \f[C]\[uFF1F]\f[R] in your filenames without 19453 rclone changing them when uploading to a remote, then set the same as 19454 the default value but without \f[C]Colon,Question,Asterisk\f[R]: 19455 .IP 19456 .nf 19457 \f[C] 19458 --local-encoding \[dq]Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot\[dq] 19459 \f[R] 19460 .fi 19461 .PP 19462 Alternatively, you can disable the conversion of any characters with 19463 \f[C]--local-encoding None\f[R]. 19464 .PP 19465 Instead of using command-line argument \f[C]--local-encoding\f[R], you 19466 may also set it as environment 19467 variable (https://rclone.org/docs/#environment-variables) 19468 \f[C]RCLONE_LOCAL_ENCODING\f[R], or 19469 configure (https://rclone.org/docs/#configure) a remote of type 19470 \f[C]local\f[R] in your config, and set the \f[C]encoding\f[R] option 19471 there. 19472 .PP 19473 The risk by doing this is that if you have a filename with the regular 19474 (halfwidth) \f[C]:\f[R], \f[C]*\f[R] and \f[C]?\f[R] in your cloud 19475 storage, and you try to download it to your Windows filesystem, this 19476 will fail. 19477 These characters are not valid in filenames on Windows, and you have 19478 told rclone not to work around this by converting them to valid 19479 fullwidth variants. 19480 .SS MIME Type 19481 .PP 19482 MIME types (also known as media types) classify types of documents using 19483 a simple text classification, e.g. 19484 \f[C]text/html\f[R] or \f[C]application/pdf\f[R]. 19485 .PP 19486 Some cloud storage systems support reading (\f[C]R\f[R]) the MIME type 19487 of objects and some support writing (\f[C]W\f[R]) the MIME type of 19488 objects. 19489 .PP 19490 The MIME type can be important if you are serving files directly to HTTP 19491 from the storage system. 19492 .PP 19493 If you are copying from a remote which supports reading (\f[C]R\f[R]) to 19494 a remote which supports writing (\f[C]W\f[R]) then rclone will preserve 19495 the MIME types. 19496 Otherwise they will be guessed from the extension, or the remote itself 19497 may assign the MIME type. 19498 .SS Metadata 19499 .PP 19500 Backends may or may support reading or writing metadata. 19501 They may support reading and writing system metadata (metadata intrinsic 19502 to that backend) and/or user metadata (general purpose metadata). 19503 .PP 19504 The levels of metadata support are 19505 .PP 19506 .TS 19507 tab(@); 19508 l l. 19509 T{ 19510 Key 19511 T}@T{ 19512 Explanation 19513 T} 19514 _ 19515 T{ 19516 \f[C]R\f[R] 19517 T}@T{ 19518 Read only System Metadata 19519 T} 19520 T{ 19521 \f[C]RW\f[R] 19522 T}@T{ 19523 Read and write System Metadata 19524 T} 19525 T{ 19526 \f[C]RWU\f[R] 19527 T}@T{ 19528 Read and write System Metadata and read and write User Metadata 19529 T} 19530 .TE 19531 .PP 19532 See the metadata docs (https://rclone.org/docs/#metadata) for more info. 19533 .SS Optional Features 19534 .PP 19535 All rclone remotes support a base command set. 19536 Other features depend upon backend-specific capabilities. 19537 .PP 19538 .TS 19539 tab(@); 19540 l c c c c c c c c c c. 19541 T{ 19542 Name 19543 T}@T{ 19544 Purge 19545 T}@T{ 19546 Copy 19547 T}@T{ 19548 Move 19549 T}@T{ 19550 DirMove 19551 T}@T{ 19552 CleanUp 19553 T}@T{ 19554 ListR 19555 T}@T{ 19556 StreamUpload 19557 T}@T{ 19558 LinkSharing 19559 T}@T{ 19560 About 19561 T}@T{ 19562 EmptyDir 19563 T} 19564 _ 19565 T{ 19566 1Fichier 19567 T}@T{ 19568 No 19569 T}@T{ 19570 Yes 19571 T}@T{ 19572 Yes 19573 T}@T{ 19574 No 19575 T}@T{ 19576 No 19577 T}@T{ 19578 No 19579 T}@T{ 19580 No 19581 T}@T{ 19582 Yes 19583 T}@T{ 19584 No 19585 T}@T{ 19586 Yes 19587 T} 19588 T{ 19589 Akamai Netstorage 19590 T}@T{ 19591 Yes 19592 T}@T{ 19593 No 19594 T}@T{ 19595 No 19596 T}@T{ 19597 No 19598 T}@T{ 19599 No 19600 T}@T{ 19601 Yes 19602 T}@T{ 19603 Yes 19604 T}@T{ 19605 No 19606 T}@T{ 19607 No 19608 T}@T{ 19609 Yes 19610 T} 19611 T{ 19612 Amazon Drive 19613 T}@T{ 19614 Yes 19615 T}@T{ 19616 No 19617 T}@T{ 19618 Yes 19619 T}@T{ 19620 Yes 19621 T}@T{ 19622 No 19623 T}@T{ 19624 No 19625 T}@T{ 19626 No 19627 T}@T{ 19628 No 19629 T}@T{ 19630 No 19631 T}@T{ 19632 Yes 19633 T} 19634 T{ 19635 Amazon S3 (or S3 compatible) 19636 T}@T{ 19637 No 19638 T}@T{ 19639 Yes 19640 T}@T{ 19641 No 19642 T}@T{ 19643 No 19644 T}@T{ 19645 Yes 19646 T}@T{ 19647 Yes 19648 T}@T{ 19649 Yes 19650 T}@T{ 19651 Yes 19652 T}@T{ 19653 No 19654 T}@T{ 19655 No 19656 T} 19657 T{ 19658 Backblaze B2 19659 T}@T{ 19660 No 19661 T}@T{ 19662 Yes 19663 T}@T{ 19664 No 19665 T}@T{ 19666 No 19667 T}@T{ 19668 Yes 19669 T}@T{ 19670 Yes 19671 T}@T{ 19672 Yes 19673 T}@T{ 19674 Yes 19675 T}@T{ 19676 No 19677 T}@T{ 19678 No 19679 T} 19680 T{ 19681 Box 19682 T}@T{ 19683 Yes 19684 T}@T{ 19685 Yes 19686 T}@T{ 19687 Yes 19688 T}@T{ 19689 Yes 19690 T}@T{ 19691 Yes \[dd]\[dd] 19692 T}@T{ 19693 No 19694 T}@T{ 19695 Yes 19696 T}@T{ 19697 Yes 19698 T}@T{ 19699 Yes 19700 T}@T{ 19701 Yes 19702 T} 19703 T{ 19704 Citrix ShareFile 19705 T}@T{ 19706 Yes 19707 T}@T{ 19708 Yes 19709 T}@T{ 19710 Yes 19711 T}@T{ 19712 Yes 19713 T}@T{ 19714 No 19715 T}@T{ 19716 No 19717 T}@T{ 19718 No 19719 T}@T{ 19720 No 19721 T}@T{ 19722 No 19723 T}@T{ 19724 Yes 19725 T} 19726 T{ 19727 Dropbox 19728 T}@T{ 19729 Yes 19730 T}@T{ 19731 Yes 19732 T}@T{ 19733 Yes 19734 T}@T{ 19735 Yes 19736 T}@T{ 19737 No 19738 T}@T{ 19739 No 19740 T}@T{ 19741 Yes 19742 T}@T{ 19743 Yes 19744 T}@T{ 19745 Yes 19746 T}@T{ 19747 Yes 19748 T} 19749 T{ 19750 Enterprise File Fabric 19751 T}@T{ 19752 Yes 19753 T}@T{ 19754 Yes 19755 T}@T{ 19756 Yes 19757 T}@T{ 19758 Yes 19759 T}@T{ 19760 Yes 19761 T}@T{ 19762 No 19763 T}@T{ 19764 No 19765 T}@T{ 19766 No 19767 T}@T{ 19768 No 19769 T}@T{ 19770 Yes 19771 T} 19772 T{ 19773 FTP 19774 T}@T{ 19775 No 19776 T}@T{ 19777 No 19778 T}@T{ 19779 Yes 19780 T}@T{ 19781 Yes 19782 T}@T{ 19783 No 19784 T}@T{ 19785 No 19786 T}@T{ 19787 Yes 19788 T}@T{ 19789 No 19790 T}@T{ 19791 No 19792 T}@T{ 19793 Yes 19794 T} 19795 T{ 19796 Google Cloud Storage 19797 T}@T{ 19798 Yes 19799 T}@T{ 19800 Yes 19801 T}@T{ 19802 No 19803 T}@T{ 19804 No 19805 T}@T{ 19806 No 19807 T}@T{ 19808 Yes 19809 T}@T{ 19810 Yes 19811 T}@T{ 19812 No 19813 T}@T{ 19814 No 19815 T}@T{ 19816 No 19817 T} 19818 T{ 19819 Google Drive 19820 T}@T{ 19821 Yes 19822 T}@T{ 19823 Yes 19824 T}@T{ 19825 Yes 19826 T}@T{ 19827 Yes 19828 T}@T{ 19829 Yes 19830 T}@T{ 19831 Yes 19832 T}@T{ 19833 Yes 19834 T}@T{ 19835 Yes 19836 T}@T{ 19837 Yes 19838 T}@T{ 19839 Yes 19840 T} 19841 T{ 19842 Google Photos 19843 T}@T{ 19844 No 19845 T}@T{ 19846 No 19847 T}@T{ 19848 No 19849 T}@T{ 19850 No 19851 T}@T{ 19852 No 19853 T}@T{ 19854 No 19855 T}@T{ 19856 No 19857 T}@T{ 19858 No 19859 T}@T{ 19860 No 19861 T}@T{ 19862 No 19863 T} 19864 T{ 19865 HDFS 19866 T}@T{ 19867 Yes 19868 T}@T{ 19869 No 19870 T}@T{ 19871 Yes 19872 T}@T{ 19873 Yes 19874 T}@T{ 19875 No 19876 T}@T{ 19877 No 19878 T}@T{ 19879 Yes 19880 T}@T{ 19881 No 19882 T}@T{ 19883 Yes 19884 T}@T{ 19885 Yes 19886 T} 19887 T{ 19888 HiDrive 19889 T}@T{ 19890 Yes 19891 T}@T{ 19892 Yes 19893 T}@T{ 19894 Yes 19895 T}@T{ 19896 Yes 19897 T}@T{ 19898 No 19899 T}@T{ 19900 No 19901 T}@T{ 19902 Yes 19903 T}@T{ 19904 No 19905 T}@T{ 19906 No 19907 T}@T{ 19908 Yes 19909 T} 19910 T{ 19911 HTTP 19912 T}@T{ 19913 No 19914 T}@T{ 19915 No 19916 T}@T{ 19917 No 19918 T}@T{ 19919 No 19920 T}@T{ 19921 No 19922 T}@T{ 19923 No 19924 T}@T{ 19925 No 19926 T}@T{ 19927 No 19928 T}@T{ 19929 No 19930 T}@T{ 19931 Yes 19932 T} 19933 T{ 19934 Internet Archive 19935 T}@T{ 19936 No 19937 T}@T{ 19938 Yes 19939 T}@T{ 19940 No 19941 T}@T{ 19942 No 19943 T}@T{ 19944 Yes 19945 T}@T{ 19946 Yes 19947 T}@T{ 19948 No 19949 T}@T{ 19950 Yes 19951 T}@T{ 19952 Yes 19953 T}@T{ 19954 No 19955 T} 19956 T{ 19957 Jottacloud 19958 T}@T{ 19959 Yes 19960 T}@T{ 19961 Yes 19962 T}@T{ 19963 Yes 19964 T}@T{ 19965 Yes 19966 T}@T{ 19967 Yes 19968 T}@T{ 19969 Yes 19970 T}@T{ 19971 No 19972 T}@T{ 19973 Yes 19974 T}@T{ 19975 Yes 19976 T}@T{ 19977 Yes 19978 T} 19979 T{ 19980 Koofr 19981 T}@T{ 19982 Yes 19983 T}@T{ 19984 Yes 19985 T}@T{ 19986 Yes 19987 T}@T{ 19988 Yes 19989 T}@T{ 19990 No 19991 T}@T{ 19992 No 19993 T}@T{ 19994 Yes 19995 T}@T{ 19996 Yes 19997 T}@T{ 19998 Yes 19999 T}@T{ 20000 Yes 20001 T} 20002 T{ 20003 Mail.ru Cloud 20004 T}@T{ 20005 Yes 20006 T}@T{ 20007 Yes 20008 T}@T{ 20009 Yes 20010 T}@T{ 20011 Yes 20012 T}@T{ 20013 Yes 20014 T}@T{ 20015 No 20016 T}@T{ 20017 No 20018 T}@T{ 20019 Yes 20020 T}@T{ 20021 Yes 20022 T}@T{ 20023 Yes 20024 T} 20025 T{ 20026 Mega 20027 T}@T{ 20028 Yes 20029 T}@T{ 20030 No 20031 T}@T{ 20032 Yes 20033 T}@T{ 20034 Yes 20035 T}@T{ 20036 Yes 20037 T}@T{ 20038 No 20039 T}@T{ 20040 No 20041 T}@T{ 20042 Yes 20043 T}@T{ 20044 Yes 20045 T}@T{ 20046 Yes 20047 T} 20048 T{ 20049 Memory 20050 T}@T{ 20051 No 20052 T}@T{ 20053 Yes 20054 T}@T{ 20055 No 20056 T}@T{ 20057 No 20058 T}@T{ 20059 No 20060 T}@T{ 20061 Yes 20062 T}@T{ 20063 Yes 20064 T}@T{ 20065 No 20066 T}@T{ 20067 No 20068 T}@T{ 20069 No 20070 T} 20071 T{ 20072 Microsoft Azure Blob Storage 20073 T}@T{ 20074 Yes 20075 T}@T{ 20076 Yes 20077 T}@T{ 20078 No 20079 T}@T{ 20080 No 20081 T}@T{ 20082 No 20083 T}@T{ 20084 Yes 20085 T}@T{ 20086 Yes 20087 T}@T{ 20088 No 20089 T}@T{ 20090 No 20091 T}@T{ 20092 No 20093 T} 20094 T{ 20095 Microsoft OneDrive 20096 T}@T{ 20097 Yes 20098 T}@T{ 20099 Yes 20100 T}@T{ 20101 Yes 20102 T}@T{ 20103 Yes 20104 T}@T{ 20105 Yes 20106 T}@T{ 20107 No 20108 T}@T{ 20109 No 20110 T}@T{ 20111 Yes 20112 T}@T{ 20113 Yes 20114 T}@T{ 20115 Yes 20116 T} 20117 T{ 20118 OpenDrive 20119 T}@T{ 20120 Yes 20121 T}@T{ 20122 Yes 20123 T}@T{ 20124 Yes 20125 T}@T{ 20126 Yes 20127 T}@T{ 20128 No 20129 T}@T{ 20130 No 20131 T}@T{ 20132 No 20133 T}@T{ 20134 No 20135 T}@T{ 20136 No 20137 T}@T{ 20138 Yes 20139 T} 20140 T{ 20141 OpenStack Swift 20142 T}@T{ 20143 Yes \[dg] 20144 T}@T{ 20145 Yes 20146 T}@T{ 20147 No 20148 T}@T{ 20149 No 20150 T}@T{ 20151 No 20152 T}@T{ 20153 Yes 20154 T}@T{ 20155 Yes 20156 T}@T{ 20157 No 20158 T}@T{ 20159 Yes 20160 T}@T{ 20161 No 20162 T} 20163 T{ 20164 Oracle Object Storage 20165 T}@T{ 20166 No 20167 T}@T{ 20168 Yes 20169 T}@T{ 20170 No 20171 T}@T{ 20172 No 20173 T}@T{ 20174 Yes 20175 T}@T{ 20176 Yes 20177 T}@T{ 20178 Yes 20179 T}@T{ 20180 No 20181 T}@T{ 20182 No 20183 T}@T{ 20184 No 20185 T} 20186 T{ 20187 pCloud 20188 T}@T{ 20189 Yes 20190 T}@T{ 20191 Yes 20192 T}@T{ 20193 Yes 20194 T}@T{ 20195 Yes 20196 T}@T{ 20197 Yes 20198 T}@T{ 20199 No 20200 T}@T{ 20201 No 20202 T}@T{ 20203 Yes 20204 T}@T{ 20205 Yes 20206 T}@T{ 20207 Yes 20208 T} 20209 T{ 20210 PikPak 20211 T}@T{ 20212 Yes 20213 T}@T{ 20214 Yes 20215 T}@T{ 20216 Yes 20217 T}@T{ 20218 Yes 20219 T}@T{ 20220 Yes 20221 T}@T{ 20222 No 20223 T}@T{ 20224 No 20225 T}@T{ 20226 Yes 20227 T}@T{ 20228 Yes 20229 T}@T{ 20230 Yes 20231 T} 20232 T{ 20233 premiumize.me 20234 T}@T{ 20235 Yes 20236 T}@T{ 20237 No 20238 T}@T{ 20239 Yes 20240 T}@T{ 20241 Yes 20242 T}@T{ 20243 No 20244 T}@T{ 20245 No 20246 T}@T{ 20247 No 20248 T}@T{ 20249 Yes 20250 T}@T{ 20251 Yes 20252 T}@T{ 20253 Yes 20254 T} 20255 T{ 20256 put.io 20257 T}@T{ 20258 Yes 20259 T}@T{ 20260 No 20261 T}@T{ 20262 Yes 20263 T}@T{ 20264 Yes 20265 T}@T{ 20266 Yes 20267 T}@T{ 20268 No 20269 T}@T{ 20270 Yes 20271 T}@T{ 20272 No 20273 T}@T{ 20274 Yes 20275 T}@T{ 20276 Yes 20277 T} 20278 T{ 20279 QingStor 20280 T}@T{ 20281 No 20282 T}@T{ 20283 Yes 20284 T}@T{ 20285 No 20286 T}@T{ 20287 No 20288 T}@T{ 20289 Yes 20290 T}@T{ 20291 Yes 20292 T}@T{ 20293 No 20294 T}@T{ 20295 No 20296 T}@T{ 20297 No 20298 T}@T{ 20299 No 20300 T} 20301 T{ 20302 Seafile 20303 T}@T{ 20304 Yes 20305 T}@T{ 20306 Yes 20307 T}@T{ 20308 Yes 20309 T}@T{ 20310 Yes 20311 T}@T{ 20312 Yes 20313 T}@T{ 20314 Yes 20315 T}@T{ 20316 Yes 20317 T}@T{ 20318 Yes 20319 T}@T{ 20320 Yes 20321 T}@T{ 20322 Yes 20323 T} 20324 T{ 20325 SFTP 20326 T}@T{ 20327 No 20328 T}@T{ 20329 No 20330 T}@T{ 20331 Yes 20332 T}@T{ 20333 Yes 20334 T}@T{ 20335 No 20336 T}@T{ 20337 No 20338 T}@T{ 20339 Yes 20340 T}@T{ 20341 No 20342 T}@T{ 20343 Yes 20344 T}@T{ 20345 Yes 20346 T} 20347 T{ 20348 Sia 20349 T}@T{ 20350 No 20351 T}@T{ 20352 No 20353 T}@T{ 20354 No 20355 T}@T{ 20356 No 20357 T}@T{ 20358 No 20359 T}@T{ 20360 No 20361 T}@T{ 20362 Yes 20363 T}@T{ 20364 No 20365 T}@T{ 20366 No 20367 T}@T{ 20368 Yes 20369 T} 20370 T{ 20371 SMB 20372 T}@T{ 20373 No 20374 T}@T{ 20375 No 20376 T}@T{ 20377 Yes 20378 T}@T{ 20379 Yes 20380 T}@T{ 20381 No 20382 T}@T{ 20383 No 20384 T}@T{ 20385 Yes 20386 T}@T{ 20387 No 20388 T}@T{ 20389 No 20390 T}@T{ 20391 Yes 20392 T} 20393 T{ 20394 SugarSync 20395 T}@T{ 20396 Yes 20397 T}@T{ 20398 Yes 20399 T}@T{ 20400 Yes 20401 T}@T{ 20402 Yes 20403 T}@T{ 20404 No 20405 T}@T{ 20406 No 20407 T}@T{ 20408 Yes 20409 T}@T{ 20410 Yes 20411 T}@T{ 20412 No 20413 T}@T{ 20414 Yes 20415 T} 20416 T{ 20417 Storj 20418 T}@T{ 20419 Yes \[u2628] 20420 T}@T{ 20421 Yes 20422 T}@T{ 20423 Yes 20424 T}@T{ 20425 No 20426 T}@T{ 20427 No 20428 T}@T{ 20429 Yes 20430 T}@T{ 20431 Yes 20432 T}@T{ 20433 Yes 20434 T}@T{ 20435 No 20436 T}@T{ 20437 No 20438 T} 20439 T{ 20440 Uptobox 20441 T}@T{ 20442 No 20443 T}@T{ 20444 Yes 20445 T}@T{ 20446 Yes 20447 T}@T{ 20448 Yes 20449 T}@T{ 20450 No 20451 T}@T{ 20452 No 20453 T}@T{ 20454 No 20455 T}@T{ 20456 No 20457 T}@T{ 20458 No 20459 T}@T{ 20460 No 20461 T} 20462 T{ 20463 WebDAV 20464 T}@T{ 20465 Yes 20466 T}@T{ 20467 Yes 20468 T}@T{ 20469 Yes 20470 T}@T{ 20471 Yes 20472 T}@T{ 20473 No 20474 T}@T{ 20475 No 20476 T}@T{ 20477 Yes \[dd] 20478 T}@T{ 20479 No 20480 T}@T{ 20481 Yes 20482 T}@T{ 20483 Yes 20484 T} 20485 T{ 20486 Yandex Disk 20487 T}@T{ 20488 Yes 20489 T}@T{ 20490 Yes 20491 T}@T{ 20492 Yes 20493 T}@T{ 20494 Yes 20495 T}@T{ 20496 Yes 20497 T}@T{ 20498 No 20499 T}@T{ 20500 Yes 20501 T}@T{ 20502 Yes 20503 T}@T{ 20504 Yes 20505 T}@T{ 20506 Yes 20507 T} 20508 T{ 20509 Zoho WorkDrive 20510 T}@T{ 20511 Yes 20512 T}@T{ 20513 Yes 20514 T}@T{ 20515 Yes 20516 T}@T{ 20517 Yes 20518 T}@T{ 20519 No 20520 T}@T{ 20521 No 20522 T}@T{ 20523 No 20524 T}@T{ 20525 No 20526 T}@T{ 20527 Yes 20528 T}@T{ 20529 Yes 20530 T} 20531 T{ 20532 The local filesystem 20533 T}@T{ 20534 Yes 20535 T}@T{ 20536 No 20537 T}@T{ 20538 Yes 20539 T}@T{ 20540 Yes 20541 T}@T{ 20542 No 20543 T}@T{ 20544 No 20545 T}@T{ 20546 Yes 20547 T}@T{ 20548 No 20549 T}@T{ 20550 Yes 20551 T}@T{ 20552 Yes 20553 T} 20554 .TE 20555 .SS Purge 20556 .PP 20557 This deletes a directory quicker than just deleting all the files in the 20558 directory. 20559 .PP 20560 \[dg] Note Swift implements this in order to delete directory markers 20561 but they don\[aq]t actually have a quicker way of deleting files other 20562 than deleting them individually. 20563 .PP 20564 \[u2628] Storj implements this efficiently only for entire buckets. 20565 If purging a directory inside a bucket, files are deleted individually. 20566 .PP 20567 \[dd] StreamUpload is not supported with Nextcloud 20568 .SS Copy 20569 .PP 20570 Used when copying an object to and from the same remote. 20571 This known as a server-side copy so you can copy a file without 20572 downloading it and uploading it again. 20573 It is used if you use \f[C]rclone copy\f[R] or \f[C]rclone move\f[R] if 20574 the remote doesn\[aq]t support \f[C]Move\f[R] directly. 20575 .PP 20576 If the server doesn\[aq]t support \f[C]Copy\f[R] directly then for copy 20577 operations the file is downloaded then re-uploaded. 20578 .SS Move 20579 .PP 20580 Used when moving/renaming an object on the same remote. 20581 This is known as a server-side move of a file. 20582 This is used in \f[C]rclone move\f[R] if the server doesn\[aq]t support 20583 \f[C]DirMove\f[R]. 20584 .PP 20585 If the server isn\[aq]t capable of \f[C]Move\f[R] then rclone simulates 20586 it with \f[C]Copy\f[R] then delete. 20587 If the server doesn\[aq]t support \f[C]Copy\f[R] then rclone will 20588 download the file and re-upload it. 20589 .SS DirMove 20590 .PP 20591 This is used to implement \f[C]rclone move\f[R] to move a directory if 20592 possible. 20593 If it isn\[aq]t then it will use \f[C]Move\f[R] on each file (which 20594 falls back to \f[C]Copy\f[R] then download and upload - see 20595 \f[C]Move\f[R] section). 20596 .SS CleanUp 20597 .PP 20598 This is used for emptying the trash for a remote by 20599 \f[C]rclone cleanup\f[R]. 20600 .PP 20601 If the server can\[aq]t do \f[C]CleanUp\f[R] then 20602 \f[C]rclone cleanup\f[R] will return an error. 20603 .PP 20604 \[dd]\[dd] Note that while Box implements this it has to delete every 20605 file individually so it will be slower than emptying the trash via the 20606 WebUI 20607 .SS ListR 20608 .PP 20609 The remote supports a recursive list to list all the contents beneath a 20610 directory quickly. 20611 This enables the \f[C]--fast-list\f[R] flag to work. 20612 See the rclone docs (https://rclone.org/docs/#fast-list) for more 20613 details. 20614 .SS StreamUpload 20615 .PP 20616 Some remotes allow files to be uploaded without knowing the file size in 20617 advance. 20618 This allows certain operations to work without spooling the file to 20619 local disk first, e.g. 20620 \f[C]rclone rcat\f[R]. 20621 .SS LinkSharing 20622 .PP 20623 Sets the necessary permissions on a file or folder and prints a link 20624 that allows others to access them, even if they don\[aq]t have an 20625 account on the particular cloud provider. 20626 .SS About 20627 .PP 20628 Rclone \f[C]about\f[R] prints quota information for a remote. 20629 Typical output includes bytes used, free, quota and in trash. 20630 .PP 20631 If a remote lacks about capability \f[C]rclone about remote:\f[R]returns 20632 an error. 20633 .PP 20634 Backends without about capability cannot determine free space for an 20635 rclone mount, or use policy \f[C]mfs\f[R] (most free space) as a member 20636 of an rclone union remote. 20637 .PP 20638 See rclone about command (https://rclone.org/commands/rclone_about/) 20639 .SS EmptyDir 20640 .PP 20641 The remote supports empty directories. 20642 See Limitations (https://rclone.org/bugs/#limitations) for details. 20643 Most Object/Bucket-based remotes do not support this. 20644 .SH Global Flags 20645 .PP 20646 This describes the global flags available to every rclone command split 20647 into two groups, non backend and backend flags. 20648 .SS Non Backend Flags 20649 .PP 20650 These flags are available for every command. 20651 .IP 20652 .nf 20653 \f[C] 20654 --ask-password Allow prompt for password for encrypted configuration (default true) 20655 --auto-confirm If enabled, do not request console confirmation 20656 --backup-dir string Make backups into hierarchy based in DIR 20657 --bind string Local address to bind to for outgoing connections, IPv4, IPv6 or name 20658 --buffer-size SizeSuffix In memory buffer size when reading files for each --transfer (default 16Mi) 20659 --bwlimit BwTimetable Bandwidth limit in KiB/s, or use suffix B|K|M|G|T|P or a full timetable 20660 --bwlimit-file BwTimetable Bandwidth limit per file in KiB/s, or use suffix B|K|M|G|T|P or a full timetable 20661 --ca-cert stringArray CA certificate used to verify servers 20662 --cache-dir string Directory rclone will use for caching (default \[dq]$HOME/.cache/rclone\[dq]) 20663 --check-first Do all the checks before starting transfers 20664 --checkers int Number of checkers to run in parallel (default 8) 20665 -c, --checksum Skip based on checksum (if available) & size, not mod-time & size 20666 --client-cert string Client SSL certificate (PEM) for mutual TLS auth 20667 --client-key string Client SSL private key (PEM) for mutual TLS auth 20668 --color string When to show colors (and other ANSI codes) AUTO|NEVER|ALWAYS (default \[dq]AUTO\[dq]) 20669 --compare-dest stringArray Include additional comma separated server-side paths during comparison 20670 --config string Config file (default \[dq]$HOME/.config/divyam234/rclone.conf\[dq]) 20671 --contimeout Duration Connect timeout (default 1m0s) 20672 --copy-dest stringArray Implies --compare-dest but also copies files from paths into destination 20673 --cpuprofile string Write cpu profile to file 20674 --cutoff-mode string Mode to stop transfers when reaching the max transfer limit HARD|SOFT|CAUTIOUS (default \[dq]HARD\[dq]) 20675 --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z) 20676 --delete-after When synchronizing, delete files on destination after transferring (default) 20677 --delete-before When synchronizing, delete files on destination before transferring 20678 --delete-during When synchronizing, delete files during transfer 20679 --delete-excluded Delete files on dest excluded from sync 20680 --disable string Disable a comma separated list of features (use --disable help to see a list) 20681 --disable-http-keep-alives Disable HTTP keep-alives and use each connection once. 20682 --disable-http2 Disable HTTP/2 in the global transport 20683 -n, --dry-run Do a trial run with no permanent changes 20684 --dscp string Set DSCP value to connections, value or name, e.g. CS1, LE, DF, AF21 20685 --dump DumpFlags List of items to dump from: headers,bodies,requests,responses,auth,filters,goroutines,openfiles 20686 --dump-bodies Dump HTTP headers and bodies - may contain sensitive info 20687 --dump-headers Dump HTTP headers - may contain sensitive info 20688 --error-on-no-transfer Sets exit code 9 if no files are transferred, useful in scripts 20689 --exclude stringArray Exclude files matching pattern 20690 --exclude-from stringArray Read file exclude patterns from file (use - to read from stdin) 20691 --exclude-if-present stringArray Exclude directories if filename is present 20692 --expect-continue-timeout Duration Timeout when using expect / 100-continue in HTTP (default 1s) 20693 --fast-list Use recursive list if available; uses more memory but fewer transactions 20694 --files-from stringArray Read list of source-file names from file (use - to read from stdin) 20695 --files-from-raw stringArray Read list of source-file names from file without any processing of lines (use - to read from stdin) 20696 -f, --filter stringArray Add a file filtering rule 20697 --filter-from stringArray Read file filtering patterns from a file (use - to read from stdin) 20698 --fs-cache-expire-duration Duration Cache remotes for this long (0 to disable caching) (default 5m0s) 20699 --fs-cache-expire-interval Duration Interval to check for expired remotes (default 1m0s) 20700 --header stringArray Set HTTP header for all transactions 20701 --header-download stringArray Set HTTP header for download transactions 20702 --header-upload stringArray Set HTTP header for upload transactions 20703 --human-readable Print numbers in a human-readable format, sizes with suffix Ki|Mi|Gi|Ti|Pi 20704 --ignore-case Ignore case in filters (case insensitive) 20705 --ignore-case-sync Ignore case when synchronizing 20706 --ignore-checksum Skip post copy check of checksums 20707 --ignore-errors Delete even if there are I/O errors 20708 --ignore-existing Skip all files that exist on destination 20709 --ignore-size Ignore size when skipping use mod-time or checksum 20710 -I, --ignore-times Don\[aq]t skip files that match size and time - transfer all files 20711 --immutable Do not modify files, fail if existing files have been modified 20712 --include stringArray Include files matching pattern 20713 --include-from stringArray Read file include patterns from file (use - to read from stdin) 20714 --inplace Download directly to destination file instead of atomic download to temp/rename 20715 -i, --interactive Enable interactive mode 20716 --kv-lock-time Duration Maximum time to keep key-value database locked by process (default 1s) 20717 --log-file string Log everything to this file 20718 --log-format string Comma separated list of log format options (default \[dq]date,time\[dq]) 20719 --log-level string Log level DEBUG|INFO|NOTICE|ERROR (default \[dq]NOTICE\[dq]) 20720 --log-systemd Activate systemd integration for the logger 20721 --low-level-retries int Number of low level retries to do (default 10) 20722 --max-age Duration Only transfer files younger than this in s or suffix ms|s|m|h|d|w|M|y (default off) 20723 --max-backlog int Maximum number of objects in sync or check backlog (default 10000) 20724 --max-delete int When synchronizing, limit the number of deletes (default -1) 20725 --max-delete-size SizeSuffix When synchronizing, limit the total size of deletes (default off) 20726 --max-depth int If set limits the recursion depth to this (default -1) 20727 --max-duration Duration Maximum duration rclone will transfer data for (default 0s) 20728 --max-size SizeSuffix Only transfer files smaller than this in KiB or suffix B|K|M|G|T|P (default off) 20729 --max-stats-groups int Maximum number of stats groups to keep in memory, on max oldest is discarded (default 1000) 20730 --max-transfer SizeSuffix Maximum size of data to transfer (default off) 20731 --memprofile string Write memory profile to file 20732 -M, --metadata If set, preserve metadata when copying objects 20733 --metadata-exclude stringArray Exclude metadatas matching pattern 20734 --metadata-exclude-from stringArray Read metadata exclude patterns from file (use - to read from stdin) 20735 --metadata-filter stringArray Add a metadata filtering rule 20736 --metadata-filter-from stringArray Read metadata filtering patterns from a file (use - to read from stdin) 20737 --metadata-include stringArray Include metadatas matching pattern 20738 --metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin) 20739 --metadata-set stringArray Add metadata key=value when uploading 20740 --min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off) 20741 --min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off) 20742 --modify-window Duration Max time diff to be considered the same (default 1ns) 20743 --multi-thread-cutoff SizeSuffix Use multi-thread downloads for files above this size (default 250Mi) 20744 --multi-thread-streams int Max number of streams to use for multi-thread downloads (default 4) 20745 --multi-thread-write-buffer-size SizeSuffix In memory buffer size for writing when in multi-thread mode (default 128Ki) 20746 --no-check-certificate Do not verify the server SSL certificate (insecure) 20747 --no-check-dest Don\[aq]t check the destination, copy regardless 20748 --no-console Hide console window (supported on Windows only) 20749 --no-gzip-encoding Don\[aq]t set Accept-Encoding: gzip 20750 --no-traverse Don\[aq]t traverse destination file system on copy 20751 --no-unicode-normalization Don\[aq]t normalize unicode characters in filenames 20752 --no-update-modtime Don\[aq]t update destination mod-time if files identical 20753 --order-by string Instructions on how to order the transfers, e.g. \[aq]size,descending\[aq] 20754 --password-command SpaceSepList Command for supplying password for encrypted configuration 20755 -P, --progress Show progress during transfer 20756 --progress-terminal-title Show progress on the terminal title (requires -P/--progress) 20757 -q, --quiet Print as little stuff as possible 20758 --rc Enable the remote control server 20759 --rc-addr stringArray IPaddress:Port or :Port to bind server to (default [localhost:5572]) 20760 --rc-allow-origin string Set the allowed origin for CORS 20761 --rc-baseurl string Prefix for URLs - leave blank for root 20762 --rc-cert string TLS PEM key (concatenation of certificate and CA certificate) 20763 --rc-client-ca string Client certificate authority to verify clients with 20764 --rc-enable-metrics Enable prometheus metrics on /metrics 20765 --rc-files string Path to local files to serve on the HTTP server 20766 --rc-htpasswd string A htpasswd file - if not provided no authentication is done 20767 --rc-job-expire-duration Duration Expire finished async jobs older than this value (default 1m0s) 20768 --rc-job-expire-interval Duration Interval to check for expired async jobs (default 10s) 20769 --rc-key string TLS PEM Private key 20770 --rc-max-header-bytes int Maximum size of request header (default 4096) 20771 --rc-min-tls-version string Minimum TLS version that is acceptable (default \[dq]tls1.0\[dq]) 20772 --rc-no-auth Don\[aq]t require auth for certain methods 20773 --rc-pass string Password for authentication 20774 --rc-realm string Realm for authentication 20775 --rc-salt string Password hashing salt (default \[dq]dlPL2MqE\[dq]) 20776 --rc-serve Enable the serving of remote objects 20777 --rc-server-read-timeout Duration Timeout for server reading data (default 1h0m0s) 20778 --rc-server-write-timeout Duration Timeout for server writing data (default 1h0m0s) 20779 --rc-template string User-specified template 20780 --rc-user string User name for authentication 20781 --rc-web-fetch-url string URL to fetch the releases for webgui (default \[dq]https://api.github.com/repos/divyam234/rclone-webui-react/releases/latest\[dq]) 20782 --rc-web-gui Launch WebGUI on localhost 20783 --rc-web-gui-force-update Force update to latest version of web gui 20784 --rc-web-gui-no-open-browser Don\[aq]t open the browser automatically 20785 --rc-web-gui-update Check and update to latest version of web gui 20786 --refresh-times Refresh the modtime of remote files 20787 --retries int Retry operations this many times if they fail (default 3) 20788 --retries-sleep Duration Interval between retrying operations if they fail, e.g. 500ms, 60s, 5m (0 to disable) (default 0s) 20789 --server-side-across-configs Allow server-side operations (e.g. copy) to work across different configs 20790 --size-only Skip based on size only, not mod-time or checksum 20791 --stats Duration Interval between printing stats, e.g. 500ms, 60s, 5m (0 to disable) (default 1m0s) 20792 --stats-file-name-length int Max file name length in stats (0 for no limit) (default 45) 20793 --stats-log-level string Log level to show --stats output DEBUG|INFO|NOTICE|ERROR (default \[dq]INFO\[dq]) 20794 --stats-one-line Make the stats fit on one line 20795 --stats-one-line-date Enable --stats-one-line and add current date/time prefix 20796 --stats-one-line-date-format string Enable --stats-one-line-date and use custom formatted date: Enclose date string in double quotes (\[dq]), see https://golang.org/pkg/time/#Time.Format 20797 --stats-unit string Show data rate in stats as either \[aq]bits\[aq] or \[aq]bytes\[aq] per second (default \[dq]bytes\[dq]) 20798 --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 100Ki) 20799 --suffix string Suffix to add to changed files 20800 --suffix-keep-extension Preserve the extension when using --suffix 20801 --syslog Use Syslog for logging 20802 --syslog-facility string Facility for syslog, e.g. KERN,USER,... (default \[dq]DAEMON\[dq]) 20803 --temp-dir string Directory rclone will use for temporary files (default \[dq]/tmp\[dq]) 20804 --timeout Duration IO idle timeout (default 5m0s) 20805 --tpslimit float Limit HTTP transactions per second to this 20806 --tpslimit-burst int Max burst of transactions for --tpslimit (default 1) 20807 --track-renames When synchronizing, track file renames and do a server-side move if possible 20808 --track-renames-strategy string Strategies to use when synchronizing using track-renames hash|modtime|leaf (default \[dq]hash\[dq]) 20809 --transfers int Number of file transfers to run in parallel (default 4) 20810 -u, --update Skip files that are newer on the destination 20811 --use-cookies Enable session cookiejar 20812 --use-json-log Use json log format 20813 --use-mmap Use mmap allocator (see docs) 20814 --use-server-modtime Use server modified time instead of object metadata 20815 --user-agent string Set the user-agent to a specified string (default \[dq]rclone/v1.63.0\[dq]) 20816 -v, --verbose count Print lots more stuff (repeat for more) 20817 \f[R] 20818 .fi 20819 .SS Backend Flags 20820 .PP 20821 These flags are available for every command. 20822 They control the backends and may be set in the config file. 20823 .IP 20824 .nf 20825 \f[C] 20826 --acd-auth-url string Auth server URL 20827 --acd-client-id string OAuth Client Id 20828 --acd-client-secret string OAuth Client Secret 20829 --acd-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot) 20830 --acd-templink-threshold SizeSuffix Files >= this size will be downloaded via their tempLink (default 9Gi) 20831 --acd-token string OAuth Access Token as a JSON blob 20832 --acd-token-url string Token server url 20833 --acd-upload-wait-per-gb Duration Additional time per GiB to wait after a failed complete upload to see if it appears (default 3m0s) 20834 --alias-remote string Remote or path to alias 20835 --azureblob-access-tier string Access tier of blob: hot, cool or archive 20836 --azureblob-account string Azure Storage Account Name 20837 --azureblob-archive-tier-delete Delete archive tier blobs before overwriting 20838 --azureblob-chunk-size SizeSuffix Upload chunk size (default 4Mi) 20839 --azureblob-client-certificate-password string Password for the certificate file (optional) (obscured) 20840 --azureblob-client-certificate-path string Path to a PEM or PKCS12 certificate file including the private key 20841 --azureblob-client-id string The ID of the client in use 20842 --azureblob-client-secret string One of the service principal\[aq]s client secrets 20843 --azureblob-client-send-certificate-chain Send the certificate chain when using certificate auth 20844 --azureblob-directory-markers Upload an empty object with a trailing slash when a new directory is created 20845 --azureblob-disable-checksum Don\[aq]t store MD5 checksum with object metadata 20846 --azureblob-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8) 20847 --azureblob-endpoint string Endpoint for the service 20848 --azureblob-env-auth Read credentials from runtime (environment variables, CLI or MSI) 20849 --azureblob-key string Storage Account Shared Key 20850 --azureblob-list-chunk int Size of blob list (default 5000) 20851 --azureblob-memory-pool-flush-time Duration How often internal memory buffer pools will be flushed (default 1m0s) 20852 --azureblob-memory-pool-use-mmap Whether to use mmap buffers in internal memory pool 20853 --azureblob-msi-client-id string Object ID of the user-assigned MSI to use, if any 20854 --azureblob-msi-mi-res-id string Azure resource ID of the user-assigned MSI to use, if any 20855 --azureblob-msi-object-id string Object ID of the user-assigned MSI to use, if any 20856 --azureblob-no-check-container If set, don\[aq]t attempt to check the container exists or create it 20857 --azureblob-no-head-object If set, do not do HEAD before GET when getting objects 20858 --azureblob-password string The user\[aq]s password (obscured) 20859 --azureblob-public-access string Public access level of a container: blob or container 20860 --azureblob-sas-url string SAS URL for container level access only 20861 --azureblob-service-principal-file string Path to file containing credentials for use with a service principal 20862 --azureblob-tenant string ID of the service principal\[aq]s tenant. Also called its directory ID 20863 --azureblob-upload-concurrency int Concurrency for multipart uploads (default 16) 20864 --azureblob-upload-cutoff string Cutoff for switching to chunked upload (<= 256 MiB) (deprecated) 20865 --azureblob-use-emulator Uses local storage emulator if provided as \[aq]true\[aq] 20866 --azureblob-use-msi Use a managed service identity to authenticate (only works in Azure) 20867 --azureblob-username string User name (usually an email address) 20868 --b2-account string Account ID or Application Key ID 20869 --b2-chunk-size SizeSuffix Upload chunk size (default 96Mi) 20870 --b2-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4Gi) 20871 --b2-disable-checksum Disable checksums for large (> upload cutoff) files 20872 --b2-download-auth-duration Duration Time before the authorization token will expire in s or suffix ms|s|m|h|d (default 1w) 20873 --b2-download-url string Custom endpoint for downloads 20874 --b2-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) 20875 --b2-endpoint string Endpoint for the service 20876 --b2-hard-delete Permanently delete files on remote removal, otherwise hide files 20877 --b2-key string Application Key 20878 --b2-memory-pool-flush-time Duration How often internal memory buffer pools will be flushed (default 1m0s) 20879 --b2-memory-pool-use-mmap Whether to use mmap buffers in internal memory pool 20880 --b2-test-mode string A flag string for X-Bz-Test-Mode header for debugging 20881 --b2-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi) 20882 --b2-version-at Time Show file versions as they were at the specified time (default off) 20883 --b2-versions Include old versions in directory listings 20884 --box-access-token string Box App Primary Access Token 20885 --box-auth-url string Auth server URL 20886 --box-box-config-file string Box App config.json location 20887 --box-box-sub-type string (default \[dq]user\[dq]) 20888 --box-client-id string OAuth Client Id 20889 --box-client-secret string OAuth Client Secret 20890 --box-commit-retries int Max number of times to try committing a multipart file (default 100) 20891 --box-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot) 20892 --box-list-chunk int Size of listing chunk 1-1000 (default 1000) 20893 --box-owned-by string Only show items owned by the login (email address) passed in 20894 --box-root-folder-id string Fill in for rclone to use a non root folder as its starting point 20895 --box-token string OAuth Access Token as a JSON blob 20896 --box-token-url string Token server url 20897 --box-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (>= 50 MiB) (default 50Mi) 20898 --cache-chunk-clean-interval Duration How often should the cache perform cleanups of the chunk storage (default 1m0s) 20899 --cache-chunk-no-memory Disable the in-memory cache for storing chunks during streaming 20900 --cache-chunk-path string Directory to cache chunk files (default \[dq]$HOME/.cache/rclone/cache-backend\[dq]) 20901 --cache-chunk-size SizeSuffix The size of a chunk (partial file data) (default 5Mi) 20902 --cache-chunk-total-size SizeSuffix The total size that the chunks can take up on the local disk (default 10Gi) 20903 --cache-db-path string Directory to store file structure metadata DB (default \[dq]$HOME/.cache/rclone/cache-backend\[dq]) 20904 --cache-db-purge Clear all the cached data for this remote on start 20905 --cache-db-wait-time Duration How long to wait for the DB to be available - 0 is unlimited (default 1s) 20906 --cache-info-age Duration How long to cache file structure information (directory listings, file size, times, etc.) (default 6h0m0s) 20907 --cache-plex-insecure string Skip all certificate verification when connecting to the Plex server 20908 --cache-plex-password string The password of the Plex user (obscured) 20909 --cache-plex-url string The URL of the Plex server 20910 --cache-plex-username string The username of the Plex user 20911 --cache-read-retries int How many times to retry a read from a cache storage (default 10) 20912 --cache-remote string Remote to cache 20913 --cache-rps int Limits the number of requests per second to the source FS (-1 to disable) (default -1) 20914 --cache-tmp-upload-path string Directory to keep temporary files until they are uploaded 20915 --cache-tmp-wait-time Duration How long should files be stored in local cache before being uploaded (default 15s) 20916 --cache-workers int How many workers should run in parallel to download chunks (default 4) 20917 --cache-writes Cache file data on writes through the FS 20918 --chunker-chunk-size SizeSuffix Files larger than chunk size will be split in chunks (default 2Gi) 20919 --chunker-fail-hard Choose how chunker should handle files with missing or invalid chunks 20920 --chunker-hash-type string Choose how chunker handles hash sums (default \[dq]md5\[dq]) 20921 --chunker-remote string Remote to chunk/unchunk 20922 --combine-upstreams SpaceSepList Upstreams for combining 20923 --compress-level int GZIP compression level (-2 to 9) (default -1) 20924 --compress-mode string Compression mode (default \[dq]gzip\[dq]) 20925 --compress-ram-cache-limit SizeSuffix Some remotes don\[aq]t allow the upload of files with unknown size (default 20Mi) 20926 --compress-remote string Remote to compress 20927 -L, --copy-links Follow symlinks and copy the pointed to item 20928 --crypt-directory-name-encryption Option to either encrypt directory names or leave them intact (default true) 20929 --crypt-filename-encoding string How to encode the encrypted filename to text string (default \[dq]base32\[dq]) 20930 --crypt-filename-encryption string How to encrypt the filenames (default \[dq]standard\[dq]) 20931 --crypt-no-data-encryption Option to either encrypt file data or leave it unencrypted 20932 --crypt-pass-bad-blocks If set this will pass bad blocks through as all 0 20933 --crypt-password string Password or pass phrase for encryption (obscured) 20934 --crypt-password2 string Password or pass phrase for salt (obscured) 20935 --crypt-remote string Remote to encrypt/decrypt 20936 --crypt-server-side-across-configs Deprecated: use --server-side-across-configs instead 20937 --crypt-show-mapping For all files listed show how the names encrypt 20938 --crypt-suffix string If this is set it will override the default suffix of \[dq].bin\[dq] (default \[dq].bin\[dq]) 20939 --drive-acknowledge-abuse Set to allow files which return cannotDownloadAbusiveFile to be downloaded 20940 --drive-allow-import-name-change Allow the filetype to change when uploading Google docs 20941 --drive-auth-owner-only Only consider files owned by the authenticated user 20942 --drive-auth-url string Auth server URL 20943 --drive-chunk-size SizeSuffix Upload chunk size (default 8Mi) 20944 --drive-client-id string Google Application Client Id 20945 --drive-client-secret string OAuth Client Secret 20946 --drive-copy-shortcut-content Server side copy contents of shortcuts instead of the shortcut 20947 --drive-disable-http2 Disable drive using http2 (default true) 20948 --drive-encoding MultiEncoder The encoding for the backend (default InvalidUtf8) 20949 --drive-env-auth Get IAM credentials from runtime (environment variables or instance meta data if no env vars) 20950 --drive-export-formats string Comma separated list of preferred formats for downloading Google docs (default \[dq]docx,xlsx,pptx,svg\[dq]) 20951 --drive-formats string Deprecated: See export_formats 20952 --drive-impersonate string Impersonate this user when using a service account 20953 --drive-import-formats string Comma separated list of preferred formats for uploading Google docs 20954 --drive-keep-revision-forever Keep new head revision of each file forever 20955 --drive-list-chunk int Size of listing chunk 100-1000, 0 to disable (default 1000) 20956 --drive-pacer-burst int Number of API calls to allow without sleeping (default 100) 20957 --drive-pacer-min-sleep Duration Minimum time to sleep between API calls (default 100ms) 20958 --drive-resource-key string Resource key for accessing a link-shared file 20959 --drive-root-folder-id string ID of the root folder 20960 --drive-scope string Scope that rclone should use when requesting access from drive 20961 --drive-server-side-across-configs Deprecated: use --server-side-across-configs instead 20962 --drive-service-account-credentials string Service Account Credentials JSON blob 20963 --drive-service-account-file string Service Account Credentials JSON file path 20964 --drive-shared-with-me Only show files that are shared with me 20965 --drive-size-as-quota Show sizes as storage quota usage, not actual size 20966 --drive-skip-checksum-gphotos Skip MD5 checksum on Google photos and videos only 20967 --drive-skip-dangling-shortcuts If set skip dangling shortcut files 20968 --drive-skip-gdocs Skip google documents in all listings 20969 --drive-skip-shortcuts If set skip shortcut files 20970 --drive-starred-only Only show files that are starred 20971 --drive-stop-on-download-limit Make download limit errors be fatal 20972 --drive-stop-on-upload-limit Make upload limit errors be fatal 20973 --drive-team-drive string ID of the Shared Drive (Team Drive) 20974 --drive-token string OAuth Access Token as a JSON blob 20975 --drive-token-url string Token server url 20976 --drive-trashed-only Only show files that are in the trash 20977 --drive-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 8Mi) 20978 --drive-use-created-date Use file created date instead of modified date 20979 --drive-use-shared-date Use date file was shared instead of modified date 20980 --drive-use-trash Send files to the trash instead of deleting permanently (default true) 20981 --drive-v2-download-min-size SizeSuffix If Object\[aq]s are greater, use drive v2 API to download (default off) 20982 --dropbox-auth-url string Auth server URL 20983 --dropbox-batch-commit-timeout Duration Max time to wait for a batch to finish committing (default 10m0s) 20984 --dropbox-batch-mode string Upload file batching sync|async|off (default \[dq]sync\[dq]) 20985 --dropbox-batch-size int Max number of files in upload batch 20986 --dropbox-batch-timeout Duration Max time to allow an idle upload batch before uploading (default 0s) 20987 --dropbox-chunk-size SizeSuffix Upload chunk size (< 150Mi) (default 48Mi) 20988 --dropbox-client-id string OAuth Client Id 20989 --dropbox-client-secret string OAuth Client Secret 20990 --dropbox-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot) 20991 --dropbox-impersonate string Impersonate this user when using a business account 20992 --dropbox-pacer-min-sleep Duration Minimum time to sleep between API calls (default 10ms) 20993 --dropbox-shared-files Instructs rclone to work on individual shared files 20994 --dropbox-shared-folders Instructs rclone to work on shared folders 20995 --dropbox-token string OAuth Access Token as a JSON blob 20996 --dropbox-token-url string Token server url 20997 --fichier-api-key string Your API Key, get it from https://1fichier.com/console/params.pl 20998 --fichier-cdn Set if you wish to use CDN download links 20999 --fichier-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot) 21000 --fichier-file-password string If you want to download a shared file that is password protected, add this parameter (obscured) 21001 --fichier-folder-password string If you want to list the files in a shared folder that is password protected, add this parameter (obscured) 21002 --fichier-shared-folder string If you want to download a shared folder, add this parameter 21003 --filefabric-encoding MultiEncoder The encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot) 21004 --filefabric-permanent-token string Permanent Authentication Token 21005 --filefabric-root-folder-id string ID of the root folder 21006 --filefabric-token string Session Token 21007 --filefabric-token-expiry string Token expiry time 21008 --filefabric-url string URL of the Enterprise File Fabric to connect to 21009 --filefabric-version string Version read from the file fabric 21010 --ftp-ask-password Allow asking for FTP password when needed 21011 --ftp-close-timeout Duration Maximum time to wait for a response to close (default 1m0s) 21012 --ftp-concurrency int Maximum number of FTP simultaneous connections, 0 for unlimited 21013 --ftp-disable-epsv Disable using EPSV even if server advertises support 21014 --ftp-disable-mlsd Disable using MLSD even if server advertises support 21015 --ftp-disable-tls13 Disable TLS 1.3 (workaround for FTP servers with buggy TLS) 21016 --ftp-disable-utf8 Disable using UTF-8 even if server advertises support 21017 --ftp-encoding MultiEncoder The encoding for the backend (default Slash,Del,Ctl,RightSpace,Dot) 21018 --ftp-explicit-tls Use Explicit FTPS (FTP over TLS) 21019 --ftp-force-list-hidden Use LIST -a to force listing of hidden files and folders. This will disable the use of MLSD 21020 --ftp-host string FTP host to connect to 21021 --ftp-idle-timeout Duration Max time before closing idle connections (default 1m0s) 21022 --ftp-no-check-certificate Do not verify the TLS certificate of the server 21023 --ftp-pass string FTP password (obscured) 21024 --ftp-port int FTP port number (default 21) 21025 --ftp-shut-timeout Duration Maximum time to wait for data connection closing status (default 1m0s) 21026 --ftp-tls Use Implicit FTPS (FTP over TLS) 21027 --ftp-tls-cache-size int Size of TLS session cache for all control and data connections (default 32) 21028 --ftp-user string FTP username (default \[dq]$USER\[dq]) 21029 --ftp-writing-mdtm Use MDTM to set modification time (VsFtpd quirk) 21030 --gcs-anonymous Access public buckets and objects without credentials 21031 --gcs-auth-url string Auth server URL 21032 --gcs-bucket-acl string Access Control List for new buckets 21033 --gcs-bucket-policy-only Access checks should use bucket-level IAM policies 21034 --gcs-client-id string OAuth Client Id 21035 --gcs-client-secret string OAuth Client Secret 21036 --gcs-decompress If set this will decompress gzip encoded objects 21037 --gcs-directory-markers Upload an empty object with a trailing slash when a new directory is created 21038 --gcs-encoding MultiEncoder The encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot) 21039 --gcs-endpoint string Endpoint for the service 21040 --gcs-env-auth Get GCP IAM credentials from runtime (environment variables or instance meta data if no env vars) 21041 --gcs-location string Location for the newly created buckets 21042 --gcs-no-check-bucket If set, don\[aq]t attempt to check the bucket exists or create it 21043 --gcs-object-acl string Access Control List for new objects 21044 --gcs-project-number string Project number 21045 --gcs-service-account-file string Service Account Credentials JSON file path 21046 --gcs-storage-class string The storage class to use when storing objects in Google Cloud Storage 21047 --gcs-token string OAuth Access Token as a JSON blob 21048 --gcs-token-url string Token server url 21049 --gcs-user-project string User project 21050 --gphotos-auth-url string Auth server URL 21051 --gphotos-client-id string OAuth Client Id 21052 --gphotos-client-secret string OAuth Client Secret 21053 --gphotos-encoding MultiEncoder The encoding for the backend (default Slash,CrLf,InvalidUtf8,Dot) 21054 --gphotos-include-archived Also view and download archived media 21055 --gphotos-read-only Set to make the Google Photos backend read only 21056 --gphotos-read-size Set to read the size of media items 21057 --gphotos-start-year int Year limits the photos to be downloaded to those which are uploaded after the given year (default 2000) 21058 --gphotos-token string OAuth Access Token as a JSON blob 21059 --gphotos-token-url string Token server url 21060 --hasher-auto-size SizeSuffix Auto-update checksum for files smaller than this size (disabled by default) 21061 --hasher-hashes CommaSepList Comma separated list of supported checksum types (default md5,sha1) 21062 --hasher-max-age Duration Maximum time to keep checksums in cache (0 = no cache, off = cache forever) (default off) 21063 --hasher-remote string Remote to cache checksums for (e.g. myRemote:path) 21064 --hdfs-data-transfer-protection string Kerberos data transfer protection: authentication|integrity|privacy 21065 --hdfs-encoding MultiEncoder The encoding for the backend (default Slash,Colon,Del,Ctl,InvalidUtf8,Dot) 21066 --hdfs-namenode string Hadoop name node and port 21067 --hdfs-service-principal-name string Kerberos service principal name for the namenode 21068 --hdfs-username string Hadoop user name 21069 --hidrive-auth-url string Auth server URL 21070 --hidrive-chunk-size SizeSuffix Chunksize for chunked uploads (default 48Mi) 21071 --hidrive-client-id string OAuth Client Id 21072 --hidrive-client-secret string OAuth Client Secret 21073 --hidrive-disable-fetching-member-count Do not fetch number of objects in directories unless it is absolutely necessary 21074 --hidrive-encoding MultiEncoder The encoding for the backend (default Slash,Dot) 21075 --hidrive-endpoint string Endpoint for the service (default \[dq]https://api.hidrive.strato.com/2.1\[dq]) 21076 --hidrive-root-prefix string The root/parent folder for all paths (default \[dq]/\[dq]) 21077 --hidrive-scope-access string Access permissions that rclone should use when requesting access from HiDrive (default \[dq]rw\[dq]) 21078 --hidrive-scope-role string User-level that rclone should use when requesting access from HiDrive (default \[dq]user\[dq]) 21079 --hidrive-token string OAuth Access Token as a JSON blob 21080 --hidrive-token-url string Token server url 21081 --hidrive-upload-concurrency int Concurrency for chunked uploads (default 4) 21082 --hidrive-upload-cutoff SizeSuffix Cutoff/Threshold for chunked uploads (default 96Mi) 21083 --http-headers CommaSepList Set HTTP headers for all transactions 21084 --http-no-head Don\[aq]t use HEAD requests 21085 --http-no-slash Set this if the site doesn\[aq]t end directories with / 21086 --http-url string URL of HTTP host to connect to 21087 --internetarchive-access-key-id string IAS3 Access Key 21088 --internetarchive-disable-checksum Don\[aq]t ask the server to test against MD5 checksum calculated by rclone (default true) 21089 --internetarchive-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot) 21090 --internetarchive-endpoint string IAS3 Endpoint (default \[dq]https://s3.us.archive.org\[dq]) 21091 --internetarchive-front-endpoint string Host of InternetArchive Frontend (default \[dq]https://archive.org\[dq]) 21092 --internetarchive-secret-access-key string IAS3 Secret Key (password) 21093 --internetarchive-wait-archive Duration Timeout for waiting the server\[aq]s processing tasks (specifically archive and book_op) to finish (default 0s) 21094 --jottacloud-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot) 21095 --jottacloud-hard-delete Delete files permanently rather than putting them into the trash 21096 --jottacloud-md5-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate the MD5 if required (default 10Mi) 21097 --jottacloud-no-versions Avoid server side versioning by deleting files and recreating files instead of overwriting them 21098 --jottacloud-trashed-only Only show files that are in the trash 21099 --jottacloud-upload-resume-limit SizeSuffix Files bigger than this can be resumed if the upload fail\[aq]s (default 10Mi) 21100 --koofr-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) 21101 --koofr-endpoint string The Koofr API endpoint to use 21102 --koofr-mountid string Mount ID of the mount to use 21103 --koofr-password string Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password) (obscured) 21104 --koofr-provider string Choose your storage provider 21105 --koofr-setmtime Does the backend support setting modification time (default true) 21106 --koofr-user string Your user name 21107 -l, --links Translate symlinks to/from regular files with a \[aq].rclonelink\[aq] extension 21108 --local-case-insensitive Force the filesystem to report itself as case insensitive 21109 --local-case-sensitive Force the filesystem to report itself as case sensitive 21110 --local-encoding MultiEncoder The encoding for the backend (default Slash,Dot) 21111 --local-no-check-updated Don\[aq]t check to see if the files change during upload 21112 --local-no-preallocate Disable preallocation of disk space for transferred files 21113 --local-no-set-modtime Disable setting modtime 21114 --local-no-sparse Disable sparse files for multi-thread downloads 21115 --local-nounc Disable UNC (long path names) conversion on Windows 21116 --local-unicode-normalization Apply unicode NFC normalization to paths and filenames 21117 --local-zero-size-links Assume the Stat size of links is zero (and read them instead) (deprecated) 21118 --mailru-check-hash What should copy do if file checksum is mismatched or invalid (default true) 21119 --mailru-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot) 21120 --mailru-pass string Password (obscured) 21121 --mailru-speedup-enable Skip full upload if there is another file with same data hash (default true) 21122 --mailru-speedup-file-patterns string Comma separated list of file name patterns eligible for speedup (put by hash) (default \[dq]*.mkv,*.avi,*.mp4,*.mp3,*.zip,*.gz,*.rar,*.pdf\[dq]) 21123 --mailru-speedup-max-disk SizeSuffix This option allows you to disable speedup (put by hash) for large files (default 3Gi) 21124 --mailru-speedup-max-memory SizeSuffix Files larger than the size given below will always be hashed on disk (default 32Mi) 21125 --mailru-user string User name (usually email) 21126 --mega-debug Output more debug from Mega 21127 --mega-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot) 21128 --mega-hard-delete Delete files permanently rather than putting them into the trash 21129 --mega-pass string Password (obscured) 21130 --mega-use-https Use HTTPS for transfers 21131 --mega-user string User name 21132 --netstorage-account string Set the NetStorage account name 21133 --netstorage-host string Domain+path of NetStorage host to connect to 21134 --netstorage-protocol string Select between HTTP or HTTPS protocol (default \[dq]https\[dq]) 21135 --netstorage-secret string Set the NetStorage account secret/G2O key for authentication (obscured) 21136 -x, --one-file-system Don\[aq]t cross filesystem boundaries (unix/macOS only) 21137 --onedrive-access-scopes SpaceSepList Set scopes to be requested by rclone (default Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All Sites.Read.All offline_access) 21138 --onedrive-auth-url string Auth server URL 21139 --onedrive-av-override Allows download of files the server thinks has a virus 21140 --onedrive-chunk-size SizeSuffix Chunk size to upload files with - must be multiple of 320k (327,680 bytes) (default 10Mi) 21141 --onedrive-client-id string OAuth Client Id 21142 --onedrive-client-secret string OAuth Client Secret 21143 --onedrive-drive-id string The ID of the drive to use 21144 --onedrive-drive-type string The type of the drive (personal | business | documentLibrary) 21145 --onedrive-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot) 21146 --onedrive-expose-onenote-files Set to make OneNote files show up in directory listings 21147 --onedrive-hash-type string Specify the hash in use for the backend (default \[dq]auto\[dq]) 21148 --onedrive-link-password string Set the password for links created by the link command 21149 --onedrive-link-scope string Set the scope of the links created by the link command (default \[dq]anonymous\[dq]) 21150 --onedrive-link-type string Set the type of the links created by the link command (default \[dq]view\[dq]) 21151 --onedrive-list-chunk int Size of listing chunk (default 1000) 21152 --onedrive-no-versions Remove all versions on modifying operations 21153 --onedrive-region string Choose national cloud region for OneDrive (default \[dq]global\[dq]) 21154 --onedrive-root-folder-id string ID of the root folder 21155 --onedrive-server-side-across-configs Deprecated: use --server-side-across-configs instead 21156 --onedrive-token string OAuth Access Token as a JSON blob 21157 --onedrive-token-url string Token server url 21158 --oos-chunk-size SizeSuffix Chunk size to use for uploading (default 5Mi) 21159 --oos-compartment string Object storage compartment OCID 21160 --oos-config-file string Path to OCI config file (default \[dq]\[ti]/.oci/config\[dq]) 21161 --oos-config-profile string Profile name inside the oci config file (default \[dq]Default\[dq]) 21162 --oos-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4.656Gi) 21163 --oos-copy-timeout Duration Timeout for copy (default 1m0s) 21164 --oos-disable-checksum Don\[aq]t store MD5 checksum with object metadata 21165 --oos-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot) 21166 --oos-endpoint string Endpoint for Object storage API 21167 --oos-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery 21168 --oos-namespace string Object storage namespace 21169 --oos-no-check-bucket If set, don\[aq]t attempt to check the bucket exists or create it 21170 --oos-provider string Choose your Auth Provider (default \[dq]env_auth\[dq]) 21171 --oos-region string Object storage Region 21172 --oos-sse-customer-algorithm string If using SSE-C, the optional header that specifies \[dq]AES256\[dq] as the encryption algorithm 21173 --oos-sse-customer-key string To use SSE-C, the optional header that specifies the base64-encoded 256-bit encryption key to use to 21174 --oos-sse-customer-key-file string To use SSE-C, a file containing the base64-encoded string of the AES-256 encryption key associated 21175 --oos-sse-customer-key-sha256 string If using SSE-C, The optional header that specifies the base64-encoded SHA256 hash of the encryption 21176 --oos-sse-kms-key-id string if using your own master key in vault, this header specifies the 21177 --oos-storage-tier string The storage class to use when storing new objects in storage. https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm (default \[dq]Standard\[dq]) 21178 --oos-upload-concurrency int Concurrency for multipart uploads (default 10) 21179 --oos-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi) 21180 --opendrive-chunk-size SizeSuffix Files will be uploaded in chunks this size (default 10Mi) 21181 --opendrive-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot) 21182 --opendrive-password string Password (obscured) 21183 --opendrive-username string Username 21184 --pcloud-auth-url string Auth server URL 21185 --pcloud-client-id string OAuth Client Id 21186 --pcloud-client-secret string OAuth Client Secret 21187 --pcloud-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) 21188 --pcloud-hostname string Hostname to connect to (default \[dq]api.pcloud.com\[dq]) 21189 --pcloud-password string Your pcloud password (obscured) 21190 --pcloud-root-folder-id string Fill in for rclone to use a non root folder as its starting point (default \[dq]d0\[dq]) 21191 --pcloud-token string OAuth Access Token as a JSON blob 21192 --pcloud-token-url string Token server url 21193 --pcloud-username string Your pcloud username 21194 --pikpak-auth-url string Auth server URL 21195 --pikpak-client-id string OAuth Client Id 21196 --pikpak-client-secret string OAuth Client Secret 21197 --pikpak-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot) 21198 --pikpak-hash-memory-limit SizeSuffix Files bigger than this will be cached on disk to calculate hash if required (default 10Mi) 21199 --pikpak-pass string Pikpak password (obscured) 21200 --pikpak-root-folder-id string ID of the root folder 21201 --pikpak-token string OAuth Access Token as a JSON blob 21202 --pikpak-token-url string Token server url 21203 --pikpak-trashed-only Only show files that are in the trash 21204 --pikpak-use-trash Send files to the trash instead of deleting permanently (default true) 21205 --pikpak-user string Pikpak username 21206 --premiumizeme-encoding MultiEncoder The encoding for the backend (default Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot) 21207 --putio-encoding MultiEncoder The encoding for the backend (default Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot) 21208 --qingstor-access-key-id string QingStor Access Key ID 21209 --qingstor-chunk-size SizeSuffix Chunk size to use for uploading (default 4Mi) 21210 --qingstor-connection-retries int Number of connection retries (default 3) 21211 --qingstor-encoding MultiEncoder The encoding for the backend (default Slash,Ctl,InvalidUtf8) 21212 --qingstor-endpoint string Enter an endpoint URL to connection QingStor API 21213 --qingstor-env-auth Get QingStor credentials from runtime 21214 --qingstor-secret-access-key string QingStor Secret Access Key (password) 21215 --qingstor-upload-concurrency int Concurrency for multipart uploads (default 1) 21216 --qingstor-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi) 21217 --qingstor-zone string Zone to connect to 21218 --s3-access-key-id string AWS Access Key ID 21219 --s3-acl string Canned ACL used when creating buckets and storing or copying objects 21220 --s3-bucket-acl string Canned ACL used when creating buckets 21221 --s3-chunk-size SizeSuffix Chunk size to use for uploading (default 5Mi) 21222 --s3-copy-cutoff SizeSuffix Cutoff for switching to multipart copy (default 4.656Gi) 21223 --s3-decompress If set this will decompress gzip encoded objects 21224 --s3-directory-markers Upload an empty object with a trailing slash when a new directory is created 21225 --s3-disable-checksum Don\[aq]t store MD5 checksum with object metadata 21226 --s3-disable-http2 Disable usage of http2 for S3 backends 21227 --s3-download-url string Custom endpoint for downloads 21228 --s3-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8,Dot) 21229 --s3-endpoint string Endpoint for S3 API 21230 --s3-env-auth Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars) 21231 --s3-force-path-style If true use path style access if false use virtual hosted style (default true) 21232 --s3-leave-parts-on-error If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery 21233 --s3-list-chunk int Size of listing chunk (response list for each ListObject S3 request) (default 1000) 21234 --s3-list-url-encode Tristate Whether to url encode listings: true/false/unset (default unset) 21235 --s3-list-version int Version of ListObjects to use: 1,2 or 0 for auto 21236 --s3-location-constraint string Location constraint - must be set to match the Region 21237 --s3-max-upload-parts int Maximum number of parts in a multipart upload (default 10000) 21238 --s3-memory-pool-flush-time Duration How often internal memory buffer pools will be flushed (default 1m0s) 21239 --s3-memory-pool-use-mmap Whether to use mmap buffers in internal memory pool 21240 --s3-might-gzip Tristate Set this if the backend might gzip objects (default unset) 21241 --s3-no-check-bucket If set, don\[aq]t attempt to check the bucket exists or create it 21242 --s3-no-head If set, don\[aq]t HEAD uploaded objects to check integrity 21243 --s3-no-head-object If set, do not do HEAD before GET when getting objects 21244 --s3-no-system-metadata Suppress setting and reading of system metadata 21245 --s3-profile string Profile to use in the shared credentials file 21246 --s3-provider string Choose your S3 provider 21247 --s3-region string Region to connect to 21248 --s3-requester-pays Enables requester pays option when interacting with S3 bucket 21249 --s3-secret-access-key string AWS Secret Access Key (password) 21250 --s3-server-side-encryption string The server-side encryption algorithm used when storing this object in S3 21251 --s3-session-token string An AWS session token 21252 --s3-shared-credentials-file string Path to the shared credentials file 21253 --s3-sse-customer-algorithm string If using SSE-C, the server-side encryption algorithm used when storing this object in S3 21254 --s3-sse-customer-key string To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data 21255 --s3-sse-customer-key-base64 string If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data 21256 --s3-sse-customer-key-md5 string If using SSE-C you may provide the secret encryption key MD5 checksum (optional) 21257 --s3-sse-kms-key-id string If using KMS ID you must provide the ARN of Key 21258 --s3-storage-class string The storage class to use when storing new objects in S3 21259 --s3-sts-endpoint string Endpoint for STS 21260 --s3-upload-concurrency int Concurrency for multipart uploads (default 4) 21261 --s3-upload-cutoff SizeSuffix Cutoff for switching to chunked upload (default 200Mi) 21262 --s3-use-accelerate-endpoint If true use the AWS S3 accelerated endpoint 21263 --s3-use-accept-encoding-gzip Accept-Encoding: gzip Whether to send Accept-Encoding: gzip header (default unset) 21264 --s3-use-multipart-etag Tristate Whether to use ETag in multipart uploads for verification (default unset) 21265 --s3-use-presigned-request Whether to use a presigned request or PutObject for single part uploads 21266 --s3-v2-auth If true use v2 authentication 21267 --s3-version-at Time Show file versions as they were at the specified time (default off) 21268 --s3-versions Include old versions in directory listings 21269 --seafile-2fa Two-factor authentication (\[aq]true\[aq] if the account has 2FA enabled) 21270 --seafile-create-library Should rclone create a library if it doesn\[aq]t exist 21271 --seafile-encoding MultiEncoder The encoding for the backend (default Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8) 21272 --seafile-library string Name of the library 21273 --seafile-library-key string Library password (for encrypted libraries only) (obscured) 21274 --seafile-pass string Password (obscured) 21275 --seafile-url string URL of seafile host to connect to 21276 --seafile-user string User name (usually email address) 21277 --sftp-ask-password Allow asking for SFTP password when needed 21278 --sftp-chunk-size SizeSuffix Upload and download chunk size (default 32Ki) 21279 --sftp-ciphers SpaceSepList Space separated list of ciphers to be used for session encryption, ordered by preference 21280 --sftp-concurrency int The maximum number of outstanding requests for one file (default 64) 21281 --sftp-disable-concurrent-reads If set don\[aq]t use concurrent reads 21282 --sftp-disable-concurrent-writes If set don\[aq]t use concurrent writes 21283 --sftp-disable-hashcheck Disable the execution of SSH commands to determine if remote file hashing is available 21284 --sftp-host string SSH host to connect to 21285 --sftp-host-key-algorithms SpaceSepList Space separated list of host key algorithms, ordered by preference 21286 --sftp-idle-timeout Duration Max time before closing idle connections (default 1m0s) 21287 --sftp-key-exchange SpaceSepList Space separated list of key exchange algorithms, ordered by preference 21288 --sftp-key-file string Path to PEM-encoded private key file 21289 --sftp-key-file-pass string The passphrase to decrypt the PEM-encoded private key file (obscured) 21290 --sftp-key-pem string Raw PEM-encoded private key 21291 --sftp-key-use-agent When set forces the usage of the ssh-agent 21292 --sftp-known-hosts-file string Optional path to known_hosts file 21293 --sftp-macs SpaceSepList Space separated list of MACs (message authentication code) algorithms, ordered by preference 21294 --sftp-md5sum-command string The command used to read md5 hashes 21295 --sftp-pass string SSH password, leave blank to use ssh-agent (obscured) 21296 --sftp-path-override string Override path used by SSH shell commands 21297 --sftp-port int SSH port number (default 22) 21298 --sftp-pubkey-file string Optional path to public key file 21299 --sftp-server-command string Specifies the path or command to run a sftp server on the remote host 21300 --sftp-set-env SpaceSepList Environment variables to pass to sftp and commands 21301 --sftp-set-modtime Set the modified time on the remote if set (default true) 21302 --sftp-sha1sum-command string The command used to read sha1 hashes 21303 --sftp-shell-type string The type of SSH shell on remote server, if any 21304 --sftp-skip-links Set to skip any symlinks and any other non regular files 21305 --sftp-subsystem string Specifies the SSH2 subsystem on the remote host (default \[dq]sftp\[dq]) 21306 --sftp-use-fstat If set use fstat instead of stat 21307 --sftp-use-insecure-cipher Enable the use of insecure ciphers and key exchange methods 21308 --sftp-user string SSH username (default \[dq]$USER\[dq]) 21309 --sharefile-chunk-size SizeSuffix Upload chunk size (default 64Mi) 21310 --sharefile-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot) 21311 --sharefile-endpoint string Endpoint for API calls 21312 --sharefile-root-folder-id string ID of the root folder 21313 --sharefile-upload-cutoff SizeSuffix Cutoff for switching to multipart upload (default 128Mi) 21314 --sia-api-password string Sia Daemon API Password (obscured) 21315 --sia-api-url string Sia daemon API URL, like http://sia.daemon.host:9980 (default \[dq]http://127.0.0.1:9980\[dq]) 21316 --sia-encoding MultiEncoder The encoding for the backend (default Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot) 21317 --sia-user-agent string Siad User Agent (default \[dq]Sia-Agent\[dq]) 21318 --skip-links Don\[aq]t warn about skipped symlinks 21319 --smb-case-insensitive Whether the server is configured to be case-insensitive (default true) 21320 --smb-domain string Domain name for NTLM authentication (default \[dq]WORKGROUP\[dq]) 21321 --smb-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot) 21322 --smb-hide-special-share Hide special shares (e.g. print$) which users aren\[aq]t supposed to access (default true) 21323 --smb-host string SMB server hostname to connect to 21324 --smb-idle-timeout Duration Max time before closing idle connections (default 1m0s) 21325 --smb-pass string SMB password (obscured) 21326 --smb-port int SMB port number (default 445) 21327 --smb-spn string Service principal name 21328 --smb-user string SMB username (default \[dq]$USER\[dq]) 21329 --storj-access-grant string Access grant 21330 --storj-api-key string API key 21331 --storj-passphrase string Encryption passphrase 21332 --storj-provider string Choose an authentication method (default \[dq]existing\[dq]) 21333 --storj-satellite-address string Satellite address (default \[dq]us1.storj.io\[dq]) 21334 --sugarsync-access-key-id string Sugarsync Access Key ID 21335 --sugarsync-app-id string Sugarsync App ID 21336 --sugarsync-authorization string Sugarsync authorization 21337 --sugarsync-authorization-expiry string Sugarsync authorization expiry 21338 --sugarsync-deleted-id string Sugarsync deleted folder id 21339 --sugarsync-encoding MultiEncoder The encoding for the backend (default Slash,Ctl,InvalidUtf8,Dot) 21340 --sugarsync-hard-delete Permanently delete files if true 21341 --sugarsync-private-access-key string Sugarsync Private Access Key 21342 --sugarsync-refresh-token string Sugarsync refresh token 21343 --sugarsync-root-id string Sugarsync root id 21344 --sugarsync-user string Sugarsync user 21345 --swift-application-credential-id string Application Credential ID (OS_APPLICATION_CREDENTIAL_ID) 21346 --swift-application-credential-name string Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME) 21347 --swift-application-credential-secret string Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET) 21348 --swift-auth string Authentication URL for server (OS_AUTH_URL) 21349 --swift-auth-token string Auth Token from alternate authentication - optional (OS_AUTH_TOKEN) 21350 --swift-auth-version int AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION) 21351 --swift-chunk-size SizeSuffix Above this size files will be chunked into a _segments container (default 5Gi) 21352 --swift-domain string User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) 21353 --swift-encoding MultiEncoder The encoding for the backend (default Slash,InvalidUtf8) 21354 --swift-endpoint-type string Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) (default \[dq]public\[dq]) 21355 --swift-env-auth Get swift credentials from environment variables in standard OpenStack form 21356 --swift-key string API key or password (OS_PASSWORD) 21357 --swift-leave-parts-on-error If true avoid calling abort upload on a failure 21358 --swift-no-chunk Don\[aq]t chunk files during streaming upload 21359 --swift-no-large-objects Disable support for static and dynamic large objects 21360 --swift-region string Region name - optional (OS_REGION_NAME) 21361 --swift-storage-policy string The storage policy to use when creating a new container 21362 --swift-storage-url string Storage URL - optional (OS_STORAGE_URL) 21363 --swift-tenant string Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME) 21364 --swift-tenant-domain string Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME) 21365 --swift-tenant-id string Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID) 21366 --swift-user string User name to log in (OS_USERNAME) 21367 --swift-user-id string User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID) 21368 --union-action-policy string Policy to choose upstream on ACTION category (default \[dq]epall\[dq]) 21369 --union-cache-time int Cache time of usage and free space (in seconds) (default 120) 21370 --union-create-policy string Policy to choose upstream on CREATE category (default \[dq]epmfs\[dq]) 21371 --union-min-free-space SizeSuffix Minimum viable free space for lfs/eplfs policies (default 1Gi) 21372 --union-search-policy string Policy to choose upstream on SEARCH category (default \[dq]ff\[dq]) 21373 --union-upstreams string List of space separated upstreams 21374 --uptobox-access-token string Your access token 21375 --uptobox-encoding MultiEncoder The encoding for the backend (default Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot) 21376 --uptobox-private Set to make uploaded files private 21377 --webdav-bearer-token string Bearer token instead of user/pass (e.g. a Macaroon) 21378 --webdav-bearer-token-command string Command to run to get a bearer token 21379 --webdav-encoding string The encoding for the backend 21380 --webdav-headers CommaSepList Set HTTP headers for all transactions 21381 --webdav-nextcloud-chunk-size SizeSuffix Nextcloud upload chunk size (default 10Mi) 21382 --webdav-pacer-min-sleep Duration Minimum time to sleep between API calls (default 10ms) 21383 --webdav-pass string Password (obscured) 21384 --webdav-url string URL of http host to connect to 21385 --webdav-user string User name 21386 --webdav-vendor string Name of the WebDAV site/service/software you are using 21387 --yandex-auth-url string Auth server URL 21388 --yandex-client-id string OAuth Client Id 21389 --yandex-client-secret string OAuth Client Secret 21390 --yandex-encoding MultiEncoder The encoding for the backend (default Slash,Del,Ctl,InvalidUtf8,Dot) 21391 --yandex-hard-delete Delete files permanently rather than putting them into the trash 21392 --yandex-token string OAuth Access Token as a JSON blob 21393 --yandex-token-url string Token server url 21394 --zoho-auth-url string Auth server URL 21395 --zoho-client-id string OAuth Client Id 21396 --zoho-client-secret string OAuth Client Secret 21397 --zoho-encoding MultiEncoder The encoding for the backend (default Del,Ctl,InvalidUtf8) 21398 --zoho-region string Zoho region to connect to 21399 --zoho-token string OAuth Access Token as a JSON blob 21400 --zoho-token-url string Token server url 21401 \f[R] 21402 .fi 21403 .SH Docker Volume Plugin 21404 .SS Introduction 21405 .PP 21406 Docker 1.9 has added support for creating named 21407 volumes (https://docs.docker.com/storage/volumes/) via command-line 21408 interface (https://docs.docker.com/engine/reference/commandline/volume_create/) 21409 and mounting them in containers as a way to share data between them. 21410 Since Docker 1.10 you can create named volumes with Docker 21411 Compose (https://docs.docker.com/compose/) by descriptions in 21412 docker-compose.yml (https://docs.docker.com/compose/compose-file/compose-file-v2/#volume-configuration-reference) 21413 files for use by container groups on a single host. 21414 As of Docker 1.12 volumes are supported by Docker 21415 Swarm (https://docs.docker.com/engine/swarm/key-concepts/) included with 21416 Docker Engine and created from descriptions in swarm compose 21417 v3 (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference) 21418 files for use with \f[I]swarm stacks\f[R] across multiple cluster nodes. 21419 .PP 21420 Docker Volume 21421 Plugins (https://docs.docker.com/engine/extend/plugins_volume/) augment 21422 the default \f[C]local\f[R] volume driver included in Docker with 21423 stateful volumes shared across containers and hosts. 21424 Unlike local volumes, your data will \f[I]not\f[R] be deleted when such 21425 volume is removed. 21426 Plugins can run managed by the docker daemon, as a native system service 21427 (under systemd, \f[I]sysv\f[R] or \f[I]upstart\f[R]) or as a standalone 21428 executable. 21429 Rclone can run as docker volume plugin in all these modes. 21430 It interacts with the local docker daemon via plugin 21431 API (https://docs.docker.com/engine/extend/plugin_api/) and handles 21432 mounting of remote file systems into docker containers so it must run on 21433 the same host as the docker daemon or on every Swarm node. 21434 .SS Getting started 21435 .PP 21436 In the first example we will use the SFTP (https://rclone.org/sftp/) 21437 rclone volume with Docker engine on a standalone Ubuntu machine. 21438 .PP 21439 Start from installing Docker (https://docs.docker.com/engine/install/) 21440 on the host. 21441 .PP 21442 The \f[I]FUSE\f[R] driver is a prerequisite for rclone mounting and 21443 should be installed on host: 21444 .IP 21445 .nf 21446 \f[C] 21447 sudo apt-get -y install fuse 21448 \f[R] 21449 .fi 21450 .PP 21451 Create two directories required by rclone docker plugin: 21452 .IP 21453 .nf 21454 \f[C] 21455 sudo mkdir -p /var/lib/docker-plugins/rclone/config 21456 sudo mkdir -p /var/lib/docker-plugins/rclone/cache 21457 \f[R] 21458 .fi 21459 .PP 21460 Install the managed rclone docker plugin for your architecture (here 21461 \f[C]amd64\f[R]): 21462 .IP 21463 .nf 21464 \f[C] 21465 docker plugin install rclone/docker-volume-rclone:amd64 args=\[dq]-v\[dq] --alias rclone --grant-all-permissions 21466 docker plugin list 21467 \f[R] 21468 .fi 21469 .PP 21470 Create your SFTP volume (https://rclone.org/sftp/#standard-options): 21471 .IP 21472 .nf 21473 \f[C] 21474 docker volume create firstvolume -d rclone -o type=sftp -o sftp-host=_hostname_ -o sftp-user=_username_ -o sftp-pass=_password_ -o allow-other=true 21475 \f[R] 21476 .fi 21477 .PP 21478 Note that since all options are static, you don\[aq]t even have to run 21479 \f[C]rclone config\f[R] or create the \f[C]rclone.conf\f[R] file (but 21480 the \f[C]config\f[R] directory should still be present). 21481 In the simplest case you can use \f[C]localhost\f[R] as 21482 \f[I]hostname\f[R] and your SSH credentials as \f[I]username\f[R] and 21483 \f[I]password\f[R]. 21484 You can also change the remote path to your home directory on the host, 21485 for example \f[C]-o path=/home/username\f[R]. 21486 .PP 21487 Time to create a test container and mount the volume into it: 21488 .IP 21489 .nf 21490 \f[C] 21491 docker run --rm -it -v firstvolume:/mnt --workdir /mnt ubuntu:latest bash 21492 \f[R] 21493 .fi 21494 .PP 21495 If all goes well, you will enter the new container and change right to 21496 the mounted SFTP remote. 21497 You can type \f[C]ls\f[R] to list the mounted directory or otherwise 21498 play with it. 21499 Type \f[C]exit\f[R] when you are done. 21500 The container will stop but the volume will stay, ready to be reused. 21501 When it\[aq]s not needed anymore, remove it: 21502 .IP 21503 .nf 21504 \f[C] 21505 docker volume list 21506 docker volume remove firstvolume 21507 \f[R] 21508 .fi 21509 .PP 21510 Now let us try \f[B]something more elaborate\f[R]: Google 21511 Drive (https://rclone.org/drive/) volume on multi-node Docker Swarm. 21512 .PP 21513 You should start from installing Docker and FUSE, creating plugin 21514 directories and installing rclone plugin on \f[I]every\f[R] swarm node. 21515 Then setup the Swarm (https://docs.docker.com/engine/swarm/swarm-mode/). 21516 .PP 21517 Google Drive volumes need an access token which can be setup via web 21518 browser and will be periodically renewed by rclone. 21519 The managed plugin cannot run a browser so we will use a technique 21520 similar to the rclone setup on a headless 21521 box (https://rclone.org/remote_setup/). 21522 .PP 21523 Run rclone config (https://rclone.org/commands/rclone_config_create/) on 21524 \f[I]another\f[R] machine equipped with \f[I]web browser\f[R] and 21525 graphical user interface. 21526 Create the Google Drive 21527 remote (https://rclone.org/drive/#standard-options). 21528 When done, transfer the resulting \f[C]rclone.conf\f[R] to the Swarm 21529 cluster and save as 21530 \f[C]/var/lib/docker-plugins/rclone/config/rclone.conf\f[R] on 21531 \f[I]every\f[R] node. 21532 By default this location is accessible only to the root user so you will 21533 need appropriate privileges. 21534 The resulting config will look like this: 21535 .IP 21536 .nf 21537 \f[C] 21538 [gdrive] 21539 type = drive 21540 scope = drive 21541 drive_id = 1234567... 21542 root_folder_id = 0Abcd... 21543 token = {\[dq]access_token\[dq]:...} 21544 \f[R] 21545 .fi 21546 .PP 21547 Now create the file named \f[C]example.yml\f[R] with a swarm stack 21548 description like this: 21549 .IP 21550 .nf 21551 \f[C] 21552 version: \[aq]3\[aq] 21553 services: 21554 heimdall: 21555 image: linuxserver/heimdall:latest 21556 ports: [8080:80] 21557 volumes: [configdata:/config] 21558 volumes: 21559 configdata: 21560 driver: rclone 21561 driver_opts: 21562 remote: \[aq]gdrive:heimdall\[aq] 21563 allow_other: \[aq]true\[aq] 21564 vfs_cache_mode: full 21565 poll_interval: 0 21566 \f[R] 21567 .fi 21568 .PP 21569 and run the stack: 21570 .IP 21571 .nf 21572 \f[C] 21573 docker stack deploy example -c ./example.yml 21574 \f[R] 21575 .fi 21576 .PP 21577 After a few seconds docker will spread the parsed stack description over 21578 cluster, create the \f[C]example_heimdall\f[R] service on port 21579 \f[I]8080\f[R], run service containers on one or more cluster nodes and 21580 request the \f[C]example_configdata\f[R] volume from rclone plugins on 21581 the node hosts. 21582 You can use the following commands to confirm results: 21583 .IP 21584 .nf 21585 \f[C] 21586 docker service ls 21587 docker service ps example_heimdall 21588 docker volume ls 21589 \f[R] 21590 .fi 21591 .PP 21592 Point your browser to \f[C]http://cluster.host.address:8080\f[R] and 21593 play with the service. 21594 Stop it with \f[C]docker stack remove example\f[R] when you are done. 21595 Note that the \f[C]example_configdata\f[R] volume(s) created on demand 21596 at the cluster nodes will not be automatically removed together with the 21597 stack but stay for future reuse. 21598 You can remove them manually by invoking the 21599 \f[C]docker volume remove example_configdata\f[R] command on every node. 21600 .SS Creating Volumes via CLI 21601 .PP 21602 Volumes can be created with docker volume 21603 create (https://docs.docker.com/engine/reference/commandline/volume_create/). 21604 Here are a few examples: 21605 .IP 21606 .nf 21607 \f[C] 21608 docker volume create vol1 -d rclone -o remote=storj: -o vfs-cache-mode=full 21609 docker volume create vol2 -d rclone -o remote=:storj,access_grant=xxx:heimdall 21610 docker volume create vol3 -d rclone -o type=storj -o path=heimdall -o storj-access-grant=xxx -o poll-interval=0 21611 \f[R] 21612 .fi 21613 .PP 21614 Note the \f[C]-d rclone\f[R] flag that tells docker to request volume 21615 from the rclone driver. 21616 This works even if you installed managed driver by its full name 21617 \f[C]rclone/docker-volume-rclone\f[R] because you provided the 21618 \f[C]--alias rclone\f[R] option. 21619 .PP 21620 Volumes can be inspected as follows: 21621 .IP 21622 .nf 21623 \f[C] 21624 docker volume list 21625 docker volume inspect vol1 21626 \f[R] 21627 .fi 21628 .SS Volume Configuration 21629 .PP 21630 Rclone flags and volume options are set via the \f[C]-o\f[R] flag to the 21631 \f[C]docker volume create\f[R] command. 21632 They include backend-specific parameters as well as mount and 21633 \f[I]VFS\f[R] options. 21634 Also there are a few special \f[C]-o\f[R] options: \f[C]remote\f[R], 21635 \f[C]fs\f[R], \f[C]type\f[R], \f[C]path\f[R], \f[C]mount-type\f[R] and 21636 \f[C]persist\f[R]. 21637 .PP 21638 \f[C]remote\f[R] determines an existing remote name from the config 21639 file, with trailing colon and optionally with a remote path. 21640 See the full syntax in the rclone 21641 documentation (https://rclone.org/docs/#syntax-of-remote-paths). 21642 This option can be aliased as \f[C]fs\f[R] to prevent confusion with the 21643 \f[I]remote\f[R] parameter of such backends as \f[I]crypt\f[R] or 21644 \f[I]alias\f[R]. 21645 .PP 21646 The \f[C]remote=:backend:dir/subdir\f[R] syntax can be used to create 21647 on-the-fly (config-less) 21648 remotes (https://rclone.org/docs/#backend-path-to-dir), while the 21649 \f[C]type\f[R] and \f[C]path\f[R] options provide a simpler alternative 21650 for this. 21651 Using two split options 21652 .IP 21653 .nf 21654 \f[C] 21655 -o type=backend -o path=dir/subdir 21656 \f[R] 21657 .fi 21658 .PP 21659 is equivalent to the combined syntax 21660 .IP 21661 .nf 21662 \f[C] 21663 -o remote=:backend:dir/subdir 21664 \f[R] 21665 .fi 21666 .PP 21667 but is arguably easier to parameterize in scripts. 21668 The \f[C]path\f[R] part is optional. 21669 .PP 21670 Mount and VFS 21671 options (https://rclone.org/commands/rclone_serve_docker/#options) as 21672 well as backend parameters (https://rclone.org/flags/#backend-flags) are 21673 named like their twin command-line flags without the \f[C]--\f[R] CLI 21674 prefix. 21675 Optionally you can use underscores instead of dashes in option names. 21676 For example, \f[C]--vfs-cache-mode full\f[R] becomes 21677 \f[C]-o vfs-cache-mode=full\f[R] or \f[C]-o vfs_cache_mode=full\f[R]. 21678 Boolean CLI flags without value will gain the \f[C]true\f[R] value, e.g. 21679 \f[C]--allow-other\f[R] becomes \f[C]-o allow-other=true\f[R] or 21680 \f[C]-o allow_other=true\f[R]. 21681 .PP 21682 Please note that you can provide parameters only for the backend 21683 immediately referenced by the backend type of mounted \f[C]remote\f[R]. 21684 If this is a wrapping backend like \f[I]alias, chunker or crypt\f[R], 21685 you cannot provide options for the referred to remote or backend. 21686 This limitation is imposed by the rclone connection string parser. 21687 The only workaround is to feed plugin with \f[C]rclone.conf\f[R] or 21688 configure plugin arguments (see below). 21689 .SS Special Volume Options 21690 .PP 21691 \f[C]mount-type\f[R] determines the mount method and in general can be 21692 one of: \f[C]mount\f[R], \f[C]cmount\f[R], or \f[C]mount2\f[R]. 21693 This can be aliased as \f[C]mount_type\f[R]. 21694 It should be noted that the managed rclone docker plugin currently does 21695 not support the \f[C]cmount\f[R] method and \f[C]mount2\f[R] is rarely 21696 needed. 21697 This option defaults to the first found method, which is usually 21698 \f[C]mount\f[R] so you generally won\[aq]t need it. 21699 .PP 21700 \f[C]persist\f[R] is a reserved boolean (true/false) option. 21701 In future it will allow to persist on-the-fly remotes in the plugin 21702 \f[C]rclone.conf\f[R] file. 21703 .SS Connection Strings 21704 .PP 21705 The \f[C]remote\f[R] value can be extended with connection 21706 strings (https://rclone.org/docs/#connection-strings) as an alternative 21707 way to supply backend parameters. 21708 This is equivalent to the \f[C]-o\f[R] backend options with one 21709 \f[I]syntactic difference\f[R]. 21710 Inside connection string the backend prefix must be dropped from 21711 parameter names but in the \f[C]-o param=value\f[R] array it must be 21712 present. 21713 For instance, compare the following option array 21714 .IP 21715 .nf 21716 \f[C] 21717 -o remote=:sftp:/home -o sftp-host=localhost 21718 \f[R] 21719 .fi 21720 .PP 21721 with equivalent connection string: 21722 .IP 21723 .nf 21724 \f[C] 21725 -o remote=:sftp,host=localhost:/home 21726 \f[R] 21727 .fi 21728 .PP 21729 This difference exists because flag options \f[C]-o key=val\f[R] include 21730 not only backend parameters but also mount/VFS flags and possibly other 21731 settings. 21732 Also it allows to discriminate the \f[C]remote\f[R] option from the 21733 \f[C]crypt-remote\f[R] (or similarly named backend parameters) and 21734 arguably simplifies scripting due to clearer value substitution. 21735 .SS Using with Swarm or Compose 21736 .PP 21737 Both \f[I]Docker Swarm\f[R] and \f[I]Docker Compose\f[R] use 21738 YAML (http://yaml.org/spec/1.2/spec.html)-formatted text files to 21739 describe groups (stacks) of containers, their properties, networks and 21740 volumes. 21741 \f[I]Compose\f[R] uses the compose 21742 v2 (https://docs.docker.com/compose/compose-file/compose-file-v2/#volume-configuration-reference) 21743 format, \f[I]Swarm\f[R] uses the compose 21744 v3 (https://docs.docker.com/compose/compose-file/compose-file-v3/#volume-configuration-reference) 21745 format. 21746 They are mostly similar, differences are explained in the docker 21747 documentation (https://docs.docker.com/compose/compose-file/compose-versioning/#upgrading). 21748 .PP 21749 Volumes are described by the children of the top-level 21750 \f[C]volumes:\f[R] node. 21751 Each of them should be named after its volume and have at least two 21752 elements, the self-explanatory \f[C]driver: rclone\f[R] value and the 21753 \f[C]driver_opts:\f[R] structure playing the same role as 21754 \f[C]-o key=val\f[R] CLI flags: 21755 .IP 21756 .nf 21757 \f[C] 21758 volumes: 21759 volume_name_1: 21760 driver: rclone 21761 driver_opts: 21762 remote: \[aq]gdrive:\[aq] 21763 allow_other: \[aq]true\[aq] 21764 vfs_cache_mode: full 21765 token: \[aq]{\[dq]type\[dq]: \[dq]borrower\[dq], \[dq]expires\[dq]: \[dq]2021-12-31\[dq]}\[aq] 21766 poll_interval: 0 21767 \f[R] 21768 .fi 21769 .PP 21770 Notice a few important details: - YAML prefers \f[C]_\f[R] in option 21771 names instead of \f[C]-\f[R]. 21772 - YAML treats single and double quotes interchangeably. 21773 Simple strings and integers can be left unquoted. 21774 - Boolean values must be quoted like \f[C]\[aq]true\[aq]\f[R] or 21775 \f[C]\[dq]false\[dq]\f[R] because these two words are reserved by YAML. 21776 - The filesystem string is keyed with \f[C]remote\f[R] (or with 21777 \f[C]fs\f[R]). 21778 Normally you can omit quotes here, but if the string ends with colon, 21779 you \f[B]must\f[R] quote it like 21780 \f[C]remote: \[dq]storage_box:\[dq]\f[R]. 21781 - YAML is picky about surrounding braces in values as this is in fact 21782 another syntax for key/value 21783 mappings (http://yaml.org/spec/1.2/spec.html#id2790832). 21784 For example, JSON access tokens usually contain double quotes and 21785 surrounding braces, so you must put them in single quotes. 21786 .SS Installing as Managed Plugin 21787 .PP 21788 Docker daemon can install plugins from an image registry and run them 21789 managed. 21790 We maintain the 21791 docker-volume-rclone (https://hub.docker.com/p/rclone/docker-volume-rclone/) 21792 plugin image on Docker Hub (https://hub.docker.com). 21793 .PP 21794 Rclone volume plugin requires \f[B]Docker Engine >= 19.03.15\f[R] 21795 .PP 21796 The plugin requires presence of two directories on the host before it 21797 can be installed. 21798 Note that plugin will \f[B]not\f[R] create them automatically. 21799 By default they must exist on host at the following locations (though 21800 you can tweak the paths): - 21801 \f[C]/var/lib/docker-plugins/rclone/config\f[R] is reserved for the 21802 \f[C]rclone.conf\f[R] config file and \f[B]must\f[R] exist even if 21803 it\[aq]s empty and the config file is not present. 21804 - \f[C]/var/lib/docker-plugins/rclone/cache\f[R] holds the plugin state 21805 file as well as optional VFS caches. 21806 .PP 21807 You can install managed 21808 plugin (https://docs.docker.com/engine/reference/commandline/plugin_install/) 21809 with default settings as follows: 21810 .IP 21811 .nf 21812 \f[C] 21813 docker plugin install rclone/docker-volume-rclone:amd64 --grant-all-permissions --alias rclone 21814 \f[R] 21815 .fi 21816 .PP 21817 The \f[C]:amd64\f[R] part of the image specification after colon is 21818 called a \f[I]tag\f[R]. 21819 Usually you will want to install the latest plugin for your 21820 architecture. 21821 In this case the tag will just name it, like \f[C]amd64\f[R] above. 21822 The following plugin architectures are currently available: - 21823 \f[C]amd64\f[R] - \f[C]arm64\f[R] - \f[C]arm-v7\f[R] 21824 .PP 21825 Sometimes you might want a concrete plugin version, not the latest one. 21826 Then you should use image tag in the form 21827 \f[C]:ARCHITECTURE-VERSION\f[R]. 21828 For example, to install plugin version \f[C]v1.56.2\f[R] on architecture 21829 \f[C]arm64\f[R] you will use tag \f[C]arm64-1.56.2\f[R] (note the 21830 removed \f[C]v\f[R]) so the full image specification becomes 21831 \f[C]rclone/docker-volume-rclone:arm64-1.56.2\f[R]. 21832 .PP 21833 We also provide the \f[C]latest\f[R] plugin tag, but since docker does 21834 not support multi-architecture plugins as of the time of this writing, 21835 this tag is currently an \f[B]alias for \f[CB]amd64\f[B]\f[R]. 21836 By convention the \f[C]latest\f[R] tag is the default one and can be 21837 omitted, thus both \f[C]rclone/docker-volume-rclone:latest\f[R] and just 21838 \f[C]rclone/docker-volume-rclone\f[R] will refer to the latest plugin 21839 release for the \f[C]amd64\f[R] platform. 21840 .PP 21841 Also the \f[C]amd64\f[R] part can be omitted from the versioned rclone 21842 plugin tags. 21843 For example, rclone image reference 21844 \f[C]rclone/docker-volume-rclone:amd64-1.56.2\f[R] can be abbreviated as 21845 \f[C]rclone/docker-volume-rclone:1.56.2\f[R] for convenience. 21846 However, for non-intel architectures you still have to use the full tag 21847 as \f[C]amd64\f[R] or \f[C]latest\f[R] will fail to start. 21848 .PP 21849 Managed plugin is in fact a special container running in a namespace 21850 separate from normal docker containers. 21851 Inside it runs the \f[C]rclone serve docker\f[R] command. 21852 The config and cache directories are bind-mounted into the container at 21853 start. 21854 The docker daemon connects to a unix socket created by the command 21855 inside the container. 21856 The command creates on-demand remote mounts right inside, then docker 21857 machinery propagates them through kernel mount namespaces and 21858 bind-mounts into requesting user containers. 21859 .PP 21860 You can tweak a few plugin settings after installation when it\[aq]s 21861 disabled (not in use), for instance: 21862 .IP 21863 .nf 21864 \f[C] 21865 docker plugin disable rclone 21866 docker plugin set rclone RCLONE_VERBOSE=2 config=/etc/rclone args=\[dq]--vfs-cache-mode=writes --allow-other\[dq] 21867 docker plugin enable rclone 21868 docker plugin inspect rclone 21869 \f[R] 21870 .fi 21871 .PP 21872 Note that if docker refuses to disable the plugin, you should find and 21873 remove all active volumes connected with it as well as containers and 21874 swarm services that use them. 21875 This is rather tedious so please carefully plan in advance. 21876 .PP 21877 You can tweak the following settings: \f[C]args\f[R], \f[C]config\f[R], 21878 \f[C]cache\f[R], \f[C]HTTP_PROXY\f[R], \f[C]HTTPS_PROXY\f[R], 21879 \f[C]NO_PROXY\f[R] and \f[C]RCLONE_VERBOSE\f[R]. 21880 It\[aq]s \f[I]your\f[R] task to keep plugin settings in sync across 21881 swarm cluster nodes. 21882 .PP 21883 \f[C]args\f[R] sets command-line arguments for the 21884 \f[C]rclone serve docker\f[R] command (\f[I]none\f[R] by default). 21885 Arguments should be separated by space so you will normally want to put 21886 them in quotes on the docker plugin 21887 set (https://docs.docker.com/engine/reference/commandline/plugin_set/) 21888 command line. 21889 Both serve docker 21890 flags (https://rclone.org/commands/rclone_serve_docker/#options) and 21891 generic rclone flags (https://rclone.org/flags/) are supported, 21892 including backend parameters that will be used as defaults for volume 21893 creation. 21894 Note that plugin will fail (due to this docker 21895 bug (https://github.com/moby/moby/blob/v20.10.7/plugin/v2/plugin.go#L195)) 21896 if the \f[C]args\f[R] value is empty. 21897 Use e.g. 21898 \f[C]args=\[dq]-v\[dq]\f[R] as a workaround. 21899 .PP 21900 \f[C]config=/host/dir\f[R] sets alternative host location for the config 21901 directory. 21902 Plugin will look for \f[C]rclone.conf\f[R] here. 21903 It\[aq]s not an error if the config file is not present but the 21904 directory must exist. 21905 Please note that plugin can periodically rewrite the config file, for 21906 example when it renews storage access tokens. 21907 Keep this in mind and try to avoid races between the plugin and other 21908 instances of rclone on the host that might try to change the config 21909 simultaneously resulting in corrupted \f[C]rclone.conf\f[R]. 21910 You can also put stuff like private key files for SFTP remotes in this 21911 directory. 21912 Just note that it\[aq]s bind-mounted inside the plugin container at the 21913 predefined path \f[C]/data/config\f[R]. 21914 For example, if your key file is named \f[C]sftp-box1.key\f[R] on the 21915 host, the corresponding volume config option should read 21916 \f[C]-o sftp-key-file=/data/config/sftp-box1.key\f[R]. 21917 .PP 21918 \f[C]cache=/host/dir\f[R] sets alternative host location for the 21919 \f[I]cache\f[R] directory. 21920 The plugin will keep VFS caches here. 21921 Also it will create and maintain the \f[C]docker-plugin.state\f[R] file 21922 in this directory. 21923 When the plugin is restarted or reinstalled, it will look in this file 21924 to recreate any volumes that existed previously. 21925 However, they will not be re-mounted into consuming containers after 21926 restart. 21927 Usually this is not a problem as the docker daemon normally will restart 21928 affected user containers after failures, daemon restarts or host 21929 reboots. 21930 .PP 21931 \f[C]RCLONE_VERBOSE\f[R] sets plugin verbosity from \f[C]0\f[R] (errors 21932 only, by default) to \f[C]2\f[R] (debugging). 21933 Verbosity can be also tweaked via \f[C]args=\[dq]-v [-v] ...\[dq]\f[R]. 21934 Since arguments are more generic, you will rarely need this setting. 21935 The plugin output by default feeds the docker daemon log on local host. 21936 Log entries are reflected as \f[I]errors\f[R] in the docker log but 21937 retain their actual level assigned by rclone in the encapsulated message 21938 string. 21939 .PP 21940 \f[C]HTTP_PROXY\f[R], \f[C]HTTPS_PROXY\f[R], \f[C]NO_PROXY\f[R] 21941 customize the plugin proxy settings. 21942 .PP 21943 You can set custom plugin options right when you install it, \f[I]in one 21944 go\f[R]: 21945 .IP 21946 .nf 21947 \f[C] 21948 docker plugin remove rclone 21949 docker plugin install rclone/docker-volume-rclone:amd64 \[rs] 21950 --alias rclone --grant-all-permissions \[rs] 21951 args=\[dq]-v --allow-other\[dq] config=/etc/rclone 21952 docker plugin inspect rclone 21953 \f[R] 21954 .fi 21955 .SS Healthchecks 21956 .PP 21957 The docker plugin volume protocol doesn\[aq]t provide a way for plugins 21958 to inform the docker daemon that a volume is (un-)available. 21959 As a workaround you can setup a healthcheck to verify that the mount is 21960 responding, for example: 21961 .IP 21962 .nf 21963 \f[C] 21964 services: 21965 my_service: 21966 image: my_image 21967 healthcheck: 21968 test: ls /path/to/rclone/mount || exit 1 21969 interval: 1m 21970 timeout: 15s 21971 retries: 3 21972 start_period: 15s 21973 \f[R] 21974 .fi 21975 .SS Running Plugin under Systemd 21976 .PP 21977 In most cases you should prefer managed mode. 21978 Moreover, MacOS and Windows do not support native Docker plugins. 21979 Please use managed mode on these systems. 21980 Proceed further only if you are on Linux. 21981 .PP 21982 First, install rclone (https://rclone.org/install/). 21983 You can just run it (type \f[C]rclone serve docker\f[R] and hit enter) 21984 for the test. 21985 .PP 21986 Install \f[I]FUSE\f[R]: 21987 .IP 21988 .nf 21989 \f[C] 21990 sudo apt-get -y install fuse 21991 \f[R] 21992 .fi 21993 .PP 21994 Download two systemd configuration files: 21995 docker-volume-rclone.service (https://raw.githubusercontent.com/divyam234/rclone/master/contrib/docker-plugin/systemd/docker-volume-rclone.service) 21996 and 21997 docker-volume-rclone.socket (https://raw.githubusercontent.com/divyam234/rclone/master/contrib/docker-plugin/systemd/docker-volume-rclone.socket). 21998 .PP 21999 Put them to the \f[C]/etc/systemd/system/\f[R] directory: 22000 .IP 22001 .nf 22002 \f[C] 22003 cp docker-volume-plugin.service /etc/systemd/system/ 22004 cp docker-volume-plugin.socket /etc/systemd/system/ 22005 \f[R] 22006 .fi 22007 .PP 22008 Please note that all commands in this section must be run as 22009 \f[I]root\f[R] but we omit \f[C]sudo\f[R] prefix for brevity. 22010 Now create directories required by the service: 22011 .IP 22012 .nf 22013 \f[C] 22014 mkdir -p /var/lib/docker-volumes/rclone 22015 mkdir -p /var/lib/docker-plugins/rclone/config 22016 mkdir -p /var/lib/docker-plugins/rclone/cache 22017 \f[R] 22018 .fi 22019 .PP 22020 Run the docker plugin service in the socket activated mode: 22021 .IP 22022 .nf 22023 \f[C] 22024 systemctl daemon-reload 22025 systemctl start docker-volume-rclone.service 22026 systemctl enable docker-volume-rclone.socket 22027 systemctl start docker-volume-rclone.socket 22028 systemctl restart docker 22029 \f[R] 22030 .fi 22031 .PP 22032 Or run the service directly: - run \f[C]systemctl daemon-reload\f[R] to 22033 let systemd pick up new config - run 22034 \f[C]systemctl enable docker-volume-rclone.service\f[R] to make the new 22035 service start automatically when you power on your machine. 22036 - run \f[C]systemctl start docker-volume-rclone.service\f[R] to start 22037 the service now. 22038 - run \f[C]systemctl restart docker\f[R] to restart docker daemon and 22039 let it detect the new plugin socket. 22040 Note that this step is not needed in managed mode where docker knows 22041 about plugin state changes. 22042 .PP 22043 The two methods are equivalent from the user perspective, but I 22044 personally prefer socket activation. 22045 .SS Troubleshooting 22046 .PP 22047 You can see managed plugin 22048 settings (https://docs.docker.com/engine/extend/#debugging-plugins) with 22049 .IP 22050 .nf 22051 \f[C] 22052 docker plugin list 22053 docker plugin inspect rclone 22054 \f[R] 22055 .fi 22056 .PP 22057 Note that docker (including latest 20.10.7) will not show actual values 22058 of \f[C]args\f[R], just the defaults. 22059 .PP 22060 Use \f[C]journalctl --unit docker\f[R] to see managed plugin output as 22061 part of the docker daemon log. 22062 Note that docker reflects plugin lines as \f[I]errors\f[R] but their 22063 actual level can be seen from encapsulated message string. 22064 .PP 22065 You will usually install the latest version of managed plugin for your 22066 platform. 22067 Use the following commands to print the actual installed version: 22068 .IP 22069 .nf 22070 \f[C] 22071 PLUGID=$(docker plugin list --no-trunc | awk \[aq]/rclone/{print$1}\[aq]) 22072 sudo runc --root /run/docker/runtime-runc/plugins.moby exec $PLUGID rclone version 22073 \f[R] 22074 .fi 22075 .PP 22076 You can even use \f[C]runc\f[R] to run shell inside the plugin 22077 container: 22078 .IP 22079 .nf 22080 \f[C] 22081 sudo runc --root /run/docker/runtime-runc/plugins.moby exec --tty $PLUGID bash 22082 \f[R] 22083 .fi 22084 .PP 22085 Also you can use curl to check the plugin socket connectivity: 22086 .IP 22087 .nf 22088 \f[C] 22089 docker plugin list --no-trunc 22090 PLUGID=123abc... 22091 sudo curl -H Content-Type:application/json -XPOST -d {} --unix-socket /run/docker/plugins/$PLUGID/rclone.sock http://localhost/Plugin.Activate 22092 \f[R] 22093 .fi 22094 .PP 22095 though this is rarely needed. 22096 .SS Caveats 22097 .PP 22098 Finally I\[aq]d like to mention a \f[I]caveat with updating volume 22099 settings\f[R]. 22100 Docker CLI does not have a dedicated command like 22101 \f[C]docker volume update\f[R]. 22102 It may be tempting to invoke \f[C]docker volume create\f[R] with updated 22103 options on existing volume, but there is a gotcha. 22104 The command will do nothing, it won\[aq]t even return an error. 22105 I hope that docker maintainers will fix this some day. 22106 In the meantime be aware that you must remove your volume before 22107 recreating it with new settings: 22108 .IP 22109 .nf 22110 \f[C] 22111 docker volume remove my_vol 22112 docker volume create my_vol -d rclone -o opt1=new_val1 ... 22113 \f[R] 22114 .fi 22115 .PP 22116 and verify that settings did update: 22117 .IP 22118 .nf 22119 \f[C] 22120 docker volume list 22121 docker volume inspect my_vol 22122 \f[R] 22123 .fi 22124 .PP 22125 If docker refuses to remove the volume, you should find containers or 22126 swarm services that use it and stop them first. 22127 .SS Getting started 22128 .IP \[bu] 2 22129 Install rclone (https://rclone.org/install/) and setup your remotes. 22130 .IP \[bu] 2 22131 Bisync will create its working directory at 22132 \f[C]\[ti]/.cache/rclone/bisync\f[R] on Linux or 22133 \f[C]C:\[rs]Users\[rs]MyLogin\[rs]AppData\[rs]Local\[rs]rclone\[rs]bisync\f[R] 22134 on Windows. 22135 Make sure that this location is writable. 22136 .IP \[bu] 2 22137 Run bisync with the \f[C]--resync\f[R] flag, specifying the paths to the 22138 local and remote sync directory roots. 22139 .IP \[bu] 2 22140 For successive sync runs, leave off the \f[C]--resync\f[R] flag. 22141 .IP \[bu] 2 22142 Consider using a filters file for excluding unnecessary files and 22143 directories from the sync. 22144 .IP \[bu] 2 22145 Consider setting up the --check-access feature for safety. 22146 .IP \[bu] 2 22147 On Linux, consider setting up a crontab entry. 22148 bisync can safely run in concurrent cron jobs thanks to lock files it 22149 maintains. 22150 .PP 22151 Here is a typical run log (with timestamps removed for clarity): 22152 .IP 22153 .nf 22154 \f[C] 22155 rclone bisync /testdir/path1/ /testdir/path2/ --verbose 22156 INFO : Synching Path1 \[dq]/testdir/path1/\[dq] with Path2 \[dq]/testdir/path2/\[dq] 22157 INFO : Path1 checking for diffs 22158 INFO : - Path1 File is new - file11.txt 22159 INFO : - Path1 File is newer - file2.txt 22160 INFO : - Path1 File is newer - file5.txt 22161 INFO : - Path1 File is newer - file7.txt 22162 INFO : - Path1 File was deleted - file4.txt 22163 INFO : - Path1 File was deleted - file6.txt 22164 INFO : - Path1 File was deleted - file8.txt 22165 INFO : Path1: 7 changes: 1 new, 3 newer, 0 older, 3 deleted 22166 INFO : Path2 checking for diffs 22167 INFO : - Path2 File is new - file10.txt 22168 INFO : - Path2 File is newer - file1.txt 22169 INFO : - Path2 File is newer - file5.txt 22170 INFO : - Path2 File is newer - file6.txt 22171 INFO : - Path2 File was deleted - file3.txt 22172 INFO : - Path2 File was deleted - file7.txt 22173 INFO : - Path2 File was deleted - file8.txt 22174 INFO : Path2: 7 changes: 1 new, 3 newer, 0 older, 3 deleted 22175 INFO : Applying changes 22176 INFO : - Path1 Queue copy to Path2 - /testdir/path2/file11.txt 22177 INFO : - Path1 Queue copy to Path2 - /testdir/path2/file2.txt 22178 INFO : - Path2 Queue delete - /testdir/path2/file4.txt 22179 NOTICE: - WARNING New or changed in both paths - file5.txt 22180 NOTICE: - Path1 Renaming Path1 copy - /testdir/path1/file5.txt..path1 22181 NOTICE: - Path1 Queue copy to Path2 - /testdir/path2/file5.txt..path1 22182 NOTICE: - Path2 Renaming Path2 copy - /testdir/path2/file5.txt..path2 22183 NOTICE: - Path2 Queue copy to Path1 - /testdir/path1/file5.txt..path2 22184 INFO : - Path2 Queue copy to Path1 - /testdir/path1/file6.txt 22185 INFO : - Path1 Queue copy to Path2 - /testdir/path2/file7.txt 22186 INFO : - Path2 Queue copy to Path1 - /testdir/path1/file1.txt 22187 INFO : - Path2 Queue copy to Path1 - /testdir/path1/file10.txt 22188 INFO : - Path1 Queue delete - /testdir/path1/file3.txt 22189 INFO : - Path2 Do queued copies to - Path1 22190 INFO : - Path1 Do queued copies to - Path2 22191 INFO : - Do queued deletes on - Path1 22192 INFO : - Do queued deletes on - Path2 22193 INFO : Updating listings 22194 INFO : Validating listings for Path1 \[dq]/testdir/path1/\[dq] vs Path2 \[dq]/testdir/path2/\[dq] 22195 INFO : Bisync successful 22196 \f[R] 22197 .fi 22198 .SS Command line syntax 22199 .IP 22200 .nf 22201 \f[C] 22202 $ rclone bisync --help 22203 Usage: 22204 rclone bisync remote1:path1 remote2:path2 [flags] 22205 22206 Positional arguments: 22207 Path1, Path2 Local path, or remote storage with \[aq]:\[aq] plus optional path. 22208 Type \[aq]rclone listremotes\[aq] for list of configured remotes. 22209 22210 Optional Flags: 22211 --check-access Ensure expected \[ga]RCLONE_TEST\[ga] files are found on 22212 both Path1 and Path2 filesystems, else abort. 22213 --check-filename FILENAME Filename for \[ga]--check-access\[ga] (default: \[ga]RCLONE_TEST\[ga]) 22214 --check-sync CHOICE Controls comparison of final listings: 22215 \[ga]true | false | only\[ga] (default: true) 22216 If set to \[ga]only\[ga], bisync will only compare listings 22217 from the last run but skip actual sync. 22218 --filters-file PATH Read filtering patterns from a file 22219 --max-delete PERCENT Safety check on maximum percentage of deleted files allowed. 22220 If exceeded, the bisync run will abort. (default: 50%) 22221 --force Bypass \[ga]--max-delete\[ga] safety check and run the sync. 22222 Consider using with \[ga]--verbose\[ga] 22223 --remove-empty-dirs Remove empty directories at the final cleanup step. 22224 -1, --resync Performs the resync run. 22225 Warning: Path1 files may overwrite Path2 versions. 22226 Consider using \[ga]--verbose\[ga] or \[ga]--dry-run\[ga] first. 22227 --localtime Use local time in listings (default: UTC) 22228 --no-cleanup Retain working files (useful for troubleshooting and testing). 22229 --workdir PATH Use custom working directory (useful for testing). 22230 (default: \[ga]\[ti]/.cache/rclone/bisync\[ga]) 22231 -n, --dry-run Go through the motions - No files are copied/deleted. 22232 -v, --verbose Increases logging verbosity. 22233 May be specified more than once for more details. 22234 -h, --help help for bisync 22235 \f[R] 22236 .fi 22237 .PP 22238 Arbitrary rclone flags may be specified on the bisync command 22239 line (https://rclone.org/commands/rclone_bisync/), for example 22240 \f[C]rclone bisync ./testdir/path1/ gdrive:testdir/path2/ --drive-skip-gdocs -v -v --timeout 10s\f[R] 22241 Note that interactions of various rclone flags with bisync process flow 22242 has not been fully tested yet. 22243 .SS Paths 22244 .PP 22245 Path1 and Path2 arguments may be references to any mix of local 22246 directory paths (absolute or relative), UNC paths 22247 (\f[C]//server/share/path\f[R]), Windows drive paths (with a drive 22248 letter and \f[C]:\f[R]) or configured 22249 remotes (https://rclone.org/docs/#syntax-of-remote-paths) with optional 22250 subdirectory paths. 22251 Cloud references are distinguished by having a \f[C]:\f[R] in the 22252 argument (see Windows support below). 22253 .PP 22254 Path1 and Path2 are treated equally, in that neither has priority for 22255 file changes, and access efficiency does not change whether a remote is 22256 on Path1 or Path2. 22257 .PP 22258 The listings in bisync working directory (default: 22259 \f[C]\[ti]/.cache/rclone/bisync\f[R]) are named based on the Path1 and 22260 Path2 arguments so that separate syncs to individual directories within 22261 the tree may be set up, e.g.: 22262 \f[C]path_to_local_tree..dropbox_subdir.lst\f[R]. 22263 .PP 22264 Any empty directories after the sync on both the Path1 and Path2 22265 filesystems are not deleted by default. 22266 If the \f[C]--remove-empty-dirs\f[R] flag is specified, then both paths 22267 will have any empty directories purged as the last step in the process. 22268 .SS Command-line flags 22269 .SS --resync 22270 .PP 22271 This will effectively make both Path1 and Path2 filesystems contain a 22272 matching superset of all files. 22273 Path2 files that do not exist in Path1 will be copied to Path1, and the 22274 process will then sync the Path1 tree to Path2. 22275 .PP 22276 The base directories on the both Path1 and Path2 filesystems must exist 22277 or bisync will fail. 22278 This is required for safety - that bisync can verify that both paths are 22279 valid. 22280 .PP 22281 When using \f[C]--resync\f[R], a newer version of a file either on Path1 22282 or Path2 filesystem, will overwrite the file on the other path (only the 22283 last version will be kept). 22284 Carefully evaluate deltas using 22285 --dry-run (https://rclone.org/flags/#non-backend-flags). 22286 .PP 22287 For a resync run, one of the paths may be empty (no files in the path 22288 tree). 22289 The resync run should result in files on both paths, else a normal 22290 non-resync run will fail. 22291 .PP 22292 For a non-resync run, either path being empty (no files in the tree) 22293 fails with 22294 \f[C]Empty current PathN listing. Cannot sync to an empty directory: X.pathN.lst\f[R] 22295 This is a safety check that an unexpected empty path does not result in 22296 deleting \f[B]everything\f[R] in the other path. 22297 .SS --check-access 22298 .PP 22299 Access check files are an additional safety measure against data loss. 22300 bisync will ensure it can find matching \f[C]RCLONE_TEST\f[R] files in 22301 the same places in the Path1 and Path2 filesystems. 22302 \f[C]RCLONE_TEST\f[R] files are not generated automatically. 22303 For \f[C]--check-access\f[R]to succeed, you must first either: 22304 \f[B]A)\f[R] Place one or more \f[C]RCLONE_TEST\f[R] files in the Path1 22305 or Path2 filesystem and then do either a run without 22306 \f[C]--check-access\f[R] or a --resync to set matching files on both 22307 filesystems, or \f[B]B)\f[R] Set \f[C]--check-filename\f[R] to a 22308 filename already in use in various locations throughout your sync\[aq]d 22309 fileset. 22310 Time stamps and file contents are not important, just the names and 22311 locations. 22312 If you have symbolic links in your sync tree it is recommended to place 22313 \f[C]RCLONE_TEST\f[R] files in the linked-to directory tree to protect 22314 against bisync assuming a bunch of deleted files if the linked-to tree 22315 should not be accessible. 22316 See also the --check-filename flag. 22317 .SS --check-filename 22318 .PP 22319 Name of the file(s) used in access health validation. 22320 The default \f[C]--check-filename\f[R] is \f[C]RCLONE_TEST\f[R]. 22321 One or more files having this filename must exist, synchronized between 22322 your source and destination filesets, in order for 22323 \f[C]--check-access\f[R] to succeed. 22324 See --check-access for additional details. 22325 .SS --max-delete 22326 .PP 22327 As a safety check, if greater than the \f[C]--max-delete\f[R] percent of 22328 files were deleted on either the Path1 or Path2 filesystem, then bisync 22329 will abort with a warning message, without making any changes. 22330 The default \f[C]--max-delete\f[R] is \f[C]50%\f[R]. 22331 One way to trigger this limit is to rename a directory that contains 22332 more than half of your files. 22333 This will appear to bisync as a bunch of deleted files and a bunch of 22334 new files. 22335 This safety check is intended to block bisync from deleting all of the 22336 files on both filesystems due to a temporary network access issue, or if 22337 the user had inadvertently deleted the files on one side or the other. 22338 To force the sync either set a different delete percentage limit, e.g. 22339 \f[C]--max-delete 75\f[R] (allows up to 75% deletion), or use 22340 \f[C]--force\f[R] to bypass the check. 22341 .PP 22342 Also see the all files changed check. 22343 .SS --filters-file 22344 .PP 22345 By using rclone filter features you can exclude file types or directory 22346 sub-trees from the sync. 22347 See the bisync filters section and generic 22348 --filter-from (https://rclone.org/filtering/#filter-from-read-filtering-patterns-from-a-file) 22349 documentation. 22350 An example filters file contains filters for non-allowed files for 22351 synching with Dropbox. 22352 .PP 22353 If you make changes to your filters file then bisync requires a run with 22354 \f[C]--resync\f[R]. 22355 This is a safety feature, which avoids existing files on the Path1 22356 and/or Path2 side from seeming to disappear from view (since they are 22357 excluded in the new listings), which would fool bisync into seeing them 22358 as deleted (as compared to the prior run listings), and then bisync 22359 would proceed to delete them for real. 22360 .PP 22361 To block this from happening bisync calculates an MD5 hash of the 22362 filters file and stores the hash in a \f[C].md5\f[R] file in the same 22363 place as your filters file. 22364 On the next runs with \f[C]--filters-file\f[R] set, bisync re-calculates 22365 the MD5 hash of the current filters file and compares it to the hash 22366 stored in \f[C].md5\f[R] file. 22367 If they don\[aq]t match the run aborts with a critical error and thus 22368 forces you to do a \f[C]--resync\f[R], likely avoiding a disaster. 22369 .SS --check-sync 22370 .PP 22371 Enabled by default, the check-sync function checks that all of the same 22372 files exist in both the Path1 and Path2 history listings. 22373 This \f[I]check-sync\f[R] integrity check is performed at the end of the 22374 sync run by default. 22375 Any untrapped failing copy/deletes between the two paths might result in 22376 differences between the two listings and in the untracked file content 22377 differences between the two paths. 22378 A resync run would correct the error. 22379 .PP 22380 Note that the default-enabled integrity check locally executes a load of 22381 both the final Path1 and Path2 listings, and thus adds to the run time 22382 of a sync. 22383 Using \f[C]--check-sync=false\f[R] will disable it and may significantly 22384 reduce the sync run times for very large numbers of files. 22385 .PP 22386 The check may be run manually with \f[C]--check-sync=only\f[R]. 22387 It runs only the integrity check and terminates without actually 22388 synching. 22389 .SS Operation 22390 .SS Runtime flow details 22391 .PP 22392 bisync retains the listings of the \f[C]Path1\f[R] and \f[C]Path2\f[R] 22393 filesystems from the prior run. 22394 On each successive run it will: 22395 .IP \[bu] 2 22396 list files on \f[C]path1\f[R] and \f[C]path2\f[R], and check for changes 22397 on each side. 22398 Changes include \f[C]New\f[R], \f[C]Newer\f[R], \f[C]Older\f[R], and 22399 \f[C]Deleted\f[R] files. 22400 .IP \[bu] 2 22401 Propagate changes on \f[C]path1\f[R] to \f[C]path2\f[R], and vice-versa. 22402 .SS Safety measures 22403 .IP \[bu] 2 22404 Lock file prevents multiple simultaneous runs when taking a while. 22405 This can be particularly useful if bisync is run by cron scheduler. 22406 .IP \[bu] 2 22407 Handle change conflicts non-destructively by creating \f[C]..path1\f[R] 22408 and \f[C]..path2\f[R] file versions. 22409 .IP \[bu] 2 22410 File system access health check using \f[C]RCLONE_TEST\f[R] files (see 22411 the \f[C]--check-access\f[R] flag). 22412 .IP \[bu] 2 22413 Abort on excessive deletes - protects against a failed listing being 22414 interpreted as all the files were deleted. 22415 See the \f[C]--max-delete\f[R] and \f[C]--force\f[R] flags. 22416 .IP \[bu] 2 22417 If something evil happens, bisync goes into a safe state to block damage 22418 by later runs. 22419 (See Error Handling) 22420 .SS Normal sync checks 22421 .PP 22422 .TS 22423 tab(@); 22424 lw(8.4n) lw(28.4n) lw(15.7n) lw(17.5n). 22425 T{ 22426 Type 22427 T}@T{ 22428 Description 22429 T}@T{ 22430 Result 22431 T}@T{ 22432 Implementation 22433 T} 22434 _ 22435 T{ 22436 Path2 new 22437 T}@T{ 22438 File is new on Path2, does not exist on Path1 22439 T}@T{ 22440 Path2 version survives 22441 T}@T{ 22442 \f[C]rclone copy\f[R] Path2 to Path1 22443 T} 22444 T{ 22445 Path2 newer 22446 T}@T{ 22447 File is newer on Path2, unchanged on Path1 22448 T}@T{ 22449 Path2 version survives 22450 T}@T{ 22451 \f[C]rclone copy\f[R] Path2 to Path1 22452 T} 22453 T{ 22454 Path2 deleted 22455 T}@T{ 22456 File is deleted on Path2, unchanged on Path1 22457 T}@T{ 22458 File is deleted 22459 T}@T{ 22460 \f[C]rclone delete\f[R] Path1 22461 T} 22462 T{ 22463 Path1 new 22464 T}@T{ 22465 File is new on Path1, does not exist on Path2 22466 T}@T{ 22467 Path1 version survives 22468 T}@T{ 22469 \f[C]rclone copy\f[R] Path1 to Path2 22470 T} 22471 T{ 22472 Path1 newer 22473 T}@T{ 22474 File is newer on Path1, unchanged on Path2 22475 T}@T{ 22476 Path1 version survives 22477 T}@T{ 22478 \f[C]rclone copy\f[R] Path1 to Path2 22479 T} 22480 T{ 22481 Path1 older 22482 T}@T{ 22483 File is older on Path1, unchanged on Path2 22484 T}@T{ 22485 \f[I]Path1 version survives\f[R] 22486 T}@T{ 22487 \f[C]rclone copy\f[R] Path1 to Path2 22488 T} 22489 T{ 22490 Path2 older 22491 T}@T{ 22492 File is older on Path2, unchanged on Path1 22493 T}@T{ 22494 \f[I]Path2 version survives\f[R] 22495 T}@T{ 22496 \f[C]rclone copy\f[R] Path2 to Path1 22497 T} 22498 T{ 22499 Path1 deleted 22500 T}@T{ 22501 File no longer exists on Path1 22502 T}@T{ 22503 File is deleted 22504 T}@T{ 22505 \f[C]rclone delete\f[R] Path2 22506 T} 22507 .TE 22508 .SS Unusual sync checks 22509 .PP 22510 .TS 22511 tab(@); 22512 lw(17.2n) lw(21.0n) lw(19.4n) lw(12.4n). 22513 T{ 22514 Type 22515 T}@T{ 22516 Description 22517 T}@T{ 22518 Result 22519 T}@T{ 22520 Implementation 22521 T} 22522 _ 22523 T{ 22524 Path1 new AND Path2 new 22525 T}@T{ 22526 File is new on Path1 AND new on Path2 22527 T}@T{ 22528 Files renamed to _Path1 and _Path2 22529 T}@T{ 22530 \f[C]rclone copy\f[R] _Path2 file to Path1, \f[C]rclone copy\f[R] _Path1 22531 file to Path2 22532 T} 22533 T{ 22534 Path2 newer AND Path1 changed 22535 T}@T{ 22536 File is newer on Path2 AND also changed (newer/older/size) on Path1 22537 T}@T{ 22538 Files renamed to _Path1 and _Path2 22539 T}@T{ 22540 \f[C]rclone copy\f[R] _Path2 file to Path1, \f[C]rclone copy\f[R] _Path1 22541 file to Path2 22542 T} 22543 T{ 22544 Path2 newer AND Path1 deleted 22545 T}@T{ 22546 File is newer on Path2 AND also deleted on Path1 22547 T}@T{ 22548 Path2 version survives 22549 T}@T{ 22550 \f[C]rclone copy\f[R] Path2 to Path1 22551 T} 22552 T{ 22553 Path2 deleted AND Path1 changed 22554 T}@T{ 22555 File is deleted on Path2 AND changed (newer/older/size) on Path1 22556 T}@T{ 22557 Path1 version survives 22558 T}@T{ 22559 \f[C]rclone copy\f[R] Path1 to Path2 22560 T} 22561 T{ 22562 Path1 deleted AND Path2 changed 22563 T}@T{ 22564 File is deleted on Path1 AND changed (newer/older/size) on Path2 22565 T}@T{ 22566 Path2 version survives 22567 T}@T{ 22568 \f[C]rclone copy\f[R] Path2 to Path1 22569 T} 22570 .TE 22571 .SS All files changed check 22572 .PP 22573 if \f[I]all\f[R] prior existing files on either of the filesystems have 22574 changed (e.g. 22575 timestamps have changed due to changing the system\[aq]s timezone) then 22576 bisync will abort without making any changes. 22577 Any new files are not considered for this check. 22578 You could use \f[C]--force\f[R] to force the sync (whichever side has 22579 the changed timestamp files wins). 22580 Alternately, a \f[C]--resync\f[R] may be used (Path1 versions will be 22581 pushed to Path2). 22582 Consider the situation carefully and perhaps use \f[C]--dry-run\f[R] 22583 before you commit to the changes. 22584 .SS Modification time 22585 .PP 22586 Bisync relies on file timestamps to identify changed files and will 22587 \f[I]refuse\f[R] to operate if backend lacks the modification time 22588 support. 22589 .PP 22590 If you or your application should change the content of a file without 22591 changing the modification time then bisync will \f[I]not\f[R] notice the 22592 change, and thus will not copy it to the other side. 22593 .PP 22594 Note that on some cloud storage systems it is not possible to have file 22595 timestamps that match \f[I]precisely\f[R] between the local and other 22596 filesystems. 22597 .PP 22598 Bisync\[aq]s approach to this problem is by tracking the changes on each 22599 side \f[I]separately\f[R] over time with a local database of files in 22600 that side then applying the resulting changes on the other side. 22601 .SS Error handling 22602 .PP 22603 Certain bisync critical errors, such as file copy/move failing, will 22604 result in a bisync lockout of following runs. 22605 The lockout is asserted because the sync status and history of the Path1 22606 and Path2 filesystems cannot be trusted, so it is safer to block any 22607 further changes until someone checks things out. 22608 The recovery is to do a \f[C]--resync\f[R] again. 22609 .PP 22610 It is recommended to use \f[C]--resync --dry-run --verbose\f[R] 22611 initially and \f[I]carefully\f[R] review what changes will be made 22612 before running the \f[C]--resync\f[R] without \f[C]--dry-run\f[R]. 22613 .PP 22614 Most of these events come up due to a error status from an internal 22615 call. 22616 On such a critical error the \f[C]{...}.path1.lst\f[R] and 22617 \f[C]{...}.path2.lst\f[R] listing files are renamed to extension 22618 \f[C].lst-err\f[R], which blocks any future bisync runs (since the 22619 normal \f[C].lst\f[R] files are not found). 22620 Bisync keeps them under \f[C]bisync\f[R] subdirectory of the rclone 22621 cache directory, typically at \f[C]${HOME}/.cache/rclone/bisync/\f[R] on 22622 Linux. 22623 .PP 22624 Some errors are considered temporary and re-running the bisync is not 22625 blocked. 22626 The \f[I]critical return\f[R] blocks further bisync runs. 22627 .SS Lock file 22628 .PP 22629 When bisync is running, a lock file is created in the bisync working 22630 directory, typically at 22631 \f[C]\[ti]/.cache/rclone/bisync/PATH1..PATH2.lck\f[R] on Linux. 22632 If bisync should crash or hang, the lock file will remain in place and 22633 block any further runs of bisync \f[I]for the same paths\f[R]. 22634 Delete the lock file as part of debugging the situation. 22635 The lock file effectively blocks follow-on (e.g., scheduled by 22636 \f[I]cron\f[R]) runs when the prior invocation is taking a long time. 22637 The lock file contains \f[I]PID\f[R] of the blocking process, which may 22638 help in debug. 22639 .PP 22640 \f[B]Note\f[R] that while concurrent bisync runs are allowed, \f[I]be 22641 very cautious\f[R] that there is no overlap in the trees being synched 22642 between concurrent runs, lest there be replicated files, deleted files 22643 and general mayhem. 22644 .SS Return codes 22645 .PP 22646 \f[C]rclone bisync\f[R] returns the following codes to calling program: 22647 - \f[C]0\f[R] on a successful run, - \f[C]1\f[R] for a non-critical 22648 failing run (a rerun may be successful), - \f[C]2\f[R] for a critically 22649 aborted run (requires a \f[C]--resync\f[R] to recover). 22650 .SS Limitations 22651 .SS Supported backends 22652 .PP 22653 Bisync is considered \f[I]BETA\f[R] and has been tested with the 22654 following backends: - Local filesystem - Google Drive - Dropbox - 22655 OneDrive - S3 - SFTP - Yandex Disk 22656 .PP 22657 It has not been fully tested with other services yet. 22658 If it works, or sorta works, please let us know and we\[aq]ll update the 22659 list. 22660 Run the test suite to check for proper operation as described below. 22661 .PP 22662 First release of \f[C]rclone bisync\f[R] requires that underlying 22663 backend supported the modification time feature and will refuse to run 22664 otherwise. 22665 This limitation will be lifted in a future \f[C]rclone bisync\f[R] 22666 release. 22667 .SS Concurrent modifications 22668 .PP 22669 When using \f[B]Local, FTP or SFTP\f[R] remotes rclone does not create 22670 \f[I]temporary\f[R] files at the destination when copying, and thus if 22671 the connection is lost the created file may be corrupt, which will 22672 likely propagate back to the original path on the next sync, resulting 22673 in data loss. 22674 This will be solved in a future release, there is no workaround at the 22675 moment. 22676 .PP 22677 Files that \f[B]change during\f[R] a bisync run may result in data loss. 22678 This has been seen in a highly dynamic environment, where the filesystem 22679 is getting hammered by running processes during the sync. 22680 The solution is to sync at quiet times or filter out unnecessary 22681 directories and files. 22682 .SS Empty directories 22683 .PP 22684 New empty directories on one path are \f[I]not\f[R] propagated to the 22685 other side. 22686 This is because bisync (and rclone) natively works on files not 22687 directories. 22688 The following sequence is a workaround but will not propagate the delete 22689 of an empty directory to the other side: 22690 .IP 22691 .nf 22692 \f[C] 22693 rclone bisync PATH1 PATH2 22694 rclone copy PATH1 PATH2 --filter \[dq]+ */\[dq] --filter \[dq]- **\[dq] --create-empty-src-dirs 22695 rclone copy PATH2 PATH2 --filter \[dq]+ */\[dq] --filter \[dq]- **\[dq] --create-empty-src-dirs 22696 \f[R] 22697 .fi 22698 .SS Renamed directories 22699 .PP 22700 Renaming a folder on the Path1 side results is deleting all files on the 22701 Path2 side and then copying all files again from Path1 to Path2. 22702 Bisync sees this as all files in the old directory name as deleted and 22703 all files in the new directory name as new. 22704 Similarly, renaming a directory on both sides to the same name will 22705 result in creating \f[C]..path1\f[R] and \f[C]..path2\f[R] files on both 22706 sides. 22707 Currently the most effective and efficient method of renaming a 22708 directory is to rename it on both sides, then do a \f[C]--resync\f[R]. 22709 .SS Case sensitivity 22710 .PP 22711 Synching with \f[B]case-insensitive\f[R] filesystems, such as Windows or 22712 \f[C]Box\f[R], can result in file name conflicts. 22713 This will be fixed in a future release. 22714 The near term workaround is to make sure that files on both sides 22715 don\[aq]t have spelling case differences (\f[C]Smile.jpg\f[R] vs. 22716 \f[C]smile.jpg\f[R]). 22717 .SS Windows support 22718 .PP 22719 Bisync has been tested on Windows 8.1, Windows 10 Pro 64-bit and on 22720 Windows GitHub runners. 22721 .PP 22722 Drive letters are allowed, including drive letters mapped to network 22723 drives (\f[C]rclone bisync J:\[rs]localsync GDrive:\f[R]). 22724 If a drive letter is omitted, the shell current drive is the default. 22725 Drive letters are a single character follows by \f[C]:\f[R], so cloud 22726 names must be more than one character long. 22727 .PP 22728 Absolute paths (with or without a drive letter), and relative paths 22729 (with or without a drive letter) are supported. 22730 .PP 22731 Working directory is created at 22732 \f[C]C:\[rs]Users\[rs]MyLogin\[rs]AppData\[rs]Local\[rs]rclone\[rs]bisync\f[R]. 22733 .PP 22734 Note that bisync output may show a mix of forward \f[C]/\f[R] and back 22735 \f[C]\[rs]\f[R] slashes. 22736 .PP 22737 Be careful of case independent directory and file naming on Windows vs. 22738 case dependent Linux 22739 .SS Filtering 22740 .PP 22741 See filtering documentation (https://rclone.org/filtering/) for how 22742 filter rules are written and interpreted. 22743 .PP 22744 Bisync\[aq]s \f[C]--filters-file\f[R] flag slightly extends the 22745 rclone\[aq]s 22746 --filter-from (https://rclone.org/filtering/#filter-from-read-filtering-patterns-from-a-file) 22747 filtering mechanism. 22748 For a given bisync run you may provide \f[I]only one\f[R] 22749 \f[C]--filters-file\f[R]. 22750 The \f[C]--include*\f[R], \f[C]--exclude*\f[R], and \f[C]--filter\f[R] 22751 flags are also supported. 22752 .SS How to filter directories 22753 .PP 22754 Filtering portions of the directory tree is a critical feature for 22755 synching. 22756 .PP 22757 Examples of directory trees (always beneath the Path1/Path2 root level) 22758 you may want to exclude from your sync: - Directory trees containing 22759 only software build intermediate files. 22760 - Directory trees containing application temporary files and data such 22761 as the Windows \f[C]C:\[rs]Users\[rs]MyLogin\[rs]AppData\[rs]\f[R] tree. 22762 - Directory trees containing files that are large, less important, or 22763 are getting thrashed continuously by ongoing processes. 22764 .PP 22765 On the other hand, there may be only select directories that you 22766 actually want to sync, and exclude all others. 22767 See the Example include-style filters for Windows user directories 22768 below. 22769 .SS Filters file writing guidelines 22770 .IP "1." 3 22771 Begin with excluding directory trees: 22772 .RS 4 22773 .IP \[bu] 2 22774 e.g. 22775 \[ga]- /AppData/\[ga] 22776 .IP \[bu] 2 22777 \f[C]**\f[R] on the end is not necessary. 22778 Once a given directory level is excluded then everything beneath it 22779 won\[aq]t be looked at by rclone. 22780 .IP \[bu] 2 22781 Exclude such directories that are unneeded, are big, dynamically 22782 thrashed, or where there may be access permission issues. 22783 .IP \[bu] 2 22784 Excluding such dirs first will make rclone operations (much) faster. 22785 .IP \[bu] 2 22786 Specific files may also be excluded, as with the Dropbox exclusions 22787 example below. 22788 .RE 22789 .IP "2." 3 22790 Decide if its easier (or cleaner) to: 22791 .RS 4 22792 .IP \[bu] 2 22793 Include select directories and therefore \f[I]exclude everything 22794 else\f[R] -- or -- 22795 .IP \[bu] 2 22796 Exclude select directories and therefore \f[I]include everything 22797 else\f[R] 22798 .RE 22799 .IP "3." 3 22800 Include select directories: 22801 .RS 4 22802 .IP \[bu] 2 22803 Add lines like: \[ga]+ /Documents/PersonalFiles/**\[ga] to select which 22804 directories to include in the sync. 22805 .IP \[bu] 2 22806 \f[C]**\f[R] on the end specifies to include the full depth of the 22807 specified tree. 22808 .IP \[bu] 2 22809 With Include-style filters, files at the Path1/Path2 root are not 22810 included. 22811 They may be included with \[ga]+ /*\[ga]. 22812 .IP \[bu] 2 22813 Place RCLONE_TEST files within these included directory trees. 22814 They will only be looked for in these directory trees. 22815 .IP \[bu] 2 22816 Finish by excluding everything else by adding \[ga]- **\[ga] at the end 22817 of the filters file. 22818 .IP \[bu] 2 22819 Disregard step 4. 22820 .RE 22821 .IP "4." 3 22822 Exclude select directories: 22823 .RS 4 22824 .IP \[bu] 2 22825 Add more lines like in step 1. 22826 For example: \f[C]-/Desktop/tempfiles/\f[R], or \[ga]- 22827 /testdir/\f[C]. Again, a\f[R]**\[ga] on the end is not necessary. 22828 .IP \[bu] 2 22829 Do \f[I]not\f[R] add a \[ga]- **\[ga] in the file. 22830 Without this line, everything will be included that has not be 22831 explicitly excluded. 22832 .IP \[bu] 2 22833 Disregard step 3. 22834 .RE 22835 .PP 22836 A few rules for the syntax of a filter file expanding on filtering 22837 documentation (https://rclone.org/filtering/): 22838 .IP \[bu] 2 22839 Lines may start with spaces and tabs - rclone strips leading whitespace. 22840 .IP \[bu] 2 22841 If the first non-whitespace character is a \f[C]#\f[R] then the line is 22842 a comment and will be ignored. 22843 .IP \[bu] 2 22844 Blank lines are ignored. 22845 .IP \[bu] 2 22846 The first non-whitespace character on a filter line must be a 22847 \f[C]+\f[R] or \f[C]-\f[R]. 22848 .IP \[bu] 2 22849 Exactly 1 space is allowed between the \f[C]+/-\f[R] and the path term. 22850 .IP \[bu] 2 22851 Only forward slashes (\f[C]/\f[R]) are used in path terms, even on 22852 Windows. 22853 .IP \[bu] 2 22854 The rest of the line is taken as the path term. 22855 Trailing whitespace is taken literally, and probably is an error. 22856 .SS Example include-style filters for Windows user directories 22857 .PP 22858 This Windows \f[I]include-style\f[R] example is based on the sync root 22859 (Path1) set to \f[C]C:\[rs]Users\[rs]MyLogin\f[R]. 22860 The strategy is to select specific directories to be synched with a 22861 network drive (Path2). 22862 .IP \[bu] 2 22863 \[ga]- /AppData/\[ga] excludes an entire tree of Windows stored stuff 22864 that need not be synched. 22865 In my case, AppData has >11 GB of stuff I don\[aq]t care about, and 22866 there are some subdirectories beneath AppData that are not accessible to 22867 my user login, resulting in bisync critical aborts. 22868 .IP \[bu] 2 22869 Windows creates cache files starting with both upper and lowercase 22870 \f[C]NTUSER\f[R] at \f[C]C:\[rs]Users\[rs]MyLogin\f[R]. 22871 These files may be dynamic, locked, and are generally \f[I]don\[aq]t 22872 care\f[R]. 22873 .IP \[bu] 2 22874 There are just a few directories with \f[I]my\f[R] data that I do want 22875 synched, in the form of \[ga]+ 22876 /\f[C]. By selecting only the directory trees I want to avoid the dozen plus directories that various apps make at\f[R]C:\[ga]. 22877 .IP \[bu] 2 22878 Include files in the root of the sync point, 22879 \f[C]C:\[rs]Users\[rs]MyLogin\f[R], by adding the \[ga]+ /*\[ga] line. 22880 .IP \[bu] 2 22881 This is an Include-style filters file, therefore it ends with \[ga]- 22882 **\[ga] which excludes everything not explicitly included. 22883 .IP 22884 .nf 22885 \f[C] 22886 - /AppData/ 22887 - NTUSER* 22888 - ntuser* 22889 + /Documents/Family/** 22890 + /Documents/Sketchup/** 22891 + /Documents/Microcapture_Photo/** 22892 + /Documents/Microcapture_Video/** 22893 + /Desktop/** 22894 + /Pictures/** 22895 + /* 22896 - ** 22897 \f[R] 22898 .fi 22899 .PP 22900 Note also that Windows implements several \[dq]library\[dq] links such 22901 as \f[C]C:\[rs]Users\[rs]MyLogin\[rs]My Documents\[rs]My Music\f[R] 22902 pointing to \f[C]C:\[rs]Users\[rs]MyLogin\[rs]Music\f[R]. 22903 rclone sees these as links, so you must add \f[C]--links\f[R] to the 22904 bisync command line if you which to follow these links. 22905 I find that I get permission errors in trying to follow the links, so I 22906 don\[aq]t include the rclone \f[C]--links\f[R] flag, but then you get 22907 lots of \f[C]Can\[aq]t follow symlink\&...\f[R] noise from rclone about 22908 not following the links. 22909 This noise can be quashed by adding \f[C]--quiet\f[R] to the bisync 22910 command line. 22911 .SS Example exclude-style filters files for use with Dropbox 22912 .IP \[bu] 2 22913 Dropbox disallows synching the listed temporary and configuration/data 22914 files. 22915 The \[ga]- \[ga] filters exclude these files where ever they may occur 22916 in the sync tree. 22917 Consider adding similar exclusions for file types you don\[aq]t need to 22918 sync, such as core dump and software build files. 22919 .IP \[bu] 2 22920 bisync testing creates \f[C]/testdir/\f[R] at the top level of the sync 22921 tree, and usually deletes the tree after the test. 22922 If a normal sync should run while the \f[C]/testdir/\f[R] tree exists 22923 the \f[C]--check-access\f[R] phase may fail due to unbalanced 22924 RCLONE_TEST files. 22925 The \[ga]- /testdir/\[ga] filter blocks this tree from being synched. 22926 You don\[aq]t need this exclusion if you are not doing bisync 22927 development testing. 22928 .IP \[bu] 2 22929 Everything else beneath the Path1/Path2 root will be synched. 22930 .IP \[bu] 2 22931 RCLONE_TEST files may be placed anywhere within the tree, including the 22932 root. 22933 .SS Example filters file for Dropbox 22934 .IP 22935 .nf 22936 \f[C] 22937 # Filter file for use with bisync 22938 # See https://rclone.org/filtering/ for filtering rules 22939 # NOTICE: If you make changes to this file you MUST do a --resync run. 22940 # Run with --dry-run to see what changes will be made. 22941 22942 # Dropbox won\[aq]t sync some files so filter them away here. 22943 # See https://help.dropbox.com/installs-integrations/sync-uploads/files-not-syncing 22944 - .dropbox.attr 22945 - \[ti]*.tmp 22946 - \[ti]$* 22947 - .\[ti]* 22948 - desktop.ini 22949 - .dropbox 22950 22951 # Used for bisync testing, so excluded from normal runs 22952 - /testdir/ 22953 22954 # Other example filters 22955 #- /TiBU/ 22956 #- /Photos/ 22957 \f[R] 22958 .fi 22959 .SS How --check-access handles filters 22960 .PP 22961 At the start of a bisync run, listings are gathered for Path1 and Path2 22962 while using the user\[aq]s \f[C]--filters-file\f[R]. 22963 During the check access phase, bisync scans these listings for 22964 \f[C]RCLONE_TEST\f[R] files. 22965 Any \f[C]RCLONE_TEST\f[R] files hidden by the \f[C]--filters-file\f[R] 22966 are \f[I]not\f[R] in the listings and thus not checked during the check 22967 access phase. 22968 .SS Troubleshooting 22969 .SS Reading bisync logs 22970 .PP 22971 Here are two normal runs. 22972 The first one has a newer file on the remote. 22973 The second has no deltas between local and remote. 22974 .IP 22975 .nf 22976 \f[C] 22977 2021/05/16 00:24:38 INFO : Synching Path1 \[dq]/path/to/local/tree/\[dq] with Path2 \[dq]dropbox:/\[dq] 22978 2021/05/16 00:24:38 INFO : Path1 checking for diffs 22979 2021/05/16 00:24:38 INFO : - Path1 File is new - file.txt 22980 2021/05/16 00:24:38 INFO : Path1: 1 changes: 1 new, 0 newer, 0 older, 0 deleted 22981 2021/05/16 00:24:38 INFO : Path2 checking for diffs 22982 2021/05/16 00:24:38 INFO : Applying changes 22983 2021/05/16 00:24:38 INFO : - Path1 Queue copy to Path2 - dropbox:/file.txt 22984 2021/05/16 00:24:38 INFO : - Path1 Do queued copies to - Path2 22985 2021/05/16 00:24:38 INFO : Updating listings 22986 2021/05/16 00:24:38 INFO : Validating listings for Path1 \[dq]/path/to/local/tree/\[dq] vs Path2 \[dq]dropbox:/\[dq] 22987 2021/05/16 00:24:38 INFO : Bisync successful 22988 22989 2021/05/16 00:36:52 INFO : Synching Path1 \[dq]/path/to/local/tree/\[dq] with Path2 \[dq]dropbox:/\[dq] 22990 2021/05/16 00:36:52 INFO : Path1 checking for diffs 22991 2021/05/16 00:36:52 INFO : Path2 checking for diffs 22992 2021/05/16 00:36:52 INFO : No changes found 22993 2021/05/16 00:36:52 INFO : Updating listings 22994 2021/05/16 00:36:52 INFO : Validating listings for Path1 \[dq]/path/to/local/tree/\[dq] vs Path2 \[dq]dropbox:/\[dq] 22995 2021/05/16 00:36:52 INFO : Bisync successful 22996 \f[R] 22997 .fi 22998 .SS Dry run oddity 22999 .PP 23000 The \f[C]--dry-run\f[R] messages may indicate that it would try to 23001 delete some files. 23002 For example, if a file is new on Path2 and does not exist on Path1 then 23003 it would normally be copied to Path1, but with \f[C]--dry-run\f[R] 23004 enabled those copies don\[aq]t happen, which leads to the attempted 23005 delete on the Path2, blocked again by --dry-run: 23006 \f[C]... Not deleting as --dry-run\f[R]. 23007 .PP 23008 This whole confusing situation is an artifact of the \f[C]--dry-run\f[R] 23009 flag. 23010 Scrutinize the proposed deletes carefully, and if the files would have 23011 been copied to Path1 then the threatened deletes on Path2 may be 23012 disregarded. 23013 .SS Retries 23014 .PP 23015 Rclone has built in retries. 23016 If you run with \f[C]--verbose\f[R] you\[aq]ll see error and retry 23017 messages such as shown below. 23018 This is usually not a bug. 23019 If at the end of the run you see \f[C]Bisync successful\f[R] and not 23020 \f[C]Bisync critical error\f[R] or \f[C]Bisync aborted\f[R] then the run 23021 was successful, and you can ignore the error messages. 23022 .PP 23023 The following run shows an intermittent fail. 23024 Lines \f[I]5\f[R] and _6- are low level messages. 23025 Line \f[I]6\f[R] is a bubbled-up \f[I]warning\f[R] message, conveying 23026 the error. 23027 Rclone normally retries failing commands, so there may be numerous such 23028 messages in the log. 23029 .PP 23030 Since there are no final error/warning messages on line \f[I]7\f[R], 23031 rclone has recovered from failure after a retry, and the overall sync 23032 was successful. 23033 .IP 23034 .nf 23035 \f[C] 23036 1: 2021/05/14 00:44:12 INFO : Synching Path1 \[dq]/path/to/local/tree\[dq] with Path2 \[dq]dropbox:\[dq] 23037 2: 2021/05/14 00:44:12 INFO : Path1 checking for diffs 23038 3: 2021/05/14 00:44:12 INFO : Path2 checking for diffs 23039 4: 2021/05/14 00:44:12 INFO : Path2: 113 changes: 22 new, 0 newer, 0 older, 91 deleted 23040 5: 2021/05/14 00:44:12 ERROR : /path/to/local/tree/objects/af: error listing: unexpected end of JSON input 23041 6: 2021/05/14 00:44:12 NOTICE: WARNING listing try 1 failed. - dropbox: 23042 7: 2021/05/14 00:44:12 INFO : Bisync successful 23043 \f[R] 23044 .fi 23045 .PP 23046 This log shows a \f[I]Critical failure\f[R] which requires a 23047 \f[C]--resync\f[R] to recover from. 23048 See the Runtime Error Handling section. 23049 .IP 23050 .nf 23051 \f[C] 23052 2021/05/12 00:49:40 INFO : Google drive root \[aq]\[aq]: Waiting for checks to finish 23053 2021/05/12 00:49:40 INFO : Google drive root \[aq]\[aq]: Waiting for transfers to finish 23054 2021/05/12 00:49:40 INFO : Google drive root \[aq]\[aq]: not deleting files as there were IO errors 23055 2021/05/12 00:49:40 ERROR : Attempt 3/3 failed with 3 errors and: not deleting files as there were IO errors 23056 2021/05/12 00:49:40 ERROR : Failed to sync: not deleting files as there were IO errors 23057 2021/05/12 00:49:40 NOTICE: WARNING rclone sync try 3 failed. - /path/to/local/tree/ 23058 2021/05/12 00:49:40 ERROR : Bisync aborted. Must run --resync to recover. 23059 \f[R] 23060 .fi 23061 .SS Denied downloads of \[dq]infected\[dq] or \[dq]abusive\[dq] files 23062 .PP 23063 Google Drive has a filter for certain file types (\f[C].exe\f[R], 23064 \f[C].apk\f[R], et cetera) that by default cannot be copied from Google 23065 Drive to the local filesystem. 23066 If you are having problems, run with \f[C]--verbose\f[R] to see 23067 specifically which files are generating complaints. 23068 If the error is 23069 \f[C]This file has been identified as malware or spam and cannot be downloaded\f[R], 23070 consider using the flag 23071 --drive-acknowledge-abuse (https://rclone.org/drive/#drive-acknowledge-abuse). 23072 .SS Google Doc files 23073 .PP 23074 Google docs exist as virtual files on Google Drive and cannot be 23075 transferred to other filesystems natively. 23076 While it is possible to export a Google doc to a normal file (with 23077 \f[C].xlsx\f[R] extension, for example), it is not possible to import a 23078 normal file back into a Google document. 23079 .PP 23080 Bisync\[aq]s handling of Google Doc files is to flag them in the run log 23081 output for user\[aq]s attention and ignore them for any file transfers, 23082 deletes, or syncs. 23083 They will show up with a length of \f[C]-1\f[R] in the listings. 23084 This bisync run is otherwise successful: 23085 .IP 23086 .nf 23087 \f[C] 23088 2021/05/11 08:23:15 INFO : Synching Path1 \[dq]/path/to/local/tree/base/\[dq] with Path2 \[dq]GDrive:\[dq] 23089 2021/05/11 08:23:15 INFO : ...path2.lst-new: Ignoring incorrect line: \[dq]- -1 - - 2018-07-29T08:49:30.136000000+0000 GoogleDoc.docx\[dq] 23090 2021/05/11 08:23:15 INFO : Bisync successful 23091 \f[R] 23092 .fi 23093 .SS Usage examples 23094 .SS Cron 23095 .PP 23096 Rclone does not yet have a built-in capability to monitor the local file 23097 system for changes and must be blindly run periodically. 23098 On Windows this can be done using a \f[I]Task Scheduler\f[R], on Linux 23099 you can use \f[I]Cron\f[R] which is described below. 23100 .PP 23101 The 1st example runs a sync every 5 minutes between a local directory 23102 and an OwnCloud server, with output logged to a runlog file: 23103 .IP 23104 .nf 23105 \f[C] 23106 # Minute (0-59) 23107 # Hour (0-23) 23108 # Day of Month (1-31) 23109 # Month (1-12 or Jan-Dec) 23110 # Day of Week (0-6 or Sun-Sat) 23111 # Command 23112 */5 * * * * /path/to/rclone bisync /local/files MyCloud: --check-access --filters-file /path/to/bysync-filters.txt --log-file /path/to//bisync.log 23113 \f[R] 23114 .fi 23115 .PP 23116 See crontab 23117 syntax (https://www.man7.org/linux/man-pages/man1/crontab.1p.html#INPUT_FILES)). 23118 for the details of crontab time interval expressions. 23119 .PP 23120 If you run \f[C]rclone bisync\f[R] as a cron job, redirect stdout/stderr 23121 to a file. 23122 The 2nd example runs a sync to Dropbox every hour and logs all stdout 23123 (via the \f[C]>>\f[R]) and stderr (via \f[C]2>&1\f[R]) to a log file. 23124 .IP 23125 .nf 23126 \f[C] 23127 0 * * * * /path/to/rclone bisync /path/to/local/dropbox Dropbox: --check-access --filters-file /home/user/filters.txt >> /path/to/logs/dropbox-run.log 2>&1 23128 \f[R] 23129 .fi 23130 .SS Sharing an encrypted folder tree between hosts 23131 .PP 23132 bisync can keep a local folder in sync with a cloud service, but what if 23133 you have some highly sensitive files to be synched? 23134 .PP 23135 Usage of a cloud service is for exchanging both routine and sensitive 23136 personal files between one\[aq]s home network, one\[aq]s personal 23137 notebook when on the road, and with one\[aq]s work computer. 23138 The routine data is not sensitive. 23139 For the sensitive data, configure an rclone crypt 23140 remote (https://rclone.org/crypt/) to point to a subdirectory within the 23141 local disk tree that is bisync\[aq]d to Dropbox, and then set up an 23142 bisync for this local crypt directory to a directory outside of the main 23143 sync tree. 23144 .SS Linux server setup 23145 .IP \[bu] 2 23146 \f[C]/path/to/DBoxroot\f[R] is the root of my local sync tree. 23147 There are numerous subdirectories. 23148 .IP \[bu] 2 23149 \f[C]/path/to/DBoxroot/crypt\f[R] is the root subdirectory for files 23150 that are encrypted. 23151 This local directory target is setup as an rclone crypt remote named 23152 \f[C]Dropcrypt:\f[R]. 23153 See rclone.conf snippet below. 23154 .IP \[bu] 2 23155 \f[C]/path/to/my/unencrypted/files\f[R] is the root of my sensitive 23156 files - not encrypted, not within the tree synched to Dropbox. 23157 .IP \[bu] 2 23158 To sync my local unencrypted files with the encrypted Dropbox versions I 23159 manually run \f[C]bisync /path/to/my/unencrypted/files DropCrypt:\f[R]. 23160 This step could be bundled into a script to run before and after the 23161 full Dropbox tree sync in the last step, thus actively keeping the 23162 sensitive files in sync. 23163 .IP \[bu] 2 23164 \f[C]bisync /path/to/DBoxroot Dropbox:\f[R] runs periodically via cron, 23165 keeping my full local sync tree in sync with Dropbox. 23166 .SS Windows notebook setup 23167 .IP \[bu] 2 23168 The Dropbox client runs keeping the local tree 23169 \f[C]C:\[rs]Users\[rs]MyLogin\[rs]Dropbox\f[R] always in sync with 23170 Dropbox. 23171 I could have used \f[C]rclone bisync\f[R] instead. 23172 .IP \[bu] 2 23173 A separate directory tree at 23174 \f[C]C:\[rs]Users\[rs]MyLogin\[rs]Documents\[rs]DropLocal\f[R] hosts the 23175 tree of unencrypted files/folders. 23176 .IP \[bu] 2 23177 To sync my local unencrypted files with the encrypted Dropbox versions I 23178 manually run the following command: 23179 \f[C]rclone bisync C:\[rs]Users\[rs]MyLogin\[rs]Documents\[rs]DropLocal Dropcrypt:\f[R]. 23180 .IP \[bu] 2 23181 The Dropbox client then syncs the changes with Dropbox. 23182 .SS rclone.conf snippet 23183 .IP 23184 .nf 23185 \f[C] 23186 [Dropbox] 23187 type = dropbox 23188 \&... 23189 23190 [Dropcrypt] 23191 type = crypt 23192 remote = /path/to/DBoxroot/crypt # on the Linux server 23193 remote = C:\[rs]Users\[rs]MyLogin\[rs]Dropbox\[rs]crypt # on the Windows notebook 23194 filename_encryption = standard 23195 directory_name_encryption = true 23196 password = ... 23197 \&... 23198 \f[R] 23199 .fi 23200 .SS Testing 23201 .PP 23202 You should read this section only if you are developing for rclone. 23203 You need to have rclone source code locally to work with bisync tests. 23204 .PP 23205 Bisync has a dedicated test framework implemented in the 23206 \f[C]bisync_test.go\f[R] file located in the rclone source tree. 23207 The test suite is based on the \f[C]go test\f[R] command. 23208 Series of tests are stored in subdirectories below the 23209 \f[C]cmd/bisync/testdata\f[R] directory. 23210 Individual tests can be invoked by their directory name, e.g. 23211 \f[C]go test . -case basic -remote local -remote2 gdrive: -v\f[R] 23212 .PP 23213 Tests will make a temporary folder on remote and purge it afterwards. 23214 If during test run there are intermittent errors and rclone retries, 23215 these errors will be captured and flagged as invalid MISCOMPAREs. 23216 Rerunning the test will let it pass. 23217 Consider such failures as noise. 23218 .SS Test command syntax 23219 .IP 23220 .nf 23221 \f[C] 23222 usage: go test ./cmd/bisync [options...] 23223 23224 Options: 23225 -case NAME Name(s) of the test case(s) to run. Multiple names should 23226 be separated by commas. You can remove the \[ga]test_\[ga] prefix 23227 and replace \[ga]_\[ga] by \[ga]-\[ga] in test name for convenience. 23228 If not \[ga]all\[ga], the name(s) should map to a directory under 23229 \[ga]./cmd/bisync/testdata\[ga]. 23230 Use \[ga]all\[ga] to run all tests (default: all) 23231 -remote PATH1 \[ga]local\[ga] or name of cloud service with \[ga]:\[ga] (default: local) 23232 -remote2 PATH2 \[ga]local\[ga] or name of cloud service with \[ga]:\[ga] (default: local) 23233 -no-compare Disable comparing test results with the golden directory 23234 (default: compare) 23235 -no-cleanup Disable cleanup of Path1 and Path2 testdirs. 23236 Useful for troubleshooting. (default: cleanup) 23237 -golden Store results in the golden directory (default: false) 23238 This flag can be used with multiple tests. 23239 -debug Print debug messages 23240 -stop-at NUM Stop test after given step number. (default: run to the end) 23241 Implies \[ga]-no-compare\[ga] and \[ga]-no-cleanup\[ga], if the test really 23242 ends prematurely. Only meaningful for a single test case. 23243 -refresh-times Force refreshing the target modtime, useful for Dropbox 23244 (default: false) 23245 -verbose Run tests verbosely 23246 \f[R] 23247 .fi 23248 .PP 23249 Note: unlike rclone flags which must be prefixed by double dash 23250 (\f[C]--\f[R]), the test command flags can be equally prefixed by a 23251 single \f[C]-\f[R] or double dash. 23252 .SS Running tests 23253 .IP \[bu] 2 23254 \f[C]go test . -case basic -remote local -remote2 local\f[R] runs the 23255 \f[C]test_basic\f[R] test case using only the local filesystem, synching 23256 one local directory with another local directory. 23257 Test script output is to the console, while commands within scenario.txt 23258 have their output sent to the \f[C].../workdir/test.log\f[R] file, which 23259 is finally compared to the golden copy. 23260 .IP \[bu] 2 23261 The first argument after \f[C]go test\f[R] should be a relative name of 23262 the directory containing bisync source code. 23263 If you run tests right from there, the argument will be \f[C].\f[R] 23264 (current directory) as in most examples below. 23265 If you run bisync tests from the rclone source directory, the command 23266 should be \f[C]go test ./cmd/bisync ...\f[R]. 23267 .IP \[bu] 2 23268 The test engine will mangle rclone output to ensure comparability with 23269 golden listings and logs. 23270 .IP \[bu] 2 23271 Test scenarios are located in \f[C]./cmd/bisync/testdata\f[R]. 23272 The test \f[C]-case\f[R] argument should match the full name of a 23273 subdirectory under that directory. 23274 Every test subdirectory name on disk must start with \f[C]test_\f[R], 23275 this prefix can be omitted on command line for brevity. 23276 Also, underscores in the name can be replaced by dashes for convenience. 23277 .IP \[bu] 2 23278 \f[C]go test . -remote local -remote2 local -case all\f[R] runs all 23279 tests. 23280 .IP \[bu] 2 23281 Path1 and Path2 may either be the keyword \f[C]local\f[R] or may be 23282 names of configured cloud services. 23283 \f[C]go test . -remote gdrive: -remote2 dropbox: -case basic\f[R] will 23284 run the test between these two services, without transferring any files 23285 to the local filesystem. 23286 .IP \[bu] 2 23287 Test run stdout and stderr console output may be directed to a file, 23288 e.g. 23289 \f[C]go test . -remote gdrive: -remote2 local -case all > runlog.txt 2>&1\f[R] 23290 .SS Test execution flow 23291 .IP "1." 3 23292 The base setup in the \f[C]initial\f[R] directory of the testcase is 23293 applied on the Path1 and Path2 filesystems (via rclone copy the initial 23294 directory to Path1, then rclone sync Path1 to Path2). 23295 .IP "2." 3 23296 The commands in the scenario.txt file are applied, with output directed 23297 to the \f[C]test.log\f[R] file in the test working directory. 23298 Typically, the first actual command in the \f[C]scenario.txt\f[R] file 23299 is to do a \f[C]--resync\f[R], which establishes the baseline 23300 \f[C]{...}.path1.lst\f[R] and \f[C]{...}.path2.lst\f[R] files in the 23301 test working directory (\f[C].../workdir/\f[R] relative to the temporary 23302 test directory). 23303 Various commands and listing snapshots are done within the test. 23304 .IP "3." 3 23305 Finally, the contents of the test working directory are compared to the 23306 contents of the testcase\[aq]s golden directory. 23307 .SS Notes about testing 23308 .IP \[bu] 2 23309 Test cases are in individual directories beneath 23310 \f[C]./cmd/bisync/testdata\f[R]. 23311 A command line reference to a test is understood to reference a 23312 directory beneath \f[C]testdata\f[R]. 23313 For example, 23314 \f[C]go test ./cmd/bisync -case dry-run -remote gdrive: -remote2 local\f[R] 23315 refers to the test case in \f[C]./cmd/bisync/testdata/test_dry_run\f[R]. 23316 .IP \[bu] 2 23317 The test working directory is located at \f[C].../workdir\f[R] relative 23318 to a temporary test directory, usually under \f[C]/tmp\f[R] on Linux. 23319 .IP \[bu] 2 23320 The local test sync tree is created at a temporary directory named like 23321 \f[C]bisync.XXX\f[R] under system temporary directory. 23322 .IP \[bu] 2 23323 The remote test sync tree is located at a temporary directory under 23324 \f[C]<remote:>/bisync.XXX/\f[R]. 23325 .IP \[bu] 2 23326 \f[C]path1\f[R] and/or \f[C]path2\f[R] subdirectories are created in a 23327 temporary directory under the respective local or cloud test remote. 23328 .IP \[bu] 2 23329 By default, the Path1 and Path2 test dirs and workdir will be deleted 23330 after each test run. 23331 The \f[C]-no-cleanup\f[R] flag disables purging these directories when 23332 validating and debugging a given test. 23333 These directories will be flushed before running another test, 23334 independent of the \f[C]-no-cleanup\f[R] usage. 23335 .IP \[bu] 2 23336 You will likely want to add \[ga]- 23337 /testdir/\f[C]to your normal bisync\f[R]--filters-file\f[C]so that normal syncs do not attempt to sync the test temporary directories, which may have\f[R]RCLONE_TEST\f[C]miscompares in some testcases which would otherwise trip the\f[R]--check-access\f[C]system. The\f[R]--check-access\f[C]mechanism is hard-coded to ignore\f[R]RCLONE_TEST\f[C]files beneath\f[R]bisync/testdata\[ga], 23338 so the test cases may reside on the synched tree even if there are check 23339 file mismatches in the test tree. 23340 .IP \[bu] 2 23341 Some Dropbox tests can fail, notably printing the following message: 23342 \f[C]src and dst identical but can\[aq]t set mod time without deleting and re-uploading\f[R] 23343 This is expected and happens due a way Dropbox handles modification 23344 times. 23345 You should use the \f[C]-refresh-times\f[R] test flag to make up for 23346 this. 23347 .IP \[bu] 2 23348 If Dropbox tests hit request limit for you and print error message 23349 \f[C]too_many_requests/...: Too many requests or write operations.\f[R] 23350 then follow the Dropbox App ID 23351 instructions (https://rclone.org/dropbox/#get-your-own-dropbox-app-id). 23352 .SS Updating golden results 23353 .PP 23354 Sometimes even a slight change in the bisync source can cause little 23355 changes spread around many log files. 23356 Updating them manually would be a nightmare. 23357 .PP 23358 The \f[C]-golden\f[R] flag will store the \f[C]test.log\f[R] and 23359 \f[C]*.lst\f[R] listings from each test case into respective golden 23360 directories. 23361 Golden results will automatically contain generic strings instead of 23362 local or cloud paths which means that they should match when run with a 23363 different cloud service. 23364 .PP 23365 Your normal workflow might be as follows: 1. 23366 Git-clone the rclone sources locally 2. 23367 Modify bisync source and check that it builds 3. 23368 Run the whole test suite \f[C]go test ./cmd/bisync -remote local\f[R] 4. 23369 If some tests show log difference, recheck them individually, e.g.: 23370 \f[C]go test ./cmd/bisync -remote local -case basic\f[R] 5. 23371 If you are convinced with the difference, goldenize all tests at once: 23372 \f[C]go test ./cmd/bisync -remote local -golden\f[R] 6. 23373 Use word diff: \f[C]git diff --word-diff ./cmd/bisync/testdata/\f[R]. 23374 Please note that normal line-level diff is generally useless here. 23375 7. 23376 Check the difference \f[I]carefully\f[R]! 8. 23377 Commit the change (\f[C]git commit\f[R]) \f[I]only\f[R] if you are sure. 23378 If unsure, save your code changes then wipe the log diffs from git: 23379 \f[C]git reset [--hard]\f[R]. 23380 .SS Structure of test scenarios 23381 .IP \[bu] 2 23382 \f[C]<testname>/initial/\f[R] contains a tree of files that will be set 23383 as the initial condition on both Path1 and Path2 testdirs. 23384 .IP \[bu] 2 23385 \f[C]<testname>/modfiles/\f[R] contains files that will be used to 23386 modify the Path1 and/or Path2 filesystems. 23387 .IP \[bu] 2 23388 \f[C]<testname>/golden/\f[R] contains the expected content of the test 23389 working directory (\f[C]workdir\f[R]) at the completion of the testcase. 23390 .IP \[bu] 2 23391 \f[C]<testname>/scenario.txt\f[R] contains the body of the test, in the 23392 form of various commands to modify files, run bisync, and snapshot 23393 listings. 23394 Output from these commands is captured to \f[C].../workdir/test.log\f[R] 23395 for comparison to the golden files. 23396 .SS Supported test commands 23397 .IP \[bu] 2 23398 \f[C]test <some message>\f[R] Print the line to the console and to the 23399 \f[C]test.log\f[R]: 23400 \f[C]test sync is working correctly with options x, y, z\f[R] 23401 .IP \[bu] 2 23402 \f[C]copy-listings <prefix>\f[R] Save a copy of all \f[C].lst\f[R] 23403 listings in the test working directory with the specified prefix: 23404 \f[C]save-listings exclude-pass-run\f[R] 23405 .IP \[bu] 2 23406 \f[C]move-listings <prefix>\f[R] Similar to \f[C]copy-listings\f[R] but 23407 removes the source 23408 .IP \[bu] 2 23409 \f[C]purge-children <dir>\f[R] This will delete all child files and 23410 purge all child subdirs under given directory but keep the parent 23411 intact. 23412 This behavior is important for tests with Google Drive because removing 23413 and re-creating the parent would change its ID. 23414 .IP \[bu] 2 23415 \f[C]delete-file <file>\f[R] Delete a single file. 23416 .IP \[bu] 2 23417 \f[C]delete-glob <dir> <pattern>\f[R] Delete a group of files located 23418 one level deep in the given directory with names matching a given glob 23419 pattern. 23420 .IP \[bu] 2 23421 \f[C]touch-glob YYYY-MM-DD <dir> <pattern>\f[R] Change modification time 23422 on a group of files. 23423 .IP \[bu] 2 23424 \f[C]touch-copy YYYY-MM-DD <source-file> <dest-dir>\f[R] Change file 23425 modification time then copy it to destination. 23426 .IP \[bu] 2 23427 \f[C]copy-file <source-file> <dest-dir>\f[R] Copy a single file to given 23428 directory. 23429 .IP \[bu] 2 23430 \f[C]copy-as <source-file> <dest-file>\f[R] Similar to above but 23431 destination must include both directory and the new file name at 23432 destination. 23433 .IP \[bu] 2 23434 \f[C]copy-dir <src> <dst>\f[R] and \f[C]sync-dir <src> <dst>\f[R] 23435 Copy/sync a directory. 23436 Equivalent of \f[C]rclone copy\f[R] and \f[C]rclone sync\f[R]. 23437 .IP \[bu] 2 23438 \f[C]list-dirs <dir>\f[R] Equivalent to 23439 \f[C]rclone lsf -R --dirs-only <dir>\f[R] 23440 .IP \[bu] 2 23441 \f[C]bisync [options]\f[R] Runs bisync against \f[C]-remote\f[R] and 23442 \f[C]-remote2\f[R]. 23443 .SS Supported substitution terms 23444 .IP \[bu] 2 23445 \f[C]{testdir/}\f[R] - the root dir of the testcase 23446 .IP \[bu] 2 23447 \f[C]{datadir/}\f[R] - the \f[C]modfiles\f[R] dir under the testcase 23448 root 23449 .IP \[bu] 2 23450 \f[C]{workdir/}\f[R] - the temporary test working directory 23451 .IP \[bu] 2 23452 \f[C]{path1/}\f[R] - the root of the Path1 test directory tree 23453 .IP \[bu] 2 23454 \f[C]{path2/}\f[R] - the root of the Path2 test directory tree 23455 .IP \[bu] 2 23456 \f[C]{session}\f[R] - base name of the test listings 23457 .IP \[bu] 2 23458 \f[C]{/}\f[R] - OS-specific path separator 23459 .IP \[bu] 2 23460 \f[C]{spc}\f[R], \f[C]{tab}\f[R], \f[C]{eol}\f[R] - whitespace 23461 .IP \[bu] 2 23462 \f[C]{chr:HH}\f[R] - raw byte with given hexadecimal code 23463 .PP 23464 Substitution results of the terms named like \f[C]{dir/}\f[R] will end 23465 with \f[C]/\f[R] (or backslash on Windows), so it is not necessary to 23466 include slash in the usage, for example 23467 \f[C]delete-file {path1/}file1.txt\f[R]. 23468 .SS Benchmarks 23469 .PP 23470 \f[I]This section is work in progress.\f[R] 23471 .PP 23472 Here are a few data points for scale, execution times, and memory usage. 23473 .PP 23474 The first set of data was taken between a local disk to Dropbox. 23475 The speedtest.net (https://speedtest.net) download speed was \[ti]170 23476 Mbps, and upload speed was \[ti]10 Mbps. 23477 500 files (\[ti]9.5 MB each) had been already synched. 23478 50 files were added in a new directory, each \[ti]9.5 MB, \[ti]475 MB 23479 total. 23480 .PP 23481 .TS 23482 tab(@); 23483 lw(23.8n) lw(35.0n) lw(11.2n). 23484 T{ 23485 Change 23486 T}@T{ 23487 Operations and times 23488 T}@T{ 23489 Overall run time 23490 T} 23491 _ 23492 T{ 23493 500 files synched (nothing to move) 23494 T}@T{ 23495 1x listings for Path1 & Path2 23496 T}@T{ 23497 1.5 sec 23498 T} 23499 T{ 23500 500 files synched with --check-access 23501 T}@T{ 23502 1x listings for Path1 & Path2 23503 T}@T{ 23504 1.5 sec 23505 T} 23506 T{ 23507 50 new files on remote 23508 T}@T{ 23509 Queued 50 copies down: 27 sec 23510 T}@T{ 23511 29 sec 23512 T} 23513 T{ 23514 Moved local dir 23515 T}@T{ 23516 Queued 50 copies up: 410 sec, 50 deletes up: 9 sec 23517 T}@T{ 23518 421 sec 23519 T} 23520 T{ 23521 Moved remote dir 23522 T}@T{ 23523 Queued 50 copies down: 31 sec, 50 deletes down: <1 sec 23524 T}@T{ 23525 33 sec 23526 T} 23527 T{ 23528 Delete local dir 23529 T}@T{ 23530 Queued 50 deletes up: 9 sec 23531 T}@T{ 23532 13 sec 23533 T} 23534 .TE 23535 .PP 23536 This next data is from a user\[aq]s application. 23537 They had \[ti]400GB of data over 1.96 million files being sync\[aq]ed 23538 between a Windows local disk and some remote cloud. 23539 The file full path length was on average 35 characters (which factors 23540 into load time and RAM required). 23541 .IP \[bu] 2 23542 Loading the prior listing into memory (1.96 million files, listing file 23543 size 140 MB) took \[ti]30 sec and occupied about 1 GB of RAM. 23544 .IP \[bu] 2 23545 Getting a fresh listing of the local file system (producing the 140 MB 23546 output file) took about XXX sec. 23547 .IP \[bu] 2 23548 Getting a fresh listing of the remote file system (producing the 140 MB 23549 output file) took about XXX sec. 23550 The network download speed was measured at XXX Mb/s. 23551 .IP \[bu] 2 23552 Once the prior and current Path1 and Path2 listings were loaded (a total 23553 of four to be loaded, two at a time), determining the deltas was pretty 23554 quick (a few seconds for this test case), and the transfer time for any 23555 files to be copied was dominated by the network bandwidth. 23556 .SS References 23557 .PP 23558 rclone\[aq]s bisync implementation was derived from the 23559 rclonesync-V2 (https://github.com/cjnaz/rclonesync-V2) project, 23560 including documentation and test mechanisms, with 23561 [\[at]cjnaz](https://github.com/cjnaz)\[aq]s full support and 23562 encouragement. 23563 .PP 23564 \f[C]rclone bisync\f[R] is similar in nature to a range of other 23565 projects: 23566 .IP \[bu] 2 23567 unison (https://github.com/bcpierce00/unison) 23568 .IP \[bu] 2 23569 syncthing (https://github.com/syncthing/syncthing) 23570 .IP \[bu] 2 23571 cjnaz/rclonesync (https://github.com/cjnaz/rclonesync-V2) 23572 .IP \[bu] 2 23573 ConorWilliams/rsinc (https://github.com/ConorWilliams/rsinc) 23574 .IP \[bu] 2 23575 jwink3101/syncrclone (https://github.com/Jwink3101/syncrclone) 23576 .IP \[bu] 2 23577 DavideRossi/upback (https://github.com/DavideRossi/upback) 23578 .PP 23579 Bisync adopts the differential synchronization technique, which is based 23580 on keeping history of changes performed by both synchronizing sides. 23581 See the \f[I]Dual Shadow Method\f[R] section in the Neil Fraser\[aq]s 23582 article (https://neil.fraser.name/writing/sync/). 23583 .PP 23584 Also note a number of academic publications by Benjamin 23585 Pierce (http://www.cis.upenn.edu/%7Ebcpierce/papers/index.shtml#File%20Synchronization) 23586 about \f[I]Unison\f[R] and synchronization in general. 23587 .SH 1Fichier 23588 .PP 23589 This is a backend for the 1fichier (https://1fichier.com) cloud storage 23590 service. 23591 Note that a Premium subscription is required to use the API. 23592 .PP 23593 Paths are specified as \f[C]remote:path\f[R] 23594 .PP 23595 Paths may be as deep as required, e.g. 23596 \f[C]remote:directory/subdirectory\f[R]. 23597 .SS Configuration 23598 .PP 23599 The initial setup for 1Fichier involves getting the API key from the 23600 website which you need to do in your browser. 23601 .PP 23602 Here is an example of how to make a remote called \f[C]remote\f[R]. 23603 First run: 23604 .IP 23605 .nf 23606 \f[C] 23607 rclone config 23608 \f[R] 23609 .fi 23610 .PP 23611 This will guide you through an interactive setup process: 23612 .IP 23613 .nf 23614 \f[C] 23615 No remotes found, make a new one? 23616 n) New remote 23617 s) Set configuration password 23618 q) Quit config 23619 n/s/q> n 23620 name> remote 23621 Type of storage to configure. 23622 Enter a string value. Press Enter for the default (\[dq]\[dq]). 23623 Choose a number from below, or type in your own value 23624 [snip] 23625 XX / 1Fichier 23626 \[rs] \[dq]fichier\[dq] 23627 [snip] 23628 Storage> fichier 23629 ** See help for fichier backend at: https://rclone.org/fichier/ ** 23630 23631 Your API Key, get it from https://1fichier.com/console/params.pl 23632 Enter a string value. Press Enter for the default (\[dq]\[dq]). 23633 api_key> example_key 23634 23635 Edit advanced config? (y/n) 23636 y) Yes 23637 n) No 23638 y/n> 23639 Remote config 23640 -------------------- 23641 [remote] 23642 type = fichier 23643 api_key = example_key 23644 -------------------- 23645 y) Yes this is OK 23646 e) Edit this remote 23647 d) Delete this remote 23648 y/e/d> y 23649 \f[R] 23650 .fi 23651 .PP 23652 Once configured you can then use \f[C]rclone\f[R] like this, 23653 .PP 23654 List directories in top level of your 1Fichier account 23655 .IP 23656 .nf 23657 \f[C] 23658 rclone lsd remote: 23659 \f[R] 23660 .fi 23661 .PP 23662 List all the files in your 1Fichier account 23663 .IP 23664 .nf 23665 \f[C] 23666 rclone ls remote: 23667 \f[R] 23668 .fi 23669 .PP 23670 To copy a local directory to a 1Fichier directory called backup 23671 .IP 23672 .nf 23673 \f[C] 23674 rclone copy /home/source remote:backup 23675 \f[R] 23676 .fi 23677 .SS Modified time and hashes 23678 .PP 23679 1Fichier does not support modification times. 23680 It supports the Whirlpool hash algorithm. 23681 .SS Duplicated files 23682 .PP 23683 1Fichier can have two files with exactly the same name and path (unlike 23684 a normal file system). 23685 .PP 23686 Duplicated files cause problems with the syncing and you will see 23687 messages in the log about duplicates. 23688 .SS Restricted filename characters 23689 .PP 23690 In addition to the default restricted characters 23691 set (https://rclone.org/overview/#restricted-characters) the following 23692 characters are also replaced: 23693 .PP 23694 .TS 23695 tab(@); 23696 l c c. 23697 T{ 23698 Character 23699 T}@T{ 23700 Value 23701 T}@T{ 23702 Replacement 23703 T} 23704 _ 23705 T{ 23706 \[rs] 23707 T}@T{ 23708 0x5C 23709 T}@T{ 23710 \[uFF3C] 23711 T} 23712 T{ 23713 < 23714 T}@T{ 23715 0x3C 23716 T}@T{ 23717 \[uFF1C] 23718 T} 23719 T{ 23720 > 23721 T}@T{ 23722 0x3E 23723 T}@T{ 23724 \[uFF1E] 23725 T} 23726 T{ 23727 \[dq] 23728 T}@T{ 23729 0x22 23730 T}@T{ 23731 \[uFF02] 23732 T} 23733 T{ 23734 $ 23735 T}@T{ 23736 0x24 23737 T}@T{ 23738 \[uFF04] 23739 T} 23740 T{ 23741 \[ga] 23742 T}@T{ 23743 0x60 23744 T}@T{ 23745 \[uFF40] 23746 T} 23747 T{ 23748 \[aq] 23749 T}@T{ 23750 0x27 23751 T}@T{ 23752 \[uFF07] 23753 T} 23754 .TE 23755 .PP 23756 File names can also not start or end with the following characters. 23757 These only get replaced if they are the first or last character in the 23758 name: 23759 .PP 23760 .TS 23761 tab(@); 23762 l c c. 23763 T{ 23764 Character 23765 T}@T{ 23766 Value 23767 T}@T{ 23768 Replacement 23769 T} 23770 _ 23771 T{ 23772 SP 23773 T}@T{ 23774 0x20 23775 T}@T{ 23776 \[u2420] 23777 T} 23778 .TE 23779 .PP 23780 Invalid UTF-8 bytes will also be 23781 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 23782 be used in JSON strings. 23783 .SS Standard options 23784 .PP 23785 Here are the Standard options specific to fichier (1Fichier). 23786 .SS --fichier-api-key 23787 .PP 23788 Your API Key, get it from https://1fichier.com/console/params.pl. 23789 .PP 23790 Properties: 23791 .IP \[bu] 2 23792 Config: api_key 23793 .IP \[bu] 2 23794 Env Var: RCLONE_FICHIER_API_KEY 23795 .IP \[bu] 2 23796 Type: string 23797 .IP \[bu] 2 23798 Required: false 23799 .SS Advanced options 23800 .PP 23801 Here are the Advanced options specific to fichier (1Fichier). 23802 .SS --fichier-shared-folder 23803 .PP 23804 If you want to download a shared folder, add this parameter. 23805 .PP 23806 Properties: 23807 .IP \[bu] 2 23808 Config: shared_folder 23809 .IP \[bu] 2 23810 Env Var: RCLONE_FICHIER_SHARED_FOLDER 23811 .IP \[bu] 2 23812 Type: string 23813 .IP \[bu] 2 23814 Required: false 23815 .SS --fichier-file-password 23816 .PP 23817 If you want to download a shared file that is password protected, add 23818 this parameter. 23819 .PP 23820 \f[B]NB\f[R] Input to this must be obscured - see rclone 23821 obscure (https://rclone.org/commands/rclone_obscure/). 23822 .PP 23823 Properties: 23824 .IP \[bu] 2 23825 Config: file_password 23826 .IP \[bu] 2 23827 Env Var: RCLONE_FICHIER_FILE_PASSWORD 23828 .IP \[bu] 2 23829 Type: string 23830 .IP \[bu] 2 23831 Required: false 23832 .SS --fichier-folder-password 23833 .PP 23834 If you want to list the files in a shared folder that is password 23835 protected, add this parameter. 23836 .PP 23837 \f[B]NB\f[R] Input to this must be obscured - see rclone 23838 obscure (https://rclone.org/commands/rclone_obscure/). 23839 .PP 23840 Properties: 23841 .IP \[bu] 2 23842 Config: folder_password 23843 .IP \[bu] 2 23844 Env Var: RCLONE_FICHIER_FOLDER_PASSWORD 23845 .IP \[bu] 2 23846 Type: string 23847 .IP \[bu] 2 23848 Required: false 23849 .SS --fichier-cdn 23850 .PP 23851 Set if you wish to use CDN download links. 23852 .PP 23853 Properties: 23854 .IP \[bu] 2 23855 Config: cdn 23856 .IP \[bu] 2 23857 Env Var: RCLONE_FICHIER_CDN 23858 .IP \[bu] 2 23859 Type: bool 23860 .IP \[bu] 2 23861 Default: false 23862 .SS --fichier-encoding 23863 .PP 23864 The encoding for the backend. 23865 .PP 23866 See the encoding section in the 23867 overview (https://rclone.org/overview/#encoding) for more info. 23868 .PP 23869 Properties: 23870 .IP \[bu] 2 23871 Config: encoding 23872 .IP \[bu] 2 23873 Env Var: RCLONE_FICHIER_ENCODING 23874 .IP \[bu] 2 23875 Type: MultiEncoder 23876 .IP \[bu] 2 23877 Default: 23878 Slash,LtGt,DoubleQuote,SingleQuote,BackQuote,Dollar,BackSlash,Del,Ctl,LeftSpace,RightSpace,InvalidUtf8,Dot 23879 .SS Limitations 23880 .PP 23881 \f[C]rclone about\f[R] is not supported by the 1Fichier backend. 23882 Backends without this capability cannot determine free space for an 23883 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 23884 of an rclone union remote. 23885 .PP 23886 See List of backends that do not support rclone 23887 about (https://rclone.org/overview/#optional-features) and rclone 23888 about (https://rclone.org/commands/rclone_about/) 23889 .SH Alias 23890 .PP 23891 The \f[C]alias\f[R] remote provides a new name for another remote. 23892 .PP 23893 Paths may be as deep as required or a local path, e.g. 23894 \f[C]remote:directory/subdirectory\f[R] or 23895 \f[C]/directory/subdirectory\f[R]. 23896 .PP 23897 During the initial setup with \f[C]rclone config\f[R] you will specify 23898 the target remote. 23899 The target remote can either be a local path or another remote. 23900 .PP 23901 Subfolders can be used in target remote. 23902 Assume an alias remote named \f[C]backup\f[R] with the target 23903 \f[C]mydrive:private/backup\f[R]. 23904 Invoking \f[C]rclone mkdir backup:desktop\f[R] is exactly the same as 23905 invoking \f[C]rclone mkdir mydrive:private/backup/desktop\f[R]. 23906 .PP 23907 There will be no special handling of paths containing \f[C]..\f[R] 23908 segments. 23909 Invoking \f[C]rclone mkdir backup:../desktop\f[R] is exactly the same as 23910 invoking \f[C]rclone mkdir mydrive:private/backup/../desktop\f[R]. 23911 The empty path is not allowed as a remote. 23912 To alias the current directory use \f[C].\f[R] instead. 23913 .PP 23914 The target remote can also be a connection 23915 string (https://rclone.org/docs/#connection-strings). 23916 This can be used to modify the config of a remote for different uses, 23917 e.g. 23918 the alias \f[C]myDriveTrash\f[R] with the target remote 23919 \f[C]myDrive,trashed_only:\f[R] can be used to only show the trashed 23920 files in \f[C]myDrive\f[R]. 23921 .SS Configuration 23922 .PP 23923 Here is an example of how to make an alias called \f[C]remote\f[R] for 23924 local folder. 23925 First run: 23926 .IP 23927 .nf 23928 \f[C] 23929 rclone config 23930 \f[R] 23931 .fi 23932 .PP 23933 This will guide you through an interactive setup process: 23934 .IP 23935 .nf 23936 \f[C] 23937 No remotes found, make a new one? 23938 n) New remote 23939 s) Set configuration password 23940 q) Quit config 23941 n/s/q> n 23942 name> remote 23943 Type of storage to configure. 23944 Choose a number from below, or type in your own value 23945 [snip] 23946 XX / Alias for an existing remote 23947 \[rs] \[dq]alias\[dq] 23948 [snip] 23949 Storage> alias 23950 Remote or path to alias. 23951 Can be \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq], \[dq]myremote:\[dq] or \[dq]/local/path\[dq]. 23952 remote> /mnt/storage/backup 23953 Remote config 23954 -------------------- 23955 [remote] 23956 remote = /mnt/storage/backup 23957 -------------------- 23958 y) Yes this is OK 23959 e) Edit this remote 23960 d) Delete this remote 23961 y/e/d> y 23962 Current remotes: 23963 23964 Name Type 23965 ==== ==== 23966 remote alias 23967 23968 e) Edit existing remote 23969 n) New remote 23970 d) Delete remote 23971 r) Rename remote 23972 c) Copy remote 23973 s) Set configuration password 23974 q) Quit config 23975 e/n/d/r/c/s/q> q 23976 \f[R] 23977 .fi 23978 .PP 23979 Once configured you can then use \f[C]rclone\f[R] like this, 23980 .PP 23981 List directories in top level in \f[C]/mnt/storage/backup\f[R] 23982 .IP 23983 .nf 23984 \f[C] 23985 rclone lsd remote: 23986 \f[R] 23987 .fi 23988 .PP 23989 List all the files in \f[C]/mnt/storage/backup\f[R] 23990 .IP 23991 .nf 23992 \f[C] 23993 rclone ls remote: 23994 \f[R] 23995 .fi 23996 .PP 23997 Copy another local directory to the alias directory called source 23998 .IP 23999 .nf 24000 \f[C] 24001 rclone copy /home/source remote:source 24002 \f[R] 24003 .fi 24004 .SS Standard options 24005 .PP 24006 Here are the Standard options specific to alias (Alias for an existing 24007 remote). 24008 .SS --alias-remote 24009 .PP 24010 Remote or path to alias. 24011 .PP 24012 Can be \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq], 24013 \[dq]myremote:\[dq] or \[dq]/local/path\[dq]. 24014 .PP 24015 Properties: 24016 .IP \[bu] 2 24017 Config: remote 24018 .IP \[bu] 2 24019 Env Var: RCLONE_ALIAS_REMOTE 24020 .IP \[bu] 2 24021 Type: string 24022 .IP \[bu] 2 24023 Required: true 24024 .SH Amazon Drive 24025 .PP 24026 Amazon Drive, formerly known as Amazon Cloud Drive, is a cloud storage 24027 service run by Amazon for consumers. 24028 .SS Status 24029 .PP 24030 \f[B]Important:\f[R] rclone supports Amazon Drive only if you have your 24031 own set of API keys. 24032 Unfortunately the Amazon Drive developer 24033 program (https://developer.amazon.com/amazon-drive) is now closed to new 24034 entries so if you don\[aq]t already have your own set of keys you will 24035 not be able to use rclone with Amazon Drive. 24036 .PP 24037 For the history on why rclone no longer has a set of Amazon Drive API 24038 keys see the 24039 forum (https://forum.rclone.org/t/rclone-has-been-banned-from-amazon-drive/2314). 24040 .PP 24041 If you happen to know anyone who works at Amazon then please ask them to 24042 re-instate rclone into the Amazon Drive developer program - thanks! 24043 .SS Configuration 24044 .PP 24045 The initial setup for Amazon Drive involves getting a token from Amazon 24046 which you need to do in your browser. 24047 \f[C]rclone config\f[R] walks you through it. 24048 .PP 24049 The configuration process for Amazon Drive may involve using an oauth 24050 proxy (https://github.com/ncw/oauthproxy). 24051 This is used to keep the Amazon credentials out of the source code. 24052 The proxy runs in Google\[aq]s very secure App Engine environment and 24053 doesn\[aq]t store any credentials which pass through it. 24054 .PP 24055 Since rclone doesn\[aq]t currently have its own Amazon Drive credentials 24056 so you will either need to have your own \f[C]client_id\f[R] and 24057 \f[C]client_secret\f[R] with Amazon Drive, or use a third-party oauth 24058 proxy in which case you will need to enter \f[C]client_id\f[R], 24059 \f[C]client_secret\f[R], \f[C]auth_url\f[R] and \f[C]token_url\f[R]. 24060 .PP 24061 Note also if you are not using Amazon\[aq]s \f[C]auth_url\f[R] and 24062 \f[C]token_url\f[R], (ie you filled in something for those) then if 24063 setting up on a remote machine you can only use the copying the config 24064 method of 24065 configuration (https://rclone.org/remote_setup/#configuring-by-copying-the-config-file) 24066 - \f[C]rclone authorize\f[R] will not work. 24067 .PP 24068 Here is an example of how to make a remote called \f[C]remote\f[R]. 24069 First run: 24070 .IP 24071 .nf 24072 \f[C] 24073 rclone config 24074 \f[R] 24075 .fi 24076 .PP 24077 This will guide you through an interactive setup process: 24078 .IP 24079 .nf 24080 \f[C] 24081 No remotes found, make a new one? 24082 n) New remote 24083 r) Rename remote 24084 c) Copy remote 24085 s) Set configuration password 24086 q) Quit config 24087 n/r/c/s/q> n 24088 name> remote 24089 Type of storage to configure. 24090 Choose a number from below, or type in your own value 24091 [snip] 24092 XX / Amazon Drive 24093 \[rs] \[dq]amazon cloud drive\[dq] 24094 [snip] 24095 Storage> amazon cloud drive 24096 Amazon Application Client Id - required. 24097 client_id> your client ID goes here 24098 Amazon Application Client Secret - required. 24099 client_secret> your client secret goes here 24100 Auth server URL - leave blank to use Amazon\[aq]s. 24101 auth_url> Optional auth URL 24102 Token server url - leave blank to use Amazon\[aq]s. 24103 token_url> Optional token URL 24104 Remote config 24105 Make sure your Redirect URL is set to \[dq]http://127.0.0.1:53682/\[dq] in your custom config. 24106 Use web browser to automatically authenticate rclone with remote? 24107 * Say Y if the machine running rclone has a web browser you can use 24108 * Say N if running rclone on a (remote) machine without web browser access 24109 If not sure try Y. If Y failed, try N. 24110 y) Yes 24111 n) No 24112 y/n> y 24113 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 24114 Log in and authorize rclone for access 24115 Waiting for code... 24116 Got code 24117 -------------------- 24118 [remote] 24119 client_id = your client ID goes here 24120 client_secret = your client secret goes here 24121 auth_url = Optional auth URL 24122 token_url = Optional token URL 24123 token = {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxx\[dq],\[dq]expiry\[dq]:\[dq]2015-09-06T16:07:39.658438471+01:00\[dq]} 24124 -------------------- 24125 y) Yes this is OK 24126 e) Edit this remote 24127 d) Delete this remote 24128 y/e/d> y 24129 \f[R] 24130 .fi 24131 .PP 24132 See the remote setup docs (https://rclone.org/remote_setup/) for how to 24133 set it up on a machine with no Internet browser available. 24134 .PP 24135 Note that rclone runs a webserver on your local machine to collect the 24136 token as returned from Amazon. 24137 This only runs from the moment it opens your browser to the moment you 24138 get back the verification code. 24139 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 24140 to unblock it temporarily if you are running a host firewall. 24141 .PP 24142 Once configured you can then use \f[C]rclone\f[R] like this, 24143 .PP 24144 List directories in top level of your Amazon Drive 24145 .IP 24146 .nf 24147 \f[C] 24148 rclone lsd remote: 24149 \f[R] 24150 .fi 24151 .PP 24152 List all the files in your Amazon Drive 24153 .IP 24154 .nf 24155 \f[C] 24156 rclone ls remote: 24157 \f[R] 24158 .fi 24159 .PP 24160 To copy a local directory to an Amazon Drive directory called backup 24161 .IP 24162 .nf 24163 \f[C] 24164 rclone copy /home/source remote:backup 24165 \f[R] 24166 .fi 24167 .SS Modified time and MD5SUMs 24168 .PP 24169 Amazon Drive doesn\[aq]t allow modification times to be changed via the 24170 API so these won\[aq]t be accurate or used for syncing. 24171 .PP 24172 It does store MD5SUMs so for a more accurate sync, you can use the 24173 \f[C]--checksum\f[R] flag. 24174 .SS Restricted filename characters 24175 .PP 24176 .TS 24177 tab(@); 24178 l c c. 24179 T{ 24180 Character 24181 T}@T{ 24182 Value 24183 T}@T{ 24184 Replacement 24185 T} 24186 _ 24187 T{ 24188 NUL 24189 T}@T{ 24190 0x00 24191 T}@T{ 24192 \[u2400] 24193 T} 24194 T{ 24195 / 24196 T}@T{ 24197 0x2F 24198 T}@T{ 24199 \[uFF0F] 24200 T} 24201 .TE 24202 .PP 24203 Invalid UTF-8 bytes will also be 24204 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 24205 be used in JSON strings. 24206 .SS Deleting files 24207 .PP 24208 Any files you delete with rclone will end up in the trash. 24209 Amazon don\[aq]t provide an API to permanently delete files, nor to 24210 empty the trash, so you will have to do that with one of Amazon\[aq]s 24211 apps or via the Amazon Drive website. 24212 As of November 17, 2016, files are automatically deleted by Amazon from 24213 the trash after 30 days. 24214 .SS Using with non \f[C].com\f[R] Amazon accounts 24215 .PP 24216 Let\[aq]s say you usually use \f[C]amazon.co.uk\f[R]. 24217 When you authenticate with rclone it will take you to an 24218 \f[C]amazon.com\f[R] page to log in. 24219 Your \f[C]amazon.co.uk\f[R] email and password should work here just 24220 fine. 24221 .SS Standard options 24222 .PP 24223 Here are the Standard options specific to amazon cloud drive (Amazon 24224 Drive). 24225 .SS --acd-client-id 24226 .PP 24227 OAuth Client Id. 24228 .PP 24229 Leave blank normally. 24230 .PP 24231 Properties: 24232 .IP \[bu] 2 24233 Config: client_id 24234 .IP \[bu] 2 24235 Env Var: RCLONE_ACD_CLIENT_ID 24236 .IP \[bu] 2 24237 Type: string 24238 .IP \[bu] 2 24239 Required: false 24240 .SS --acd-client-secret 24241 .PP 24242 OAuth Client Secret. 24243 .PP 24244 Leave blank normally. 24245 .PP 24246 Properties: 24247 .IP \[bu] 2 24248 Config: client_secret 24249 .IP \[bu] 2 24250 Env Var: RCLONE_ACD_CLIENT_SECRET 24251 .IP \[bu] 2 24252 Type: string 24253 .IP \[bu] 2 24254 Required: false 24255 .SS Advanced options 24256 .PP 24257 Here are the Advanced options specific to amazon cloud drive (Amazon 24258 Drive). 24259 .SS --acd-token 24260 .PP 24261 OAuth Access Token as a JSON blob. 24262 .PP 24263 Properties: 24264 .IP \[bu] 2 24265 Config: token 24266 .IP \[bu] 2 24267 Env Var: RCLONE_ACD_TOKEN 24268 .IP \[bu] 2 24269 Type: string 24270 .IP \[bu] 2 24271 Required: false 24272 .SS --acd-auth-url 24273 .PP 24274 Auth server URL. 24275 .PP 24276 Leave blank to use the provider defaults. 24277 .PP 24278 Properties: 24279 .IP \[bu] 2 24280 Config: auth_url 24281 .IP \[bu] 2 24282 Env Var: RCLONE_ACD_AUTH_URL 24283 .IP \[bu] 2 24284 Type: string 24285 .IP \[bu] 2 24286 Required: false 24287 .SS --acd-token-url 24288 .PP 24289 Token server url. 24290 .PP 24291 Leave blank to use the provider defaults. 24292 .PP 24293 Properties: 24294 .IP \[bu] 2 24295 Config: token_url 24296 .IP \[bu] 2 24297 Env Var: RCLONE_ACD_TOKEN_URL 24298 .IP \[bu] 2 24299 Type: string 24300 .IP \[bu] 2 24301 Required: false 24302 .SS --acd-checkpoint 24303 .PP 24304 Checkpoint for internal polling (debug). 24305 .PP 24306 Properties: 24307 .IP \[bu] 2 24308 Config: checkpoint 24309 .IP \[bu] 2 24310 Env Var: RCLONE_ACD_CHECKPOINT 24311 .IP \[bu] 2 24312 Type: string 24313 .IP \[bu] 2 24314 Required: false 24315 .SS --acd-upload-wait-per-gb 24316 .PP 24317 Additional time per GiB to wait after a failed complete upload to see if 24318 it appears. 24319 .PP 24320 Sometimes Amazon Drive gives an error when a file has been fully 24321 uploaded but the file appears anyway after a little while. 24322 This happens sometimes for files over 1 GiB in size and nearly every 24323 time for files bigger than 10 GiB. 24324 This parameter controls the time rclone waits for the file to appear. 24325 .PP 24326 The default value for this parameter is 3 minutes per GiB, so by default 24327 it will wait 3 minutes for every GiB uploaded to see if the file 24328 appears. 24329 .PP 24330 You can disable this feature by setting it to 0. 24331 This may cause conflict errors as rclone retries the failed upload but 24332 the file will most likely appear correctly eventually. 24333 .PP 24334 These values were determined empirically by observing lots of uploads of 24335 big files for a range of file sizes. 24336 .PP 24337 Upload with the \[dq]-v\[dq] flag to see more info about what rclone is 24338 doing in this situation. 24339 .PP 24340 Properties: 24341 .IP \[bu] 2 24342 Config: upload_wait_per_gb 24343 .IP \[bu] 2 24344 Env Var: RCLONE_ACD_UPLOAD_WAIT_PER_GB 24345 .IP \[bu] 2 24346 Type: Duration 24347 .IP \[bu] 2 24348 Default: 3m0s 24349 .SS --acd-templink-threshold 24350 .PP 24351 Files >= this size will be downloaded via their tempLink. 24352 .PP 24353 Files this size or more will be downloaded via their \[dq]tempLink\[dq]. 24354 This is to work around a problem with Amazon Drive which blocks 24355 downloads of files bigger than about 10 GiB. 24356 The default for this is 9 GiB which shouldn\[aq]t need to be changed. 24357 .PP 24358 To download files above this threshold, rclone requests a 24359 \[dq]tempLink\[dq] which downloads the file through a temporary URL 24360 directly from the underlying S3 storage. 24361 .PP 24362 Properties: 24363 .IP \[bu] 2 24364 Config: templink_threshold 24365 .IP \[bu] 2 24366 Env Var: RCLONE_ACD_TEMPLINK_THRESHOLD 24367 .IP \[bu] 2 24368 Type: SizeSuffix 24369 .IP \[bu] 2 24370 Default: 9Gi 24371 .SS --acd-encoding 24372 .PP 24373 The encoding for the backend. 24374 .PP 24375 See the encoding section in the 24376 overview (https://rclone.org/overview/#encoding) for more info. 24377 .PP 24378 Properties: 24379 .IP \[bu] 2 24380 Config: encoding 24381 .IP \[bu] 2 24382 Env Var: RCLONE_ACD_ENCODING 24383 .IP \[bu] 2 24384 Type: MultiEncoder 24385 .IP \[bu] 2 24386 Default: Slash,InvalidUtf8,Dot 24387 .SS Limitations 24388 .PP 24389 Note that Amazon Drive is case insensitive so you can\[aq]t have a file 24390 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 24391 .PP 24392 Amazon Drive has rate limiting so you may notice errors in the sync (429 24393 errors). 24394 rclone will automatically retry the sync up to 3 times by default (see 24395 \f[C]--retries\f[R] flag) which should hopefully work around this 24396 problem. 24397 .PP 24398 Amazon Drive has an internal limit of file sizes that can be uploaded to 24399 the service. 24400 This limit is not officially published, but all files larger than this 24401 will fail. 24402 .PP 24403 At the time of writing (Jan 2016) is in the area of 50 GiB per file. 24404 This means that larger files are likely to fail. 24405 .PP 24406 Unfortunately there is no way for rclone to see that this failure is 24407 because of file size, so it will retry the operation, as any other 24408 failure. 24409 To avoid this problem, use \f[C]--max-size 50000M\f[R] option to limit 24410 the maximum size of uploaded files. 24411 Note that \f[C]--max-size\f[R] does not split files into segments, it 24412 only ignores files over this size. 24413 .PP 24414 \f[C]rclone about\f[R] is not supported by the Amazon Drive backend. 24415 Backends without this capability cannot determine free space for an 24416 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 24417 of an rclone union remote. 24418 .PP 24419 See List of backends that do not support rclone 24420 about (https://rclone.org/overview/#optional-features) and rclone 24421 about (https://rclone.org/commands/rclone_about/) 24422 .SH Amazon S3 Storage Providers 24423 .PP 24424 The S3 backend can be used with a number of different providers: 24425 .IP \[bu] 2 24426 AWS S3 24427 .IP \[bu] 2 24428 Alibaba Cloud (Aliyun) Object Storage System (OSS) 24429 .IP \[bu] 2 24430 Ceph 24431 .IP \[bu] 2 24432 China Mobile Ecloud Elastic Object Storage (EOS) 24433 .IP \[bu] 2 24434 Cloudflare R2 24435 .IP \[bu] 2 24436 Arvan Cloud Object Storage (AOS) 24437 .IP \[bu] 2 24438 DigitalOcean Spaces 24439 .IP \[bu] 2 24440 Dreamhost 24441 .IP \[bu] 2 24442 GCS 24443 .IP \[bu] 2 24444 Huawei OBS 24445 .IP \[bu] 2 24446 IBM COS S3 24447 .IP \[bu] 2 24448 IDrive e2 24449 .IP \[bu] 2 24450 IONOS Cloud 24451 .IP \[bu] 2 24452 Liara Object Storage 24453 .IP \[bu] 2 24454 Minio 24455 .IP \[bu] 2 24456 Petabox 24457 .IP \[bu] 2 24458 Qiniu Cloud Object Storage (Kodo) 24459 .IP \[bu] 2 24460 RackCorp Object Storage 24461 .IP \[bu] 2 24462 Scaleway 24463 .IP \[bu] 2 24464 Seagate Lyve Cloud 24465 .IP \[bu] 2 24466 SeaweedFS 24467 .IP \[bu] 2 24468 StackPath 24469 .IP \[bu] 2 24470 Storj 24471 .IP \[bu] 2 24472 Tencent Cloud Object Storage (COS) 24473 .IP \[bu] 2 24474 Wasabi 24475 .PP 24476 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 24477 the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 24478 \f[C]remote:bucket/path/to/dir\f[R]. 24479 .PP 24480 Once you have made a remote (see the provider specific section above) 24481 you can use it like this: 24482 .PP 24483 See all buckets 24484 .IP 24485 .nf 24486 \f[C] 24487 rclone lsd remote: 24488 \f[R] 24489 .fi 24490 .PP 24491 Make a new bucket 24492 .IP 24493 .nf 24494 \f[C] 24495 rclone mkdir remote:bucket 24496 \f[R] 24497 .fi 24498 .PP 24499 List the contents of a bucket 24500 .IP 24501 .nf 24502 \f[C] 24503 rclone ls remote:bucket 24504 \f[R] 24505 .fi 24506 .PP 24507 Sync \f[C]/home/local/directory\f[R] to the remote bucket, deleting any 24508 excess files in the bucket. 24509 .IP 24510 .nf 24511 \f[C] 24512 rclone sync --interactive /home/local/directory remote:bucket 24513 \f[R] 24514 .fi 24515 .SS Configuration 24516 .PP 24517 Here is an example of making an s3 configuration for the AWS S3 24518 provider. 24519 Most applies to the other providers as well, any differences are 24520 described below. 24521 .PP 24522 First run 24523 .IP 24524 .nf 24525 \f[C] 24526 rclone config 24527 \f[R] 24528 .fi 24529 .PP 24530 This will guide you through an interactive setup process. 24531 .IP 24532 .nf 24533 \f[C] 24534 No remotes found, make a new one? 24535 n) New remote 24536 s) Set configuration password 24537 q) Quit config 24538 n/s/q> n 24539 name> remote 24540 Type of storage to configure. 24541 Choose a number from below, or type in your own value 24542 [snip] 24543 XX / Amazon S3 Compliant Storage Providers including AWS, Ceph, ChinaMobile, ArvanCloud, Dreamhost, IBM COS, Liara, Minio, and Tencent COS 24544 \[rs] \[dq]s3\[dq] 24545 [snip] 24546 Storage> s3 24547 Choose your S3 provider. 24548 Choose a number from below, or type in your own value 24549 1 / Amazon Web Services (AWS) S3 24550 \[rs] \[dq]AWS\[dq] 24551 2 / Ceph Object Storage 24552 \[rs] \[dq]Ceph\[dq] 24553 3 / DigitalOcean Spaces 24554 \[rs] \[dq]DigitalOcean\[dq] 24555 4 / Dreamhost DreamObjects 24556 \[rs] \[dq]Dreamhost\[dq] 24557 5 / IBM COS S3 24558 \[rs] \[dq]IBMCOS\[dq] 24559 6 / Minio Object Storage 24560 \[rs] \[dq]Minio\[dq] 24561 7 / Wasabi Object Storage 24562 \[rs] \[dq]Wasabi\[dq] 24563 8 / Any other S3 compatible provider 24564 \[rs] \[dq]Other\[dq] 24565 provider> 1 24566 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. 24567 Choose a number from below, or type in your own value 24568 1 / Enter AWS credentials in the next step 24569 \[rs] \[dq]false\[dq] 24570 2 / Get AWS credentials from the environment (env vars or IAM) 24571 \[rs] \[dq]true\[dq] 24572 env_auth> 1 24573 AWS Access Key ID - leave blank for anonymous access or runtime credentials. 24574 access_key_id> XXX 24575 AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. 24576 secret_access_key> YYY 24577 Region to connect to. 24578 Choose a number from below, or type in your own value 24579 / The default endpoint - a good choice if you are unsure. 24580 1 | US Region, Northern Virginia, or Pacific Northwest. 24581 | Leave location constraint empty. 24582 \[rs] \[dq]us-east-1\[dq] 24583 / US East (Ohio) Region 24584 2 | Needs location constraint us-east-2. 24585 \[rs] \[dq]us-east-2\[dq] 24586 / US West (Oregon) Region 24587 3 | Needs location constraint us-west-2. 24588 \[rs] \[dq]us-west-2\[dq] 24589 / US West (Northern California) Region 24590 4 | Needs location constraint us-west-1. 24591 \[rs] \[dq]us-west-1\[dq] 24592 / Canada (Central) Region 24593 5 | Needs location constraint ca-central-1. 24594 \[rs] \[dq]ca-central-1\[dq] 24595 / EU (Ireland) Region 24596 6 | Needs location constraint EU or eu-west-1. 24597 \[rs] \[dq]eu-west-1\[dq] 24598 / EU (London) Region 24599 7 | Needs location constraint eu-west-2. 24600 \[rs] \[dq]eu-west-2\[dq] 24601 / EU (Frankfurt) Region 24602 8 | Needs location constraint eu-central-1. 24603 \[rs] \[dq]eu-central-1\[dq] 24604 / Asia Pacific (Singapore) Region 24605 9 | Needs location constraint ap-southeast-1. 24606 \[rs] \[dq]ap-southeast-1\[dq] 24607 / Asia Pacific (Sydney) Region 24608 10 | Needs location constraint ap-southeast-2. 24609 \[rs] \[dq]ap-southeast-2\[dq] 24610 / Asia Pacific (Tokyo) Region 24611 11 | Needs location constraint ap-northeast-1. 24612 \[rs] \[dq]ap-northeast-1\[dq] 24613 / Asia Pacific (Seoul) 24614 12 | Needs location constraint ap-northeast-2. 24615 \[rs] \[dq]ap-northeast-2\[dq] 24616 / Asia Pacific (Mumbai) 24617 13 | Needs location constraint ap-south-1. 24618 \[rs] \[dq]ap-south-1\[dq] 24619 / Asia Pacific (Hong Kong) Region 24620 14 | Needs location constraint ap-east-1. 24621 \[rs] \[dq]ap-east-1\[dq] 24622 / South America (Sao Paulo) Region 24623 15 | Needs location constraint sa-east-1. 24624 \[rs] \[dq]sa-east-1\[dq] 24625 region> 1 24626 Endpoint for S3 API. 24627 Leave blank if using AWS to use the default endpoint for the region. 24628 endpoint> 24629 Location constraint - must be set to match the Region. Used when creating buckets only. 24630 Choose a number from below, or type in your own value 24631 1 / Empty for US Region, Northern Virginia, or Pacific Northwest. 24632 \[rs] \[dq]\[dq] 24633 2 / US East (Ohio) Region. 24634 \[rs] \[dq]us-east-2\[dq] 24635 3 / US West (Oregon) Region. 24636 \[rs] \[dq]us-west-2\[dq] 24637 4 / US West (Northern California) Region. 24638 \[rs] \[dq]us-west-1\[dq] 24639 5 / Canada (Central) Region. 24640 \[rs] \[dq]ca-central-1\[dq] 24641 6 / EU (Ireland) Region. 24642 \[rs] \[dq]eu-west-1\[dq] 24643 7 / EU (London) Region. 24644 \[rs] \[dq]eu-west-2\[dq] 24645 8 / EU Region. 24646 \[rs] \[dq]EU\[dq] 24647 9 / Asia Pacific (Singapore) Region. 24648 \[rs] \[dq]ap-southeast-1\[dq] 24649 10 / Asia Pacific (Sydney) Region. 24650 \[rs] \[dq]ap-southeast-2\[dq] 24651 11 / Asia Pacific (Tokyo) Region. 24652 \[rs] \[dq]ap-northeast-1\[dq] 24653 12 / Asia Pacific (Seoul) 24654 \[rs] \[dq]ap-northeast-2\[dq] 24655 13 / Asia Pacific (Mumbai) 24656 \[rs] \[dq]ap-south-1\[dq] 24657 14 / Asia Pacific (Hong Kong) 24658 \[rs] \[dq]ap-east-1\[dq] 24659 15 / South America (Sao Paulo) Region. 24660 \[rs] \[dq]sa-east-1\[dq] 24661 location_constraint> 1 24662 Canned ACL used when creating buckets and/or storing objects in S3. 24663 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 24664 Choose a number from below, or type in your own value 24665 1 / Owner gets FULL_CONTROL. No one else has access rights (default). 24666 \[rs] \[dq]private\[dq] 24667 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. 24668 \[rs] \[dq]public-read\[dq] 24669 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. 24670 3 | Granting this on a bucket is generally not recommended. 24671 \[rs] \[dq]public-read-write\[dq] 24672 4 / Owner gets FULL_CONTROL. The AuthenticatedUsers group gets READ access. 24673 \[rs] \[dq]authenticated-read\[dq] 24674 / Object owner gets FULL_CONTROL. Bucket owner gets READ access. 24675 5 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. 24676 \[rs] \[dq]bucket-owner-read\[dq] 24677 / Both the object owner and the bucket owner get FULL_CONTROL over the object. 24678 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. 24679 \[rs] \[dq]bucket-owner-full-control\[dq] 24680 acl> 1 24681 The server-side encryption algorithm used when storing this object in S3. 24682 Choose a number from below, or type in your own value 24683 1 / None 24684 \[rs] \[dq]\[dq] 24685 2 / AES256 24686 \[rs] \[dq]AES256\[dq] 24687 server_side_encryption> 1 24688 The storage class to use when storing objects in S3. 24689 Choose a number from below, or type in your own value 24690 1 / Default 24691 \[rs] \[dq]\[dq] 24692 2 / Standard storage class 24693 \[rs] \[dq]STANDARD\[dq] 24694 3 / Reduced redundancy storage class 24695 \[rs] \[dq]REDUCED_REDUNDANCY\[dq] 24696 4 / Standard Infrequent Access storage class 24697 \[rs] \[dq]STANDARD_IA\[dq] 24698 5 / One Zone Infrequent Access storage class 24699 \[rs] \[dq]ONEZONE_IA\[dq] 24700 6 / Glacier storage class 24701 \[rs] \[dq]GLACIER\[dq] 24702 7 / Glacier Deep Archive storage class 24703 \[rs] \[dq]DEEP_ARCHIVE\[dq] 24704 8 / Intelligent-Tiering storage class 24705 \[rs] \[dq]INTELLIGENT_TIERING\[dq] 24706 9 / Glacier Instant Retrieval storage class 24707 \[rs] \[dq]GLACIER_IR\[dq] 24708 storage_class> 1 24709 Remote config 24710 -------------------- 24711 [remote] 24712 type = s3 24713 provider = AWS 24714 env_auth = false 24715 access_key_id = XXX 24716 secret_access_key = YYY 24717 region = us-east-1 24718 endpoint = 24719 location_constraint = 24720 acl = private 24721 server_side_encryption = 24722 storage_class = 24723 -------------------- 24724 y) Yes this is OK 24725 e) Edit this remote 24726 d) Delete this remote 24727 y/e/d> 24728 \f[R] 24729 .fi 24730 .SS Modified time 24731 .PP 24732 The modified time is stored as metadata on the object as 24733 \f[C]X-Amz-Meta-Mtime\f[R] as floating point since the epoch, accurate 24734 to 1 ns. 24735 .PP 24736 If the modification time needs to be updated rclone will attempt to 24737 perform a server side copy to update the modification if the object can 24738 be copied in a single part. 24739 In the case the object is larger than 5Gb or is in Glacier or Glacier 24740 Deep Archive storage the object will be uploaded rather than copied. 24741 .PP 24742 Note that reading this from the object takes an additional 24743 \f[C]HEAD\f[R] request as the metadata isn\[aq]t returned in object 24744 listings. 24745 .SS Reducing costs 24746 .SS Avoiding HEAD requests to read the modification time 24747 .PP 24748 By default, rclone will use the modification time of objects stored in 24749 S3 for syncing. 24750 This is stored in object metadata which unfortunately takes an extra 24751 HEAD request to read which can be expensive (in time and money). 24752 .PP 24753 The modification time is used by default for all operations that require 24754 checking the time a file was last updated. 24755 It allows rclone to treat the remote more like a true filesystem, but it 24756 is inefficient on S3 because it requires an extra API call to retrieve 24757 the metadata. 24758 .PP 24759 The extra API calls can be avoided when syncing (using 24760 \f[C]rclone sync\f[R] or \f[C]rclone copy\f[R]) in a few different ways, 24761 each with its own tradeoffs. 24762 .IP \[bu] 2 24763 \f[C]--size-only\f[R] 24764 .RS 2 24765 .IP \[bu] 2 24766 Only checks the size of files. 24767 .IP \[bu] 2 24768 Uses no extra transactions. 24769 .IP \[bu] 2 24770 If the file doesn\[aq]t change size then rclone won\[aq]t detect it has 24771 changed. 24772 .IP \[bu] 2 24773 \f[C]rclone sync --size-only /path/to/source s3:bucket\f[R] 24774 .RE 24775 .IP \[bu] 2 24776 \f[C]--checksum\f[R] 24777 .RS 2 24778 .IP \[bu] 2 24779 Checks the size and MD5 checksum of files. 24780 .IP \[bu] 2 24781 Uses no extra transactions. 24782 .IP \[bu] 2 24783 The most accurate detection of changes possible. 24784 .IP \[bu] 2 24785 Will cause the source to read an MD5 checksum which, if it is a local 24786 disk, will cause lots of disk activity. 24787 .IP \[bu] 2 24788 If the source and destination are both S3 this is the 24789 \f[B]recommended\f[R] flag to use for maximum efficiency. 24790 .IP \[bu] 2 24791 \f[C]rclone sync --checksum /path/to/source s3:bucket\f[R] 24792 .RE 24793 .IP \[bu] 2 24794 \f[C]--update --use-server-modtime\f[R] 24795 .RS 2 24796 .IP \[bu] 2 24797 Uses no extra transactions. 24798 .IP \[bu] 2 24799 Modification time becomes the time the object was uploaded. 24800 .IP \[bu] 2 24801 For many operations this is sufficient to determine if it needs 24802 uploading. 24803 .IP \[bu] 2 24804 Using \f[C]--update\f[R] along with \f[C]--use-server-modtime\f[R], 24805 avoids the extra API call and uploads files whose local modification 24806 time is newer than the time it was last uploaded. 24807 .IP \[bu] 2 24808 Files created with timestamps in the past will be missed by the sync. 24809 .IP \[bu] 2 24810 \f[C]rclone sync --update --use-server-modtime /path/to/source s3:bucket\f[R] 24811 .RE 24812 .PP 24813 These flags can and should be used in combination with 24814 \f[C]--fast-list\f[R] - see below. 24815 .PP 24816 If using \f[C]rclone mount\f[R] or any command using the VFS (eg 24817 \f[C]rclone serve\f[R]) commands then you might want to consider using 24818 the VFS flag \f[C]--no-modtime\f[R] which will stop rclone reading the 24819 modification time for every object. 24820 You could also use \f[C]--use-server-modtime\f[R] if you are happy with 24821 the modification times of the objects being the time of upload. 24822 .SS Avoiding GET requests to read directory listings 24823 .PP 24824 Rclone\[aq]s default directory traversal is to process each directory 24825 individually. 24826 This takes one API call per directory. 24827 Using the \f[C]--fast-list\f[R] flag will read all info about the 24828 objects into memory first using a smaller number of API calls (one per 24829 1000 objects). 24830 See the rclone docs (https://rclone.org/docs/#fast-list) for more 24831 details. 24832 .IP 24833 .nf 24834 \f[C] 24835 rclone sync --fast-list --checksum /path/to/source s3:bucket 24836 \f[R] 24837 .fi 24838 .PP 24839 \f[C]--fast-list\f[R] trades off API transactions for memory use. 24840 As a rough guide rclone uses 1k of memory per object stored, so using 24841 \f[C]--fast-list\f[R] on a sync of a million objects will use roughly 1 24842 GiB of RAM. 24843 .PP 24844 If you are only copying a small number of files into a big repository 24845 then using \f[C]--no-traverse\f[R] is a good idea. 24846 This finds objects directly instead of through directory listings. 24847 You can do a \[dq]top-up\[dq] sync very cheaply by using 24848 \f[C]--max-age\f[R] and \f[C]--no-traverse\f[R] to copy only recent 24849 files, eg 24850 .IP 24851 .nf 24852 \f[C] 24853 rclone copy --max-age 24h --no-traverse /path/to/source s3:bucket 24854 \f[R] 24855 .fi 24856 .PP 24857 You\[aq]d then do a full \f[C]rclone sync\f[R] less often. 24858 .PP 24859 Note that \f[C]--fast-list\f[R] isn\[aq]t required in the top-up sync. 24860 .SS Avoiding HEAD requests after PUT 24861 .PP 24862 By default, rclone will HEAD every object it uploads. 24863 It does this to check the object got uploaded correctly. 24864 .PP 24865 You can disable this with the --s3-no-head option - see there for more 24866 details. 24867 .PP 24868 Setting this flag increases the chance for undetected upload failures. 24869 .SS Hashes 24870 .PP 24871 For small objects which weren\[aq]t uploaded as multipart uploads 24872 (objects sized below \f[C]--s3-upload-cutoff\f[R] if uploaded with 24873 rclone) rclone uses the \f[C]ETag:\f[R] header as an MD5 checksum. 24874 .PP 24875 However for objects which were uploaded as multipart uploads or with 24876 server side encryption (SSE-AWS or SSE-C) the \f[C]ETag\f[R] header is 24877 no longer the MD5 sum of the data, so rclone adds an additional piece of 24878 metadata \f[C]X-Amz-Meta-Md5chksum\f[R] which is a base64 encoded MD5 24879 hash (in the same format as is required for \f[C]Content-MD5\f[R]). 24880 You can use base64 -d and hexdump to check this value manually: 24881 .IP 24882 .nf 24883 \f[C] 24884 echo \[aq]VWTGdNx3LyXQDfA0e2Edxw==\[aq] | base64 -d | hexdump 24885 \f[R] 24886 .fi 24887 .PP 24888 or you can use \f[C]rclone check\f[R] to verify the hashes are OK. 24889 .PP 24890 For large objects, calculating this hash can take some time so the 24891 addition of this hash can be disabled with 24892 \f[C]--s3-disable-checksum\f[R]. 24893 This will mean that these objects do not have an MD5 checksum. 24894 .PP 24895 Note that reading this from the object takes an additional 24896 \f[C]HEAD\f[R] request as the metadata isn\[aq]t returned in object 24897 listings. 24898 .SS Versions 24899 .PP 24900 When bucket versioning is enabled (this can be done with rclone with the 24901 \f[C]rclone backend versioning\f[R] command) when rclone uploads a new 24902 version of a file it creates a new version of 24903 it (https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) 24904 Likewise when you delete a file, the old version will be marked hidden 24905 and still be available. 24906 .PP 24907 Old versions of files, where available, are visible using the 24908 \f[C]--s3-versions\f[R] flag. 24909 .PP 24910 It is also possible to view a bucket as it was at a certain point in 24911 time, using the \f[C]--s3-version-at\f[R] flag. 24912 This will show the file versions as they were at that time, showing 24913 files that have been deleted afterwards, and hiding files that were 24914 created since. 24915 .PP 24916 If you wish to remove all the old versions then you can use the 24917 \f[C]rclone backend cleanup-hidden remote:bucket\f[R] command which will 24918 delete all the old hidden versions of files, leaving the current ones 24919 intact. 24920 You can also supply a path and only old versions under that path will be 24921 deleted, e.g. 24922 \f[C]rclone backend cleanup-hidden remote:bucket/path/to/stuff\f[R]. 24923 .PP 24924 When you \f[C]purge\f[R] a bucket, the current and the old versions will 24925 be deleted then the bucket will be deleted. 24926 .PP 24927 However \f[C]delete\f[R] will cause the current versions of the files to 24928 become hidden old versions. 24929 .PP 24930 Here is a session showing the listing and retrieval of an old version 24931 followed by a \f[C]cleanup\f[R] of the old versions. 24932 .PP 24933 Show current version and all the versions with \f[C]--s3-versions\f[R] 24934 flag. 24935 .IP 24936 .nf 24937 \f[C] 24938 $ rclone -q ls s3:cleanup-test 24939 9 one.txt 24940 24941 $ rclone -q --s3-versions ls s3:cleanup-test 24942 9 one.txt 24943 8 one-v2016-07-04-141032-000.txt 24944 16 one-v2016-07-04-141003-000.txt 24945 15 one-v2016-07-02-155621-000.txt 24946 \f[R] 24947 .fi 24948 .PP 24949 Retrieve an old version 24950 .IP 24951 .nf 24952 \f[C] 24953 $ rclone -q --s3-versions copy s3:cleanup-test/one-v2016-07-04-141003-000.txt /tmp 24954 24955 $ ls -l /tmp/one-v2016-07-04-141003-000.txt 24956 -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt 24957 \f[R] 24958 .fi 24959 .PP 24960 Clean up all the old versions and show that they\[aq]ve gone. 24961 .IP 24962 .nf 24963 \f[C] 24964 $ rclone -q backend cleanup-hidden s3:cleanup-test 24965 24966 $ rclone -q ls s3:cleanup-test 24967 9 one.txt 24968 24969 $ rclone -q --s3-versions ls s3:cleanup-test 24970 9 one.txt 24971 \f[R] 24972 .fi 24973 .SS Cleanup 24974 .PP 24975 If you run \f[C]rclone cleanup s3:bucket\f[R] then it will remove all 24976 pending multipart uploads older than 24 hours. 24977 You can use the \f[C]--interactive\f[R]/\f[C]i\f[R] or 24978 \f[C]--dry-run\f[R] flag to see exactly what it will do. 24979 If you want more control over the expiry date then run 24980 \f[C]rclone backend cleanup s3:bucket -o max-age=1h\f[R] to expire all 24981 uploads older than one hour. 24982 You can use \f[C]rclone backend list-multipart-uploads s3:bucket\f[R] to 24983 see the pending multipart uploads. 24984 .SS Restricted filename characters 24985 .PP 24986 S3 allows any valid UTF-8 string as a key. 24987 .PP 24988 Invalid UTF-8 bytes will be 24989 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 24990 be used in XML. 24991 .PP 24992 The following characters are replaced since these are problematic when 24993 dealing with the REST API: 24994 .PP 24995 .TS 24996 tab(@); 24997 l c c. 24998 T{ 24999 Character 25000 T}@T{ 25001 Value 25002 T}@T{ 25003 Replacement 25004 T} 25005 _ 25006 T{ 25007 NUL 25008 T}@T{ 25009 0x00 25010 T}@T{ 25011 \[u2400] 25012 T} 25013 T{ 25014 / 25015 T}@T{ 25016 0x2F 25017 T}@T{ 25018 \[uFF0F] 25019 T} 25020 .TE 25021 .PP 25022 The encoding will also encode these file names as they don\[aq]t seem to 25023 work with the SDK properly: 25024 .PP 25025 .TS 25026 tab(@); 25027 l c. 25028 T{ 25029 File name 25030 T}@T{ 25031 Replacement 25032 T} 25033 _ 25034 T{ 25035 \&. 25036 T}@T{ 25037 \[uFF0E] 25038 T} 25039 T{ 25040 \&.. 25041 T}@T{ 25042 \[uFF0E]\[uFF0E] 25043 T} 25044 .TE 25045 .SS Multipart uploads 25046 .PP 25047 rclone supports multipart uploads with S3 which means that it can upload 25048 files bigger than 5 GiB. 25049 .PP 25050 Note that files uploaded \f[I]both\f[R] with multipart upload 25051 \f[I]and\f[R] through crypt remotes do not have MD5 sums. 25052 .PP 25053 rclone switches from single part uploads to multipart uploads at the 25054 point specified by \f[C]--s3-upload-cutoff\f[R]. 25055 This can be a maximum of 5 GiB and a minimum of 0 (ie always upload 25056 multipart files). 25057 .PP 25058 The chunk sizes used in the multipart upload are specified by 25059 \f[C]--s3-chunk-size\f[R] and the number of chunks uploaded concurrently 25060 is specified by \f[C]--s3-upload-concurrency\f[R]. 25061 .PP 25062 Multipart uploads will use \f[C]--transfers\f[R] * 25063 \f[C]--s3-upload-concurrency\f[R] * \f[C]--s3-chunk-size\f[R] extra 25064 memory. 25065 Single part uploads to not use extra memory. 25066 .PP 25067 Single part transfers can be faster than multipart transfers or slower 25068 depending on your latency from S3 - the more latency, the more likely 25069 single part transfers will be faster. 25070 .PP 25071 Increasing \f[C]--s3-upload-concurrency\f[R] will increase throughput (8 25072 would be a sensible value) and increasing \f[C]--s3-chunk-size\f[R] also 25073 increases throughput (16M would be sensible). 25074 Increasing either of these will use more memory. 25075 The default values are high enough to gain most of the possible 25076 performance without using too much memory. 25077 .SS Buckets and Regions 25078 .PP 25079 With Amazon S3 you can list buckets (\f[C]rclone lsd\f[R]) using any 25080 region, but you can only access the content of a bucket from the region 25081 it was created in. 25082 If you attempt to access a bucket from the wrong region, you will get an 25083 error, 25084 \f[C]incorrect region, the bucket is not in \[aq]XXX\[aq] region\f[R]. 25085 .SS Authentication 25086 .PP 25087 There are a number of ways to supply \f[C]rclone\f[R] with a set of AWS 25088 credentials, with and without using the environment. 25089 .PP 25090 The different authentication methods are tried in this order: 25091 .IP \[bu] 2 25092 Directly in the rclone configuration file (\f[C]env_auth = false\f[R] in 25093 the config file): 25094 .RS 2 25095 .IP \[bu] 2 25096 \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R] are required. 25097 .IP \[bu] 2 25098 \f[C]session_token\f[R] can be optionally set when using AWS STS. 25099 .RE 25100 .IP \[bu] 2 25101 Runtime configuration (\f[C]env_auth = true\f[R] in the config file): 25102 .RS 2 25103 .IP \[bu] 2 25104 Export the following environment variables before running 25105 \f[C]rclone\f[R]: 25106 .RS 2 25107 .IP \[bu] 2 25108 Access Key ID: \f[C]AWS_ACCESS_KEY_ID\f[R] or \f[C]AWS_ACCESS_KEY\f[R] 25109 .IP \[bu] 2 25110 Secret Access Key: \f[C]AWS_SECRET_ACCESS_KEY\f[R] or 25111 \f[C]AWS_SECRET_KEY\f[R] 25112 .IP \[bu] 2 25113 Session Token: \f[C]AWS_SESSION_TOKEN\f[R] (optional) 25114 .RE 25115 .IP \[bu] 2 25116 Or, use a named 25117 profile (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html): 25118 .RS 2 25119 .IP \[bu] 2 25120 Profile files are standard files used by AWS CLI tools 25121 .IP \[bu] 2 25122 By default it will use the profile in your home directory (e.g. 25123 \f[C]\[ti]/.aws/credentials\f[R] on unix based systems) file and the 25124 \[dq]default\[dq] profile, to change set these environment variables: 25125 .RS 2 25126 .IP \[bu] 2 25127 \f[C]AWS_SHARED_CREDENTIALS_FILE\f[R] to control which file. 25128 .IP \[bu] 2 25129 \f[C]AWS_PROFILE\f[R] to control which profile to use. 25130 .RE 25131 .RE 25132 .IP \[bu] 2 25133 Or, run \f[C]rclone\f[R] in an ECS task with an IAM role (AWS only). 25134 .IP \[bu] 2 25135 Or, run \f[C]rclone\f[R] on an EC2 instance with an IAM role (AWS only). 25136 .IP \[bu] 2 25137 Or, run \f[C]rclone\f[R] in an EKS pod with an IAM role that is 25138 associated with a service account (AWS only). 25139 .RE 25140 .PP 25141 If none of these option actually end up providing \f[C]rclone\f[R] with 25142 AWS credentials then S3 interaction will be non-authenticated (see 25143 below). 25144 .SS S3 Permissions 25145 .PP 25146 When using the \f[C]sync\f[R] subcommand of \f[C]rclone\f[R] the 25147 following minimum permissions are required to be available on the bucket 25148 being written to: 25149 .IP \[bu] 2 25150 \f[C]ListBucket\f[R] 25151 .IP \[bu] 2 25152 \f[C]DeleteObject\f[R] 25153 .IP \[bu] 2 25154 \f[C]GetObject\f[R] 25155 .IP \[bu] 2 25156 \f[C]PutObject\f[R] 25157 .IP \[bu] 2 25158 \f[C]PutObjectACL\f[R] 25159 .PP 25160 When using the \f[C]lsd\f[R] subcommand, the \f[C]ListAllMyBuckets\f[R] 25161 permission is required. 25162 .PP 25163 Example policy: 25164 .IP 25165 .nf 25166 \f[C] 25167 { 25168 \[dq]Version\[dq]: \[dq]2012-10-17\[dq], 25169 \[dq]Statement\[dq]: [ 25170 { 25171 \[dq]Effect\[dq]: \[dq]Allow\[dq], 25172 \[dq]Principal\[dq]: { 25173 \[dq]AWS\[dq]: \[dq]arn:aws:iam::USER_SID:user/USER_NAME\[dq] 25174 }, 25175 \[dq]Action\[dq]: [ 25176 \[dq]s3:ListBucket\[dq], 25177 \[dq]s3:DeleteObject\[dq], 25178 \[dq]s3:GetObject\[dq], 25179 \[dq]s3:PutObject\[dq], 25180 \[dq]s3:PutObjectAcl\[dq] 25181 ], 25182 \[dq]Resource\[dq]: [ 25183 \[dq]arn:aws:s3:::BUCKET_NAME/*\[dq], 25184 \[dq]arn:aws:s3:::BUCKET_NAME\[dq] 25185 ] 25186 }, 25187 { 25188 \[dq]Effect\[dq]: \[dq]Allow\[dq], 25189 \[dq]Action\[dq]: \[dq]s3:ListAllMyBuckets\[dq], 25190 \[dq]Resource\[dq]: \[dq]arn:aws:s3:::*\[dq] 25191 } 25192 ] 25193 } 25194 \f[R] 25195 .fi 25196 .PP 25197 Notes on above: 25198 .IP "1." 3 25199 This is a policy that can be used when creating bucket. 25200 It assumes that \f[C]USER_NAME\f[R] has been created. 25201 .IP "2." 3 25202 The Resource entry must include both resource ARNs, as one implies the 25203 bucket and the other implies the bucket\[aq]s objects. 25204 .PP 25205 For reference, here\[aq]s an Ansible 25206 script (https://gist.github.com/ebridges/ebfc9042dd7c756cd101cfa807b7ae2b) 25207 that will generate one or more buckets that will work with 25208 \f[C]rclone sync\f[R]. 25209 .SS Key Management System (KMS) 25210 .PP 25211 If you are using server-side encryption with KMS then you must make sure 25212 rclone is configured with \f[C]server_side_encryption = aws:kms\f[R] 25213 otherwise you will find you can\[aq]t transfer small objects - these 25214 will create checksum errors. 25215 .SS Glacier and Glacier Deep Archive 25216 .PP 25217 You can upload objects using the glacier storage class or transition 25218 them to glacier using a lifecycle 25219 policy (http://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-lifecycle.html). 25220 The bucket can still be synced or copied into normally, but if rclone 25221 tries to access data from the glacier storage class you will see an 25222 error like below. 25223 .IP 25224 .nf 25225 \f[C] 25226 2017/09/11 19:07:43 Failed to sync: failed to open source object: Object in GLACIER, restore first: path/to/file 25227 \f[R] 25228 .fi 25229 .PP 25230 In this case you need to 25231 restore (http://docs.aws.amazon.com/AmazonS3/latest/user-guide/restore-archived-objects.html) 25232 the object(s) in question before using rclone. 25233 .PP 25234 Note that rclone only speaks the S3 API it does not speak the Glacier 25235 Vault API, so rclone cannot directly access Glacier Vaults. 25236 .SS Object-lock enabled S3 bucket 25237 .PP 25238 According to AWS\[aq]s documentation on S3 Object 25239 Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html#object-lock-permission): 25240 .RS 25241 .PP 25242 If you configure a default retention period on a bucket, requests to 25243 upload objects in such a bucket must include the Content-MD5 header. 25244 .RE 25245 .PP 25246 As mentioned in the Hashes section, small files that are not uploaded as 25247 multipart, use a different tag, causing the upload to fail. 25248 A simple solution is to set the \f[C]--s3-upload-cutoff 0\f[R] and force 25249 all the files to be uploaded as multipart. 25250 .SS Standard options 25251 .PP 25252 Here are the Standard options specific to s3 (Amazon S3 Compliant 25253 Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, China 25254 Mobile, Cloudflare, GCS, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, 25255 IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, Petabox, 25256 RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and 25257 Wasabi). 25258 .SS --s3-provider 25259 .PP 25260 Choose your S3 provider. 25261 .PP 25262 Properties: 25263 .IP \[bu] 2 25264 Config: provider 25265 .IP \[bu] 2 25266 Env Var: RCLONE_S3_PROVIDER 25267 .IP \[bu] 2 25268 Type: string 25269 .IP \[bu] 2 25270 Required: false 25271 .IP \[bu] 2 25272 Examples: 25273 .RS 2 25274 .IP \[bu] 2 25275 \[dq]AWS\[dq] 25276 .RS 2 25277 .IP \[bu] 2 25278 Amazon Web Services (AWS) S3 25279 .RE 25280 .IP \[bu] 2 25281 \[dq]Alibaba\[dq] 25282 .RS 2 25283 .IP \[bu] 2 25284 Alibaba Cloud Object Storage System (OSS) formerly Aliyun 25285 .RE 25286 .IP \[bu] 2 25287 \[dq]ArvanCloud\[dq] 25288 .RS 2 25289 .IP \[bu] 2 25290 Arvan Cloud Object Storage (AOS) 25291 .RE 25292 .IP \[bu] 2 25293 \[dq]Ceph\[dq] 25294 .RS 2 25295 .IP \[bu] 2 25296 Ceph Object Storage 25297 .RE 25298 .IP \[bu] 2 25299 \[dq]ChinaMobile\[dq] 25300 .RS 2 25301 .IP \[bu] 2 25302 China Mobile Ecloud Elastic Object Storage (EOS) 25303 .RE 25304 .IP \[bu] 2 25305 \[dq]Cloudflare\[dq] 25306 .RS 2 25307 .IP \[bu] 2 25308 Cloudflare R2 Storage 25309 .RE 25310 .IP \[bu] 2 25311 \[dq]DigitalOcean\[dq] 25312 .RS 2 25313 .IP \[bu] 2 25314 DigitalOcean Spaces 25315 .RE 25316 .IP \[bu] 2 25317 \[dq]Dreamhost\[dq] 25318 .RS 2 25319 .IP \[bu] 2 25320 Dreamhost DreamObjects 25321 .RE 25322 .IP \[bu] 2 25323 \[dq]GCS\[dq] 25324 .RS 2 25325 .IP \[bu] 2 25326 Google Cloud Storage 25327 .RE 25328 .IP \[bu] 2 25329 \[dq]HuaweiOBS\[dq] 25330 .RS 2 25331 .IP \[bu] 2 25332 Huawei Object Storage Service 25333 .RE 25334 .IP \[bu] 2 25335 \[dq]IBMCOS\[dq] 25336 .RS 2 25337 .IP \[bu] 2 25338 IBM COS S3 25339 .RE 25340 .IP \[bu] 2 25341 \[dq]IDrive\[dq] 25342 .RS 2 25343 .IP \[bu] 2 25344 IDrive e2 25345 .RE 25346 .IP \[bu] 2 25347 \[dq]IONOS\[dq] 25348 .RS 2 25349 .IP \[bu] 2 25350 IONOS Cloud 25351 .RE 25352 .IP \[bu] 2 25353 \[dq]LyveCloud\[dq] 25354 .RS 2 25355 .IP \[bu] 2 25356 Seagate Lyve Cloud 25357 .RE 25358 .IP \[bu] 2 25359 \[dq]Liara\[dq] 25360 .RS 2 25361 .IP \[bu] 2 25362 Liara Object Storage 25363 .RE 25364 .IP \[bu] 2 25365 \[dq]Minio\[dq] 25366 .RS 2 25367 .IP \[bu] 2 25368 Minio Object Storage 25369 .RE 25370 .IP \[bu] 2 25371 \[dq]Netease\[dq] 25372 .RS 2 25373 .IP \[bu] 2 25374 Netease Object Storage (NOS) 25375 .RE 25376 .IP \[bu] 2 25377 \[dq]Petabox\[dq] 25378 .RS 2 25379 .IP \[bu] 2 25380 Petabox Object Storage 25381 .RE 25382 .IP \[bu] 2 25383 \[dq]RackCorp\[dq] 25384 .RS 2 25385 .IP \[bu] 2 25386 RackCorp Object Storage 25387 .RE 25388 .IP \[bu] 2 25389 \[dq]Scaleway\[dq] 25390 .RS 2 25391 .IP \[bu] 2 25392 Scaleway Object Storage 25393 .RE 25394 .IP \[bu] 2 25395 \[dq]SeaweedFS\[dq] 25396 .RS 2 25397 .IP \[bu] 2 25398 SeaweedFS S3 25399 .RE 25400 .IP \[bu] 2 25401 \[dq]StackPath\[dq] 25402 .RS 2 25403 .IP \[bu] 2 25404 StackPath Object Storage 25405 .RE 25406 .IP \[bu] 2 25407 \[dq]Storj\[dq] 25408 .RS 2 25409 .IP \[bu] 2 25410 Storj (S3 Compatible Gateway) 25411 .RE 25412 .IP \[bu] 2 25413 \[dq]TencentCOS\[dq] 25414 .RS 2 25415 .IP \[bu] 2 25416 Tencent Cloud Object Storage (COS) 25417 .RE 25418 .IP \[bu] 2 25419 \[dq]Wasabi\[dq] 25420 .RS 2 25421 .IP \[bu] 2 25422 Wasabi Object Storage 25423 .RE 25424 .IP \[bu] 2 25425 \[dq]Qiniu\[dq] 25426 .RS 2 25427 .IP \[bu] 2 25428 Qiniu Object Storage (Kodo) 25429 .RE 25430 .IP \[bu] 2 25431 \[dq]Other\[dq] 25432 .RS 2 25433 .IP \[bu] 2 25434 Any other S3 compatible provider 25435 .RE 25436 .RE 25437 .SS --s3-env-auth 25438 .PP 25439 Get AWS credentials from runtime (environment variables or EC2/ECS meta 25440 data if no env vars). 25441 .PP 25442 Only applies if access_key_id and secret_access_key is blank. 25443 .PP 25444 Properties: 25445 .IP \[bu] 2 25446 Config: env_auth 25447 .IP \[bu] 2 25448 Env Var: RCLONE_S3_ENV_AUTH 25449 .IP \[bu] 2 25450 Type: bool 25451 .IP \[bu] 2 25452 Default: false 25453 .IP \[bu] 2 25454 Examples: 25455 .RS 2 25456 .IP \[bu] 2 25457 \[dq]false\[dq] 25458 .RS 2 25459 .IP \[bu] 2 25460 Enter AWS credentials in the next step. 25461 .RE 25462 .IP \[bu] 2 25463 \[dq]true\[dq] 25464 .RS 2 25465 .IP \[bu] 2 25466 Get AWS credentials from the environment (env vars or IAM). 25467 .RE 25468 .RE 25469 .SS --s3-access-key-id 25470 .PP 25471 AWS Access Key ID. 25472 .PP 25473 Leave blank for anonymous access or runtime credentials. 25474 .PP 25475 Properties: 25476 .IP \[bu] 2 25477 Config: access_key_id 25478 .IP \[bu] 2 25479 Env Var: RCLONE_S3_ACCESS_KEY_ID 25480 .IP \[bu] 2 25481 Type: string 25482 .IP \[bu] 2 25483 Required: false 25484 .SS --s3-secret-access-key 25485 .PP 25486 AWS Secret Access Key (password). 25487 .PP 25488 Leave blank for anonymous access or runtime credentials. 25489 .PP 25490 Properties: 25491 .IP \[bu] 2 25492 Config: secret_access_key 25493 .IP \[bu] 2 25494 Env Var: RCLONE_S3_SECRET_ACCESS_KEY 25495 .IP \[bu] 2 25496 Type: string 25497 .IP \[bu] 2 25498 Required: false 25499 .SS --s3-region 25500 .PP 25501 Region to connect to. 25502 .PP 25503 Properties: 25504 .IP \[bu] 2 25505 Config: region 25506 .IP \[bu] 2 25507 Env Var: RCLONE_S3_REGION 25508 .IP \[bu] 2 25509 Provider: AWS 25510 .IP \[bu] 2 25511 Type: string 25512 .IP \[bu] 2 25513 Required: false 25514 .IP \[bu] 2 25515 Examples: 25516 .RS 2 25517 .IP \[bu] 2 25518 \[dq]us-east-1\[dq] 25519 .RS 2 25520 .IP \[bu] 2 25521 The default endpoint - a good choice if you are unsure. 25522 .IP \[bu] 2 25523 US Region, Northern Virginia, or Pacific Northwest. 25524 .IP \[bu] 2 25525 Leave location constraint empty. 25526 .RE 25527 .IP \[bu] 2 25528 \[dq]us-east-2\[dq] 25529 .RS 2 25530 .IP \[bu] 2 25531 US East (Ohio) Region. 25532 .IP \[bu] 2 25533 Needs location constraint us-east-2. 25534 .RE 25535 .IP \[bu] 2 25536 \[dq]us-west-1\[dq] 25537 .RS 2 25538 .IP \[bu] 2 25539 US West (Northern California) Region. 25540 .IP \[bu] 2 25541 Needs location constraint us-west-1. 25542 .RE 25543 .IP \[bu] 2 25544 \[dq]us-west-2\[dq] 25545 .RS 2 25546 .IP \[bu] 2 25547 US West (Oregon) Region. 25548 .IP \[bu] 2 25549 Needs location constraint us-west-2. 25550 .RE 25551 .IP \[bu] 2 25552 \[dq]ca-central-1\[dq] 25553 .RS 2 25554 .IP \[bu] 2 25555 Canada (Central) Region. 25556 .IP \[bu] 2 25557 Needs location constraint ca-central-1. 25558 .RE 25559 .IP \[bu] 2 25560 \[dq]eu-west-1\[dq] 25561 .RS 2 25562 .IP \[bu] 2 25563 EU (Ireland) Region. 25564 .IP \[bu] 2 25565 Needs location constraint EU or eu-west-1. 25566 .RE 25567 .IP \[bu] 2 25568 \[dq]eu-west-2\[dq] 25569 .RS 2 25570 .IP \[bu] 2 25571 EU (London) Region. 25572 .IP \[bu] 2 25573 Needs location constraint eu-west-2. 25574 .RE 25575 .IP \[bu] 2 25576 \[dq]eu-west-3\[dq] 25577 .RS 2 25578 .IP \[bu] 2 25579 EU (Paris) Region. 25580 .IP \[bu] 2 25581 Needs location constraint eu-west-3. 25582 .RE 25583 .IP \[bu] 2 25584 \[dq]eu-north-1\[dq] 25585 .RS 2 25586 .IP \[bu] 2 25587 EU (Stockholm) Region. 25588 .IP \[bu] 2 25589 Needs location constraint eu-north-1. 25590 .RE 25591 .IP \[bu] 2 25592 \[dq]eu-south-1\[dq] 25593 .RS 2 25594 .IP \[bu] 2 25595 EU (Milan) Region. 25596 .IP \[bu] 2 25597 Needs location constraint eu-south-1. 25598 .RE 25599 .IP \[bu] 2 25600 \[dq]eu-central-1\[dq] 25601 .RS 2 25602 .IP \[bu] 2 25603 EU (Frankfurt) Region. 25604 .IP \[bu] 2 25605 Needs location constraint eu-central-1. 25606 .RE 25607 .IP \[bu] 2 25608 \[dq]ap-southeast-1\[dq] 25609 .RS 2 25610 .IP \[bu] 2 25611 Asia Pacific (Singapore) Region. 25612 .IP \[bu] 2 25613 Needs location constraint ap-southeast-1. 25614 .RE 25615 .IP \[bu] 2 25616 \[dq]ap-southeast-2\[dq] 25617 .RS 2 25618 .IP \[bu] 2 25619 Asia Pacific (Sydney) Region. 25620 .IP \[bu] 2 25621 Needs location constraint ap-southeast-2. 25622 .RE 25623 .IP \[bu] 2 25624 \[dq]ap-northeast-1\[dq] 25625 .RS 2 25626 .IP \[bu] 2 25627 Asia Pacific (Tokyo) Region. 25628 .IP \[bu] 2 25629 Needs location constraint ap-northeast-1. 25630 .RE 25631 .IP \[bu] 2 25632 \[dq]ap-northeast-2\[dq] 25633 .RS 2 25634 .IP \[bu] 2 25635 Asia Pacific (Seoul). 25636 .IP \[bu] 2 25637 Needs location constraint ap-northeast-2. 25638 .RE 25639 .IP \[bu] 2 25640 \[dq]ap-northeast-3\[dq] 25641 .RS 2 25642 .IP \[bu] 2 25643 Asia Pacific (Osaka-Local). 25644 .IP \[bu] 2 25645 Needs location constraint ap-northeast-3. 25646 .RE 25647 .IP \[bu] 2 25648 \[dq]ap-south-1\[dq] 25649 .RS 2 25650 .IP \[bu] 2 25651 Asia Pacific (Mumbai). 25652 .IP \[bu] 2 25653 Needs location constraint ap-south-1. 25654 .RE 25655 .IP \[bu] 2 25656 \[dq]ap-east-1\[dq] 25657 .RS 2 25658 .IP \[bu] 2 25659 Asia Pacific (Hong Kong) Region. 25660 .IP \[bu] 2 25661 Needs location constraint ap-east-1. 25662 .RE 25663 .IP \[bu] 2 25664 \[dq]sa-east-1\[dq] 25665 .RS 2 25666 .IP \[bu] 2 25667 South America (Sao Paulo) Region. 25668 .IP \[bu] 2 25669 Needs location constraint sa-east-1. 25670 .RE 25671 .IP \[bu] 2 25672 \[dq]me-south-1\[dq] 25673 .RS 2 25674 .IP \[bu] 2 25675 Middle East (Bahrain) Region. 25676 .IP \[bu] 2 25677 Needs location constraint me-south-1. 25678 .RE 25679 .IP \[bu] 2 25680 \[dq]af-south-1\[dq] 25681 .RS 2 25682 .IP \[bu] 2 25683 Africa (Cape Town) Region. 25684 .IP \[bu] 2 25685 Needs location constraint af-south-1. 25686 .RE 25687 .IP \[bu] 2 25688 \[dq]cn-north-1\[dq] 25689 .RS 2 25690 .IP \[bu] 2 25691 China (Beijing) Region. 25692 .IP \[bu] 2 25693 Needs location constraint cn-north-1. 25694 .RE 25695 .IP \[bu] 2 25696 \[dq]cn-northwest-1\[dq] 25697 .RS 2 25698 .IP \[bu] 2 25699 China (Ningxia) Region. 25700 .IP \[bu] 2 25701 Needs location constraint cn-northwest-1. 25702 .RE 25703 .IP \[bu] 2 25704 \[dq]us-gov-east-1\[dq] 25705 .RS 2 25706 .IP \[bu] 2 25707 AWS GovCloud (US-East) Region. 25708 .IP \[bu] 2 25709 Needs location constraint us-gov-east-1. 25710 .RE 25711 .IP \[bu] 2 25712 \[dq]us-gov-west-1\[dq] 25713 .RS 2 25714 .IP \[bu] 2 25715 AWS GovCloud (US) Region. 25716 .IP \[bu] 2 25717 Needs location constraint us-gov-west-1. 25718 .RE 25719 .RE 25720 .SS --s3-region 25721 .PP 25722 region - the location where your bucket will be created and your data 25723 stored. 25724 .PP 25725 Properties: 25726 .IP \[bu] 2 25727 Config: region 25728 .IP \[bu] 2 25729 Env Var: RCLONE_S3_REGION 25730 .IP \[bu] 2 25731 Provider: RackCorp 25732 .IP \[bu] 2 25733 Type: string 25734 .IP \[bu] 2 25735 Required: false 25736 .IP \[bu] 2 25737 Examples: 25738 .RS 2 25739 .IP \[bu] 2 25740 \[dq]global\[dq] 25741 .RS 2 25742 .IP \[bu] 2 25743 Global CDN (All locations) Region 25744 .RE 25745 .IP \[bu] 2 25746 \[dq]au\[dq] 25747 .RS 2 25748 .IP \[bu] 2 25749 Australia (All states) 25750 .RE 25751 .IP \[bu] 2 25752 \[dq]au-nsw\[dq] 25753 .RS 2 25754 .IP \[bu] 2 25755 NSW (Australia) Region 25756 .RE 25757 .IP \[bu] 2 25758 \[dq]au-qld\[dq] 25759 .RS 2 25760 .IP \[bu] 2 25761 QLD (Australia) Region 25762 .RE 25763 .IP \[bu] 2 25764 \[dq]au-vic\[dq] 25765 .RS 2 25766 .IP \[bu] 2 25767 VIC (Australia) Region 25768 .RE 25769 .IP \[bu] 2 25770 \[dq]au-wa\[dq] 25771 .RS 2 25772 .IP \[bu] 2 25773 Perth (Australia) Region 25774 .RE 25775 .IP \[bu] 2 25776 \[dq]ph\[dq] 25777 .RS 2 25778 .IP \[bu] 2 25779 Manila (Philippines) Region 25780 .RE 25781 .IP \[bu] 2 25782 \[dq]th\[dq] 25783 .RS 2 25784 .IP \[bu] 2 25785 Bangkok (Thailand) Region 25786 .RE 25787 .IP \[bu] 2 25788 \[dq]hk\[dq] 25789 .RS 2 25790 .IP \[bu] 2 25791 HK (Hong Kong) Region 25792 .RE 25793 .IP \[bu] 2 25794 \[dq]mn\[dq] 25795 .RS 2 25796 .IP \[bu] 2 25797 Ulaanbaatar (Mongolia) Region 25798 .RE 25799 .IP \[bu] 2 25800 \[dq]kg\[dq] 25801 .RS 2 25802 .IP \[bu] 2 25803 Bishkek (Kyrgyzstan) Region 25804 .RE 25805 .IP \[bu] 2 25806 \[dq]id\[dq] 25807 .RS 2 25808 .IP \[bu] 2 25809 Jakarta (Indonesia) Region 25810 .RE 25811 .IP \[bu] 2 25812 \[dq]jp\[dq] 25813 .RS 2 25814 .IP \[bu] 2 25815 Tokyo (Japan) Region 25816 .RE 25817 .IP \[bu] 2 25818 \[dq]sg\[dq] 25819 .RS 2 25820 .IP \[bu] 2 25821 SG (Singapore) Region 25822 .RE 25823 .IP \[bu] 2 25824 \[dq]de\[dq] 25825 .RS 2 25826 .IP \[bu] 2 25827 Frankfurt (Germany) Region 25828 .RE 25829 .IP \[bu] 2 25830 \[dq]us\[dq] 25831 .RS 2 25832 .IP \[bu] 2 25833 USA (AnyCast) Region 25834 .RE 25835 .IP \[bu] 2 25836 \[dq]us-east-1\[dq] 25837 .RS 2 25838 .IP \[bu] 2 25839 New York (USA) Region 25840 .RE 25841 .IP \[bu] 2 25842 \[dq]us-west-1\[dq] 25843 .RS 2 25844 .IP \[bu] 2 25845 Freemont (USA) Region 25846 .RE 25847 .IP \[bu] 2 25848 \[dq]nz\[dq] 25849 .RS 2 25850 .IP \[bu] 2 25851 Auckland (New Zealand) Region 25852 .RE 25853 .RE 25854 .SS --s3-region 25855 .PP 25856 Region to connect to. 25857 .PP 25858 Properties: 25859 .IP \[bu] 2 25860 Config: region 25861 .IP \[bu] 2 25862 Env Var: RCLONE_S3_REGION 25863 .IP \[bu] 2 25864 Provider: Scaleway 25865 .IP \[bu] 2 25866 Type: string 25867 .IP \[bu] 2 25868 Required: false 25869 .IP \[bu] 2 25870 Examples: 25871 .RS 2 25872 .IP \[bu] 2 25873 \[dq]nl-ams\[dq] 25874 .RS 2 25875 .IP \[bu] 2 25876 Amsterdam, The Netherlands 25877 .RE 25878 .IP \[bu] 2 25879 \[dq]fr-par\[dq] 25880 .RS 2 25881 .IP \[bu] 2 25882 Paris, France 25883 .RE 25884 .IP \[bu] 2 25885 \[dq]pl-waw\[dq] 25886 .RS 2 25887 .IP \[bu] 2 25888 Warsaw, Poland 25889 .RE 25890 .RE 25891 .SS --s3-region 25892 .PP 25893 Region to connect to. 25894 - the location where your bucket will be created and your data stored. 25895 Need bo be same with your endpoint. 25896 .PP 25897 Properties: 25898 .IP \[bu] 2 25899 Config: region 25900 .IP \[bu] 2 25901 Env Var: RCLONE_S3_REGION 25902 .IP \[bu] 2 25903 Provider: HuaweiOBS 25904 .IP \[bu] 2 25905 Type: string 25906 .IP \[bu] 2 25907 Required: false 25908 .IP \[bu] 2 25909 Examples: 25910 .RS 2 25911 .IP \[bu] 2 25912 \[dq]af-south-1\[dq] 25913 .RS 2 25914 .IP \[bu] 2 25915 AF-Johannesburg 25916 .RE 25917 .IP \[bu] 2 25918 \[dq]ap-southeast-2\[dq] 25919 .RS 2 25920 .IP \[bu] 2 25921 AP-Bangkok 25922 .RE 25923 .IP \[bu] 2 25924 \[dq]ap-southeast-3\[dq] 25925 .RS 2 25926 .IP \[bu] 2 25927 AP-Singapore 25928 .RE 25929 .IP \[bu] 2 25930 \[dq]cn-east-3\[dq] 25931 .RS 2 25932 .IP \[bu] 2 25933 CN East-Shanghai1 25934 .RE 25935 .IP \[bu] 2 25936 \[dq]cn-east-2\[dq] 25937 .RS 2 25938 .IP \[bu] 2 25939 CN East-Shanghai2 25940 .RE 25941 .IP \[bu] 2 25942 \[dq]cn-north-1\[dq] 25943 .RS 2 25944 .IP \[bu] 2 25945 CN North-Beijing1 25946 .RE 25947 .IP \[bu] 2 25948 \[dq]cn-north-4\[dq] 25949 .RS 2 25950 .IP \[bu] 2 25951 CN North-Beijing4 25952 .RE 25953 .IP \[bu] 2 25954 \[dq]cn-south-1\[dq] 25955 .RS 2 25956 .IP \[bu] 2 25957 CN South-Guangzhou 25958 .RE 25959 .IP \[bu] 2 25960 \[dq]ap-southeast-1\[dq] 25961 .RS 2 25962 .IP \[bu] 2 25963 CN-Hong Kong 25964 .RE 25965 .IP \[bu] 2 25966 \[dq]sa-argentina-1\[dq] 25967 .RS 2 25968 .IP \[bu] 2 25969 LA-Buenos Aires1 25970 .RE 25971 .IP \[bu] 2 25972 \[dq]sa-peru-1\[dq] 25973 .RS 2 25974 .IP \[bu] 2 25975 LA-Lima1 25976 .RE 25977 .IP \[bu] 2 25978 \[dq]na-mexico-1\[dq] 25979 .RS 2 25980 .IP \[bu] 2 25981 LA-Mexico City1 25982 .RE 25983 .IP \[bu] 2 25984 \[dq]sa-chile-1\[dq] 25985 .RS 2 25986 .IP \[bu] 2 25987 LA-Santiago2 25988 .RE 25989 .IP \[bu] 2 25990 \[dq]sa-brazil-1\[dq] 25991 .RS 2 25992 .IP \[bu] 2 25993 LA-Sao Paulo1 25994 .RE 25995 .IP \[bu] 2 25996 \[dq]ru-northwest-2\[dq] 25997 .RS 2 25998 .IP \[bu] 2 25999 RU-Moscow2 26000 .RE 26001 .RE 26002 .SS --s3-region 26003 .PP 26004 Region to connect to. 26005 .PP 26006 Properties: 26007 .IP \[bu] 2 26008 Config: region 26009 .IP \[bu] 2 26010 Env Var: RCLONE_S3_REGION 26011 .IP \[bu] 2 26012 Provider: Cloudflare 26013 .IP \[bu] 2 26014 Type: string 26015 .IP \[bu] 2 26016 Required: false 26017 .IP \[bu] 2 26018 Examples: 26019 .RS 2 26020 .IP \[bu] 2 26021 \[dq]auto\[dq] 26022 .RS 2 26023 .IP \[bu] 2 26024 R2 buckets are automatically distributed across Cloudflare\[aq]s data 26025 centers for low latency. 26026 .RE 26027 .RE 26028 .SS --s3-region 26029 .PP 26030 Region to connect to. 26031 .PP 26032 Properties: 26033 .IP \[bu] 2 26034 Config: region 26035 .IP \[bu] 2 26036 Env Var: RCLONE_S3_REGION 26037 .IP \[bu] 2 26038 Provider: Qiniu 26039 .IP \[bu] 2 26040 Type: string 26041 .IP \[bu] 2 26042 Required: false 26043 .IP \[bu] 2 26044 Examples: 26045 .RS 2 26046 .IP \[bu] 2 26047 \[dq]cn-east-1\[dq] 26048 .RS 2 26049 .IP \[bu] 2 26050 The default endpoint - a good choice if you are unsure. 26051 .IP \[bu] 2 26052 East China Region 1. 26053 .IP \[bu] 2 26054 Needs location constraint cn-east-1. 26055 .RE 26056 .IP \[bu] 2 26057 \[dq]cn-east-2\[dq] 26058 .RS 2 26059 .IP \[bu] 2 26060 East China Region 2. 26061 .IP \[bu] 2 26062 Needs location constraint cn-east-2. 26063 .RE 26064 .IP \[bu] 2 26065 \[dq]cn-north-1\[dq] 26066 .RS 2 26067 .IP \[bu] 2 26068 North China Region 1. 26069 .IP \[bu] 2 26070 Needs location constraint cn-north-1. 26071 .RE 26072 .IP \[bu] 2 26073 \[dq]cn-south-1\[dq] 26074 .RS 2 26075 .IP \[bu] 2 26076 South China Region 1. 26077 .IP \[bu] 2 26078 Needs location constraint cn-south-1. 26079 .RE 26080 .IP \[bu] 2 26081 \[dq]us-north-1\[dq] 26082 .RS 2 26083 .IP \[bu] 2 26084 North America Region. 26085 .IP \[bu] 2 26086 Needs location constraint us-north-1. 26087 .RE 26088 .IP \[bu] 2 26089 \[dq]ap-southeast-1\[dq] 26090 .RS 2 26091 .IP \[bu] 2 26092 Southeast Asia Region 1. 26093 .IP \[bu] 2 26094 Needs location constraint ap-southeast-1. 26095 .RE 26096 .IP \[bu] 2 26097 \[dq]ap-northeast-1\[dq] 26098 .RS 2 26099 .IP \[bu] 2 26100 Northeast Asia Region 1. 26101 .IP \[bu] 2 26102 Needs location constraint ap-northeast-1. 26103 .RE 26104 .RE 26105 .SS --s3-region 26106 .PP 26107 Region where your bucket will be created and your data stored. 26108 .PP 26109 Properties: 26110 .IP \[bu] 2 26111 Config: region 26112 .IP \[bu] 2 26113 Env Var: RCLONE_S3_REGION 26114 .IP \[bu] 2 26115 Provider: IONOS 26116 .IP \[bu] 2 26117 Type: string 26118 .IP \[bu] 2 26119 Required: false 26120 .IP \[bu] 2 26121 Examples: 26122 .RS 2 26123 .IP \[bu] 2 26124 \[dq]de\[dq] 26125 .RS 2 26126 .IP \[bu] 2 26127 Frankfurt, Germany 26128 .RE 26129 .IP \[bu] 2 26130 \[dq]eu-central-2\[dq] 26131 .RS 2 26132 .IP \[bu] 2 26133 Berlin, Germany 26134 .RE 26135 .IP \[bu] 2 26136 \[dq]eu-south-2\[dq] 26137 .RS 2 26138 .IP \[bu] 2 26139 Logrono, Spain 26140 .RE 26141 .RE 26142 .SS --s3-region 26143 .PP 26144 Region where your bucket will be created and your data stored. 26145 .PP 26146 Properties: 26147 .IP \[bu] 2 26148 Config: region 26149 .IP \[bu] 2 26150 Env Var: RCLONE_S3_REGION 26151 .IP \[bu] 2 26152 Provider: Petabox 26153 .IP \[bu] 2 26154 Type: string 26155 .IP \[bu] 2 26156 Required: false 26157 .IP \[bu] 2 26158 Examples: 26159 .RS 2 26160 .IP \[bu] 2 26161 \[dq]us-east-1\[dq] 26162 .RS 2 26163 .IP \[bu] 2 26164 US East (N. 26165 Virginia) 26166 .RE 26167 .IP \[bu] 2 26168 \[dq]eu-central-1\[dq] 26169 .RS 2 26170 .IP \[bu] 2 26171 Europe (Frankfurt) 26172 .RE 26173 .IP \[bu] 2 26174 \[dq]ap-southeast-1\[dq] 26175 .RS 2 26176 .IP \[bu] 2 26177 Asia Pacific (Singapore) 26178 .RE 26179 .IP \[bu] 2 26180 \[dq]me-south-1\[dq] 26181 .RS 2 26182 .IP \[bu] 2 26183 Middle East (Bahrain) 26184 .RE 26185 .IP \[bu] 2 26186 \[dq]sa-east-1\[dq] 26187 .RS 2 26188 .IP \[bu] 2 26189 South America (S\[~a]o Paulo) 26190 .RE 26191 .RE 26192 .SS --s3-region 26193 .PP 26194 Region to connect to. 26195 .PP 26196 Leave blank if you are using an S3 clone and you don\[aq]t have a 26197 region. 26198 .PP 26199 Properties: 26200 .IP \[bu] 2 26201 Config: region 26202 .IP \[bu] 2 26203 Env Var: RCLONE_S3_REGION 26204 .IP \[bu] 2 26205 Provider: 26206 !AWS,Alibaba,ArvanCloud,ChinaMobile,Cloudflare,IONOS,Petabox,Liara,Qiniu,RackCorp,Scaleway,Storj,TencentCOS,HuaweiOBS,IDrive 26207 .IP \[bu] 2 26208 Type: string 26209 .IP \[bu] 2 26210 Required: false 26211 .IP \[bu] 2 26212 Examples: 26213 .RS 2 26214 .IP \[bu] 2 26215 \[dq]\[dq] 26216 .RS 2 26217 .IP \[bu] 2 26218 Use this if unsure. 26219 .IP \[bu] 2 26220 Will use v4 signatures and an empty region. 26221 .RE 26222 .IP \[bu] 2 26223 \[dq]other-v2-signature\[dq] 26224 .RS 2 26225 .IP \[bu] 2 26226 Use this only if v4 signatures don\[aq]t work. 26227 .IP \[bu] 2 26228 E.g. 26229 pre Jewel/v10 CEPH. 26230 .RE 26231 .RE 26232 .SS --s3-endpoint 26233 .PP 26234 Endpoint for S3 API. 26235 .PP 26236 Leave blank if using AWS to use the default endpoint for the region. 26237 .PP 26238 Properties: 26239 .IP \[bu] 2 26240 Config: endpoint 26241 .IP \[bu] 2 26242 Env Var: RCLONE_S3_ENDPOINT 26243 .IP \[bu] 2 26244 Provider: AWS 26245 .IP \[bu] 2 26246 Type: string 26247 .IP \[bu] 2 26248 Required: false 26249 .SS --s3-endpoint 26250 .PP 26251 Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. 26252 .PP 26253 Properties: 26254 .IP \[bu] 2 26255 Config: endpoint 26256 .IP \[bu] 2 26257 Env Var: RCLONE_S3_ENDPOINT 26258 .IP \[bu] 2 26259 Provider: ChinaMobile 26260 .IP \[bu] 2 26261 Type: string 26262 .IP \[bu] 2 26263 Required: false 26264 .IP \[bu] 2 26265 Examples: 26266 .RS 2 26267 .IP \[bu] 2 26268 \[dq]eos-wuxi-1.cmecloud.cn\[dq] 26269 .RS 2 26270 .IP \[bu] 2 26271 The default endpoint - a good choice if you are unsure. 26272 .IP \[bu] 2 26273 East China (Suzhou) 26274 .RE 26275 .IP \[bu] 2 26276 \[dq]eos-jinan-1.cmecloud.cn\[dq] 26277 .RS 2 26278 .IP \[bu] 2 26279 East China (Jinan) 26280 .RE 26281 .IP \[bu] 2 26282 \[dq]eos-ningbo-1.cmecloud.cn\[dq] 26283 .RS 2 26284 .IP \[bu] 2 26285 East China (Hangzhou) 26286 .RE 26287 .IP \[bu] 2 26288 \[dq]eos-shanghai-1.cmecloud.cn\[dq] 26289 .RS 2 26290 .IP \[bu] 2 26291 East China (Shanghai-1) 26292 .RE 26293 .IP \[bu] 2 26294 \[dq]eos-zhengzhou-1.cmecloud.cn\[dq] 26295 .RS 2 26296 .IP \[bu] 2 26297 Central China (Zhengzhou) 26298 .RE 26299 .IP \[bu] 2 26300 \[dq]eos-hunan-1.cmecloud.cn\[dq] 26301 .RS 2 26302 .IP \[bu] 2 26303 Central China (Changsha-1) 26304 .RE 26305 .IP \[bu] 2 26306 \[dq]eos-zhuzhou-1.cmecloud.cn\[dq] 26307 .RS 2 26308 .IP \[bu] 2 26309 Central China (Changsha-2) 26310 .RE 26311 .IP \[bu] 2 26312 \[dq]eos-guangzhou-1.cmecloud.cn\[dq] 26313 .RS 2 26314 .IP \[bu] 2 26315 South China (Guangzhou-2) 26316 .RE 26317 .IP \[bu] 2 26318 \[dq]eos-dongguan-1.cmecloud.cn\[dq] 26319 .RS 2 26320 .IP \[bu] 2 26321 South China (Guangzhou-3) 26322 .RE 26323 .IP \[bu] 2 26324 \[dq]eos-beijing-1.cmecloud.cn\[dq] 26325 .RS 2 26326 .IP \[bu] 2 26327 North China (Beijing-1) 26328 .RE 26329 .IP \[bu] 2 26330 \[dq]eos-beijing-2.cmecloud.cn\[dq] 26331 .RS 2 26332 .IP \[bu] 2 26333 North China (Beijing-2) 26334 .RE 26335 .IP \[bu] 2 26336 \[dq]eos-beijing-4.cmecloud.cn\[dq] 26337 .RS 2 26338 .IP \[bu] 2 26339 North China (Beijing-3) 26340 .RE 26341 .IP \[bu] 2 26342 \[dq]eos-huhehaote-1.cmecloud.cn\[dq] 26343 .RS 2 26344 .IP \[bu] 2 26345 North China (Huhehaote) 26346 .RE 26347 .IP \[bu] 2 26348 \[dq]eos-chengdu-1.cmecloud.cn\[dq] 26349 .RS 2 26350 .IP \[bu] 2 26351 Southwest China (Chengdu) 26352 .RE 26353 .IP \[bu] 2 26354 \[dq]eos-chongqing-1.cmecloud.cn\[dq] 26355 .RS 2 26356 .IP \[bu] 2 26357 Southwest China (Chongqing) 26358 .RE 26359 .IP \[bu] 2 26360 \[dq]eos-guiyang-1.cmecloud.cn\[dq] 26361 .RS 2 26362 .IP \[bu] 2 26363 Southwest China (Guiyang) 26364 .RE 26365 .IP \[bu] 2 26366 \[dq]eos-xian-1.cmecloud.cn\[dq] 26367 .RS 2 26368 .IP \[bu] 2 26369 Nouthwest China (Xian) 26370 .RE 26371 .IP \[bu] 2 26372 \[dq]eos-yunnan.cmecloud.cn\[dq] 26373 .RS 2 26374 .IP \[bu] 2 26375 Yunnan China (Kunming) 26376 .RE 26377 .IP \[bu] 2 26378 \[dq]eos-yunnan-2.cmecloud.cn\[dq] 26379 .RS 2 26380 .IP \[bu] 2 26381 Yunnan China (Kunming-2) 26382 .RE 26383 .IP \[bu] 2 26384 \[dq]eos-tianjin-1.cmecloud.cn\[dq] 26385 .RS 2 26386 .IP \[bu] 2 26387 Tianjin China (Tianjin) 26388 .RE 26389 .IP \[bu] 2 26390 \[dq]eos-jilin-1.cmecloud.cn\[dq] 26391 .RS 2 26392 .IP \[bu] 2 26393 Jilin China (Changchun) 26394 .RE 26395 .IP \[bu] 2 26396 \[dq]eos-hubei-1.cmecloud.cn\[dq] 26397 .RS 2 26398 .IP \[bu] 2 26399 Hubei China (Xiangyan) 26400 .RE 26401 .IP \[bu] 2 26402 \[dq]eos-jiangxi-1.cmecloud.cn\[dq] 26403 .RS 2 26404 .IP \[bu] 2 26405 Jiangxi China (Nanchang) 26406 .RE 26407 .IP \[bu] 2 26408 \[dq]eos-gansu-1.cmecloud.cn\[dq] 26409 .RS 2 26410 .IP \[bu] 2 26411 Gansu China (Lanzhou) 26412 .RE 26413 .IP \[bu] 2 26414 \[dq]eos-shanxi-1.cmecloud.cn\[dq] 26415 .RS 2 26416 .IP \[bu] 2 26417 Shanxi China (Taiyuan) 26418 .RE 26419 .IP \[bu] 2 26420 \[dq]eos-liaoning-1.cmecloud.cn\[dq] 26421 .RS 2 26422 .IP \[bu] 2 26423 Liaoning China (Shenyang) 26424 .RE 26425 .IP \[bu] 2 26426 \[dq]eos-hebei-1.cmecloud.cn\[dq] 26427 .RS 2 26428 .IP \[bu] 2 26429 Hebei China (Shijiazhuang) 26430 .RE 26431 .IP \[bu] 2 26432 \[dq]eos-fujian-1.cmecloud.cn\[dq] 26433 .RS 2 26434 .IP \[bu] 2 26435 Fujian China (Xiamen) 26436 .RE 26437 .IP \[bu] 2 26438 \[dq]eos-guangxi-1.cmecloud.cn\[dq] 26439 .RS 2 26440 .IP \[bu] 2 26441 Guangxi China (Nanning) 26442 .RE 26443 .IP \[bu] 2 26444 \[dq]eos-anhui-1.cmecloud.cn\[dq] 26445 .RS 2 26446 .IP \[bu] 2 26447 Anhui China (Huainan) 26448 .RE 26449 .RE 26450 .SS --s3-endpoint 26451 .PP 26452 Endpoint for Arvan Cloud Object Storage (AOS) API. 26453 .PP 26454 Properties: 26455 .IP \[bu] 2 26456 Config: endpoint 26457 .IP \[bu] 2 26458 Env Var: RCLONE_S3_ENDPOINT 26459 .IP \[bu] 2 26460 Provider: ArvanCloud 26461 .IP \[bu] 2 26462 Type: string 26463 .IP \[bu] 2 26464 Required: false 26465 .IP \[bu] 2 26466 Examples: 26467 .RS 2 26468 .IP \[bu] 2 26469 \[dq]s3.ir-thr-at1.arvanstorage.ir\[dq] 26470 .RS 2 26471 .IP \[bu] 2 26472 The default endpoint - a good choice if you are unsure. 26473 .IP \[bu] 2 26474 Tehran Iran (Simin) 26475 .RE 26476 .IP \[bu] 2 26477 \[dq]s3.ir-tbz-sh1.arvanstorage.ir\[dq] 26478 .RS 2 26479 .IP \[bu] 2 26480 Tabriz Iran (Shahriar) 26481 .RE 26482 .RE 26483 .SS --s3-endpoint 26484 .PP 26485 Endpoint for IBM COS S3 API. 26486 .PP 26487 Specify if using an IBM COS On Premise. 26488 .PP 26489 Properties: 26490 .IP \[bu] 2 26491 Config: endpoint 26492 .IP \[bu] 2 26493 Env Var: RCLONE_S3_ENDPOINT 26494 .IP \[bu] 2 26495 Provider: IBMCOS 26496 .IP \[bu] 2 26497 Type: string 26498 .IP \[bu] 2 26499 Required: false 26500 .IP \[bu] 2 26501 Examples: 26502 .RS 2 26503 .IP \[bu] 2 26504 \[dq]s3.us.cloud-object-storage.appdomain.cloud\[dq] 26505 .RS 2 26506 .IP \[bu] 2 26507 US Cross Region Endpoint 26508 .RE 26509 .IP \[bu] 2 26510 \[dq]s3.dal.us.cloud-object-storage.appdomain.cloud\[dq] 26511 .RS 2 26512 .IP \[bu] 2 26513 US Cross Region Dallas Endpoint 26514 .RE 26515 .IP \[bu] 2 26516 \[dq]s3.wdc.us.cloud-object-storage.appdomain.cloud\[dq] 26517 .RS 2 26518 .IP \[bu] 2 26519 US Cross Region Washington DC Endpoint 26520 .RE 26521 .IP \[bu] 2 26522 \[dq]s3.sjc.us.cloud-object-storage.appdomain.cloud\[dq] 26523 .RS 2 26524 .IP \[bu] 2 26525 US Cross Region San Jose Endpoint 26526 .RE 26527 .IP \[bu] 2 26528 \[dq]s3.private.us.cloud-object-storage.appdomain.cloud\[dq] 26529 .RS 2 26530 .IP \[bu] 2 26531 US Cross Region Private Endpoint 26532 .RE 26533 .IP \[bu] 2 26534 \[dq]s3.private.dal.us.cloud-object-storage.appdomain.cloud\[dq] 26535 .RS 2 26536 .IP \[bu] 2 26537 US Cross Region Dallas Private Endpoint 26538 .RE 26539 .IP \[bu] 2 26540 \[dq]s3.private.wdc.us.cloud-object-storage.appdomain.cloud\[dq] 26541 .RS 2 26542 .IP \[bu] 2 26543 US Cross Region Washington DC Private Endpoint 26544 .RE 26545 .IP \[bu] 2 26546 \[dq]s3.private.sjc.us.cloud-object-storage.appdomain.cloud\[dq] 26547 .RS 2 26548 .IP \[bu] 2 26549 US Cross Region San Jose Private Endpoint 26550 .RE 26551 .IP \[bu] 2 26552 \[dq]s3.us-east.cloud-object-storage.appdomain.cloud\[dq] 26553 .RS 2 26554 .IP \[bu] 2 26555 US Region East Endpoint 26556 .RE 26557 .IP \[bu] 2 26558 \[dq]s3.private.us-east.cloud-object-storage.appdomain.cloud\[dq] 26559 .RS 2 26560 .IP \[bu] 2 26561 US Region East Private Endpoint 26562 .RE 26563 .IP \[bu] 2 26564 \[dq]s3.us-south.cloud-object-storage.appdomain.cloud\[dq] 26565 .RS 2 26566 .IP \[bu] 2 26567 US Region South Endpoint 26568 .RE 26569 .IP \[bu] 2 26570 \[dq]s3.private.us-south.cloud-object-storage.appdomain.cloud\[dq] 26571 .RS 2 26572 .IP \[bu] 2 26573 US Region South Private Endpoint 26574 .RE 26575 .IP \[bu] 2 26576 \[dq]s3.eu.cloud-object-storage.appdomain.cloud\[dq] 26577 .RS 2 26578 .IP \[bu] 2 26579 EU Cross Region Endpoint 26580 .RE 26581 .IP \[bu] 2 26582 \[dq]s3.fra.eu.cloud-object-storage.appdomain.cloud\[dq] 26583 .RS 2 26584 .IP \[bu] 2 26585 EU Cross Region Frankfurt Endpoint 26586 .RE 26587 .IP \[bu] 2 26588 \[dq]s3.mil.eu.cloud-object-storage.appdomain.cloud\[dq] 26589 .RS 2 26590 .IP \[bu] 2 26591 EU Cross Region Milan Endpoint 26592 .RE 26593 .IP \[bu] 2 26594 \[dq]s3.ams.eu.cloud-object-storage.appdomain.cloud\[dq] 26595 .RS 2 26596 .IP \[bu] 2 26597 EU Cross Region Amsterdam Endpoint 26598 .RE 26599 .IP \[bu] 2 26600 \[dq]s3.private.eu.cloud-object-storage.appdomain.cloud\[dq] 26601 .RS 2 26602 .IP \[bu] 2 26603 EU Cross Region Private Endpoint 26604 .RE 26605 .IP \[bu] 2 26606 \[dq]s3.private.fra.eu.cloud-object-storage.appdomain.cloud\[dq] 26607 .RS 2 26608 .IP \[bu] 2 26609 EU Cross Region Frankfurt Private Endpoint 26610 .RE 26611 .IP \[bu] 2 26612 \[dq]s3.private.mil.eu.cloud-object-storage.appdomain.cloud\[dq] 26613 .RS 2 26614 .IP \[bu] 2 26615 EU Cross Region Milan Private Endpoint 26616 .RE 26617 .IP \[bu] 2 26618 \[dq]s3.private.ams.eu.cloud-object-storage.appdomain.cloud\[dq] 26619 .RS 2 26620 .IP \[bu] 2 26621 EU Cross Region Amsterdam Private Endpoint 26622 .RE 26623 .IP \[bu] 2 26624 \[dq]s3.eu-gb.cloud-object-storage.appdomain.cloud\[dq] 26625 .RS 2 26626 .IP \[bu] 2 26627 Great Britain Endpoint 26628 .RE 26629 .IP \[bu] 2 26630 \[dq]s3.private.eu-gb.cloud-object-storage.appdomain.cloud\[dq] 26631 .RS 2 26632 .IP \[bu] 2 26633 Great Britain Private Endpoint 26634 .RE 26635 .IP \[bu] 2 26636 \[dq]s3.eu-de.cloud-object-storage.appdomain.cloud\[dq] 26637 .RS 2 26638 .IP \[bu] 2 26639 EU Region DE Endpoint 26640 .RE 26641 .IP \[bu] 2 26642 \[dq]s3.private.eu-de.cloud-object-storage.appdomain.cloud\[dq] 26643 .RS 2 26644 .IP \[bu] 2 26645 EU Region DE Private Endpoint 26646 .RE 26647 .IP \[bu] 2 26648 \[dq]s3.ap.cloud-object-storage.appdomain.cloud\[dq] 26649 .RS 2 26650 .IP \[bu] 2 26651 APAC Cross Regional Endpoint 26652 .RE 26653 .IP \[bu] 2 26654 \[dq]s3.tok.ap.cloud-object-storage.appdomain.cloud\[dq] 26655 .RS 2 26656 .IP \[bu] 2 26657 APAC Cross Regional Tokyo Endpoint 26658 .RE 26659 .IP \[bu] 2 26660 \[dq]s3.hkg.ap.cloud-object-storage.appdomain.cloud\[dq] 26661 .RS 2 26662 .IP \[bu] 2 26663 APAC Cross Regional HongKong Endpoint 26664 .RE 26665 .IP \[bu] 2 26666 \[dq]s3.seo.ap.cloud-object-storage.appdomain.cloud\[dq] 26667 .RS 2 26668 .IP \[bu] 2 26669 APAC Cross Regional Seoul Endpoint 26670 .RE 26671 .IP \[bu] 2 26672 \[dq]s3.private.ap.cloud-object-storage.appdomain.cloud\[dq] 26673 .RS 2 26674 .IP \[bu] 2 26675 APAC Cross Regional Private Endpoint 26676 .RE 26677 .IP \[bu] 2 26678 \[dq]s3.private.tok.ap.cloud-object-storage.appdomain.cloud\[dq] 26679 .RS 2 26680 .IP \[bu] 2 26681 APAC Cross Regional Tokyo Private Endpoint 26682 .RE 26683 .IP \[bu] 2 26684 \[dq]s3.private.hkg.ap.cloud-object-storage.appdomain.cloud\[dq] 26685 .RS 2 26686 .IP \[bu] 2 26687 APAC Cross Regional HongKong Private Endpoint 26688 .RE 26689 .IP \[bu] 2 26690 \[dq]s3.private.seo.ap.cloud-object-storage.appdomain.cloud\[dq] 26691 .RS 2 26692 .IP \[bu] 2 26693 APAC Cross Regional Seoul Private Endpoint 26694 .RE 26695 .IP \[bu] 2 26696 \[dq]s3.jp-tok.cloud-object-storage.appdomain.cloud\[dq] 26697 .RS 2 26698 .IP \[bu] 2 26699 APAC Region Japan Endpoint 26700 .RE 26701 .IP \[bu] 2 26702 \[dq]s3.private.jp-tok.cloud-object-storage.appdomain.cloud\[dq] 26703 .RS 2 26704 .IP \[bu] 2 26705 APAC Region Japan Private Endpoint 26706 .RE 26707 .IP \[bu] 2 26708 \[dq]s3.au-syd.cloud-object-storage.appdomain.cloud\[dq] 26709 .RS 2 26710 .IP \[bu] 2 26711 APAC Region Australia Endpoint 26712 .RE 26713 .IP \[bu] 2 26714 \[dq]s3.private.au-syd.cloud-object-storage.appdomain.cloud\[dq] 26715 .RS 2 26716 .IP \[bu] 2 26717 APAC Region Australia Private Endpoint 26718 .RE 26719 .IP \[bu] 2 26720 \[dq]s3.ams03.cloud-object-storage.appdomain.cloud\[dq] 26721 .RS 2 26722 .IP \[bu] 2 26723 Amsterdam Single Site Endpoint 26724 .RE 26725 .IP \[bu] 2 26726 \[dq]s3.private.ams03.cloud-object-storage.appdomain.cloud\[dq] 26727 .RS 2 26728 .IP \[bu] 2 26729 Amsterdam Single Site Private Endpoint 26730 .RE 26731 .IP \[bu] 2 26732 \[dq]s3.che01.cloud-object-storage.appdomain.cloud\[dq] 26733 .RS 2 26734 .IP \[bu] 2 26735 Chennai Single Site Endpoint 26736 .RE 26737 .IP \[bu] 2 26738 \[dq]s3.private.che01.cloud-object-storage.appdomain.cloud\[dq] 26739 .RS 2 26740 .IP \[bu] 2 26741 Chennai Single Site Private Endpoint 26742 .RE 26743 .IP \[bu] 2 26744 \[dq]s3.mel01.cloud-object-storage.appdomain.cloud\[dq] 26745 .RS 2 26746 .IP \[bu] 2 26747 Melbourne Single Site Endpoint 26748 .RE 26749 .IP \[bu] 2 26750 \[dq]s3.private.mel01.cloud-object-storage.appdomain.cloud\[dq] 26751 .RS 2 26752 .IP \[bu] 2 26753 Melbourne Single Site Private Endpoint 26754 .RE 26755 .IP \[bu] 2 26756 \[dq]s3.osl01.cloud-object-storage.appdomain.cloud\[dq] 26757 .RS 2 26758 .IP \[bu] 2 26759 Oslo Single Site Endpoint 26760 .RE 26761 .IP \[bu] 2 26762 \[dq]s3.private.osl01.cloud-object-storage.appdomain.cloud\[dq] 26763 .RS 2 26764 .IP \[bu] 2 26765 Oslo Single Site Private Endpoint 26766 .RE 26767 .IP \[bu] 2 26768 \[dq]s3.tor01.cloud-object-storage.appdomain.cloud\[dq] 26769 .RS 2 26770 .IP \[bu] 2 26771 Toronto Single Site Endpoint 26772 .RE 26773 .IP \[bu] 2 26774 \[dq]s3.private.tor01.cloud-object-storage.appdomain.cloud\[dq] 26775 .RS 2 26776 .IP \[bu] 2 26777 Toronto Single Site Private Endpoint 26778 .RE 26779 .IP \[bu] 2 26780 \[dq]s3.seo01.cloud-object-storage.appdomain.cloud\[dq] 26781 .RS 2 26782 .IP \[bu] 2 26783 Seoul Single Site Endpoint 26784 .RE 26785 .IP \[bu] 2 26786 \[dq]s3.private.seo01.cloud-object-storage.appdomain.cloud\[dq] 26787 .RS 2 26788 .IP \[bu] 2 26789 Seoul Single Site Private Endpoint 26790 .RE 26791 .IP \[bu] 2 26792 \[dq]s3.mon01.cloud-object-storage.appdomain.cloud\[dq] 26793 .RS 2 26794 .IP \[bu] 2 26795 Montreal Single Site Endpoint 26796 .RE 26797 .IP \[bu] 2 26798 \[dq]s3.private.mon01.cloud-object-storage.appdomain.cloud\[dq] 26799 .RS 2 26800 .IP \[bu] 2 26801 Montreal Single Site Private Endpoint 26802 .RE 26803 .IP \[bu] 2 26804 \[dq]s3.mex01.cloud-object-storage.appdomain.cloud\[dq] 26805 .RS 2 26806 .IP \[bu] 2 26807 Mexico Single Site Endpoint 26808 .RE 26809 .IP \[bu] 2 26810 \[dq]s3.private.mex01.cloud-object-storage.appdomain.cloud\[dq] 26811 .RS 2 26812 .IP \[bu] 2 26813 Mexico Single Site Private Endpoint 26814 .RE 26815 .IP \[bu] 2 26816 \[dq]s3.sjc04.cloud-object-storage.appdomain.cloud\[dq] 26817 .RS 2 26818 .IP \[bu] 2 26819 San Jose Single Site Endpoint 26820 .RE 26821 .IP \[bu] 2 26822 \[dq]s3.private.sjc04.cloud-object-storage.appdomain.cloud\[dq] 26823 .RS 2 26824 .IP \[bu] 2 26825 San Jose Single Site Private Endpoint 26826 .RE 26827 .IP \[bu] 2 26828 \[dq]s3.mil01.cloud-object-storage.appdomain.cloud\[dq] 26829 .RS 2 26830 .IP \[bu] 2 26831 Milan Single Site Endpoint 26832 .RE 26833 .IP \[bu] 2 26834 \[dq]s3.private.mil01.cloud-object-storage.appdomain.cloud\[dq] 26835 .RS 2 26836 .IP \[bu] 2 26837 Milan Single Site Private Endpoint 26838 .RE 26839 .IP \[bu] 2 26840 \[dq]s3.hkg02.cloud-object-storage.appdomain.cloud\[dq] 26841 .RS 2 26842 .IP \[bu] 2 26843 Hong Kong Single Site Endpoint 26844 .RE 26845 .IP \[bu] 2 26846 \[dq]s3.private.hkg02.cloud-object-storage.appdomain.cloud\[dq] 26847 .RS 2 26848 .IP \[bu] 2 26849 Hong Kong Single Site Private Endpoint 26850 .RE 26851 .IP \[bu] 2 26852 \[dq]s3.par01.cloud-object-storage.appdomain.cloud\[dq] 26853 .RS 2 26854 .IP \[bu] 2 26855 Paris Single Site Endpoint 26856 .RE 26857 .IP \[bu] 2 26858 \[dq]s3.private.par01.cloud-object-storage.appdomain.cloud\[dq] 26859 .RS 2 26860 .IP \[bu] 2 26861 Paris Single Site Private Endpoint 26862 .RE 26863 .IP \[bu] 2 26864 \[dq]s3.sng01.cloud-object-storage.appdomain.cloud\[dq] 26865 .RS 2 26866 .IP \[bu] 2 26867 Singapore Single Site Endpoint 26868 .RE 26869 .IP \[bu] 2 26870 \[dq]s3.private.sng01.cloud-object-storage.appdomain.cloud\[dq] 26871 .RS 2 26872 .IP \[bu] 2 26873 Singapore Single Site Private Endpoint 26874 .RE 26875 .RE 26876 .SS --s3-endpoint 26877 .PP 26878 Endpoint for IONOS S3 Object Storage. 26879 .PP 26880 Specify the endpoint from the same region. 26881 .PP 26882 Properties: 26883 .IP \[bu] 2 26884 Config: endpoint 26885 .IP \[bu] 2 26886 Env Var: RCLONE_S3_ENDPOINT 26887 .IP \[bu] 2 26888 Provider: IONOS 26889 .IP \[bu] 2 26890 Type: string 26891 .IP \[bu] 2 26892 Required: false 26893 .IP \[bu] 2 26894 Examples: 26895 .RS 2 26896 .IP \[bu] 2 26897 \[dq]s3-eu-central-1.ionoscloud.com\[dq] 26898 .RS 2 26899 .IP \[bu] 2 26900 Frankfurt, Germany 26901 .RE 26902 .IP \[bu] 2 26903 \[dq]s3-eu-central-2.ionoscloud.com\[dq] 26904 .RS 2 26905 .IP \[bu] 2 26906 Berlin, Germany 26907 .RE 26908 .IP \[bu] 2 26909 \[dq]s3-eu-south-2.ionoscloud.com\[dq] 26910 .RS 2 26911 .IP \[bu] 2 26912 Logrono, Spain 26913 .RE 26914 .RE 26915 .SS --s3-endpoint 26916 .PP 26917 Endpoint for Petabox S3 Object Storage. 26918 .PP 26919 Specify the endpoint from the same region. 26920 .PP 26921 Properties: 26922 .IP \[bu] 2 26923 Config: endpoint 26924 .IP \[bu] 2 26925 Env Var: RCLONE_S3_ENDPOINT 26926 .IP \[bu] 2 26927 Provider: Petabox 26928 .IP \[bu] 2 26929 Type: string 26930 .IP \[bu] 2 26931 Required: true 26932 .IP \[bu] 2 26933 Examples: 26934 .RS 2 26935 .IP \[bu] 2 26936 \[dq]s3.petabox.io\[dq] 26937 .RS 2 26938 .IP \[bu] 2 26939 US East (N. 26940 Virginia) 26941 .RE 26942 .IP \[bu] 2 26943 \[dq]s3.us-east-1.petabox.io\[dq] 26944 .RS 2 26945 .IP \[bu] 2 26946 US East (N. 26947 Virginia) 26948 .RE 26949 .IP \[bu] 2 26950 \[dq]s3.eu-central-1.petabox.io\[dq] 26951 .RS 2 26952 .IP \[bu] 2 26953 Europe (Frankfurt) 26954 .RE 26955 .IP \[bu] 2 26956 \[dq]s3.ap-southeast-1.petabox.io\[dq] 26957 .RS 2 26958 .IP \[bu] 2 26959 Asia Pacific (Singapore) 26960 .RE 26961 .IP \[bu] 2 26962 \[dq]s3.me-south-1.petabox.io\[dq] 26963 .RS 2 26964 .IP \[bu] 2 26965 Middle East (Bahrain) 26966 .RE 26967 .IP \[bu] 2 26968 \[dq]s3.sa-east-1.petabox.io\[dq] 26969 .RS 2 26970 .IP \[bu] 2 26971 South America (S\[~a]o Paulo) 26972 .RE 26973 .RE 26974 .SS --s3-endpoint 26975 .PP 26976 Endpoint for Liara Object Storage API. 26977 .PP 26978 Properties: 26979 .IP \[bu] 2 26980 Config: endpoint 26981 .IP \[bu] 2 26982 Env Var: RCLONE_S3_ENDPOINT 26983 .IP \[bu] 2 26984 Provider: Liara 26985 .IP \[bu] 2 26986 Type: string 26987 .IP \[bu] 2 26988 Required: false 26989 .IP \[bu] 2 26990 Examples: 26991 .RS 2 26992 .IP \[bu] 2 26993 \[dq]storage.iran.liara.space\[dq] 26994 .RS 2 26995 .IP \[bu] 2 26996 The default endpoint 26997 .IP \[bu] 2 26998 Iran 26999 .RE 27000 .RE 27001 .SS --s3-endpoint 27002 .PP 27003 Endpoint for OSS API. 27004 .PP 27005 Properties: 27006 .IP \[bu] 2 27007 Config: endpoint 27008 .IP \[bu] 2 27009 Env Var: RCLONE_S3_ENDPOINT 27010 .IP \[bu] 2 27011 Provider: Alibaba 27012 .IP \[bu] 2 27013 Type: string 27014 .IP \[bu] 2 27015 Required: false 27016 .IP \[bu] 2 27017 Examples: 27018 .RS 2 27019 .IP \[bu] 2 27020 \[dq]oss-accelerate.aliyuncs.com\[dq] 27021 .RS 2 27022 .IP \[bu] 2 27023 Global Accelerate 27024 .RE 27025 .IP \[bu] 2 27026 \[dq]oss-accelerate-overseas.aliyuncs.com\[dq] 27027 .RS 2 27028 .IP \[bu] 2 27029 Global Accelerate (outside mainland China) 27030 .RE 27031 .IP \[bu] 2 27032 \[dq]oss-cn-hangzhou.aliyuncs.com\[dq] 27033 .RS 2 27034 .IP \[bu] 2 27035 East China 1 (Hangzhou) 27036 .RE 27037 .IP \[bu] 2 27038 \[dq]oss-cn-shanghai.aliyuncs.com\[dq] 27039 .RS 2 27040 .IP \[bu] 2 27041 East China 2 (Shanghai) 27042 .RE 27043 .IP \[bu] 2 27044 \[dq]oss-cn-qingdao.aliyuncs.com\[dq] 27045 .RS 2 27046 .IP \[bu] 2 27047 North China 1 (Qingdao) 27048 .RE 27049 .IP \[bu] 2 27050 \[dq]oss-cn-beijing.aliyuncs.com\[dq] 27051 .RS 2 27052 .IP \[bu] 2 27053 North China 2 (Beijing) 27054 .RE 27055 .IP \[bu] 2 27056 \[dq]oss-cn-zhangjiakou.aliyuncs.com\[dq] 27057 .RS 2 27058 .IP \[bu] 2 27059 North China 3 (Zhangjiakou) 27060 .RE 27061 .IP \[bu] 2 27062 \[dq]oss-cn-huhehaote.aliyuncs.com\[dq] 27063 .RS 2 27064 .IP \[bu] 2 27065 North China 5 (Hohhot) 27066 .RE 27067 .IP \[bu] 2 27068 \[dq]oss-cn-wulanchabu.aliyuncs.com\[dq] 27069 .RS 2 27070 .IP \[bu] 2 27071 North China 6 (Ulanqab) 27072 .RE 27073 .IP \[bu] 2 27074 \[dq]oss-cn-shenzhen.aliyuncs.com\[dq] 27075 .RS 2 27076 .IP \[bu] 2 27077 South China 1 (Shenzhen) 27078 .RE 27079 .IP \[bu] 2 27080 \[dq]oss-cn-heyuan.aliyuncs.com\[dq] 27081 .RS 2 27082 .IP \[bu] 2 27083 South China 2 (Heyuan) 27084 .RE 27085 .IP \[bu] 2 27086 \[dq]oss-cn-guangzhou.aliyuncs.com\[dq] 27087 .RS 2 27088 .IP \[bu] 2 27089 South China 3 (Guangzhou) 27090 .RE 27091 .IP \[bu] 2 27092 \[dq]oss-cn-chengdu.aliyuncs.com\[dq] 27093 .RS 2 27094 .IP \[bu] 2 27095 West China 1 (Chengdu) 27096 .RE 27097 .IP \[bu] 2 27098 \[dq]oss-cn-hongkong.aliyuncs.com\[dq] 27099 .RS 2 27100 .IP \[bu] 2 27101 Hong Kong (Hong Kong) 27102 .RE 27103 .IP \[bu] 2 27104 \[dq]oss-us-west-1.aliyuncs.com\[dq] 27105 .RS 2 27106 .IP \[bu] 2 27107 US West 1 (Silicon Valley) 27108 .RE 27109 .IP \[bu] 2 27110 \[dq]oss-us-east-1.aliyuncs.com\[dq] 27111 .RS 2 27112 .IP \[bu] 2 27113 US East 1 (Virginia) 27114 .RE 27115 .IP \[bu] 2 27116 \[dq]oss-ap-southeast-1.aliyuncs.com\[dq] 27117 .RS 2 27118 .IP \[bu] 2 27119 Southeast Asia Southeast 1 (Singapore) 27120 .RE 27121 .IP \[bu] 2 27122 \[dq]oss-ap-southeast-2.aliyuncs.com\[dq] 27123 .RS 2 27124 .IP \[bu] 2 27125 Asia Pacific Southeast 2 (Sydney) 27126 .RE 27127 .IP \[bu] 2 27128 \[dq]oss-ap-southeast-3.aliyuncs.com\[dq] 27129 .RS 2 27130 .IP \[bu] 2 27131 Southeast Asia Southeast 3 (Kuala Lumpur) 27132 .RE 27133 .IP \[bu] 2 27134 \[dq]oss-ap-southeast-5.aliyuncs.com\[dq] 27135 .RS 2 27136 .IP \[bu] 2 27137 Asia Pacific Southeast 5 (Jakarta) 27138 .RE 27139 .IP \[bu] 2 27140 \[dq]oss-ap-northeast-1.aliyuncs.com\[dq] 27141 .RS 2 27142 .IP \[bu] 2 27143 Asia Pacific Northeast 1 (Japan) 27144 .RE 27145 .IP \[bu] 2 27146 \[dq]oss-ap-south-1.aliyuncs.com\[dq] 27147 .RS 2 27148 .IP \[bu] 2 27149 Asia Pacific South 1 (Mumbai) 27150 .RE 27151 .IP \[bu] 2 27152 \[dq]oss-eu-central-1.aliyuncs.com\[dq] 27153 .RS 2 27154 .IP \[bu] 2 27155 Central Europe 1 (Frankfurt) 27156 .RE 27157 .IP \[bu] 2 27158 \[dq]oss-eu-west-1.aliyuncs.com\[dq] 27159 .RS 2 27160 .IP \[bu] 2 27161 West Europe (London) 27162 .RE 27163 .IP \[bu] 2 27164 \[dq]oss-me-east-1.aliyuncs.com\[dq] 27165 .RS 2 27166 .IP \[bu] 2 27167 Middle East 1 (Dubai) 27168 .RE 27169 .RE 27170 .SS --s3-endpoint 27171 .PP 27172 Endpoint for OBS API. 27173 .PP 27174 Properties: 27175 .IP \[bu] 2 27176 Config: endpoint 27177 .IP \[bu] 2 27178 Env Var: RCLONE_S3_ENDPOINT 27179 .IP \[bu] 2 27180 Provider: HuaweiOBS 27181 .IP \[bu] 2 27182 Type: string 27183 .IP \[bu] 2 27184 Required: false 27185 .IP \[bu] 2 27186 Examples: 27187 .RS 2 27188 .IP \[bu] 2 27189 \[dq]obs.af-south-1.myhuaweicloud.com\[dq] 27190 .RS 2 27191 .IP \[bu] 2 27192 AF-Johannesburg 27193 .RE 27194 .IP \[bu] 2 27195 \[dq]obs.ap-southeast-2.myhuaweicloud.com\[dq] 27196 .RS 2 27197 .IP \[bu] 2 27198 AP-Bangkok 27199 .RE 27200 .IP \[bu] 2 27201 \[dq]obs.ap-southeast-3.myhuaweicloud.com\[dq] 27202 .RS 2 27203 .IP \[bu] 2 27204 AP-Singapore 27205 .RE 27206 .IP \[bu] 2 27207 \[dq]obs.cn-east-3.myhuaweicloud.com\[dq] 27208 .RS 2 27209 .IP \[bu] 2 27210 CN East-Shanghai1 27211 .RE 27212 .IP \[bu] 2 27213 \[dq]obs.cn-east-2.myhuaweicloud.com\[dq] 27214 .RS 2 27215 .IP \[bu] 2 27216 CN East-Shanghai2 27217 .RE 27218 .IP \[bu] 2 27219 \[dq]obs.cn-north-1.myhuaweicloud.com\[dq] 27220 .RS 2 27221 .IP \[bu] 2 27222 CN North-Beijing1 27223 .RE 27224 .IP \[bu] 2 27225 \[dq]obs.cn-north-4.myhuaweicloud.com\[dq] 27226 .RS 2 27227 .IP \[bu] 2 27228 CN North-Beijing4 27229 .RE 27230 .IP \[bu] 2 27231 \[dq]obs.cn-south-1.myhuaweicloud.com\[dq] 27232 .RS 2 27233 .IP \[bu] 2 27234 CN South-Guangzhou 27235 .RE 27236 .IP \[bu] 2 27237 \[dq]obs.ap-southeast-1.myhuaweicloud.com\[dq] 27238 .RS 2 27239 .IP \[bu] 2 27240 CN-Hong Kong 27241 .RE 27242 .IP \[bu] 2 27243 \[dq]obs.sa-argentina-1.myhuaweicloud.com\[dq] 27244 .RS 2 27245 .IP \[bu] 2 27246 LA-Buenos Aires1 27247 .RE 27248 .IP \[bu] 2 27249 \[dq]obs.sa-peru-1.myhuaweicloud.com\[dq] 27250 .RS 2 27251 .IP \[bu] 2 27252 LA-Lima1 27253 .RE 27254 .IP \[bu] 2 27255 \[dq]obs.na-mexico-1.myhuaweicloud.com\[dq] 27256 .RS 2 27257 .IP \[bu] 2 27258 LA-Mexico City1 27259 .RE 27260 .IP \[bu] 2 27261 \[dq]obs.sa-chile-1.myhuaweicloud.com\[dq] 27262 .RS 2 27263 .IP \[bu] 2 27264 LA-Santiago2 27265 .RE 27266 .IP \[bu] 2 27267 \[dq]obs.sa-brazil-1.myhuaweicloud.com\[dq] 27268 .RS 2 27269 .IP \[bu] 2 27270 LA-Sao Paulo1 27271 .RE 27272 .IP \[bu] 2 27273 \[dq]obs.ru-northwest-2.myhuaweicloud.com\[dq] 27274 .RS 2 27275 .IP \[bu] 2 27276 RU-Moscow2 27277 .RE 27278 .RE 27279 .SS --s3-endpoint 27280 .PP 27281 Endpoint for Scaleway Object Storage. 27282 .PP 27283 Properties: 27284 .IP \[bu] 2 27285 Config: endpoint 27286 .IP \[bu] 2 27287 Env Var: RCLONE_S3_ENDPOINT 27288 .IP \[bu] 2 27289 Provider: Scaleway 27290 .IP \[bu] 2 27291 Type: string 27292 .IP \[bu] 2 27293 Required: false 27294 .IP \[bu] 2 27295 Examples: 27296 .RS 2 27297 .IP \[bu] 2 27298 \[dq]s3.nl-ams.scw.cloud\[dq] 27299 .RS 2 27300 .IP \[bu] 2 27301 Amsterdam Endpoint 27302 .RE 27303 .IP \[bu] 2 27304 \[dq]s3.fr-par.scw.cloud\[dq] 27305 .RS 2 27306 .IP \[bu] 2 27307 Paris Endpoint 27308 .RE 27309 .IP \[bu] 2 27310 \[dq]s3.pl-waw.scw.cloud\[dq] 27311 .RS 2 27312 .IP \[bu] 2 27313 Warsaw Endpoint 27314 .RE 27315 .RE 27316 .SS --s3-endpoint 27317 .PP 27318 Endpoint for StackPath Object Storage. 27319 .PP 27320 Properties: 27321 .IP \[bu] 2 27322 Config: endpoint 27323 .IP \[bu] 2 27324 Env Var: RCLONE_S3_ENDPOINT 27325 .IP \[bu] 2 27326 Provider: StackPath 27327 .IP \[bu] 2 27328 Type: string 27329 .IP \[bu] 2 27330 Required: false 27331 .IP \[bu] 2 27332 Examples: 27333 .RS 2 27334 .IP \[bu] 2 27335 \[dq]s3.us-east-2.stackpathstorage.com\[dq] 27336 .RS 2 27337 .IP \[bu] 2 27338 US East Endpoint 27339 .RE 27340 .IP \[bu] 2 27341 \[dq]s3.us-west-1.stackpathstorage.com\[dq] 27342 .RS 2 27343 .IP \[bu] 2 27344 US West Endpoint 27345 .RE 27346 .IP \[bu] 2 27347 \[dq]s3.eu-central-1.stackpathstorage.com\[dq] 27348 .RS 2 27349 .IP \[bu] 2 27350 EU Endpoint 27351 .RE 27352 .RE 27353 .SS --s3-endpoint 27354 .PP 27355 Endpoint for Google Cloud Storage. 27356 .PP 27357 Properties: 27358 .IP \[bu] 2 27359 Config: endpoint 27360 .IP \[bu] 2 27361 Env Var: RCLONE_S3_ENDPOINT 27362 .IP \[bu] 2 27363 Provider: GCS 27364 .IP \[bu] 2 27365 Type: string 27366 .IP \[bu] 2 27367 Required: false 27368 .IP \[bu] 2 27369 Examples: 27370 .RS 2 27371 .IP \[bu] 2 27372 \[dq]https://storage.googleapis.com\[dq] 27373 .RS 2 27374 .IP \[bu] 2 27375 Google Cloud Storage endpoint 27376 .RE 27377 .RE 27378 .SS --s3-endpoint 27379 .PP 27380 Endpoint for Storj Gateway. 27381 .PP 27382 Properties: 27383 .IP \[bu] 2 27384 Config: endpoint 27385 .IP \[bu] 2 27386 Env Var: RCLONE_S3_ENDPOINT 27387 .IP \[bu] 2 27388 Provider: Storj 27389 .IP \[bu] 2 27390 Type: string 27391 .IP \[bu] 2 27392 Required: false 27393 .IP \[bu] 2 27394 Examples: 27395 .RS 2 27396 .IP \[bu] 2 27397 \[dq]gateway.storjshare.io\[dq] 27398 .RS 2 27399 .IP \[bu] 2 27400 Global Hosted Gateway 27401 .RE 27402 .RE 27403 .SS --s3-endpoint 27404 .PP 27405 Endpoint for Tencent COS API. 27406 .PP 27407 Properties: 27408 .IP \[bu] 2 27409 Config: endpoint 27410 .IP \[bu] 2 27411 Env Var: RCLONE_S3_ENDPOINT 27412 .IP \[bu] 2 27413 Provider: TencentCOS 27414 .IP \[bu] 2 27415 Type: string 27416 .IP \[bu] 2 27417 Required: false 27418 .IP \[bu] 2 27419 Examples: 27420 .RS 2 27421 .IP \[bu] 2 27422 \[dq]cos.ap-beijing.myqcloud.com\[dq] 27423 .RS 2 27424 .IP \[bu] 2 27425 Beijing Region 27426 .RE 27427 .IP \[bu] 2 27428 \[dq]cos.ap-nanjing.myqcloud.com\[dq] 27429 .RS 2 27430 .IP \[bu] 2 27431 Nanjing Region 27432 .RE 27433 .IP \[bu] 2 27434 \[dq]cos.ap-shanghai.myqcloud.com\[dq] 27435 .RS 2 27436 .IP \[bu] 2 27437 Shanghai Region 27438 .RE 27439 .IP \[bu] 2 27440 \[dq]cos.ap-guangzhou.myqcloud.com\[dq] 27441 .RS 2 27442 .IP \[bu] 2 27443 Guangzhou Region 27444 .RE 27445 .IP \[bu] 2 27446 \[dq]cos.ap-nanjing.myqcloud.com\[dq] 27447 .RS 2 27448 .IP \[bu] 2 27449 Nanjing Region 27450 .RE 27451 .IP \[bu] 2 27452 \[dq]cos.ap-chengdu.myqcloud.com\[dq] 27453 .RS 2 27454 .IP \[bu] 2 27455 Chengdu Region 27456 .RE 27457 .IP \[bu] 2 27458 \[dq]cos.ap-chongqing.myqcloud.com\[dq] 27459 .RS 2 27460 .IP \[bu] 2 27461 Chongqing Region 27462 .RE 27463 .IP \[bu] 2 27464 \[dq]cos.ap-hongkong.myqcloud.com\[dq] 27465 .RS 2 27466 .IP \[bu] 2 27467 Hong Kong (China) Region 27468 .RE 27469 .IP \[bu] 2 27470 \[dq]cos.ap-singapore.myqcloud.com\[dq] 27471 .RS 2 27472 .IP \[bu] 2 27473 Singapore Region 27474 .RE 27475 .IP \[bu] 2 27476 \[dq]cos.ap-mumbai.myqcloud.com\[dq] 27477 .RS 2 27478 .IP \[bu] 2 27479 Mumbai Region 27480 .RE 27481 .IP \[bu] 2 27482 \[dq]cos.ap-seoul.myqcloud.com\[dq] 27483 .RS 2 27484 .IP \[bu] 2 27485 Seoul Region 27486 .RE 27487 .IP \[bu] 2 27488 \[dq]cos.ap-bangkok.myqcloud.com\[dq] 27489 .RS 2 27490 .IP \[bu] 2 27491 Bangkok Region 27492 .RE 27493 .IP \[bu] 2 27494 \[dq]cos.ap-tokyo.myqcloud.com\[dq] 27495 .RS 2 27496 .IP \[bu] 2 27497 Tokyo Region 27498 .RE 27499 .IP \[bu] 2 27500 \[dq]cos.na-siliconvalley.myqcloud.com\[dq] 27501 .RS 2 27502 .IP \[bu] 2 27503 Silicon Valley Region 27504 .RE 27505 .IP \[bu] 2 27506 \[dq]cos.na-ashburn.myqcloud.com\[dq] 27507 .RS 2 27508 .IP \[bu] 2 27509 Virginia Region 27510 .RE 27511 .IP \[bu] 2 27512 \[dq]cos.na-toronto.myqcloud.com\[dq] 27513 .RS 2 27514 .IP \[bu] 2 27515 Toronto Region 27516 .RE 27517 .IP \[bu] 2 27518 \[dq]cos.eu-frankfurt.myqcloud.com\[dq] 27519 .RS 2 27520 .IP \[bu] 2 27521 Frankfurt Region 27522 .RE 27523 .IP \[bu] 2 27524 \[dq]cos.eu-moscow.myqcloud.com\[dq] 27525 .RS 2 27526 .IP \[bu] 2 27527 Moscow Region 27528 .RE 27529 .IP \[bu] 2 27530 \[dq]cos.accelerate.myqcloud.com\[dq] 27531 .RS 2 27532 .IP \[bu] 2 27533 Use Tencent COS Accelerate Endpoint 27534 .RE 27535 .RE 27536 .SS --s3-endpoint 27537 .PP 27538 Endpoint for RackCorp Object Storage. 27539 .PP 27540 Properties: 27541 .IP \[bu] 2 27542 Config: endpoint 27543 .IP \[bu] 2 27544 Env Var: RCLONE_S3_ENDPOINT 27545 .IP \[bu] 2 27546 Provider: RackCorp 27547 .IP \[bu] 2 27548 Type: string 27549 .IP \[bu] 2 27550 Required: false 27551 .IP \[bu] 2 27552 Examples: 27553 .RS 2 27554 .IP \[bu] 2 27555 \[dq]s3.rackcorp.com\[dq] 27556 .RS 2 27557 .IP \[bu] 2 27558 Global (AnyCast) Endpoint 27559 .RE 27560 .IP \[bu] 2 27561 \[dq]au.s3.rackcorp.com\[dq] 27562 .RS 2 27563 .IP \[bu] 2 27564 Australia (Anycast) Endpoint 27565 .RE 27566 .IP \[bu] 2 27567 \[dq]au-nsw.s3.rackcorp.com\[dq] 27568 .RS 2 27569 .IP \[bu] 2 27570 Sydney (Australia) Endpoint 27571 .RE 27572 .IP \[bu] 2 27573 \[dq]au-qld.s3.rackcorp.com\[dq] 27574 .RS 2 27575 .IP \[bu] 2 27576 Brisbane (Australia) Endpoint 27577 .RE 27578 .IP \[bu] 2 27579 \[dq]au-vic.s3.rackcorp.com\[dq] 27580 .RS 2 27581 .IP \[bu] 2 27582 Melbourne (Australia) Endpoint 27583 .RE 27584 .IP \[bu] 2 27585 \[dq]au-wa.s3.rackcorp.com\[dq] 27586 .RS 2 27587 .IP \[bu] 2 27588 Perth (Australia) Endpoint 27589 .RE 27590 .IP \[bu] 2 27591 \[dq]ph.s3.rackcorp.com\[dq] 27592 .RS 2 27593 .IP \[bu] 2 27594 Manila (Philippines) Endpoint 27595 .RE 27596 .IP \[bu] 2 27597 \[dq]th.s3.rackcorp.com\[dq] 27598 .RS 2 27599 .IP \[bu] 2 27600 Bangkok (Thailand) Endpoint 27601 .RE 27602 .IP \[bu] 2 27603 \[dq]hk.s3.rackcorp.com\[dq] 27604 .RS 2 27605 .IP \[bu] 2 27606 HK (Hong Kong) Endpoint 27607 .RE 27608 .IP \[bu] 2 27609 \[dq]mn.s3.rackcorp.com\[dq] 27610 .RS 2 27611 .IP \[bu] 2 27612 Ulaanbaatar (Mongolia) Endpoint 27613 .RE 27614 .IP \[bu] 2 27615 \[dq]kg.s3.rackcorp.com\[dq] 27616 .RS 2 27617 .IP \[bu] 2 27618 Bishkek (Kyrgyzstan) Endpoint 27619 .RE 27620 .IP \[bu] 2 27621 \[dq]id.s3.rackcorp.com\[dq] 27622 .RS 2 27623 .IP \[bu] 2 27624 Jakarta (Indonesia) Endpoint 27625 .RE 27626 .IP \[bu] 2 27627 \[dq]jp.s3.rackcorp.com\[dq] 27628 .RS 2 27629 .IP \[bu] 2 27630 Tokyo (Japan) Endpoint 27631 .RE 27632 .IP \[bu] 2 27633 \[dq]sg.s3.rackcorp.com\[dq] 27634 .RS 2 27635 .IP \[bu] 2 27636 SG (Singapore) Endpoint 27637 .RE 27638 .IP \[bu] 2 27639 \[dq]de.s3.rackcorp.com\[dq] 27640 .RS 2 27641 .IP \[bu] 2 27642 Frankfurt (Germany) Endpoint 27643 .RE 27644 .IP \[bu] 2 27645 \[dq]us.s3.rackcorp.com\[dq] 27646 .RS 2 27647 .IP \[bu] 2 27648 USA (AnyCast) Endpoint 27649 .RE 27650 .IP \[bu] 2 27651 \[dq]us-east-1.s3.rackcorp.com\[dq] 27652 .RS 2 27653 .IP \[bu] 2 27654 New York (USA) Endpoint 27655 .RE 27656 .IP \[bu] 2 27657 \[dq]us-west-1.s3.rackcorp.com\[dq] 27658 .RS 2 27659 .IP \[bu] 2 27660 Freemont (USA) Endpoint 27661 .RE 27662 .IP \[bu] 2 27663 \[dq]nz.s3.rackcorp.com\[dq] 27664 .RS 2 27665 .IP \[bu] 2 27666 Auckland (New Zealand) Endpoint 27667 .RE 27668 .RE 27669 .SS --s3-endpoint 27670 .PP 27671 Endpoint for Qiniu Object Storage. 27672 .PP 27673 Properties: 27674 .IP \[bu] 2 27675 Config: endpoint 27676 .IP \[bu] 2 27677 Env Var: RCLONE_S3_ENDPOINT 27678 .IP \[bu] 2 27679 Provider: Qiniu 27680 .IP \[bu] 2 27681 Type: string 27682 .IP \[bu] 2 27683 Required: false 27684 .IP \[bu] 2 27685 Examples: 27686 .RS 2 27687 .IP \[bu] 2 27688 \[dq]s3-cn-east-1.qiniucs.com\[dq] 27689 .RS 2 27690 .IP \[bu] 2 27691 East China Endpoint 1 27692 .RE 27693 .IP \[bu] 2 27694 \[dq]s3-cn-east-2.qiniucs.com\[dq] 27695 .RS 2 27696 .IP \[bu] 2 27697 East China Endpoint 2 27698 .RE 27699 .IP \[bu] 2 27700 \[dq]s3-cn-north-1.qiniucs.com\[dq] 27701 .RS 2 27702 .IP \[bu] 2 27703 North China Endpoint 1 27704 .RE 27705 .IP \[bu] 2 27706 \[dq]s3-cn-south-1.qiniucs.com\[dq] 27707 .RS 2 27708 .IP \[bu] 2 27709 South China Endpoint 1 27710 .RE 27711 .IP \[bu] 2 27712 \[dq]s3-us-north-1.qiniucs.com\[dq] 27713 .RS 2 27714 .IP \[bu] 2 27715 North America Endpoint 1 27716 .RE 27717 .IP \[bu] 2 27718 \[dq]s3-ap-southeast-1.qiniucs.com\[dq] 27719 .RS 2 27720 .IP \[bu] 2 27721 Southeast Asia Endpoint 1 27722 .RE 27723 .IP \[bu] 2 27724 \[dq]s3-ap-northeast-1.qiniucs.com\[dq] 27725 .RS 2 27726 .IP \[bu] 2 27727 Northeast Asia Endpoint 1 27728 .RE 27729 .RE 27730 .SS --s3-endpoint 27731 .PP 27732 Endpoint for S3 API. 27733 .PP 27734 Required when using an S3 clone. 27735 .PP 27736 Properties: 27737 .IP \[bu] 2 27738 Config: endpoint 27739 .IP \[bu] 2 27740 Env Var: RCLONE_S3_ENDPOINT 27741 .IP \[bu] 2 27742 Provider: 27743 !AWS,ArvanCloud,IBMCOS,IDrive,IONOS,TencentCOS,HuaweiOBS,Alibaba,ChinaMobile,GCS,Liara,Scaleway,StackPath,Storj,RackCorp,Qiniu,Petabox 27744 .IP \[bu] 2 27745 Type: string 27746 .IP \[bu] 2 27747 Required: false 27748 .IP \[bu] 2 27749 Examples: 27750 .RS 2 27751 .IP \[bu] 2 27752 \[dq]objects-us-east-1.dream.io\[dq] 27753 .RS 2 27754 .IP \[bu] 2 27755 Dream Objects endpoint 27756 .RE 27757 .IP \[bu] 2 27758 \[dq]syd1.digitaloceanspaces.com\[dq] 27759 .RS 2 27760 .IP \[bu] 2 27761 DigitalOcean Spaces Sydney 1 27762 .RE 27763 .IP \[bu] 2 27764 \[dq]sfo3.digitaloceanspaces.com\[dq] 27765 .RS 2 27766 .IP \[bu] 2 27767 DigitalOcean Spaces San Francisco 3 27768 .RE 27769 .IP \[bu] 2 27770 \[dq]fra1.digitaloceanspaces.com\[dq] 27771 .RS 2 27772 .IP \[bu] 2 27773 DigitalOcean Spaces Frankfurt 1 27774 .RE 27775 .IP \[bu] 2 27776 \[dq]nyc3.digitaloceanspaces.com\[dq] 27777 .RS 2 27778 .IP \[bu] 2 27779 DigitalOcean Spaces New York 3 27780 .RE 27781 .IP \[bu] 2 27782 \[dq]ams3.digitaloceanspaces.com\[dq] 27783 .RS 2 27784 .IP \[bu] 2 27785 DigitalOcean Spaces Amsterdam 3 27786 .RE 27787 .IP \[bu] 2 27788 \[dq]sgp1.digitaloceanspaces.com\[dq] 27789 .RS 2 27790 .IP \[bu] 2 27791 DigitalOcean Spaces Singapore 1 27792 .RE 27793 .IP \[bu] 2 27794 \[dq]localhost:8333\[dq] 27795 .RS 2 27796 .IP \[bu] 2 27797 SeaweedFS S3 localhost 27798 .RE 27799 .IP \[bu] 2 27800 \[dq]s3.us-east-1.lyvecloud.seagate.com\[dq] 27801 .RS 2 27802 .IP \[bu] 2 27803 Seagate Lyve Cloud US East 1 (Virginia) 27804 .RE 27805 .IP \[bu] 2 27806 \[dq]s3.us-west-1.lyvecloud.seagate.com\[dq] 27807 .RS 2 27808 .IP \[bu] 2 27809 Seagate Lyve Cloud US West 1 (California) 27810 .RE 27811 .IP \[bu] 2 27812 \[dq]s3.ap-southeast-1.lyvecloud.seagate.com\[dq] 27813 .RS 2 27814 .IP \[bu] 2 27815 Seagate Lyve Cloud AP Southeast 1 (Singapore) 27816 .RE 27817 .IP \[bu] 2 27818 \[dq]s3.wasabisys.com\[dq] 27819 .RS 2 27820 .IP \[bu] 2 27821 Wasabi US East 1 (N. 27822 Virginia) 27823 .RE 27824 .IP \[bu] 2 27825 \[dq]s3.us-east-2.wasabisys.com\[dq] 27826 .RS 2 27827 .IP \[bu] 2 27828 Wasabi US East 2 (N. 27829 Virginia) 27830 .RE 27831 .IP \[bu] 2 27832 \[dq]s3.us-central-1.wasabisys.com\[dq] 27833 .RS 2 27834 .IP \[bu] 2 27835 Wasabi US Central 1 (Texas) 27836 .RE 27837 .IP \[bu] 2 27838 \[dq]s3.us-west-1.wasabisys.com\[dq] 27839 .RS 2 27840 .IP \[bu] 2 27841 Wasabi US West 1 (Oregon) 27842 .RE 27843 .IP \[bu] 2 27844 \[dq]s3.ca-central-1.wasabisys.com\[dq] 27845 .RS 2 27846 .IP \[bu] 2 27847 Wasabi CA Central 1 (Toronto) 27848 .RE 27849 .IP \[bu] 2 27850 \[dq]s3.eu-central-1.wasabisys.com\[dq] 27851 .RS 2 27852 .IP \[bu] 2 27853 Wasabi EU Central 1 (Amsterdam) 27854 .RE 27855 .IP \[bu] 2 27856 \[dq]s3.eu-central-2.wasabisys.com\[dq] 27857 .RS 2 27858 .IP \[bu] 2 27859 Wasabi EU Central 2 (Frankfurt) 27860 .RE 27861 .IP \[bu] 2 27862 \[dq]s3.eu-west-1.wasabisys.com\[dq] 27863 .RS 2 27864 .IP \[bu] 2 27865 Wasabi EU West 1 (London) 27866 .RE 27867 .IP \[bu] 2 27868 \[dq]s3.eu-west-2.wasabisys.com\[dq] 27869 .RS 2 27870 .IP \[bu] 2 27871 Wasabi EU West 2 (Paris) 27872 .RE 27873 .IP \[bu] 2 27874 \[dq]s3.ap-northeast-1.wasabisys.com\[dq] 27875 .RS 2 27876 .IP \[bu] 2 27877 Wasabi AP Northeast 1 (Tokyo) endpoint 27878 .RE 27879 .IP \[bu] 2 27880 \[dq]s3.ap-northeast-2.wasabisys.com\[dq] 27881 .RS 2 27882 .IP \[bu] 2 27883 Wasabi AP Northeast 2 (Osaka) endpoint 27884 .RE 27885 .IP \[bu] 2 27886 \[dq]s3.ap-southeast-1.wasabisys.com\[dq] 27887 .RS 2 27888 .IP \[bu] 2 27889 Wasabi AP Southeast 1 (Singapore) 27890 .RE 27891 .IP \[bu] 2 27892 \[dq]s3.ap-southeast-2.wasabisys.com\[dq] 27893 .RS 2 27894 .IP \[bu] 2 27895 Wasabi AP Southeast 2 (Sydney) 27896 .RE 27897 .IP \[bu] 2 27898 \[dq]storage.iran.liara.space\[dq] 27899 .RS 2 27900 .IP \[bu] 2 27901 Liara Iran endpoint 27902 .RE 27903 .IP \[bu] 2 27904 \[dq]s3.ir-thr-at1.arvanstorage.ir\[dq] 27905 .RS 2 27906 .IP \[bu] 2 27907 ArvanCloud Tehran Iran (Simin) endpoint 27908 .RE 27909 .IP \[bu] 2 27910 \[dq]s3.ir-tbz-sh1.arvanstorage.ir\[dq] 27911 .RS 2 27912 .IP \[bu] 2 27913 ArvanCloud Tabriz Iran (Shahriar) endpoint 27914 .RE 27915 .RE 27916 .SS --s3-location-constraint 27917 .PP 27918 Location constraint - must be set to match the Region. 27919 .PP 27920 Used when creating buckets only. 27921 .PP 27922 Properties: 27923 .IP \[bu] 2 27924 Config: location_constraint 27925 .IP \[bu] 2 27926 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 27927 .IP \[bu] 2 27928 Provider: AWS 27929 .IP \[bu] 2 27930 Type: string 27931 .IP \[bu] 2 27932 Required: false 27933 .IP \[bu] 2 27934 Examples: 27935 .RS 2 27936 .IP \[bu] 2 27937 \[dq]\[dq] 27938 .RS 2 27939 .IP \[bu] 2 27940 Empty for US Region, Northern Virginia, or Pacific Northwest 27941 .RE 27942 .IP \[bu] 2 27943 \[dq]us-east-2\[dq] 27944 .RS 2 27945 .IP \[bu] 2 27946 US East (Ohio) Region 27947 .RE 27948 .IP \[bu] 2 27949 \[dq]us-west-1\[dq] 27950 .RS 2 27951 .IP \[bu] 2 27952 US West (Northern California) Region 27953 .RE 27954 .IP \[bu] 2 27955 \[dq]us-west-2\[dq] 27956 .RS 2 27957 .IP \[bu] 2 27958 US West (Oregon) Region 27959 .RE 27960 .IP \[bu] 2 27961 \[dq]ca-central-1\[dq] 27962 .RS 2 27963 .IP \[bu] 2 27964 Canada (Central) Region 27965 .RE 27966 .IP \[bu] 2 27967 \[dq]eu-west-1\[dq] 27968 .RS 2 27969 .IP \[bu] 2 27970 EU (Ireland) Region 27971 .RE 27972 .IP \[bu] 2 27973 \[dq]eu-west-2\[dq] 27974 .RS 2 27975 .IP \[bu] 2 27976 EU (London) Region 27977 .RE 27978 .IP \[bu] 2 27979 \[dq]eu-west-3\[dq] 27980 .RS 2 27981 .IP \[bu] 2 27982 EU (Paris) Region 27983 .RE 27984 .IP \[bu] 2 27985 \[dq]eu-north-1\[dq] 27986 .RS 2 27987 .IP \[bu] 2 27988 EU (Stockholm) Region 27989 .RE 27990 .IP \[bu] 2 27991 \[dq]eu-south-1\[dq] 27992 .RS 2 27993 .IP \[bu] 2 27994 EU (Milan) Region 27995 .RE 27996 .IP \[bu] 2 27997 \[dq]EU\[dq] 27998 .RS 2 27999 .IP \[bu] 2 28000 EU Region 28001 .RE 28002 .IP \[bu] 2 28003 \[dq]ap-southeast-1\[dq] 28004 .RS 2 28005 .IP \[bu] 2 28006 Asia Pacific (Singapore) Region 28007 .RE 28008 .IP \[bu] 2 28009 \[dq]ap-southeast-2\[dq] 28010 .RS 2 28011 .IP \[bu] 2 28012 Asia Pacific (Sydney) Region 28013 .RE 28014 .IP \[bu] 2 28015 \[dq]ap-northeast-1\[dq] 28016 .RS 2 28017 .IP \[bu] 2 28018 Asia Pacific (Tokyo) Region 28019 .RE 28020 .IP \[bu] 2 28021 \[dq]ap-northeast-2\[dq] 28022 .RS 2 28023 .IP \[bu] 2 28024 Asia Pacific (Seoul) Region 28025 .RE 28026 .IP \[bu] 2 28027 \[dq]ap-northeast-3\[dq] 28028 .RS 2 28029 .IP \[bu] 2 28030 Asia Pacific (Osaka-Local) Region 28031 .RE 28032 .IP \[bu] 2 28033 \[dq]ap-south-1\[dq] 28034 .RS 2 28035 .IP \[bu] 2 28036 Asia Pacific (Mumbai) Region 28037 .RE 28038 .IP \[bu] 2 28039 \[dq]ap-east-1\[dq] 28040 .RS 2 28041 .IP \[bu] 2 28042 Asia Pacific (Hong Kong) Region 28043 .RE 28044 .IP \[bu] 2 28045 \[dq]sa-east-1\[dq] 28046 .RS 2 28047 .IP \[bu] 2 28048 South America (Sao Paulo) Region 28049 .RE 28050 .IP \[bu] 2 28051 \[dq]me-south-1\[dq] 28052 .RS 2 28053 .IP \[bu] 2 28054 Middle East (Bahrain) Region 28055 .RE 28056 .IP \[bu] 2 28057 \[dq]af-south-1\[dq] 28058 .RS 2 28059 .IP \[bu] 2 28060 Africa (Cape Town) Region 28061 .RE 28062 .IP \[bu] 2 28063 \[dq]cn-north-1\[dq] 28064 .RS 2 28065 .IP \[bu] 2 28066 China (Beijing) Region 28067 .RE 28068 .IP \[bu] 2 28069 \[dq]cn-northwest-1\[dq] 28070 .RS 2 28071 .IP \[bu] 2 28072 China (Ningxia) Region 28073 .RE 28074 .IP \[bu] 2 28075 \[dq]us-gov-east-1\[dq] 28076 .RS 2 28077 .IP \[bu] 2 28078 AWS GovCloud (US-East) Region 28079 .RE 28080 .IP \[bu] 2 28081 \[dq]us-gov-west-1\[dq] 28082 .RS 2 28083 .IP \[bu] 2 28084 AWS GovCloud (US) Region 28085 .RE 28086 .RE 28087 .SS --s3-location-constraint 28088 .PP 28089 Location constraint - must match endpoint. 28090 .PP 28091 Used when creating buckets only. 28092 .PP 28093 Properties: 28094 .IP \[bu] 2 28095 Config: location_constraint 28096 .IP \[bu] 2 28097 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 28098 .IP \[bu] 2 28099 Provider: ChinaMobile 28100 .IP \[bu] 2 28101 Type: string 28102 .IP \[bu] 2 28103 Required: false 28104 .IP \[bu] 2 28105 Examples: 28106 .RS 2 28107 .IP \[bu] 2 28108 \[dq]wuxi1\[dq] 28109 .RS 2 28110 .IP \[bu] 2 28111 East China (Suzhou) 28112 .RE 28113 .IP \[bu] 2 28114 \[dq]jinan1\[dq] 28115 .RS 2 28116 .IP \[bu] 2 28117 East China (Jinan) 28118 .RE 28119 .IP \[bu] 2 28120 \[dq]ningbo1\[dq] 28121 .RS 2 28122 .IP \[bu] 2 28123 East China (Hangzhou) 28124 .RE 28125 .IP \[bu] 2 28126 \[dq]shanghai1\[dq] 28127 .RS 2 28128 .IP \[bu] 2 28129 East China (Shanghai-1) 28130 .RE 28131 .IP \[bu] 2 28132 \[dq]zhengzhou1\[dq] 28133 .RS 2 28134 .IP \[bu] 2 28135 Central China (Zhengzhou) 28136 .RE 28137 .IP \[bu] 2 28138 \[dq]hunan1\[dq] 28139 .RS 2 28140 .IP \[bu] 2 28141 Central China (Changsha-1) 28142 .RE 28143 .IP \[bu] 2 28144 \[dq]zhuzhou1\[dq] 28145 .RS 2 28146 .IP \[bu] 2 28147 Central China (Changsha-2) 28148 .RE 28149 .IP \[bu] 2 28150 \[dq]guangzhou1\[dq] 28151 .RS 2 28152 .IP \[bu] 2 28153 South China (Guangzhou-2) 28154 .RE 28155 .IP \[bu] 2 28156 \[dq]dongguan1\[dq] 28157 .RS 2 28158 .IP \[bu] 2 28159 South China (Guangzhou-3) 28160 .RE 28161 .IP \[bu] 2 28162 \[dq]beijing1\[dq] 28163 .RS 2 28164 .IP \[bu] 2 28165 North China (Beijing-1) 28166 .RE 28167 .IP \[bu] 2 28168 \[dq]beijing2\[dq] 28169 .RS 2 28170 .IP \[bu] 2 28171 North China (Beijing-2) 28172 .RE 28173 .IP \[bu] 2 28174 \[dq]beijing4\[dq] 28175 .RS 2 28176 .IP \[bu] 2 28177 North China (Beijing-3) 28178 .RE 28179 .IP \[bu] 2 28180 \[dq]huhehaote1\[dq] 28181 .RS 2 28182 .IP \[bu] 2 28183 North China (Huhehaote) 28184 .RE 28185 .IP \[bu] 2 28186 \[dq]chengdu1\[dq] 28187 .RS 2 28188 .IP \[bu] 2 28189 Southwest China (Chengdu) 28190 .RE 28191 .IP \[bu] 2 28192 \[dq]chongqing1\[dq] 28193 .RS 2 28194 .IP \[bu] 2 28195 Southwest China (Chongqing) 28196 .RE 28197 .IP \[bu] 2 28198 \[dq]guiyang1\[dq] 28199 .RS 2 28200 .IP \[bu] 2 28201 Southwest China (Guiyang) 28202 .RE 28203 .IP \[bu] 2 28204 \[dq]xian1\[dq] 28205 .RS 2 28206 .IP \[bu] 2 28207 Nouthwest China (Xian) 28208 .RE 28209 .IP \[bu] 2 28210 \[dq]yunnan\[dq] 28211 .RS 2 28212 .IP \[bu] 2 28213 Yunnan China (Kunming) 28214 .RE 28215 .IP \[bu] 2 28216 \[dq]yunnan2\[dq] 28217 .RS 2 28218 .IP \[bu] 2 28219 Yunnan China (Kunming-2) 28220 .RE 28221 .IP \[bu] 2 28222 \[dq]tianjin1\[dq] 28223 .RS 2 28224 .IP \[bu] 2 28225 Tianjin China (Tianjin) 28226 .RE 28227 .IP \[bu] 2 28228 \[dq]jilin1\[dq] 28229 .RS 2 28230 .IP \[bu] 2 28231 Jilin China (Changchun) 28232 .RE 28233 .IP \[bu] 2 28234 \[dq]hubei1\[dq] 28235 .RS 2 28236 .IP \[bu] 2 28237 Hubei China (Xiangyan) 28238 .RE 28239 .IP \[bu] 2 28240 \[dq]jiangxi1\[dq] 28241 .RS 2 28242 .IP \[bu] 2 28243 Jiangxi China (Nanchang) 28244 .RE 28245 .IP \[bu] 2 28246 \[dq]gansu1\[dq] 28247 .RS 2 28248 .IP \[bu] 2 28249 Gansu China (Lanzhou) 28250 .RE 28251 .IP \[bu] 2 28252 \[dq]shanxi1\[dq] 28253 .RS 2 28254 .IP \[bu] 2 28255 Shanxi China (Taiyuan) 28256 .RE 28257 .IP \[bu] 2 28258 \[dq]liaoning1\[dq] 28259 .RS 2 28260 .IP \[bu] 2 28261 Liaoning China (Shenyang) 28262 .RE 28263 .IP \[bu] 2 28264 \[dq]hebei1\[dq] 28265 .RS 2 28266 .IP \[bu] 2 28267 Hebei China (Shijiazhuang) 28268 .RE 28269 .IP \[bu] 2 28270 \[dq]fujian1\[dq] 28271 .RS 2 28272 .IP \[bu] 2 28273 Fujian China (Xiamen) 28274 .RE 28275 .IP \[bu] 2 28276 \[dq]guangxi1\[dq] 28277 .RS 2 28278 .IP \[bu] 2 28279 Guangxi China (Nanning) 28280 .RE 28281 .IP \[bu] 2 28282 \[dq]anhui1\[dq] 28283 .RS 2 28284 .IP \[bu] 2 28285 Anhui China (Huainan) 28286 .RE 28287 .RE 28288 .SS --s3-location-constraint 28289 .PP 28290 Location constraint - must match endpoint. 28291 .PP 28292 Used when creating buckets only. 28293 .PP 28294 Properties: 28295 .IP \[bu] 2 28296 Config: location_constraint 28297 .IP \[bu] 2 28298 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 28299 .IP \[bu] 2 28300 Provider: ArvanCloud 28301 .IP \[bu] 2 28302 Type: string 28303 .IP \[bu] 2 28304 Required: false 28305 .IP \[bu] 2 28306 Examples: 28307 .RS 2 28308 .IP \[bu] 2 28309 \[dq]ir-thr-at1\[dq] 28310 .RS 2 28311 .IP \[bu] 2 28312 Tehran Iran (Simin) 28313 .RE 28314 .IP \[bu] 2 28315 \[dq]ir-tbz-sh1\[dq] 28316 .RS 2 28317 .IP \[bu] 2 28318 Tabriz Iran (Shahriar) 28319 .RE 28320 .RE 28321 .SS --s3-location-constraint 28322 .PP 28323 Location constraint - must match endpoint when using IBM Cloud Public. 28324 .PP 28325 For on-prem COS, do not make a selection from this list, hit enter. 28326 .PP 28327 Properties: 28328 .IP \[bu] 2 28329 Config: location_constraint 28330 .IP \[bu] 2 28331 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 28332 .IP \[bu] 2 28333 Provider: IBMCOS 28334 .IP \[bu] 2 28335 Type: string 28336 .IP \[bu] 2 28337 Required: false 28338 .IP \[bu] 2 28339 Examples: 28340 .RS 2 28341 .IP \[bu] 2 28342 \[dq]us-standard\[dq] 28343 .RS 2 28344 .IP \[bu] 2 28345 US Cross Region Standard 28346 .RE 28347 .IP \[bu] 2 28348 \[dq]us-vault\[dq] 28349 .RS 2 28350 .IP \[bu] 2 28351 US Cross Region Vault 28352 .RE 28353 .IP \[bu] 2 28354 \[dq]us-cold\[dq] 28355 .RS 2 28356 .IP \[bu] 2 28357 US Cross Region Cold 28358 .RE 28359 .IP \[bu] 2 28360 \[dq]us-flex\[dq] 28361 .RS 2 28362 .IP \[bu] 2 28363 US Cross Region Flex 28364 .RE 28365 .IP \[bu] 2 28366 \[dq]us-east-standard\[dq] 28367 .RS 2 28368 .IP \[bu] 2 28369 US East Region Standard 28370 .RE 28371 .IP \[bu] 2 28372 \[dq]us-east-vault\[dq] 28373 .RS 2 28374 .IP \[bu] 2 28375 US East Region Vault 28376 .RE 28377 .IP \[bu] 2 28378 \[dq]us-east-cold\[dq] 28379 .RS 2 28380 .IP \[bu] 2 28381 US East Region Cold 28382 .RE 28383 .IP \[bu] 2 28384 \[dq]us-east-flex\[dq] 28385 .RS 2 28386 .IP \[bu] 2 28387 US East Region Flex 28388 .RE 28389 .IP \[bu] 2 28390 \[dq]us-south-standard\[dq] 28391 .RS 2 28392 .IP \[bu] 2 28393 US South Region Standard 28394 .RE 28395 .IP \[bu] 2 28396 \[dq]us-south-vault\[dq] 28397 .RS 2 28398 .IP \[bu] 2 28399 US South Region Vault 28400 .RE 28401 .IP \[bu] 2 28402 \[dq]us-south-cold\[dq] 28403 .RS 2 28404 .IP \[bu] 2 28405 US South Region Cold 28406 .RE 28407 .IP \[bu] 2 28408 \[dq]us-south-flex\[dq] 28409 .RS 2 28410 .IP \[bu] 2 28411 US South Region Flex 28412 .RE 28413 .IP \[bu] 2 28414 \[dq]eu-standard\[dq] 28415 .RS 2 28416 .IP \[bu] 2 28417 EU Cross Region Standard 28418 .RE 28419 .IP \[bu] 2 28420 \[dq]eu-vault\[dq] 28421 .RS 2 28422 .IP \[bu] 2 28423 EU Cross Region Vault 28424 .RE 28425 .IP \[bu] 2 28426 \[dq]eu-cold\[dq] 28427 .RS 2 28428 .IP \[bu] 2 28429 EU Cross Region Cold 28430 .RE 28431 .IP \[bu] 2 28432 \[dq]eu-flex\[dq] 28433 .RS 2 28434 .IP \[bu] 2 28435 EU Cross Region Flex 28436 .RE 28437 .IP \[bu] 2 28438 \[dq]eu-gb-standard\[dq] 28439 .RS 2 28440 .IP \[bu] 2 28441 Great Britain Standard 28442 .RE 28443 .IP \[bu] 2 28444 \[dq]eu-gb-vault\[dq] 28445 .RS 2 28446 .IP \[bu] 2 28447 Great Britain Vault 28448 .RE 28449 .IP \[bu] 2 28450 \[dq]eu-gb-cold\[dq] 28451 .RS 2 28452 .IP \[bu] 2 28453 Great Britain Cold 28454 .RE 28455 .IP \[bu] 2 28456 \[dq]eu-gb-flex\[dq] 28457 .RS 2 28458 .IP \[bu] 2 28459 Great Britain Flex 28460 .RE 28461 .IP \[bu] 2 28462 \[dq]ap-standard\[dq] 28463 .RS 2 28464 .IP \[bu] 2 28465 APAC Standard 28466 .RE 28467 .IP \[bu] 2 28468 \[dq]ap-vault\[dq] 28469 .RS 2 28470 .IP \[bu] 2 28471 APAC Vault 28472 .RE 28473 .IP \[bu] 2 28474 \[dq]ap-cold\[dq] 28475 .RS 2 28476 .IP \[bu] 2 28477 APAC Cold 28478 .RE 28479 .IP \[bu] 2 28480 \[dq]ap-flex\[dq] 28481 .RS 2 28482 .IP \[bu] 2 28483 APAC Flex 28484 .RE 28485 .IP \[bu] 2 28486 \[dq]mel01-standard\[dq] 28487 .RS 2 28488 .IP \[bu] 2 28489 Melbourne Standard 28490 .RE 28491 .IP \[bu] 2 28492 \[dq]mel01-vault\[dq] 28493 .RS 2 28494 .IP \[bu] 2 28495 Melbourne Vault 28496 .RE 28497 .IP \[bu] 2 28498 \[dq]mel01-cold\[dq] 28499 .RS 2 28500 .IP \[bu] 2 28501 Melbourne Cold 28502 .RE 28503 .IP \[bu] 2 28504 \[dq]mel01-flex\[dq] 28505 .RS 2 28506 .IP \[bu] 2 28507 Melbourne Flex 28508 .RE 28509 .IP \[bu] 2 28510 \[dq]tor01-standard\[dq] 28511 .RS 2 28512 .IP \[bu] 2 28513 Toronto Standard 28514 .RE 28515 .IP \[bu] 2 28516 \[dq]tor01-vault\[dq] 28517 .RS 2 28518 .IP \[bu] 2 28519 Toronto Vault 28520 .RE 28521 .IP \[bu] 2 28522 \[dq]tor01-cold\[dq] 28523 .RS 2 28524 .IP \[bu] 2 28525 Toronto Cold 28526 .RE 28527 .IP \[bu] 2 28528 \[dq]tor01-flex\[dq] 28529 .RS 2 28530 .IP \[bu] 2 28531 Toronto Flex 28532 .RE 28533 .RE 28534 .SS --s3-location-constraint 28535 .PP 28536 Location constraint - the location where your bucket will be located and 28537 your data stored. 28538 .PP 28539 Properties: 28540 .IP \[bu] 2 28541 Config: location_constraint 28542 .IP \[bu] 2 28543 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 28544 .IP \[bu] 2 28545 Provider: RackCorp 28546 .IP \[bu] 2 28547 Type: string 28548 .IP \[bu] 2 28549 Required: false 28550 .IP \[bu] 2 28551 Examples: 28552 .RS 2 28553 .IP \[bu] 2 28554 \[dq]global\[dq] 28555 .RS 2 28556 .IP \[bu] 2 28557 Global CDN Region 28558 .RE 28559 .IP \[bu] 2 28560 \[dq]au\[dq] 28561 .RS 2 28562 .IP \[bu] 2 28563 Australia (All locations) 28564 .RE 28565 .IP \[bu] 2 28566 \[dq]au-nsw\[dq] 28567 .RS 2 28568 .IP \[bu] 2 28569 NSW (Australia) Region 28570 .RE 28571 .IP \[bu] 2 28572 \[dq]au-qld\[dq] 28573 .RS 2 28574 .IP \[bu] 2 28575 QLD (Australia) Region 28576 .RE 28577 .IP \[bu] 2 28578 \[dq]au-vic\[dq] 28579 .RS 2 28580 .IP \[bu] 2 28581 VIC (Australia) Region 28582 .RE 28583 .IP \[bu] 2 28584 \[dq]au-wa\[dq] 28585 .RS 2 28586 .IP \[bu] 2 28587 Perth (Australia) Region 28588 .RE 28589 .IP \[bu] 2 28590 \[dq]ph\[dq] 28591 .RS 2 28592 .IP \[bu] 2 28593 Manila (Philippines) Region 28594 .RE 28595 .IP \[bu] 2 28596 \[dq]th\[dq] 28597 .RS 2 28598 .IP \[bu] 2 28599 Bangkok (Thailand) Region 28600 .RE 28601 .IP \[bu] 2 28602 \[dq]hk\[dq] 28603 .RS 2 28604 .IP \[bu] 2 28605 HK (Hong Kong) Region 28606 .RE 28607 .IP \[bu] 2 28608 \[dq]mn\[dq] 28609 .RS 2 28610 .IP \[bu] 2 28611 Ulaanbaatar (Mongolia) Region 28612 .RE 28613 .IP \[bu] 2 28614 \[dq]kg\[dq] 28615 .RS 2 28616 .IP \[bu] 2 28617 Bishkek (Kyrgyzstan) Region 28618 .RE 28619 .IP \[bu] 2 28620 \[dq]id\[dq] 28621 .RS 2 28622 .IP \[bu] 2 28623 Jakarta (Indonesia) Region 28624 .RE 28625 .IP \[bu] 2 28626 \[dq]jp\[dq] 28627 .RS 2 28628 .IP \[bu] 2 28629 Tokyo (Japan) Region 28630 .RE 28631 .IP \[bu] 2 28632 \[dq]sg\[dq] 28633 .RS 2 28634 .IP \[bu] 2 28635 SG (Singapore) Region 28636 .RE 28637 .IP \[bu] 2 28638 \[dq]de\[dq] 28639 .RS 2 28640 .IP \[bu] 2 28641 Frankfurt (Germany) Region 28642 .RE 28643 .IP \[bu] 2 28644 \[dq]us\[dq] 28645 .RS 2 28646 .IP \[bu] 2 28647 USA (AnyCast) Region 28648 .RE 28649 .IP \[bu] 2 28650 \[dq]us-east-1\[dq] 28651 .RS 2 28652 .IP \[bu] 2 28653 New York (USA) Region 28654 .RE 28655 .IP \[bu] 2 28656 \[dq]us-west-1\[dq] 28657 .RS 2 28658 .IP \[bu] 2 28659 Freemont (USA) Region 28660 .RE 28661 .IP \[bu] 2 28662 \[dq]nz\[dq] 28663 .RS 2 28664 .IP \[bu] 2 28665 Auckland (New Zealand) Region 28666 .RE 28667 .RE 28668 .SS --s3-location-constraint 28669 .PP 28670 Location constraint - must be set to match the Region. 28671 .PP 28672 Used when creating buckets only. 28673 .PP 28674 Properties: 28675 .IP \[bu] 2 28676 Config: location_constraint 28677 .IP \[bu] 2 28678 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 28679 .IP \[bu] 2 28680 Provider: Qiniu 28681 .IP \[bu] 2 28682 Type: string 28683 .IP \[bu] 2 28684 Required: false 28685 .IP \[bu] 2 28686 Examples: 28687 .RS 2 28688 .IP \[bu] 2 28689 \[dq]cn-east-1\[dq] 28690 .RS 2 28691 .IP \[bu] 2 28692 East China Region 1 28693 .RE 28694 .IP \[bu] 2 28695 \[dq]cn-east-2\[dq] 28696 .RS 2 28697 .IP \[bu] 2 28698 East China Region 2 28699 .RE 28700 .IP \[bu] 2 28701 \[dq]cn-north-1\[dq] 28702 .RS 2 28703 .IP \[bu] 2 28704 North China Region 1 28705 .RE 28706 .IP \[bu] 2 28707 \[dq]cn-south-1\[dq] 28708 .RS 2 28709 .IP \[bu] 2 28710 South China Region 1 28711 .RE 28712 .IP \[bu] 2 28713 \[dq]us-north-1\[dq] 28714 .RS 2 28715 .IP \[bu] 2 28716 North America Region 1 28717 .RE 28718 .IP \[bu] 2 28719 \[dq]ap-southeast-1\[dq] 28720 .RS 2 28721 .IP \[bu] 2 28722 Southeast Asia Region 1 28723 .RE 28724 .IP \[bu] 2 28725 \[dq]ap-northeast-1\[dq] 28726 .RS 2 28727 .IP \[bu] 2 28728 Northeast Asia Region 1 28729 .RE 28730 .RE 28731 .SS --s3-location-constraint 28732 .PP 28733 Location constraint - must be set to match the Region. 28734 .PP 28735 Leave blank if not sure. 28736 Used when creating buckets only. 28737 .PP 28738 Properties: 28739 .IP \[bu] 2 28740 Config: location_constraint 28741 .IP \[bu] 2 28742 Env Var: RCLONE_S3_LOCATION_CONSTRAINT 28743 .IP \[bu] 2 28744 Provider: 28745 !AWS,Alibaba,ArvanCloud,HuaweiOBS,ChinaMobile,Cloudflare,IBMCOS,IDrive,IONOS,Liara,Qiniu,RackCorp,Scaleway,StackPath,Storj,TencentCOS,Petabox 28746 .IP \[bu] 2 28747 Type: string 28748 .IP \[bu] 2 28749 Required: false 28750 .SS --s3-acl 28751 .PP 28752 Canned ACL used when creating buckets and storing or copying objects. 28753 .PP 28754 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, 28755 for creating buckets too. 28756 .PP 28757 For more info visit 28758 https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 28759 .PP 28760 Note that this ACL is applied when server-side copying objects as S3 28761 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 28762 .PP 28763 If the acl is an empty string then no X-Amz-Acl: header is added and the 28764 default (private) will be used. 28765 .PP 28766 Properties: 28767 .IP \[bu] 2 28768 Config: acl 28769 .IP \[bu] 2 28770 Env Var: RCLONE_S3_ACL 28771 .IP \[bu] 2 28772 Provider: !Storj,Cloudflare 28773 .IP \[bu] 2 28774 Type: string 28775 .IP \[bu] 2 28776 Required: false 28777 .IP \[bu] 2 28778 Examples: 28779 .RS 2 28780 .IP \[bu] 2 28781 \[dq]default\[dq] 28782 .RS 2 28783 .IP \[bu] 2 28784 Owner gets Full_CONTROL. 28785 .IP \[bu] 2 28786 No one else has access rights (default). 28787 .RE 28788 .IP \[bu] 2 28789 \[dq]private\[dq] 28790 .RS 2 28791 .IP \[bu] 2 28792 Owner gets FULL_CONTROL. 28793 .IP \[bu] 2 28794 No one else has access rights (default). 28795 .RE 28796 .IP \[bu] 2 28797 \[dq]public-read\[dq] 28798 .RS 2 28799 .IP \[bu] 2 28800 Owner gets FULL_CONTROL. 28801 .IP \[bu] 2 28802 The AllUsers group gets READ access. 28803 .RE 28804 .IP \[bu] 2 28805 \[dq]public-read-write\[dq] 28806 .RS 2 28807 .IP \[bu] 2 28808 Owner gets FULL_CONTROL. 28809 .IP \[bu] 2 28810 The AllUsers group gets READ and WRITE access. 28811 .IP \[bu] 2 28812 Granting this on a bucket is generally not recommended. 28813 .RE 28814 .IP \[bu] 2 28815 \[dq]authenticated-read\[dq] 28816 .RS 2 28817 .IP \[bu] 2 28818 Owner gets FULL_CONTROL. 28819 .IP \[bu] 2 28820 The AuthenticatedUsers group gets READ access. 28821 .RE 28822 .IP \[bu] 2 28823 \[dq]bucket-owner-read\[dq] 28824 .RS 2 28825 .IP \[bu] 2 28826 Object owner gets FULL_CONTROL. 28827 .IP \[bu] 2 28828 Bucket owner gets READ access. 28829 .IP \[bu] 2 28830 If you specify this canned ACL when creating a bucket, Amazon S3 ignores 28831 it. 28832 .RE 28833 .IP \[bu] 2 28834 \[dq]bucket-owner-full-control\[dq] 28835 .RS 2 28836 .IP \[bu] 2 28837 Both the object owner and the bucket owner get FULL_CONTROL over the 28838 object. 28839 .IP \[bu] 2 28840 If you specify this canned ACL when creating a bucket, Amazon S3 ignores 28841 it. 28842 .RE 28843 .IP \[bu] 2 28844 \[dq]private\[dq] 28845 .RS 2 28846 .IP \[bu] 2 28847 Owner gets FULL_CONTROL. 28848 .IP \[bu] 2 28849 No one else has access rights (default). 28850 .IP \[bu] 2 28851 This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), 28852 On-Premise COS. 28853 .RE 28854 .IP \[bu] 2 28855 \[dq]public-read\[dq] 28856 .RS 2 28857 .IP \[bu] 2 28858 Owner gets FULL_CONTROL. 28859 .IP \[bu] 2 28860 The AllUsers group gets READ access. 28861 .IP \[bu] 2 28862 This acl is available on IBM Cloud (Infra), IBM Cloud (Storage), 28863 On-Premise IBM COS. 28864 .RE 28865 .IP \[bu] 2 28866 \[dq]public-read-write\[dq] 28867 .RS 2 28868 .IP \[bu] 2 28869 Owner gets FULL_CONTROL. 28870 .IP \[bu] 2 28871 The AllUsers group gets READ and WRITE access. 28872 .IP \[bu] 2 28873 This acl is available on IBM Cloud (Infra), On-Premise IBM COS. 28874 .RE 28875 .IP \[bu] 2 28876 \[dq]authenticated-read\[dq] 28877 .RS 2 28878 .IP \[bu] 2 28879 Owner gets FULL_CONTROL. 28880 .IP \[bu] 2 28881 The AuthenticatedUsers group gets READ access. 28882 .IP \[bu] 2 28883 Not supported on Buckets. 28884 .IP \[bu] 2 28885 This acl is available on IBM Cloud (Infra) and On-Premise IBM COS. 28886 .RE 28887 .RE 28888 .SS --s3-server-side-encryption 28889 .PP 28890 The server-side encryption algorithm used when storing this object in 28891 S3. 28892 .PP 28893 Properties: 28894 .IP \[bu] 2 28895 Config: server_side_encryption 28896 .IP \[bu] 2 28897 Env Var: RCLONE_S3_SERVER_SIDE_ENCRYPTION 28898 .IP \[bu] 2 28899 Provider: AWS,Ceph,ChinaMobile,Minio 28900 .IP \[bu] 2 28901 Type: string 28902 .IP \[bu] 2 28903 Required: false 28904 .IP \[bu] 2 28905 Examples: 28906 .RS 2 28907 .IP \[bu] 2 28908 \[dq]\[dq] 28909 .RS 2 28910 .IP \[bu] 2 28911 None 28912 .RE 28913 .IP \[bu] 2 28914 \[dq]AES256\[dq] 28915 .RS 2 28916 .IP \[bu] 2 28917 AES256 28918 .RE 28919 .IP \[bu] 2 28920 \[dq]aws:kms\[dq] 28921 .RS 2 28922 .IP \[bu] 2 28923 aws:kms 28924 .RE 28925 .RE 28926 .SS --s3-sse-kms-key-id 28927 .PP 28928 If using KMS ID you must provide the ARN of Key. 28929 .PP 28930 Properties: 28931 .IP \[bu] 2 28932 Config: sse_kms_key_id 28933 .IP \[bu] 2 28934 Env Var: RCLONE_S3_SSE_KMS_KEY_ID 28935 .IP \[bu] 2 28936 Provider: AWS,Ceph,Minio 28937 .IP \[bu] 2 28938 Type: string 28939 .IP \[bu] 2 28940 Required: false 28941 .IP \[bu] 2 28942 Examples: 28943 .RS 2 28944 .IP \[bu] 2 28945 \[dq]\[dq] 28946 .RS 2 28947 .IP \[bu] 2 28948 None 28949 .RE 28950 .IP \[bu] 2 28951 \[dq]arn:aws:kms:us-east-1:*\[dq] 28952 .RS 2 28953 .IP \[bu] 2 28954 arn:aws:kms:* 28955 .RE 28956 .RE 28957 .SS --s3-storage-class 28958 .PP 28959 The storage class to use when storing new objects in S3. 28960 .PP 28961 Properties: 28962 .IP \[bu] 2 28963 Config: storage_class 28964 .IP \[bu] 2 28965 Env Var: RCLONE_S3_STORAGE_CLASS 28966 .IP \[bu] 2 28967 Provider: AWS 28968 .IP \[bu] 2 28969 Type: string 28970 .IP \[bu] 2 28971 Required: false 28972 .IP \[bu] 2 28973 Examples: 28974 .RS 2 28975 .IP \[bu] 2 28976 \[dq]\[dq] 28977 .RS 2 28978 .IP \[bu] 2 28979 Default 28980 .RE 28981 .IP \[bu] 2 28982 \[dq]STANDARD\[dq] 28983 .RS 2 28984 .IP \[bu] 2 28985 Standard storage class 28986 .RE 28987 .IP \[bu] 2 28988 \[dq]REDUCED_REDUNDANCY\[dq] 28989 .RS 2 28990 .IP \[bu] 2 28991 Reduced redundancy storage class 28992 .RE 28993 .IP \[bu] 2 28994 \[dq]STANDARD_IA\[dq] 28995 .RS 2 28996 .IP \[bu] 2 28997 Standard Infrequent Access storage class 28998 .RE 28999 .IP \[bu] 2 29000 \[dq]ONEZONE_IA\[dq] 29001 .RS 2 29002 .IP \[bu] 2 29003 One Zone Infrequent Access storage class 29004 .RE 29005 .IP \[bu] 2 29006 \[dq]GLACIER\[dq] 29007 .RS 2 29008 .IP \[bu] 2 29009 Glacier storage class 29010 .RE 29011 .IP \[bu] 2 29012 \[dq]DEEP_ARCHIVE\[dq] 29013 .RS 2 29014 .IP \[bu] 2 29015 Glacier Deep Archive storage class 29016 .RE 29017 .IP \[bu] 2 29018 \[dq]INTELLIGENT_TIERING\[dq] 29019 .RS 2 29020 .IP \[bu] 2 29021 Intelligent-Tiering storage class 29022 .RE 29023 .IP \[bu] 2 29024 \[dq]GLACIER_IR\[dq] 29025 .RS 2 29026 .IP \[bu] 2 29027 Glacier Instant Retrieval storage class 29028 .RE 29029 .RE 29030 .SS --s3-storage-class 29031 .PP 29032 The storage class to use when storing new objects in OSS. 29033 .PP 29034 Properties: 29035 .IP \[bu] 2 29036 Config: storage_class 29037 .IP \[bu] 2 29038 Env Var: RCLONE_S3_STORAGE_CLASS 29039 .IP \[bu] 2 29040 Provider: Alibaba 29041 .IP \[bu] 2 29042 Type: string 29043 .IP \[bu] 2 29044 Required: false 29045 .IP \[bu] 2 29046 Examples: 29047 .RS 2 29048 .IP \[bu] 2 29049 \[dq]\[dq] 29050 .RS 2 29051 .IP \[bu] 2 29052 Default 29053 .RE 29054 .IP \[bu] 2 29055 \[dq]STANDARD\[dq] 29056 .RS 2 29057 .IP \[bu] 2 29058 Standard storage class 29059 .RE 29060 .IP \[bu] 2 29061 \[dq]GLACIER\[dq] 29062 .RS 2 29063 .IP \[bu] 2 29064 Archive storage mode 29065 .RE 29066 .IP \[bu] 2 29067 \[dq]STANDARD_IA\[dq] 29068 .RS 2 29069 .IP \[bu] 2 29070 Infrequent access storage mode 29071 .RE 29072 .RE 29073 .SS --s3-storage-class 29074 .PP 29075 The storage class to use when storing new objects in ChinaMobile. 29076 .PP 29077 Properties: 29078 .IP \[bu] 2 29079 Config: storage_class 29080 .IP \[bu] 2 29081 Env Var: RCLONE_S3_STORAGE_CLASS 29082 .IP \[bu] 2 29083 Provider: ChinaMobile 29084 .IP \[bu] 2 29085 Type: string 29086 .IP \[bu] 2 29087 Required: false 29088 .IP \[bu] 2 29089 Examples: 29090 .RS 2 29091 .IP \[bu] 2 29092 \[dq]\[dq] 29093 .RS 2 29094 .IP \[bu] 2 29095 Default 29096 .RE 29097 .IP \[bu] 2 29098 \[dq]STANDARD\[dq] 29099 .RS 2 29100 .IP \[bu] 2 29101 Standard storage class 29102 .RE 29103 .IP \[bu] 2 29104 \[dq]GLACIER\[dq] 29105 .RS 2 29106 .IP \[bu] 2 29107 Archive storage mode 29108 .RE 29109 .IP \[bu] 2 29110 \[dq]STANDARD_IA\[dq] 29111 .RS 2 29112 .IP \[bu] 2 29113 Infrequent access storage mode 29114 .RE 29115 .RE 29116 .SS --s3-storage-class 29117 .PP 29118 The storage class to use when storing new objects in Liara 29119 .PP 29120 Properties: 29121 .IP \[bu] 2 29122 Config: storage_class 29123 .IP \[bu] 2 29124 Env Var: RCLONE_S3_STORAGE_CLASS 29125 .IP \[bu] 2 29126 Provider: Liara 29127 .IP \[bu] 2 29128 Type: string 29129 .IP \[bu] 2 29130 Required: false 29131 .IP \[bu] 2 29132 Examples: 29133 .RS 2 29134 .IP \[bu] 2 29135 \[dq]STANDARD\[dq] 29136 .RS 2 29137 .IP \[bu] 2 29138 Standard storage class 29139 .RE 29140 .RE 29141 .SS --s3-storage-class 29142 .PP 29143 The storage class to use when storing new objects in ArvanCloud. 29144 .PP 29145 Properties: 29146 .IP \[bu] 2 29147 Config: storage_class 29148 .IP \[bu] 2 29149 Env Var: RCLONE_S3_STORAGE_CLASS 29150 .IP \[bu] 2 29151 Provider: ArvanCloud 29152 .IP \[bu] 2 29153 Type: string 29154 .IP \[bu] 2 29155 Required: false 29156 .IP \[bu] 2 29157 Examples: 29158 .RS 2 29159 .IP \[bu] 2 29160 \[dq]STANDARD\[dq] 29161 .RS 2 29162 .IP \[bu] 2 29163 Standard storage class 29164 .RE 29165 .RE 29166 .SS --s3-storage-class 29167 .PP 29168 The storage class to use when storing new objects in Tencent COS. 29169 .PP 29170 Properties: 29171 .IP \[bu] 2 29172 Config: storage_class 29173 .IP \[bu] 2 29174 Env Var: RCLONE_S3_STORAGE_CLASS 29175 .IP \[bu] 2 29176 Provider: TencentCOS 29177 .IP \[bu] 2 29178 Type: string 29179 .IP \[bu] 2 29180 Required: false 29181 .IP \[bu] 2 29182 Examples: 29183 .RS 2 29184 .IP \[bu] 2 29185 \[dq]\[dq] 29186 .RS 2 29187 .IP \[bu] 2 29188 Default 29189 .RE 29190 .IP \[bu] 2 29191 \[dq]STANDARD\[dq] 29192 .RS 2 29193 .IP \[bu] 2 29194 Standard storage class 29195 .RE 29196 .IP \[bu] 2 29197 \[dq]ARCHIVE\[dq] 29198 .RS 2 29199 .IP \[bu] 2 29200 Archive storage mode 29201 .RE 29202 .IP \[bu] 2 29203 \[dq]STANDARD_IA\[dq] 29204 .RS 2 29205 .IP \[bu] 2 29206 Infrequent access storage mode 29207 .RE 29208 .RE 29209 .SS --s3-storage-class 29210 .PP 29211 The storage class to use when storing new objects in S3. 29212 .PP 29213 Properties: 29214 .IP \[bu] 2 29215 Config: storage_class 29216 .IP \[bu] 2 29217 Env Var: RCLONE_S3_STORAGE_CLASS 29218 .IP \[bu] 2 29219 Provider: Scaleway 29220 .IP \[bu] 2 29221 Type: string 29222 .IP \[bu] 2 29223 Required: false 29224 .IP \[bu] 2 29225 Examples: 29226 .RS 2 29227 .IP \[bu] 2 29228 \[dq]\[dq] 29229 .RS 2 29230 .IP \[bu] 2 29231 Default. 29232 .RE 29233 .IP \[bu] 2 29234 \[dq]STANDARD\[dq] 29235 .RS 2 29236 .IP \[bu] 2 29237 The Standard class for any upload. 29238 .IP \[bu] 2 29239 Suitable for on-demand content like streaming or CDN. 29240 .IP \[bu] 2 29241 Available in all regions. 29242 .RE 29243 .IP \[bu] 2 29244 \[dq]GLACIER\[dq] 29245 .RS 2 29246 .IP \[bu] 2 29247 Archived storage. 29248 .IP \[bu] 2 29249 Prices are lower, but it needs to be restored first to be accessed. 29250 .IP \[bu] 2 29251 Available in FR-PAR and NL-AMS regions. 29252 .RE 29253 .IP \[bu] 2 29254 \[dq]ONEZONE_IA\[dq] 29255 .RS 2 29256 .IP \[bu] 2 29257 One Zone - Infrequent Access. 29258 .IP \[bu] 2 29259 A good choice for storing secondary backup copies or easily re-creatable 29260 data. 29261 .IP \[bu] 2 29262 Available in the FR-PAR region only. 29263 .RE 29264 .RE 29265 .SS --s3-storage-class 29266 .PP 29267 The storage class to use when storing new objects in Qiniu. 29268 .PP 29269 Properties: 29270 .IP \[bu] 2 29271 Config: storage_class 29272 .IP \[bu] 2 29273 Env Var: RCLONE_S3_STORAGE_CLASS 29274 .IP \[bu] 2 29275 Provider: Qiniu 29276 .IP \[bu] 2 29277 Type: string 29278 .IP \[bu] 2 29279 Required: false 29280 .IP \[bu] 2 29281 Examples: 29282 .RS 2 29283 .IP \[bu] 2 29284 \[dq]STANDARD\[dq] 29285 .RS 2 29286 .IP \[bu] 2 29287 Standard storage class 29288 .RE 29289 .IP \[bu] 2 29290 \[dq]LINE\[dq] 29291 .RS 2 29292 .IP \[bu] 2 29293 Infrequent access storage mode 29294 .RE 29295 .IP \[bu] 2 29296 \[dq]GLACIER\[dq] 29297 .RS 2 29298 .IP \[bu] 2 29299 Archive storage mode 29300 .RE 29301 .IP \[bu] 2 29302 \[dq]DEEP_ARCHIVE\[dq] 29303 .RS 2 29304 .IP \[bu] 2 29305 Deep archive storage mode 29306 .RE 29307 .RE 29308 .SS Advanced options 29309 .PP 29310 Here are the Advanced options specific to s3 (Amazon S3 Compliant 29311 Storage Providers including AWS, Alibaba, ArvanCloud, Ceph, China 29312 Mobile, Cloudflare, GCS, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, 29313 IDrive e2, IONOS Cloud, Liara, Lyve Cloud, Minio, Netease, Petabox, 29314 RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and 29315 Wasabi). 29316 .SS --s3-bucket-acl 29317 .PP 29318 Canned ACL used when creating buckets. 29319 .PP 29320 For more info visit 29321 https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 29322 .PP 29323 Note that this ACL is applied when only when creating buckets. 29324 If it isn\[aq]t set then \[dq]acl\[dq] is used instead. 29325 .PP 29326 If the \[dq]acl\[dq] and \[dq]bucket_acl\[dq] are empty strings then no 29327 X-Amz-Acl: header is added and the default (private) will be used. 29328 .PP 29329 Properties: 29330 .IP \[bu] 2 29331 Config: bucket_acl 29332 .IP \[bu] 2 29333 Env Var: RCLONE_S3_BUCKET_ACL 29334 .IP \[bu] 2 29335 Type: string 29336 .IP \[bu] 2 29337 Required: false 29338 .IP \[bu] 2 29339 Examples: 29340 .RS 2 29341 .IP \[bu] 2 29342 \[dq]private\[dq] 29343 .RS 2 29344 .IP \[bu] 2 29345 Owner gets FULL_CONTROL. 29346 .IP \[bu] 2 29347 No one else has access rights (default). 29348 .RE 29349 .IP \[bu] 2 29350 \[dq]public-read\[dq] 29351 .RS 2 29352 .IP \[bu] 2 29353 Owner gets FULL_CONTROL. 29354 .IP \[bu] 2 29355 The AllUsers group gets READ access. 29356 .RE 29357 .IP \[bu] 2 29358 \[dq]public-read-write\[dq] 29359 .RS 2 29360 .IP \[bu] 2 29361 Owner gets FULL_CONTROL. 29362 .IP \[bu] 2 29363 The AllUsers group gets READ and WRITE access. 29364 .IP \[bu] 2 29365 Granting this on a bucket is generally not recommended. 29366 .RE 29367 .IP \[bu] 2 29368 \[dq]authenticated-read\[dq] 29369 .RS 2 29370 .IP \[bu] 2 29371 Owner gets FULL_CONTROL. 29372 .IP \[bu] 2 29373 The AuthenticatedUsers group gets READ access. 29374 .RE 29375 .RE 29376 .SS --s3-requester-pays 29377 .PP 29378 Enables requester pays option when interacting with S3 bucket. 29379 .PP 29380 Properties: 29381 .IP \[bu] 2 29382 Config: requester_pays 29383 .IP \[bu] 2 29384 Env Var: RCLONE_S3_REQUESTER_PAYS 29385 .IP \[bu] 2 29386 Provider: AWS 29387 .IP \[bu] 2 29388 Type: bool 29389 .IP \[bu] 2 29390 Default: false 29391 .SS --s3-sse-customer-algorithm 29392 .PP 29393 If using SSE-C, the server-side encryption algorithm used when storing 29394 this object in S3. 29395 .PP 29396 Properties: 29397 .IP \[bu] 2 29398 Config: sse_customer_algorithm 29399 .IP \[bu] 2 29400 Env Var: RCLONE_S3_SSE_CUSTOMER_ALGORITHM 29401 .IP \[bu] 2 29402 Provider: AWS,Ceph,ChinaMobile,Minio 29403 .IP \[bu] 2 29404 Type: string 29405 .IP \[bu] 2 29406 Required: false 29407 .IP \[bu] 2 29408 Examples: 29409 .RS 2 29410 .IP \[bu] 2 29411 \[dq]\[dq] 29412 .RS 2 29413 .IP \[bu] 2 29414 None 29415 .RE 29416 .IP \[bu] 2 29417 \[dq]AES256\[dq] 29418 .RS 2 29419 .IP \[bu] 2 29420 AES256 29421 .RE 29422 .RE 29423 .SS --s3-sse-customer-key 29424 .PP 29425 To use SSE-C you may provide the secret encryption key used to 29426 encrypt/decrypt your data. 29427 .PP 29428 Alternatively you can provide --sse-customer-key-base64. 29429 .PP 29430 Properties: 29431 .IP \[bu] 2 29432 Config: sse_customer_key 29433 .IP \[bu] 2 29434 Env Var: RCLONE_S3_SSE_CUSTOMER_KEY 29435 .IP \[bu] 2 29436 Provider: AWS,Ceph,ChinaMobile,Minio 29437 .IP \[bu] 2 29438 Type: string 29439 .IP \[bu] 2 29440 Required: false 29441 .IP \[bu] 2 29442 Examples: 29443 .RS 2 29444 .IP \[bu] 2 29445 \[dq]\[dq] 29446 .RS 2 29447 .IP \[bu] 2 29448 None 29449 .RE 29450 .RE 29451 .SS --s3-sse-customer-key-base64 29452 .PP 29453 If using SSE-C you must provide the secret encryption key encoded in 29454 base64 format to encrypt/decrypt your data. 29455 .PP 29456 Alternatively you can provide --sse-customer-key. 29457 .PP 29458 Properties: 29459 .IP \[bu] 2 29460 Config: sse_customer_key_base64 29461 .IP \[bu] 2 29462 Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_BASE64 29463 .IP \[bu] 2 29464 Provider: AWS,Ceph,ChinaMobile,Minio 29465 .IP \[bu] 2 29466 Type: string 29467 .IP \[bu] 2 29468 Required: false 29469 .IP \[bu] 2 29470 Examples: 29471 .RS 2 29472 .IP \[bu] 2 29473 \[dq]\[dq] 29474 .RS 2 29475 .IP \[bu] 2 29476 None 29477 .RE 29478 .RE 29479 .SS --s3-sse-customer-key-md5 29480 .PP 29481 If using SSE-C you may provide the secret encryption key MD5 checksum 29482 (optional). 29483 .PP 29484 If you leave it blank, this is calculated automatically from the 29485 sse_customer_key provided. 29486 .PP 29487 Properties: 29488 .IP \[bu] 2 29489 Config: sse_customer_key_md5 29490 .IP \[bu] 2 29491 Env Var: RCLONE_S3_SSE_CUSTOMER_KEY_MD5 29492 .IP \[bu] 2 29493 Provider: AWS,Ceph,ChinaMobile,Minio 29494 .IP \[bu] 2 29495 Type: string 29496 .IP \[bu] 2 29497 Required: false 29498 .IP \[bu] 2 29499 Examples: 29500 .RS 2 29501 .IP \[bu] 2 29502 \[dq]\[dq] 29503 .RS 2 29504 .IP \[bu] 2 29505 None 29506 .RE 29507 .RE 29508 .SS --s3-upload-cutoff 29509 .PP 29510 Cutoff for switching to chunked upload. 29511 .PP 29512 Any files larger than this will be uploaded in chunks of chunk_size. 29513 The minimum is 0 and the maximum is 5 GiB. 29514 .PP 29515 Properties: 29516 .IP \[bu] 2 29517 Config: upload_cutoff 29518 .IP \[bu] 2 29519 Env Var: RCLONE_S3_UPLOAD_CUTOFF 29520 .IP \[bu] 2 29521 Type: SizeSuffix 29522 .IP \[bu] 2 29523 Default: 200Mi 29524 .SS --s3-chunk-size 29525 .PP 29526 Chunk size to use for uploading. 29527 .PP 29528 When uploading files larger than upload_cutoff or files with unknown 29529 size (e.g. 29530 from \[dq]rclone rcat\[dq] or uploaded with \[dq]rclone mount\[dq] or 29531 google photos or google docs) they will be uploaded as multipart uploads 29532 using this chunk size. 29533 .PP 29534 Note that \[dq]--s3-upload-concurrency\[dq] chunks of this size are 29535 buffered in memory per transfer. 29536 .PP 29537 If you are transferring large files over high-speed links and you have 29538 enough memory, then increasing this will speed up the transfers. 29539 .PP 29540 Rclone will automatically increase the chunk size when uploading a large 29541 file of known size to stay below the 10,000 chunks limit. 29542 .PP 29543 Files of unknown size are uploaded with the configured chunk_size. 29544 Since the default chunk size is 5 MiB and there can be at most 10,000 29545 chunks, this means that by default the maximum size of a file you can 29546 stream upload is 48 GiB. 29547 If you wish to stream upload larger files then you will need to increase 29548 chunk_size. 29549 .PP 29550 Increasing the chunk size decreases the accuracy of the progress 29551 statistics displayed with \[dq]-P\[dq] flag. 29552 Rclone treats chunk as sent when it\[aq]s buffered by the AWS SDK, when 29553 in fact it may still be uploading. 29554 A bigger chunk size means a bigger AWS SDK buffer and progress reporting 29555 more deviating from the truth. 29556 .PP 29557 Properties: 29558 .IP \[bu] 2 29559 Config: chunk_size 29560 .IP \[bu] 2 29561 Env Var: RCLONE_S3_CHUNK_SIZE 29562 .IP \[bu] 2 29563 Type: SizeSuffix 29564 .IP \[bu] 2 29565 Default: 5Mi 29566 .SS --s3-max-upload-parts 29567 .PP 29568 Maximum number of parts in a multipart upload. 29569 .PP 29570 This option defines the maximum number of multipart chunks to use when 29571 doing a multipart upload. 29572 .PP 29573 This can be useful if a service does not support the AWS S3 29574 specification of 10,000 chunks. 29575 .PP 29576 Rclone will automatically increase the chunk size when uploading a large 29577 file of a known size to stay below this number of chunks limit. 29578 .PP 29579 Properties: 29580 .IP \[bu] 2 29581 Config: max_upload_parts 29582 .IP \[bu] 2 29583 Env Var: RCLONE_S3_MAX_UPLOAD_PARTS 29584 .IP \[bu] 2 29585 Type: int 29586 .IP \[bu] 2 29587 Default: 10000 29588 .SS --s3-copy-cutoff 29589 .PP 29590 Cutoff for switching to multipart copy. 29591 .PP 29592 Any files larger than this that need to be server-side copied will be 29593 copied in chunks of this size. 29594 .PP 29595 The minimum is 0 and the maximum is 5 GiB. 29596 .PP 29597 Properties: 29598 .IP \[bu] 2 29599 Config: copy_cutoff 29600 .IP \[bu] 2 29601 Env Var: RCLONE_S3_COPY_CUTOFF 29602 .IP \[bu] 2 29603 Type: SizeSuffix 29604 .IP \[bu] 2 29605 Default: 4.656Gi 29606 .SS --s3-disable-checksum 29607 .PP 29608 Don\[aq]t store MD5 checksum with object metadata. 29609 .PP 29610 Normally rclone will calculate the MD5 checksum of the input before 29611 uploading it so it can add it to metadata on the object. 29612 This is great for data integrity checking but can cause long delays for 29613 large files to start uploading. 29614 .PP 29615 Properties: 29616 .IP \[bu] 2 29617 Config: disable_checksum 29618 .IP \[bu] 2 29619 Env Var: RCLONE_S3_DISABLE_CHECKSUM 29620 .IP \[bu] 2 29621 Type: bool 29622 .IP \[bu] 2 29623 Default: false 29624 .SS --s3-shared-credentials-file 29625 .PP 29626 Path to the shared credentials file. 29627 .PP 29628 If env_auth = true then rclone can use a shared credentials file. 29629 .PP 29630 If this variable is empty rclone will look for the 29631 \[dq]AWS_SHARED_CREDENTIALS_FILE\[dq] env variable. 29632 If the env value is empty it will default to the current user\[aq]s home 29633 directory. 29634 .IP 29635 .nf 29636 \f[C] 29637 Linux/OSX: \[dq]$HOME/.aws/credentials\[dq] 29638 Windows: \[dq]%USERPROFILE%\[rs].aws\[rs]credentials\[dq] 29639 \f[R] 29640 .fi 29641 .PP 29642 Properties: 29643 .IP \[bu] 2 29644 Config: shared_credentials_file 29645 .IP \[bu] 2 29646 Env Var: RCLONE_S3_SHARED_CREDENTIALS_FILE 29647 .IP \[bu] 2 29648 Type: string 29649 .IP \[bu] 2 29650 Required: false 29651 .SS --s3-profile 29652 .PP 29653 Profile to use in the shared credentials file. 29654 .PP 29655 If env_auth = true then rclone can use a shared credentials file. 29656 This variable controls which profile is used in that file. 29657 .PP 29658 If empty it will default to the environment variable 29659 \[dq]AWS_PROFILE\[dq] or \[dq]default\[dq] if that environment variable 29660 is also not set. 29661 .PP 29662 Properties: 29663 .IP \[bu] 2 29664 Config: profile 29665 .IP \[bu] 2 29666 Env Var: RCLONE_S3_PROFILE 29667 .IP \[bu] 2 29668 Type: string 29669 .IP \[bu] 2 29670 Required: false 29671 .SS --s3-session-token 29672 .PP 29673 An AWS session token. 29674 .PP 29675 Properties: 29676 .IP \[bu] 2 29677 Config: session_token 29678 .IP \[bu] 2 29679 Env Var: RCLONE_S3_SESSION_TOKEN 29680 .IP \[bu] 2 29681 Type: string 29682 .IP \[bu] 2 29683 Required: false 29684 .SS --s3-upload-concurrency 29685 .PP 29686 Concurrency for multipart uploads. 29687 .PP 29688 This is the number of chunks of the same file that are uploaded 29689 concurrently. 29690 .PP 29691 If you are uploading small numbers of large files over high-speed links 29692 and these uploads do not fully utilize your bandwidth, then increasing 29693 this may help to speed up the transfers. 29694 .PP 29695 Properties: 29696 .IP \[bu] 2 29697 Config: upload_concurrency 29698 .IP \[bu] 2 29699 Env Var: RCLONE_S3_UPLOAD_CONCURRENCY 29700 .IP \[bu] 2 29701 Type: int 29702 .IP \[bu] 2 29703 Default: 4 29704 .SS --s3-force-path-style 29705 .PP 29706 If true use path style access if false use virtual hosted style. 29707 .PP 29708 If this is true (the default) then rclone will use path style access, if 29709 false then rclone will use virtual path style. 29710 See the AWS S3 29711 docs (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro) 29712 for more info. 29713 .PP 29714 Some providers (e.g. 29715 AWS, Aliyun OSS, Netease COS, or Tencent COS) require this set to false 29716 - rclone will do this automatically based on the provider setting. 29717 .PP 29718 Properties: 29719 .IP \[bu] 2 29720 Config: force_path_style 29721 .IP \[bu] 2 29722 Env Var: RCLONE_S3_FORCE_PATH_STYLE 29723 .IP \[bu] 2 29724 Type: bool 29725 .IP \[bu] 2 29726 Default: true 29727 .SS --s3-v2-auth 29728 .PP 29729 If true use v2 authentication. 29730 .PP 29731 If this is false (the default) then rclone will use v4 authentication. 29732 If it is set then rclone will use v2 authentication. 29733 .PP 29734 Use this only if v4 signatures don\[aq]t work, e.g. 29735 pre Jewel/v10 CEPH. 29736 .PP 29737 Properties: 29738 .IP \[bu] 2 29739 Config: v2_auth 29740 .IP \[bu] 2 29741 Env Var: RCLONE_S3_V2_AUTH 29742 .IP \[bu] 2 29743 Type: bool 29744 .IP \[bu] 2 29745 Default: false 29746 .SS --s3-use-accelerate-endpoint 29747 .PP 29748 If true use the AWS S3 accelerated endpoint. 29749 .PP 29750 See: AWS S3 Transfer 29751 acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration-examples.html) 29752 .PP 29753 Properties: 29754 .IP \[bu] 2 29755 Config: use_accelerate_endpoint 29756 .IP \[bu] 2 29757 Env Var: RCLONE_S3_USE_ACCELERATE_ENDPOINT 29758 .IP \[bu] 2 29759 Provider: AWS 29760 .IP \[bu] 2 29761 Type: bool 29762 .IP \[bu] 2 29763 Default: false 29764 .SS --s3-leave-parts-on-error 29765 .PP 29766 If true avoid calling abort upload on a failure, leaving all 29767 successfully uploaded parts on S3 for manual recovery. 29768 .PP 29769 It should be set to true for resuming uploads across different sessions. 29770 .PP 29771 WARNING: Storing parts of an incomplete multipart upload counts towards 29772 space usage on S3 and will add additional costs if not cleaned up. 29773 .PP 29774 Properties: 29775 .IP \[bu] 2 29776 Config: leave_parts_on_error 29777 .IP \[bu] 2 29778 Env Var: RCLONE_S3_LEAVE_PARTS_ON_ERROR 29779 .IP \[bu] 2 29780 Provider: AWS 29781 .IP \[bu] 2 29782 Type: bool 29783 .IP \[bu] 2 29784 Default: false 29785 .SS --s3-list-chunk 29786 .PP 29787 Size of listing chunk (response list for each ListObject S3 request). 29788 .PP 29789 This option is also known as \[dq]MaxKeys\[dq], \[dq]max-items\[dq], or 29790 \[dq]page-size\[dq] from the AWS S3 specification. 29791 Most services truncate the response list to 1000 objects even if 29792 requested more than that. 29793 In AWS S3 this is a global maximum and cannot be changed, see AWS 29794 S3 (https://docs.aws.amazon.com/cli/latest/reference/s3/ls.html). 29795 In Ceph, this can be increased with the \[dq]rgw list buckets max 29796 chunk\[dq] option. 29797 .PP 29798 Properties: 29799 .IP \[bu] 2 29800 Config: list_chunk 29801 .IP \[bu] 2 29802 Env Var: RCLONE_S3_LIST_CHUNK 29803 .IP \[bu] 2 29804 Type: int 29805 .IP \[bu] 2 29806 Default: 1000 29807 .SS --s3-list-version 29808 .PP 29809 Version of ListObjects to use: 1,2 or 0 for auto. 29810 .PP 29811 When S3 originally launched it only provided the ListObjects call to 29812 enumerate objects in a bucket. 29813 .PP 29814 However in May 2016 the ListObjectsV2 call was introduced. 29815 This is much higher performance and should be used if at all possible. 29816 .PP 29817 If set to the default, 0, rclone will guess according to the provider 29818 set which list objects method to call. 29819 If it guesses wrong, then it may be set manually here. 29820 .PP 29821 Properties: 29822 .IP \[bu] 2 29823 Config: list_version 29824 .IP \[bu] 2 29825 Env Var: RCLONE_S3_LIST_VERSION 29826 .IP \[bu] 2 29827 Type: int 29828 .IP \[bu] 2 29829 Default: 0 29830 .SS --s3-list-url-encode 29831 .PP 29832 Whether to url encode listings: true/false/unset 29833 .PP 29834 Some providers support URL encoding listings and where this is available 29835 this is more reliable when using control characters in file names. 29836 If this is set to unset (the default) then rclone will choose according 29837 to the provider setting what to apply, but you can override rclone\[aq]s 29838 choice here. 29839 .PP 29840 Properties: 29841 .IP \[bu] 2 29842 Config: list_url_encode 29843 .IP \[bu] 2 29844 Env Var: RCLONE_S3_LIST_URL_ENCODE 29845 .IP \[bu] 2 29846 Type: Tristate 29847 .IP \[bu] 2 29848 Default: unset 29849 .SS --s3-no-check-bucket 29850 .PP 29851 If set, don\[aq]t attempt to check the bucket exists or create it. 29852 .PP 29853 This can be useful when trying to minimise the number of transactions 29854 rclone does if you know the bucket exists already. 29855 .PP 29856 It can also be needed if the user you are using does not have bucket 29857 creation permissions. 29858 Before v1.52.0 this would have passed silently due to a bug. 29859 .PP 29860 Properties: 29861 .IP \[bu] 2 29862 Config: no_check_bucket 29863 .IP \[bu] 2 29864 Env Var: RCLONE_S3_NO_CHECK_BUCKET 29865 .IP \[bu] 2 29866 Type: bool 29867 .IP \[bu] 2 29868 Default: false 29869 .SS --s3-no-head 29870 .PP 29871 If set, don\[aq]t HEAD uploaded objects to check integrity. 29872 .PP 29873 This can be useful when trying to minimise the number of transactions 29874 rclone does. 29875 .PP 29876 Setting it means that if rclone receives a 200 OK message after 29877 uploading an object with PUT then it will assume that it got uploaded 29878 properly. 29879 .PP 29880 In particular it will assume: 29881 .IP \[bu] 2 29882 the metadata, including modtime, storage class and content type was as 29883 uploaded 29884 .IP \[bu] 2 29885 the size was as uploaded 29886 .PP 29887 It reads the following items from the response for a single part PUT: 29888 .IP \[bu] 2 29889 the MD5SUM 29890 .IP \[bu] 2 29891 The uploaded date 29892 .PP 29893 For multipart uploads these items aren\[aq]t read. 29894 .PP 29895 If an source object of unknown length is uploaded then rclone 29896 \f[B]will\f[R] do a HEAD request. 29897 .PP 29898 Setting this flag increases the chance for undetected upload failures, 29899 in particular an incorrect size, so it isn\[aq]t recommended for normal 29900 operation. 29901 In practice the chance of an undetected upload failure is very small 29902 even with this flag. 29903 .PP 29904 Properties: 29905 .IP \[bu] 2 29906 Config: no_head 29907 .IP \[bu] 2 29908 Env Var: RCLONE_S3_NO_HEAD 29909 .IP \[bu] 2 29910 Type: bool 29911 .IP \[bu] 2 29912 Default: false 29913 .SS --s3-no-head-object 29914 .PP 29915 If set, do not do HEAD before GET when getting objects. 29916 .PP 29917 Properties: 29918 .IP \[bu] 2 29919 Config: no_head_object 29920 .IP \[bu] 2 29921 Env Var: RCLONE_S3_NO_HEAD_OBJECT 29922 .IP \[bu] 2 29923 Type: bool 29924 .IP \[bu] 2 29925 Default: false 29926 .SS --s3-encoding 29927 .PP 29928 The encoding for the backend. 29929 .PP 29930 See the encoding section in the 29931 overview (https://rclone.org/overview/#encoding) for more info. 29932 .PP 29933 Properties: 29934 .IP \[bu] 2 29935 Config: encoding 29936 .IP \[bu] 2 29937 Env Var: RCLONE_S3_ENCODING 29938 .IP \[bu] 2 29939 Type: MultiEncoder 29940 .IP \[bu] 2 29941 Default: Slash,InvalidUtf8,Dot 29942 .SS --s3-memory-pool-flush-time 29943 .PP 29944 How often internal memory buffer pools will be flushed. 29945 .PP 29946 Uploads which requires additional buffers (f.e multipart) will use 29947 memory pool for allocations. 29948 This option controls how often unused buffers will be removed from the 29949 pool. 29950 .PP 29951 Properties: 29952 .IP \[bu] 2 29953 Config: memory_pool_flush_time 29954 .IP \[bu] 2 29955 Env Var: RCLONE_S3_MEMORY_POOL_FLUSH_TIME 29956 .IP \[bu] 2 29957 Type: Duration 29958 .IP \[bu] 2 29959 Default: 1m0s 29960 .SS --s3-memory-pool-use-mmap 29961 .PP 29962 Whether to use mmap buffers in internal memory pool. 29963 .PP 29964 Properties: 29965 .IP \[bu] 2 29966 Config: memory_pool_use_mmap 29967 .IP \[bu] 2 29968 Env Var: RCLONE_S3_MEMORY_POOL_USE_MMAP 29969 .IP \[bu] 2 29970 Type: bool 29971 .IP \[bu] 2 29972 Default: false 29973 .SS --s3-disable-http2 29974 .PP 29975 Disable usage of http2 for S3 backends. 29976 .PP 29977 There is currently an unsolved issue with the s3 (specifically minio) 29978 backend and HTTP/2. 29979 HTTP/2 is enabled by default for the s3 backend but can be disabled 29980 here. 29981 When the issue is solved this flag will be removed. 29982 .PP 29983 See: https://github.com/divyam234/rclone/issues/4673, 29984 https://github.com/divyam234/rclone/issues/3631 29985 .PP 29986 Properties: 29987 .IP \[bu] 2 29988 Config: disable_http2 29989 .IP \[bu] 2 29990 Env Var: RCLONE_S3_DISABLE_HTTP2 29991 .IP \[bu] 2 29992 Type: bool 29993 .IP \[bu] 2 29994 Default: false 29995 .SS --s3-download-url 29996 .PP 29997 Custom endpoint for downloads. 29998 This is usually set to a CloudFront CDN URL as AWS S3 offers cheaper 29999 egress for data downloaded through the CloudFront network. 30000 .PP 30001 Properties: 30002 .IP \[bu] 2 30003 Config: download_url 30004 .IP \[bu] 2 30005 Env Var: RCLONE_S3_DOWNLOAD_URL 30006 .IP \[bu] 2 30007 Type: string 30008 .IP \[bu] 2 30009 Required: false 30010 .SS --s3-directory-markers 30011 .PP 30012 Upload an empty object with a trailing slash when a new directory is 30013 created 30014 .PP 30015 Empty folders are unsupported for bucket based remotes, this option 30016 creates an empty object ending with \[dq]/\[dq], to persist the folder. 30017 .PP 30018 Properties: 30019 .IP \[bu] 2 30020 Config: directory_markers 30021 .IP \[bu] 2 30022 Env Var: RCLONE_S3_DIRECTORY_MARKERS 30023 .IP \[bu] 2 30024 Type: bool 30025 .IP \[bu] 2 30026 Default: false 30027 .SS --s3-use-multipart-etag 30028 .PP 30029 Whether to use ETag in multipart uploads for verification 30030 .PP 30031 This should be true, false or left unset to use the default for the 30032 provider. 30033 .PP 30034 Properties: 30035 .IP \[bu] 2 30036 Config: use_multipart_etag 30037 .IP \[bu] 2 30038 Env Var: RCLONE_S3_USE_MULTIPART_ETAG 30039 .IP \[bu] 2 30040 Type: Tristate 30041 .IP \[bu] 2 30042 Default: unset 30043 .SS --s3-use-presigned-request 30044 .PP 30045 Whether to use a presigned request or PutObject for single part uploads 30046 .PP 30047 If this is false rclone will use PutObject from the AWS SDK to upload an 30048 object. 30049 .PP 30050 Versions of rclone < 1.59 use presigned requests to upload a single part 30051 object and setting this flag to true will re-enable that functionality. 30052 This shouldn\[aq]t be necessary except in exceptional circumstances or 30053 for testing. 30054 .PP 30055 Properties: 30056 .IP \[bu] 2 30057 Config: use_presigned_request 30058 .IP \[bu] 2 30059 Env Var: RCLONE_S3_USE_PRESIGNED_REQUEST 30060 .IP \[bu] 2 30061 Type: bool 30062 .IP \[bu] 2 30063 Default: false 30064 .SS --s3-versions 30065 .PP 30066 Include old versions in directory listings. 30067 .PP 30068 Properties: 30069 .IP \[bu] 2 30070 Config: versions 30071 .IP \[bu] 2 30072 Env Var: RCLONE_S3_VERSIONS 30073 .IP \[bu] 2 30074 Type: bool 30075 .IP \[bu] 2 30076 Default: false 30077 .SS --s3-version-at 30078 .PP 30079 Show file versions as they were at the specified time. 30080 .PP 30081 The parameter should be a date, \[dq]2006-01-02\[dq], datetime 30082 \[dq]2006-01-02 15:04:05\[dq] or a duration for that long ago, eg 30083 \[dq]100d\[dq] or \[dq]1h\[dq]. 30084 .PP 30085 Note that when using this no file write operations are permitted, so you 30086 can\[aq]t upload files or delete them. 30087 .PP 30088 See the time option docs (https://rclone.org/docs/#time-option) for 30089 valid formats. 30090 .PP 30091 Properties: 30092 .IP \[bu] 2 30093 Config: version_at 30094 .IP \[bu] 2 30095 Env Var: RCLONE_S3_VERSION_AT 30096 .IP \[bu] 2 30097 Type: Time 30098 .IP \[bu] 2 30099 Default: off 30100 .SS --s3-decompress 30101 .PP 30102 If set this will decompress gzip encoded objects. 30103 .PP 30104 It is possible to upload objects to S3 with \[dq]Content-Encoding: 30105 gzip\[dq] set. 30106 Normally rclone will download these files as compressed objects. 30107 .PP 30108 If this flag is set then rclone will decompress these files with 30109 \[dq]Content-Encoding: gzip\[dq] as they are received. 30110 This means that rclone can\[aq]t check the size and hash but the file 30111 contents will be decompressed. 30112 .PP 30113 Properties: 30114 .IP \[bu] 2 30115 Config: decompress 30116 .IP \[bu] 2 30117 Env Var: RCLONE_S3_DECOMPRESS 30118 .IP \[bu] 2 30119 Type: bool 30120 .IP \[bu] 2 30121 Default: false 30122 .SS --s3-might-gzip 30123 .PP 30124 Set this if the backend might gzip objects. 30125 .PP 30126 Normally providers will not alter objects when they are downloaded. 30127 If an object was not uploaded with \f[C]Content-Encoding: gzip\f[R] then 30128 it won\[aq]t be set on download. 30129 .PP 30130 However some providers may gzip objects even if they weren\[aq]t 30131 uploaded with \f[C]Content-Encoding: gzip\f[R] (eg Cloudflare). 30132 .PP 30133 A symptom of this would be receiving errors like 30134 .IP 30135 .nf 30136 \f[C] 30137 ERROR corrupted on transfer: sizes differ NNN vs MMM 30138 \f[R] 30139 .fi 30140 .PP 30141 If you set this flag and rclone downloads an object with 30142 Content-Encoding: gzip set and chunked transfer encoding, then rclone 30143 will decompress the object on the fly. 30144 .PP 30145 If this is set to unset (the default) then rclone will choose according 30146 to the provider setting what to apply, but you can override rclone\[aq]s 30147 choice here. 30148 .PP 30149 Properties: 30150 .IP \[bu] 2 30151 Config: might_gzip 30152 .IP \[bu] 2 30153 Env Var: RCLONE_S3_MIGHT_GZIP 30154 .IP \[bu] 2 30155 Type: Tristate 30156 .IP \[bu] 2 30157 Default: unset 30158 .SS --s3-use-accept-encoding-gzip 30159 .PP 30160 Whether to send \f[C]Accept-Encoding: gzip\f[R] header. 30161 .PP 30162 By default, rclone will append \f[C]Accept-Encoding: gzip\f[R] to the 30163 request to download compressed objects whenever possible. 30164 .PP 30165 However some providers such as Google Cloud Storage may alter the HTTP 30166 headers, breaking the signature of the request. 30167 .PP 30168 A symptom of this would be receiving errors like 30169 .IP 30170 .nf 30171 \f[C] 30172 SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. 30173 \f[R] 30174 .fi 30175 .PP 30176 In this case, you might want to try disabling this option. 30177 .PP 30178 Properties: 30179 .IP \[bu] 2 30180 Config: use_accept_encoding_gzip 30181 .IP \[bu] 2 30182 Env Var: RCLONE_S3_USE_ACCEPT_ENCODING_GZIP 30183 .IP \[bu] 2 30184 Type: Tristate 30185 .IP \[bu] 2 30186 Default: unset 30187 .SS --s3-no-system-metadata 30188 .PP 30189 Suppress setting and reading of system metadata 30190 .PP 30191 Properties: 30192 .IP \[bu] 2 30193 Config: no_system_metadata 30194 .IP \[bu] 2 30195 Env Var: RCLONE_S3_NO_SYSTEM_METADATA 30196 .IP \[bu] 2 30197 Type: bool 30198 .IP \[bu] 2 30199 Default: false 30200 .SS --s3-sts-endpoint 30201 .PP 30202 Endpoint for STS. 30203 .PP 30204 Leave blank if using AWS to use the default endpoint for the region. 30205 .PP 30206 Properties: 30207 .IP \[bu] 2 30208 Config: sts_endpoint 30209 .IP \[bu] 2 30210 Env Var: RCLONE_S3_STS_ENDPOINT 30211 .IP \[bu] 2 30212 Provider: AWS 30213 .IP \[bu] 2 30214 Type: string 30215 .IP \[bu] 2 30216 Required: false 30217 .SS Metadata 30218 .PP 30219 User metadata is stored as x-amz-meta- keys. 30220 S3 metadata keys are case insensitive and are always returned in lower 30221 case. 30222 .PP 30223 Here are the possible system metadata items for the s3 backend. 30224 .PP 30225 .TS 30226 tab(@); 30227 lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n). 30228 T{ 30229 Name 30230 T}@T{ 30231 Help 30232 T}@T{ 30233 Type 30234 T}@T{ 30235 Example 30236 T}@T{ 30237 Read Only 30238 T} 30239 _ 30240 T{ 30241 btime 30242 T}@T{ 30243 Time of file birth (creation) read from Last-Modified header 30244 T}@T{ 30245 RFC 3339 30246 T}@T{ 30247 2006-01-02T15:04:05.999999999Z07:00 30248 T}@T{ 30249 \f[B]Y\f[R] 30250 T} 30251 T{ 30252 cache-control 30253 T}@T{ 30254 Cache-Control header 30255 T}@T{ 30256 string 30257 T}@T{ 30258 no-cache 30259 T}@T{ 30260 N 30261 T} 30262 T{ 30263 content-disposition 30264 T}@T{ 30265 Content-Disposition header 30266 T}@T{ 30267 string 30268 T}@T{ 30269 inline 30270 T}@T{ 30271 N 30272 T} 30273 T{ 30274 content-encoding 30275 T}@T{ 30276 Content-Encoding header 30277 T}@T{ 30278 string 30279 T}@T{ 30280 gzip 30281 T}@T{ 30282 N 30283 T} 30284 T{ 30285 content-language 30286 T}@T{ 30287 Content-Language header 30288 T}@T{ 30289 string 30290 T}@T{ 30291 en-US 30292 T}@T{ 30293 N 30294 T} 30295 T{ 30296 content-type 30297 T}@T{ 30298 Content-Type header 30299 T}@T{ 30300 string 30301 T}@T{ 30302 text/plain 30303 T}@T{ 30304 N 30305 T} 30306 T{ 30307 mtime 30308 T}@T{ 30309 Time of last modification, read from rclone metadata 30310 T}@T{ 30311 RFC 3339 30312 T}@T{ 30313 2006-01-02T15:04:05.999999999Z07:00 30314 T}@T{ 30315 N 30316 T} 30317 T{ 30318 tier 30319 T}@T{ 30320 Tier of the object 30321 T}@T{ 30322 string 30323 T}@T{ 30324 GLACIER 30325 T}@T{ 30326 \f[B]Y\f[R] 30327 T} 30328 .TE 30329 .PP 30330 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 30331 .SS Backend commands 30332 .PP 30333 Here are the commands specific to the s3 backend. 30334 .PP 30335 Run them with 30336 .IP 30337 .nf 30338 \f[C] 30339 rclone backend COMMAND remote: 30340 \f[R] 30341 .fi 30342 .PP 30343 The help below will explain what arguments each command takes. 30344 .PP 30345 See the backend (https://rclone.org/commands/rclone_backend/) command 30346 for more info on how to pass options and arguments. 30347 .PP 30348 These can be run on a running backend using the rc command 30349 backend/command (https://rclone.org/rc/#backend-command). 30350 .SS restore 30351 .PP 30352 Restore objects from GLACIER to normal storage 30353 .IP 30354 .nf 30355 \f[C] 30356 rclone backend restore remote: [options] [<arguments>+] 30357 \f[R] 30358 .fi 30359 .PP 30360 This command can be used to restore one or more objects from GLACIER to 30361 normal storage. 30362 .PP 30363 Usage Examples: 30364 .IP 30365 .nf 30366 \f[C] 30367 rclone backend restore s3:bucket/path/to/object [-o priority=PRIORITY] [-o lifetime=DAYS] 30368 rclone backend restore s3:bucket/path/to/directory [-o priority=PRIORITY] [-o lifetime=DAYS] 30369 rclone backend restore s3:bucket [-o priority=PRIORITY] [-o lifetime=DAYS] 30370 \f[R] 30371 .fi 30372 .PP 30373 This flag also obeys the filters. 30374 Test first with --interactive/-i or --dry-run flags 30375 .IP 30376 .nf 30377 \f[C] 30378 rclone --interactive backend restore --include \[dq]*.txt\[dq] s3:bucket/path -o priority=Standard 30379 \f[R] 30380 .fi 30381 .PP 30382 All the objects shown will be marked for restore, then 30383 .IP 30384 .nf 30385 \f[C] 30386 rclone backend restore --include \[dq]*.txt\[dq] s3:bucket/path -o priority=Standard 30387 \f[R] 30388 .fi 30389 .PP 30390 It returns a list of status dictionaries with Remote and Status keys. 30391 The Status will be OK if it was successful or an error message if not. 30392 .IP 30393 .nf 30394 \f[C] 30395 [ 30396 { 30397 \[dq]Status\[dq]: \[dq]OK\[dq], 30398 \[dq]Path\[dq]: \[dq]test.txt\[dq] 30399 }, 30400 { 30401 \[dq]Status\[dq]: \[dq]OK\[dq], 30402 \[dq]Path\[dq]: \[dq]test/file4.txt\[dq] 30403 } 30404 ] 30405 \f[R] 30406 .fi 30407 .PP 30408 Options: 30409 .IP \[bu] 2 30410 \[dq]description\[dq]: The optional description for the job. 30411 .IP \[bu] 2 30412 \[dq]lifetime\[dq]: Lifetime of the active copy in days 30413 .IP \[bu] 2 30414 \[dq]priority\[dq]: Priority of restore: Standard|Expedited|Bulk 30415 .SS list-multipart-uploads 30416 .PP 30417 List the unfinished multipart uploads 30418 .IP 30419 .nf 30420 \f[C] 30421 rclone backend list-multipart-uploads remote: [options] [<arguments>+] 30422 \f[R] 30423 .fi 30424 .PP 30425 This command lists the unfinished multipart uploads in JSON format. 30426 .IP 30427 .nf 30428 \f[C] 30429 rclone backend list-multipart s3:bucket/path/to/object 30430 \f[R] 30431 .fi 30432 .PP 30433 It returns a dictionary of buckets with values as lists of unfinished 30434 multipart uploads. 30435 .PP 30436 You can call it with no bucket in which case it lists all bucket, with a 30437 bucket or with a bucket and path. 30438 .IP 30439 .nf 30440 \f[C] 30441 { 30442 \[dq]rclone\[dq]: [ 30443 { 30444 \[dq]Initiated\[dq]: \[dq]2020-06-26T14:20:36Z\[dq], 30445 \[dq]Initiator\[dq]: { 30446 \[dq]DisplayName\[dq]: \[dq]XXX\[dq], 30447 \[dq]ID\[dq]: \[dq]arn:aws:iam::XXX:user/XXX\[dq] 30448 }, 30449 \[dq]Key\[dq]: \[dq]KEY\[dq], 30450 \[dq]Owner\[dq]: { 30451 \[dq]DisplayName\[dq]: null, 30452 \[dq]ID\[dq]: \[dq]XXX\[dq] 30453 }, 30454 \[dq]StorageClass\[dq]: \[dq]STANDARD\[dq], 30455 \[dq]UploadId\[dq]: \[dq]XXX\[dq] 30456 } 30457 ], 30458 \[dq]rclone-1000files\[dq]: [], 30459 \[dq]rclone-dst\[dq]: [] 30460 } 30461 \f[R] 30462 .fi 30463 .SS cleanup 30464 .PP 30465 Remove unfinished multipart uploads. 30466 .IP 30467 .nf 30468 \f[C] 30469 rclone backend cleanup remote: [options] [<arguments>+] 30470 \f[R] 30471 .fi 30472 .PP 30473 This command removes unfinished multipart uploads of age greater than 30474 max-age which defaults to 24 hours. 30475 .PP 30476 Note that you can use --interactive/-i or --dry-run with this command to 30477 see what it would do. 30478 .IP 30479 .nf 30480 \f[C] 30481 rclone backend cleanup s3:bucket/path/to/object 30482 rclone backend cleanup -o max-age=7w s3:bucket/path/to/object 30483 \f[R] 30484 .fi 30485 .PP 30486 Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc. 30487 .PP 30488 Options: 30489 .IP \[bu] 2 30490 \[dq]max-age\[dq]: Max age of upload to delete 30491 .SS cleanup-hidden 30492 .PP 30493 Remove old versions of files. 30494 .IP 30495 .nf 30496 \f[C] 30497 rclone backend cleanup-hidden remote: [options] [<arguments>+] 30498 \f[R] 30499 .fi 30500 .PP 30501 This command removes any old hidden versions of files on a versions 30502 enabled bucket. 30503 .PP 30504 Note that you can use --interactive/-i or --dry-run with this command to 30505 see what it would do. 30506 .IP 30507 .nf 30508 \f[C] 30509 rclone backend cleanup-hidden s3:bucket/path/to/dir 30510 \f[R] 30511 .fi 30512 .SS versioning 30513 .PP 30514 Set/get versioning support for a bucket. 30515 .IP 30516 .nf 30517 \f[C] 30518 rclone backend versioning remote: [options] [<arguments>+] 30519 \f[R] 30520 .fi 30521 .PP 30522 This command sets versioning support if a parameter is passed and then 30523 returns the current versioning status for the bucket supplied. 30524 .IP 30525 .nf 30526 \f[C] 30527 rclone backend versioning s3:bucket # read status only 30528 rclone backend versioning s3:bucket Enabled 30529 rclone backend versioning s3:bucket Suspended 30530 \f[R] 30531 .fi 30532 .PP 30533 It may return \[dq]Enabled\[dq], \[dq]Suspended\[dq] or 30534 \[dq]Unversioned\[dq]. 30535 Note that once versioning has been enabled the status can\[aq]t be set 30536 back to \[dq]Unversioned\[dq]. 30537 .SS Anonymous access to public buckets 30538 .PP 30539 If you want to use rclone to access a public bucket, configure with a 30540 blank \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R]. 30541 Your config should end up looking like this: 30542 .IP 30543 .nf 30544 \f[C] 30545 [anons3] 30546 type = s3 30547 provider = AWS 30548 env_auth = false 30549 access_key_id = 30550 secret_access_key = 30551 region = us-east-1 30552 endpoint = 30553 location_constraint = 30554 acl = private 30555 server_side_encryption = 30556 storage_class = 30557 \f[R] 30558 .fi 30559 .PP 30560 Then use it as normal with the name of the public bucket, e.g. 30561 .IP 30562 .nf 30563 \f[C] 30564 rclone lsd anons3:1000genomes 30565 \f[R] 30566 .fi 30567 .PP 30568 You will be able to list and copy data but not upload it. 30569 .SS Providers 30570 .SS AWS S3 30571 .PP 30572 This is the provider used as main example and described in the 30573 configuration section above. 30574 .SS AWS Snowball Edge 30575 .PP 30576 AWS Snowball (https://aws.amazon.com/snowball/) is a hardware appliance 30577 used for transferring bulk data back to AWS. 30578 Its main software interface is S3 object storage. 30579 .PP 30580 To use rclone with AWS Snowball Edge devices, configure as standard for 30581 an \[aq]S3 Compatible Service\[aq]. 30582 .PP 30583 If using rclone pre v1.59 be sure to set \f[C]upload_cutoff = 0\f[R] 30584 otherwise you will run into authentication header issues as the snowball 30585 device does not support query parameter based authentication. 30586 .PP 30587 With rclone v1.59 or later setting \f[C]upload_cutoff\f[R] should not be 30588 necessary. 30589 .PP 30590 eg. 30591 .IP 30592 .nf 30593 \f[C] 30594 [snowball] 30595 type = s3 30596 provider = Other 30597 access_key_id = YOUR_ACCESS_KEY 30598 secret_access_key = YOUR_SECRET_KEY 30599 endpoint = http://[IP of Snowball]:8080 30600 upload_cutoff = 0 30601 \f[R] 30602 .fi 30603 .SS Ceph 30604 .PP 30605 Ceph (https://ceph.com/) is an open-source, unified, distributed storage 30606 system designed for excellent performance, reliability and scalability. 30607 It has an S3 compatible object storage interface. 30608 .PP 30609 To use rclone with Ceph, configure as above but leave the region blank 30610 and set the endpoint. 30611 You should end up with something like this in your config: 30612 .IP 30613 .nf 30614 \f[C] 30615 [ceph] 30616 type = s3 30617 provider = Ceph 30618 env_auth = false 30619 access_key_id = XXX 30620 secret_access_key = YYY 30621 region = 30622 endpoint = https://ceph.endpoint.example.com 30623 location_constraint = 30624 acl = 30625 server_side_encryption = 30626 storage_class = 30627 \f[R] 30628 .fi 30629 .PP 30630 If you are using an older version of CEPH (e.g. 30631 10.2.x Jewel) and a version of rclone before v1.59 then you may need to 30632 supply the parameter \f[C]--s3-upload-cutoff 0\f[R] or put this in the 30633 config file as \f[C]upload_cutoff 0\f[R] to work around a bug which 30634 causes uploading of small files to fail. 30635 .PP 30636 Note also that Ceph sometimes puts \f[C]/\f[R] in the passwords it gives 30637 users. 30638 If you read the secret access key using the command line tools you will 30639 get a JSON blob with the \f[C]/\f[R] escaped as \f[C]\[rs]/\f[R]. 30640 Make sure you only write \f[C]/\f[R] in the secret access key. 30641 .PP 30642 Eg the dump from Ceph looks something like this (irrelevant keys 30643 removed). 30644 .IP 30645 .nf 30646 \f[C] 30647 { 30648 \[dq]user_id\[dq]: \[dq]xxx\[dq], 30649 \[dq]display_name\[dq]: \[dq]xxxx\[dq], 30650 \[dq]keys\[dq]: [ 30651 { 30652 \[dq]user\[dq]: \[dq]xxx\[dq], 30653 \[dq]access_key\[dq]: \[dq]xxxxxx\[dq], 30654 \[dq]secret_key\[dq]: \[dq]xxxxxx\[rs]/xxxx\[dq] 30655 } 30656 ], 30657 } 30658 \f[R] 30659 .fi 30660 .PP 30661 Because this is a json dump, it is encoding the \f[C]/\f[R] as 30662 \f[C]\[rs]/\f[R], so if you use the secret key as \f[C]xxxxxx/xxxx\f[R] 30663 it will work fine. 30664 .SS Cloudflare R2 30665 .PP 30666 Cloudflare R2 (https://blog.cloudflare.com/r2-open-beta/) Storage allows 30667 developers to store large amounts of unstructured data without the 30668 costly egress bandwidth fees associated with typical cloud storage 30669 services. 30670 .PP 30671 Here is an example of making a Cloudflare R2 configuration. 30672 First run: 30673 .IP 30674 .nf 30675 \f[C] 30676 rclone config 30677 \f[R] 30678 .fi 30679 .PP 30680 This will guide you through an interactive setup process. 30681 .PP 30682 Note that all buckets are private, and all are stored in the same 30683 \[dq]auto\[dq] region. 30684 It is necessary to use Cloudflare workers to share the content of a 30685 bucket publicly. 30686 .IP 30687 .nf 30688 \f[C] 30689 No remotes found, make a new one? 30690 n) New remote 30691 s) Set configuration password 30692 q) Quit config 30693 n/s/q> n 30694 name> r2 30695 Option Storage. 30696 Type of storage to configure. 30697 Choose a number from below, or type in your own value. 30698 \&... 30699 XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS and Wasabi 30700 \[rs] (s3) 30701 \&... 30702 Storage> s3 30703 Option provider. 30704 Choose your S3 provider. 30705 Choose a number from below, or type in your own value. 30706 Press Enter to leave empty. 30707 \&... 30708 XX / Cloudflare R2 Storage 30709 \[rs] (Cloudflare) 30710 \&... 30711 provider> Cloudflare 30712 Option env_auth. 30713 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 30714 Only applies if access_key_id and secret_access_key is blank. 30715 Choose a number from below, or type in your own boolean value (true or false). 30716 Press Enter for the default (false). 30717 1 / Enter AWS credentials in the next step. 30718 \[rs] (false) 30719 2 / Get AWS credentials from the environment (env vars or IAM). 30720 \[rs] (true) 30721 env_auth> 1 30722 Option access_key_id. 30723 AWS Access Key ID. 30724 Leave blank for anonymous access or runtime credentials. 30725 Enter a value. Press Enter to leave empty. 30726 access_key_id> ACCESS_KEY 30727 Option secret_access_key. 30728 AWS Secret Access Key (password). 30729 Leave blank for anonymous access or runtime credentials. 30730 Enter a value. Press Enter to leave empty. 30731 secret_access_key> SECRET_ACCESS_KEY 30732 Option region. 30733 Region to connect to. 30734 Choose a number from below, or type in your own value. 30735 Press Enter to leave empty. 30736 1 / R2 buckets are automatically distributed across Cloudflare\[aq]s data centers for low latency. 30737 \[rs] (auto) 30738 region> 1 30739 Option endpoint. 30740 Endpoint for S3 API. 30741 Required when using an S3 clone. 30742 Enter a value. Press Enter to leave empty. 30743 endpoint> https://ACCOUNT_ID.r2.cloudflarestorage.com 30744 Edit advanced config? 30745 y) Yes 30746 n) No (default) 30747 y/n> n 30748 -------------------- 30749 y) Yes this is OK (default) 30750 e) Edit this remote 30751 d) Delete this remote 30752 y/e/d> y 30753 \f[R] 30754 .fi 30755 .PP 30756 This will leave your config looking something like: 30757 .IP 30758 .nf 30759 \f[C] 30760 [r2] 30761 type = s3 30762 provider = Cloudflare 30763 access_key_id = ACCESS_KEY 30764 secret_access_key = SECRET_ACCESS_KEY 30765 region = auto 30766 endpoint = https://ACCOUNT_ID.r2.cloudflarestorage.com 30767 acl = private 30768 \f[R] 30769 .fi 30770 .PP 30771 Now run \f[C]rclone lsf r2:\f[R] to see your buckets and 30772 \f[C]rclone lsf r2:bucket\f[R] to look within a bucket. 30773 .SS Dreamhost 30774 .PP 30775 Dreamhost DreamObjects (https://www.dreamhost.com/cloud/storage/) is an 30776 object storage system based on CEPH. 30777 .PP 30778 To use rclone with Dreamhost, configure as above but leave the region 30779 blank and set the endpoint. 30780 You should end up with something like this in your config: 30781 .IP 30782 .nf 30783 \f[C] 30784 [dreamobjects] 30785 type = s3 30786 provider = DreamHost 30787 env_auth = false 30788 access_key_id = your_access_key 30789 secret_access_key = your_secret_key 30790 region = 30791 endpoint = objects-us-west-1.dream.io 30792 location_constraint = 30793 acl = private 30794 server_side_encryption = 30795 storage_class = 30796 \f[R] 30797 .fi 30798 .SS Google Cloud Storage 30799 .PP 30800 GoogleCloudStorage (https://cloud.google.com/storage/docs) is an 30801 S3-interoperable (https://cloud.google.com/storage/docs/interoperability) 30802 object storage service from Google Cloud Platform. 30803 .PP 30804 To connect to Google Cloud Storage you will need an access key and 30805 secret key. 30806 These can be retrieved by creating an HMAC 30807 key (https://cloud.google.com/storage/docs/authentication/managing-hmackeys). 30808 .IP 30809 .nf 30810 \f[C] 30811 [gs] 30812 type = s3 30813 provider = GCS 30814 access_key_id = your_access_key 30815 secret_access_key = your_secret_key 30816 endpoint = https://storage.googleapis.com 30817 \f[R] 30818 .fi 30819 .SS DigitalOcean Spaces 30820 .PP 30821 Spaces (https://www.digitalocean.com/products/object-storage/) is an 30822 S3-interoperable (https://developers.digitalocean.com/documentation/spaces/) 30823 object storage service from cloud provider DigitalOcean. 30824 .PP 30825 To connect to DigitalOcean Spaces you will need an access key and secret 30826 key. 30827 These can be retrieved on the \[dq]Applications & 30828 API (https://cloud.digitalocean.com/settings/api/tokens)\[dq] page of 30829 the DigitalOcean control panel. 30830 They will be needed when prompted by \f[C]rclone config\f[R] for your 30831 \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R]. 30832 .PP 30833 When prompted for a \f[C]region\f[R] or \f[C]location_constraint\f[R], 30834 press enter to use the default value. 30835 The region must be included in the \f[C]endpoint\f[R] setting (e.g. 30836 \f[C]nyc3.digitaloceanspaces.com\f[R]). 30837 The default values can be used for other settings. 30838 .PP 30839 Going through the whole process of creating a new remote by running 30840 \f[C]rclone config\f[R], each prompt should be answered as shown below: 30841 .IP 30842 .nf 30843 \f[C] 30844 Storage> s3 30845 env_auth> 1 30846 access_key_id> YOUR_ACCESS_KEY 30847 secret_access_key> YOUR_SECRET_KEY 30848 region> 30849 endpoint> nyc3.digitaloceanspaces.com 30850 location_constraint> 30851 acl> 30852 storage_class> 30853 \f[R] 30854 .fi 30855 .PP 30856 The resulting configuration file should look like: 30857 .IP 30858 .nf 30859 \f[C] 30860 [spaces] 30861 type = s3 30862 provider = DigitalOcean 30863 env_auth = false 30864 access_key_id = YOUR_ACCESS_KEY 30865 secret_access_key = YOUR_SECRET_KEY 30866 region = 30867 endpoint = nyc3.digitaloceanspaces.com 30868 location_constraint = 30869 acl = 30870 server_side_encryption = 30871 storage_class = 30872 \f[R] 30873 .fi 30874 .PP 30875 Once configured, you can create a new Space and begin copying files. 30876 For example: 30877 .IP 30878 .nf 30879 \f[C] 30880 rclone mkdir spaces:my-new-space 30881 rclone copy /path/to/files spaces:my-new-space 30882 \f[R] 30883 .fi 30884 .SS Huawei OBS 30885 .PP 30886 Object Storage Service (OBS) provides stable, secure, efficient, and 30887 easy-to-use cloud storage that lets you store virtually any volume of 30888 unstructured data in any format and access it from anywhere. 30889 .PP 30890 OBS provides an S3 interface, you can copy and modify the following 30891 configuration and add it to your rclone configuration file. 30892 .IP 30893 .nf 30894 \f[C] 30895 [obs] 30896 type = s3 30897 provider = HuaweiOBS 30898 access_key_id = your-access-key-id 30899 secret_access_key = your-secret-access-key 30900 region = af-south-1 30901 endpoint = obs.af-south-1.myhuaweicloud.com 30902 acl = private 30903 \f[R] 30904 .fi 30905 .PP 30906 Or you can also configure via the interactive command line: 30907 .IP 30908 .nf 30909 \f[C] 30910 No remotes found, make a new one? 30911 n) New remote 30912 s) Set configuration password 30913 q) Quit config 30914 n/s/q> n 30915 name> obs 30916 Option Storage. 30917 Type of storage to configure. 30918 Choose a number from below, or type in your own value. 30919 [snip] 30920 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS and Wasabi 30921 \[rs] (s3) 30922 [snip] 30923 Storage> 5 30924 Option provider. 30925 Choose your S3 provider. 30926 Choose a number from below, or type in your own value. 30927 Press Enter to leave empty. 30928 [snip] 30929 9 / Huawei Object Storage Service 30930 \[rs] (HuaweiOBS) 30931 [snip] 30932 provider> 9 30933 Option env_auth. 30934 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 30935 Only applies if access_key_id and secret_access_key is blank. 30936 Choose a number from below, or type in your own boolean value (true or false). 30937 Press Enter for the default (false). 30938 1 / Enter AWS credentials in the next step. 30939 \[rs] (false) 30940 2 / Get AWS credentials from the environment (env vars or IAM). 30941 \[rs] (true) 30942 env_auth> 1 30943 Option access_key_id. 30944 AWS Access Key ID. 30945 Leave blank for anonymous access or runtime credentials. 30946 Enter a value. Press Enter to leave empty. 30947 access_key_id> your-access-key-id 30948 Option secret_access_key. 30949 AWS Secret Access Key (password). 30950 Leave blank for anonymous access or runtime credentials. 30951 Enter a value. Press Enter to leave empty. 30952 secret_access_key> your-secret-access-key 30953 Option region. 30954 Region to connect to. 30955 Choose a number from below, or type in your own value. 30956 Press Enter to leave empty. 30957 1 / AF-Johannesburg 30958 \[rs] (af-south-1) 30959 2 / AP-Bangkok 30960 \[rs] (ap-southeast-2) 30961 [snip] 30962 region> 1 30963 Option endpoint. 30964 Endpoint for OBS API. 30965 Choose a number from below, or type in your own value. 30966 Press Enter to leave empty. 30967 1 / AF-Johannesburg 30968 \[rs] (obs.af-south-1.myhuaweicloud.com) 30969 2 / AP-Bangkok 30970 \[rs] (obs.ap-southeast-2.myhuaweicloud.com) 30971 [snip] 30972 endpoint> 1 30973 Option acl. 30974 Canned ACL used when creating buckets and storing or copying objects. 30975 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too. 30976 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 30977 Note that this ACL is applied when server-side copying objects as S3 30978 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 30979 Choose a number from below, or type in your own value. 30980 Press Enter to leave empty. 30981 / Owner gets FULL_CONTROL. 30982 1 | No one else has access rights (default). 30983 \[rs] (private) 30984 [snip] 30985 acl> 1 30986 Edit advanced config? 30987 y) Yes 30988 n) No (default) 30989 y/n> 30990 -------------------- 30991 [obs] 30992 type = s3 30993 provider = HuaweiOBS 30994 access_key_id = your-access-key-id 30995 secret_access_key = your-secret-access-key 30996 region = af-south-1 30997 endpoint = obs.af-south-1.myhuaweicloud.com 30998 acl = private 30999 -------------------- 31000 y) Yes this is OK (default) 31001 e) Edit this remote 31002 d) Delete this remote 31003 y/e/d> y 31004 Current remotes: 31005 31006 Name Type 31007 ==== ==== 31008 obs s3 31009 31010 e) Edit existing remote 31011 n) New remote 31012 d) Delete remote 31013 r) Rename remote 31014 c) Copy remote 31015 s) Set configuration password 31016 q) Quit config 31017 e/n/d/r/c/s/q> q 31018 \f[R] 31019 .fi 31020 .SS IBM COS (S3) 31021 .PP 31022 Information stored with IBM Cloud Object Storage is encrypted and 31023 dispersed across multiple geographic locations, and accessed through an 31024 implementation of the S3 API. 31025 This service makes use of the distributed storage technologies provided 31026 by IBM\[cq]s Cloud Object Storage System (formerly Cleversafe). 31027 For more information visit: (http://www.ibm.com/cloud/object-storage) 31028 .PP 31029 To configure access to IBM COS S3, follow the steps below: 31030 .IP "1." 3 31031 Run rclone config and select n for a new remote. 31032 .IP 31033 .nf 31034 \f[C] 31035 2018/02/14 14:13:11 NOTICE: Config file \[dq]C:\[rs]\[rs]Users\[rs]\[rs]a\[rs]\[rs].config\[rs]\[rs]rclone\[rs]\[rs]rclone.conf\[dq] not found - using defaults 31036 No remotes found, make a new one? 31037 n) New remote 31038 s) Set configuration password 31039 q) Quit config 31040 n/s/q> n 31041 \f[R] 31042 .fi 31043 .IP "2." 3 31044 Enter the name for the configuration 31045 .IP 31046 .nf 31047 \f[C] 31048 name> <YOUR NAME> 31049 \f[R] 31050 .fi 31051 .IP "3." 3 31052 Select \[dq]s3\[dq] storage. 31053 .IP 31054 .nf 31055 \f[C] 31056 Choose a number from below, or type in your own value 31057 1 / Alias for an existing remote 31058 \[rs] \[dq]alias\[dq] 31059 2 / Amazon Drive 31060 \[rs] \[dq]amazon cloud drive\[dq] 31061 3 / Amazon S3 Complaint Storage Providers (Dreamhost, Ceph, ChinaMobile, Liara, ArvanCloud, Minio, IBM COS) 31062 \[rs] \[dq]s3\[dq] 31063 4 / Backblaze B2 31064 \[rs] \[dq]b2\[dq] 31065 [snip] 31066 23 / HTTP 31067 \[rs] \[dq]http\[dq] 31068 Storage> 3 31069 \f[R] 31070 .fi 31071 .IP "4." 3 31072 Select IBM COS as the S3 Storage Provider. 31073 .IP 31074 .nf 31075 \f[C] 31076 Choose the S3 provider. 31077 Choose a number from below, or type in your own value 31078 1 / Choose this option to configure Storage to AWS S3 31079 \[rs] \[dq]AWS\[dq] 31080 2 / Choose this option to configure Storage to Ceph Systems 31081 \[rs] \[dq]Ceph\[dq] 31082 3 / Choose this option to configure Storage to Dreamhost 31083 \[rs] \[dq]Dreamhost\[dq] 31084 4 / Choose this option to the configure Storage to IBM COS S3 31085 \[rs] \[dq]IBMCOS\[dq] 31086 5 / Choose this option to the configure Storage to Minio 31087 \[rs] \[dq]Minio\[dq] 31088 Provider>4 31089 \f[R] 31090 .fi 31091 .IP "5." 3 31092 Enter the Access Key and Secret. 31093 .IP 31094 .nf 31095 \f[C] 31096 AWS Access Key ID - leave blank for anonymous access or runtime credentials. 31097 access_key_id> <> 31098 AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. 31099 secret_access_key> <> 31100 \f[R] 31101 .fi 31102 .IP "6." 3 31103 Specify the endpoint for IBM COS. 31104 For Public IBM COS, choose from the option below. 31105 For On Premise IBM COS, enter an endpoint address. 31106 .IP 31107 .nf 31108 \f[C] 31109 Endpoint for IBM COS S3 API. 31110 Specify if using an IBM COS On Premise. 31111 Choose a number from below, or type in your own value 31112 1 / US Cross Region Endpoint 31113 \[rs] \[dq]s3-api.us-geo.objectstorage.softlayer.net\[dq] 31114 2 / US Cross Region Dallas Endpoint 31115 \[rs] \[dq]s3-api.dal.us-geo.objectstorage.softlayer.net\[dq] 31116 3 / US Cross Region Washington DC Endpoint 31117 \[rs] \[dq]s3-api.wdc-us-geo.objectstorage.softlayer.net\[dq] 31118 4 / US Cross Region San Jose Endpoint 31119 \[rs] \[dq]s3-api.sjc-us-geo.objectstorage.softlayer.net\[dq] 31120 5 / US Cross Region Private Endpoint 31121 \[rs] \[dq]s3-api.us-geo.objectstorage.service.networklayer.com\[dq] 31122 6 / US Cross Region Dallas Private Endpoint 31123 \[rs] \[dq]s3-api.dal-us-geo.objectstorage.service.networklayer.com\[dq] 31124 7 / US Cross Region Washington DC Private Endpoint 31125 \[rs] \[dq]s3-api.wdc-us-geo.objectstorage.service.networklayer.com\[dq] 31126 8 / US Cross Region San Jose Private Endpoint 31127 \[rs] \[dq]s3-api.sjc-us-geo.objectstorage.service.networklayer.com\[dq] 31128 9 / US Region East Endpoint 31129 \[rs] \[dq]s3.us-east.objectstorage.softlayer.net\[dq] 31130 10 / US Region East Private Endpoint 31131 \[rs] \[dq]s3.us-east.objectstorage.service.networklayer.com\[dq] 31132 11 / US Region South Endpoint 31133 [snip] 31134 34 / Toronto Single Site Private Endpoint 31135 \[rs] \[dq]s3.tor01.objectstorage.service.networklayer.com\[dq] 31136 endpoint>1 31137 \f[R] 31138 .fi 31139 .IP "7." 3 31140 Specify a IBM COS Location Constraint. 31141 The location constraint must match endpoint when using IBM Cloud Public. 31142 For on-prem COS, do not make a selection from this list, hit enter 31143 .IP 31144 .nf 31145 \f[C] 31146 1 / US Cross Region Standard 31147 \[rs] \[dq]us-standard\[dq] 31148 2 / US Cross Region Vault 31149 \[rs] \[dq]us-vault\[dq] 31150 3 / US Cross Region Cold 31151 \[rs] \[dq]us-cold\[dq] 31152 4 / US Cross Region Flex 31153 \[rs] \[dq]us-flex\[dq] 31154 5 / US East Region Standard 31155 \[rs] \[dq]us-east-standard\[dq] 31156 6 / US East Region Vault 31157 \[rs] \[dq]us-east-vault\[dq] 31158 7 / US East Region Cold 31159 \[rs] \[dq]us-east-cold\[dq] 31160 8 / US East Region Flex 31161 \[rs] \[dq]us-east-flex\[dq] 31162 9 / US South Region Standard 31163 \[rs] \[dq]us-south-standard\[dq] 31164 10 / US South Region Vault 31165 \[rs] \[dq]us-south-vault\[dq] 31166 [snip] 31167 32 / Toronto Flex 31168 \[rs] \[dq]tor01-flex\[dq] 31169 location_constraint>1 31170 \f[R] 31171 .fi 31172 .IP "9." 3 31173 Specify a canned ACL. 31174 IBM Cloud (Storage) supports \[dq]public-read\[dq] and 31175 \[dq]private\[dq]. 31176 IBM Cloud(Infra) supports all the canned ACLs. 31177 On-Premise COS supports all the canned ACLs. 31178 .IP 31179 .nf 31180 \f[C] 31181 Canned ACL used when creating buckets and/or storing objects in S3. 31182 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 31183 Choose a number from below, or type in your own value 31184 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 31185 \[rs] \[dq]private\[dq] 31186 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 31187 \[rs] \[dq]public-read\[dq] 31188 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 31189 \[rs] \[dq]public-read-write\[dq] 31190 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 31191 \[rs] \[dq]authenticated-read\[dq] 31192 acl> 1 31193 \f[R] 31194 .fi 31195 .IP "12." 4 31196 Review the displayed configuration and accept to save the 31197 \[dq]remote\[dq] then quit. 31198 The config file should look like this 31199 .IP 31200 .nf 31201 \f[C] 31202 [xxx] 31203 type = s3 31204 Provider = IBMCOS 31205 access_key_id = xxx 31206 secret_access_key = yyy 31207 endpoint = s3-api.us-geo.objectstorage.softlayer.net 31208 location_constraint = us-standard 31209 acl = private 31210 \f[R] 31211 .fi 31212 .IP "13." 4 31213 Execute rclone commands 31214 .IP 31215 .nf 31216 \f[C] 31217 1) Create a bucket. 31218 rclone mkdir IBM-COS-XREGION:newbucket 31219 2) List available buckets. 31220 rclone lsd IBM-COS-XREGION: 31221 -1 2017-11-08 21:16:22 -1 test 31222 -1 2018-02-14 20:16:39 -1 newbucket 31223 3) List contents of a bucket. 31224 rclone ls IBM-COS-XREGION:newbucket 31225 18685952 test.exe 31226 4) Copy a file from local to remote. 31227 rclone copy /Users/file.txt IBM-COS-XREGION:newbucket 31228 5) Copy a file from remote to local. 31229 rclone copy IBM-COS-XREGION:newbucket/file.txt . 31230 6) Delete a file on remote. 31231 rclone delete IBM-COS-XREGION:newbucket/file.txt 31232 \f[R] 31233 .fi 31234 .SS IDrive e2 31235 .PP 31236 Here is an example of making an IDrive e2 (https://www.idrive.com/e2/) 31237 configuration. 31238 First run: 31239 .IP 31240 .nf 31241 \f[C] 31242 rclone config 31243 \f[R] 31244 .fi 31245 .PP 31246 This will guide you through an interactive setup process. 31247 .IP 31248 .nf 31249 \f[C] 31250 No remotes found, make a new one? 31251 n) New remote 31252 s) Set configuration password 31253 q) Quit config 31254 n/s/q> n 31255 31256 Enter name for new remote. 31257 name> e2 31258 31259 Option Storage. 31260 Type of storage to configure. 31261 Choose a number from below, or type in your own value. 31262 [snip] 31263 XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS and Wasabi 31264 \[rs] (s3) 31265 [snip] 31266 Storage> s3 31267 31268 Option provider. 31269 Choose your S3 provider. 31270 Choose a number from below, or type in your own value. 31271 Press Enter to leave empty. 31272 [snip] 31273 XX / IDrive e2 31274 \[rs] (IDrive) 31275 [snip] 31276 provider> IDrive 31277 31278 Option env_auth. 31279 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 31280 Only applies if access_key_id and secret_access_key is blank. 31281 Choose a number from below, or type in your own boolean value (true or false). 31282 Press Enter for the default (false). 31283 1 / Enter AWS credentials in the next step. 31284 \[rs] (false) 31285 2 / Get AWS credentials from the environment (env vars or IAM). 31286 \[rs] (true) 31287 env_auth> 31288 31289 Option access_key_id. 31290 AWS Access Key ID. 31291 Leave blank for anonymous access or runtime credentials. 31292 Enter a value. Press Enter to leave empty. 31293 access_key_id> YOUR_ACCESS_KEY 31294 31295 Option secret_access_key. 31296 AWS Secret Access Key (password). 31297 Leave blank for anonymous access or runtime credentials. 31298 Enter a value. Press Enter to leave empty. 31299 secret_access_key> YOUR_SECRET_KEY 31300 31301 Option acl. 31302 Canned ACL used when creating buckets and storing or copying objects. 31303 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too. 31304 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 31305 Note that this ACL is applied when server-side copying objects as S3 31306 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 31307 Choose a number from below, or type in your own value. 31308 Press Enter to leave empty. 31309 / Owner gets FULL_CONTROL. 31310 1 | No one else has access rights (default). 31311 \[rs] (private) 31312 / Owner gets FULL_CONTROL. 31313 2 | The AllUsers group gets READ access. 31314 \[rs] (public-read) 31315 / Owner gets FULL_CONTROL. 31316 3 | The AllUsers group gets READ and WRITE access. 31317 | Granting this on a bucket is generally not recommended. 31318 \[rs] (public-read-write) 31319 / Owner gets FULL_CONTROL. 31320 4 | The AuthenticatedUsers group gets READ access. 31321 \[rs] (authenticated-read) 31322 / Object owner gets FULL_CONTROL. 31323 5 | Bucket owner gets READ access. 31324 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. 31325 \[rs] (bucket-owner-read) 31326 / Both the object owner and the bucket owner get FULL_CONTROL over the object. 31327 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. 31328 \[rs] (bucket-owner-full-control) 31329 acl> 31330 31331 Edit advanced config? 31332 y) Yes 31333 n) No (default) 31334 y/n> 31335 31336 Configuration complete. 31337 Options: 31338 - type: s3 31339 - provider: IDrive 31340 - access_key_id: YOUR_ACCESS_KEY 31341 - secret_access_key: YOUR_SECRET_KEY 31342 - endpoint: q9d9.la12.idrivee2-5.com 31343 Keep this \[dq]e2\[dq] remote? 31344 y) Yes this is OK (default) 31345 e) Edit this remote 31346 d) Delete this remote 31347 y/e/d> y 31348 \f[R] 31349 .fi 31350 .SS IONOS Cloud 31351 .PP 31352 IONOS S3 Object Storage (https://cloud.ionos.com/storage/object-storage) 31353 is a service offered by IONOS for storing and accessing unstructured 31354 data. 31355 To connect to the service, you will need an access key and a secret key. 31356 These can be found in the Data Center Designer (https://dcd.ionos.com/), 31357 by selecting \f[B]Manager resources\f[R] > \f[B]Object Storage Key 31358 Manager\f[R]. 31359 .PP 31360 Here is an example of a configuration. 31361 First, run \f[C]rclone config\f[R]. 31362 This will walk you through an interactive setup process. 31363 Type \f[C]n\f[R] to add the new remote, and then enter a name: 31364 .IP 31365 .nf 31366 \f[C] 31367 Enter name for new remote. 31368 name> ionos-fra 31369 \f[R] 31370 .fi 31371 .PP 31372 Type \f[C]s3\f[R] to choose the connection type: 31373 .IP 31374 .nf 31375 \f[C] 31376 Option Storage. 31377 Type of storage to configure. 31378 Choose a number from below, or type in your own value. 31379 [snip] 31380 XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, IONOS Cloud, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS and Wasabi 31381 \[rs] (s3) 31382 [snip] 31383 Storage> s3 31384 \f[R] 31385 .fi 31386 .PP 31387 Type \f[C]IONOS\f[R]: 31388 .IP 31389 .nf 31390 \f[C] 31391 Option provider. 31392 Choose your S3 provider. 31393 Choose a number from below, or type in your own value. 31394 Press Enter to leave empty. 31395 [snip] 31396 XX / IONOS Cloud 31397 \[rs] (IONOS) 31398 [snip] 31399 provider> IONOS 31400 \f[R] 31401 .fi 31402 .PP 31403 Press Enter to choose the default option 31404 \f[C]Enter AWS credentials in the next step\f[R]: 31405 .IP 31406 .nf 31407 \f[C] 31408 Option env_auth. 31409 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 31410 Only applies if access_key_id and secret_access_key is blank. 31411 Choose a number from below, or type in your own boolean value (true or false). 31412 Press Enter for the default (false). 31413 1 / Enter AWS credentials in the next step. 31414 \[rs] (false) 31415 2 / Get AWS credentials from the environment (env vars or IAM). 31416 \[rs] (true) 31417 env_auth> 31418 \f[R] 31419 .fi 31420 .PP 31421 Enter your Access Key and Secret key. 31422 These can be retrieved in the Data Center 31423 Designer (https://dcd.ionos.com/), click on the menu \[lq]Manager 31424 resources\[rq] / \[dq]Object Storage Key Manager\[dq]. 31425 .IP 31426 .nf 31427 \f[C] 31428 Option access_key_id. 31429 AWS Access Key ID. 31430 Leave blank for anonymous access or runtime credentials. 31431 Enter a value. Press Enter to leave empty. 31432 access_key_id> YOUR_ACCESS_KEY 31433 31434 Option secret_access_key. 31435 AWS Secret Access Key (password). 31436 Leave blank for anonymous access or runtime credentials. 31437 Enter a value. Press Enter to leave empty. 31438 secret_access_key> YOUR_SECRET_KEY 31439 \f[R] 31440 .fi 31441 .PP 31442 Choose the region where your bucket is located: 31443 .IP 31444 .nf 31445 \f[C] 31446 Option region. 31447 Region where your bucket will be created and your data stored. 31448 Choose a number from below, or type in your own value. 31449 Press Enter to leave empty. 31450 1 / Frankfurt, Germany 31451 \[rs] (de) 31452 2 / Berlin, Germany 31453 \[rs] (eu-central-2) 31454 3 / Logrono, Spain 31455 \[rs] (eu-south-2) 31456 region> 2 31457 \f[R] 31458 .fi 31459 .PP 31460 Choose the endpoint from the same region: 31461 .IP 31462 .nf 31463 \f[C] 31464 Option endpoint. 31465 Endpoint for IONOS S3 Object Storage. 31466 Specify the endpoint from the same region. 31467 Choose a number from below, or type in your own value. 31468 Press Enter to leave empty. 31469 1 / Frankfurt, Germany 31470 \[rs] (s3-eu-central-1.ionoscloud.com) 31471 2 / Berlin, Germany 31472 \[rs] (s3-eu-central-2.ionoscloud.com) 31473 3 / Logrono, Spain 31474 \[rs] (s3-eu-south-2.ionoscloud.com) 31475 endpoint> 1 31476 \f[R] 31477 .fi 31478 .PP 31479 Press Enter to choose the default option or choose the desired ACL 31480 setting: 31481 .IP 31482 .nf 31483 \f[C] 31484 Option acl. 31485 Canned ACL used when creating buckets and storing or copying objects. 31486 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too. 31487 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 31488 Note that this ACL is applied when server-side copying objects as S3 31489 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 31490 Choose a number from below, or type in your own value. 31491 Press Enter to leave empty. 31492 / Owner gets FULL_CONTROL. 31493 1 | No one else has access rights (default). 31494 \[rs] (private) 31495 / Owner gets FULL_CONTROL. 31496 [snip] 31497 acl> 31498 \f[R] 31499 .fi 31500 .PP 31501 Press Enter to skip the advanced config: 31502 .IP 31503 .nf 31504 \f[C] 31505 Edit advanced config? 31506 y) Yes 31507 n) No (default) 31508 y/n> 31509 \f[R] 31510 .fi 31511 .PP 31512 Press Enter to save the configuration, and then \f[C]q\f[R] to quit the 31513 configuration process: 31514 .IP 31515 .nf 31516 \f[C] 31517 Configuration complete. 31518 Options: 31519 - type: s3 31520 - provider: IONOS 31521 - access_key_id: YOUR_ACCESS_KEY 31522 - secret_access_key: YOUR_SECRET_KEY 31523 - endpoint: s3-eu-central-1.ionoscloud.com 31524 Keep this \[dq]ionos-fra\[dq] remote? 31525 y) Yes this is OK (default) 31526 e) Edit this remote 31527 d) Delete this remote 31528 y/e/d> y 31529 \f[R] 31530 .fi 31531 .PP 31532 Done! Now you can try some commands (for macOS, use \f[C]./rclone\f[R] 31533 instead of \f[C]rclone\f[R]). 31534 .IP "1)" 3 31535 Create a bucket (the name must be unique within the whole IONOS S3) 31536 .IP 31537 .nf 31538 \f[C] 31539 rclone mkdir ionos-fra:my-bucket 31540 \f[R] 31541 .fi 31542 .IP "2)" 3 31543 List available buckets 31544 .IP 31545 .nf 31546 \f[C] 31547 rclone lsd ionos-fra: 31548 \f[R] 31549 .fi 31550 .IP "4)" 3 31551 Copy a file from local to remote 31552 .IP 31553 .nf 31554 \f[C] 31555 rclone copy /Users/file.txt ionos-fra:my-bucket 31556 \f[R] 31557 .fi 31558 .IP "3)" 3 31559 List contents of a bucket 31560 .IP 31561 .nf 31562 \f[C] 31563 rclone ls ionos-fra:my-bucket 31564 \f[R] 31565 .fi 31566 .IP "5)" 3 31567 Copy a file from remote to local 31568 .IP 31569 .nf 31570 \f[C] 31571 rclone copy ionos-fra:my-bucket/file.txt 31572 \f[R] 31573 .fi 31574 .SS Minio 31575 .PP 31576 Minio (https://minio.io/) is an object storage server built for cloud 31577 application developers and devops. 31578 .PP 31579 It is very easy to install and provides an S3 compatible server which 31580 can be used by rclone. 31581 .PP 31582 To use it, install Minio following the instructions 31583 here (https://docs.minio.io/docs/minio-quickstart-guide). 31584 .PP 31585 When it configures itself Minio will print something like this 31586 .IP 31587 .nf 31588 \f[C] 31589 Endpoint: http://192.168.1.106:9000 http://172.23.0.1:9000 31590 AccessKey: USWUXHGYZQYFYFFIT3RE 31591 SecretKey: MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 31592 Region: us-east-1 31593 SQS ARNs: arn:minio:sqs:us-east-1:1:redis arn:minio:sqs:us-east-1:2:redis 31594 31595 Browser Access: 31596 http://192.168.1.106:9000 http://172.23.0.1:9000 31597 31598 Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide 31599 $ mc config host add myminio http://192.168.1.106:9000 USWUXHGYZQYFYFFIT3RE MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 31600 31601 Object API (Amazon S3 compatible): 31602 Go: https://docs.minio.io/docs/golang-client-quickstart-guide 31603 Java: https://docs.minio.io/docs/java-client-quickstart-guide 31604 Python: https://docs.minio.io/docs/python-client-quickstart-guide 31605 JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide 31606 .NET: https://docs.minio.io/docs/dotnet-client-quickstart-guide 31607 31608 Drive Capacity: 26 GiB Free, 165 GiB Total 31609 \f[R] 31610 .fi 31611 .PP 31612 These details need to go into \f[C]rclone config\f[R] like this. 31613 Note that it is important to put the region in as stated above. 31614 .IP 31615 .nf 31616 \f[C] 31617 env_auth> 1 31618 access_key_id> USWUXHGYZQYFYFFIT3RE 31619 secret_access_key> MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 31620 region> us-east-1 31621 endpoint> http://192.168.1.106:9000 31622 location_constraint> 31623 server_side_encryption> 31624 \f[R] 31625 .fi 31626 .PP 31627 Which makes the config file look like this 31628 .IP 31629 .nf 31630 \f[C] 31631 [minio] 31632 type = s3 31633 provider = Minio 31634 env_auth = false 31635 access_key_id = USWUXHGYZQYFYFFIT3RE 31636 secret_access_key = MOJRH0mkL1IPauahWITSVvyDrQbEEIwljvmxdq03 31637 region = us-east-1 31638 endpoint = http://192.168.1.106:9000 31639 location_constraint = 31640 server_side_encryption = 31641 \f[R] 31642 .fi 31643 .PP 31644 So once set up, for example, to copy files into a bucket 31645 .IP 31646 .nf 31647 \f[C] 31648 rclone copy /path/to/files minio:bucket 31649 \f[R] 31650 .fi 31651 .SS Qiniu Cloud Object Storage (Kodo) 31652 .PP 31653 Qiniu Cloud Object Storage 31654 (Kodo) (https://www.qiniu.com/en/products/kodo), a completely 31655 independent-researched core technology which is proven by repeated 31656 customer experience has occupied absolute leading market leader 31657 position. 31658 Kodo can be widely applied to mass data management. 31659 .PP 31660 To configure access to Qiniu Kodo, follow the steps below: 31661 .IP "1." 3 31662 Run \f[C]rclone config\f[R] and select \f[C]n\f[R] for a new remote. 31663 .IP 31664 .nf 31665 \f[C] 31666 rclone config 31667 No remotes found, make a new one? 31668 n) New remote 31669 s) Set configuration password 31670 q) Quit config 31671 n/s/q> n 31672 \f[R] 31673 .fi 31674 .IP "2." 3 31675 Give the name of the configuration. 31676 For example, name it \[aq]qiniu\[aq]. 31677 .IP 31678 .nf 31679 \f[C] 31680 name> qiniu 31681 \f[R] 31682 .fi 31683 .IP "3." 3 31684 Select \f[C]s3\f[R] storage. 31685 .IP 31686 .nf 31687 \f[C] 31688 Choose a number from below, or type in your own value 31689 1 / 1Fichier 31690 \[rs] (fichier) 31691 2 / Akamai NetStorage 31692 \[rs] (netstorage) 31693 3 / Alias for an existing remote 31694 \[rs] (alias) 31695 4 / Amazon Drive 31696 \[rs] (amazon cloud drive) 31697 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, China Mobile, Cloudflare, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, IDrive e2, Liara, Lyve Cloud, Minio, Netease, RackCorp, Scaleway, SeaweedFS, StackPath, Storj, Tencent COS, Qiniu and Wasabi 31698 \[rs] (s3) 31699 [snip] 31700 Storage> s3 31701 \f[R] 31702 .fi 31703 .IP "4." 3 31704 Select \f[C]Qiniu\f[R] provider. 31705 .IP 31706 .nf 31707 \f[C] 31708 Choose a number from below, or type in your own value 31709 1 / Amazon Web Services (AWS) S3 31710 \[rs] \[dq]AWS\[dq] 31711 [snip] 31712 22 / Qiniu Object Storage (Kodo) 31713 \[rs] (Qiniu) 31714 [snip] 31715 provider> Qiniu 31716 \f[R] 31717 .fi 31718 .IP "5." 3 31719 Enter your SecretId and SecretKey of Qiniu Kodo. 31720 .IP 31721 .nf 31722 \f[C] 31723 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 31724 Only applies if access_key_id and secret_access_key is blank. 31725 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 31726 Choose a number from below, or type in your own value 31727 1 / Enter AWS credentials in the next step 31728 \[rs] \[dq]false\[dq] 31729 2 / Get AWS credentials from the environment (env vars or IAM) 31730 \[rs] \[dq]true\[dq] 31731 env_auth> 1 31732 AWS Access Key ID. 31733 Leave blank for anonymous access or runtime credentials. 31734 Enter a string value. Press Enter for the default (\[dq]\[dq]). 31735 access_key_id> AKIDxxxxxxxxxx 31736 AWS Secret Access Key (password) 31737 Leave blank for anonymous access or runtime credentials. 31738 Enter a string value. Press Enter for the default (\[dq]\[dq]). 31739 secret_access_key> xxxxxxxxxxx 31740 \f[R] 31741 .fi 31742 .IP "6." 3 31743 Select endpoint for Qiniu Kodo. 31744 This is the standard endpoint for different region. 31745 .IP 31746 .nf 31747 \f[C] 31748 / The default endpoint - a good choice if you are unsure. 31749 1 | East China Region 1. 31750 | Needs location constraint cn-east-1. 31751 \[rs] (cn-east-1) 31752 / East China Region 2. 31753 2 | Needs location constraint cn-east-2. 31754 \[rs] (cn-east-2) 31755 / North China Region 1. 31756 3 | Needs location constraint cn-north-1. 31757 \[rs] (cn-north-1) 31758 / South China Region 1. 31759 4 | Needs location constraint cn-south-1. 31760 \[rs] (cn-south-1) 31761 / North America Region. 31762 5 | Needs location constraint us-north-1. 31763 \[rs] (us-north-1) 31764 / Southeast Asia Region 1. 31765 6 | Needs location constraint ap-southeast-1. 31766 \[rs] (ap-southeast-1) 31767 / Northeast Asia Region 1. 31768 7 | Needs location constraint ap-northeast-1. 31769 \[rs] (ap-northeast-1) 31770 [snip] 31771 endpoint> 1 31772 31773 Option endpoint. 31774 Endpoint for Qiniu Object Storage. 31775 Choose a number from below, or type in your own value. 31776 Press Enter to leave empty. 31777 1 / East China Endpoint 1 31778 \[rs] (s3-cn-east-1.qiniucs.com) 31779 2 / East China Endpoint 2 31780 \[rs] (s3-cn-east-2.qiniucs.com) 31781 3 / North China Endpoint 1 31782 \[rs] (s3-cn-north-1.qiniucs.com) 31783 4 / South China Endpoint 1 31784 \[rs] (s3-cn-south-1.qiniucs.com) 31785 5 / North America Endpoint 1 31786 \[rs] (s3-us-north-1.qiniucs.com) 31787 6 / Southeast Asia Endpoint 1 31788 \[rs] (s3-ap-southeast-1.qiniucs.com) 31789 7 / Northeast Asia Endpoint 1 31790 \[rs] (s3-ap-northeast-1.qiniucs.com) 31791 endpoint> 1 31792 31793 Option location_constraint. 31794 Location constraint - must be set to match the Region. 31795 Used when creating buckets only. 31796 Choose a number from below, or type in your own value. 31797 Press Enter to leave empty. 31798 1 / East China Region 1 31799 \[rs] (cn-east-1) 31800 2 / East China Region 2 31801 \[rs] (cn-east-2) 31802 3 / North China Region 1 31803 \[rs] (cn-north-1) 31804 4 / South China Region 1 31805 \[rs] (cn-south-1) 31806 5 / North America Region 1 31807 \[rs] (us-north-1) 31808 6 / Southeast Asia Region 1 31809 \[rs] (ap-southeast-1) 31810 7 / Northeast Asia Region 1 31811 \[rs] (ap-northeast-1) 31812 location_constraint> 1 31813 \f[R] 31814 .fi 31815 .IP "7." 3 31816 Choose acl and storage class. 31817 .IP 31818 .nf 31819 \f[C] 31820 Note that this ACL is applied when server-side copying objects as S3 31821 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 31822 Enter a string value. Press Enter for the default (\[dq]\[dq]). 31823 Choose a number from below, or type in your own value 31824 / Owner gets FULL_CONTROL. 31825 1 | No one else has access rights (default). 31826 \[rs] (private) 31827 / Owner gets FULL_CONTROL. 31828 2 | The AllUsers group gets READ access. 31829 \[rs] (public-read) 31830 [snip] 31831 acl> 2 31832 The storage class to use when storing new objects in Tencent COS. 31833 Enter a string value. Press Enter for the default (\[dq]\[dq]). 31834 Choose a number from below, or type in your own value 31835 1 / Standard storage class 31836 \[rs] (STANDARD) 31837 2 / Infrequent access storage mode 31838 \[rs] (LINE) 31839 3 / Archive storage mode 31840 \[rs] (GLACIER) 31841 4 / Deep archive storage mode 31842 \[rs] (DEEP_ARCHIVE) 31843 [snip] 31844 storage_class> 1 31845 Edit advanced config? (y/n) 31846 y) Yes 31847 n) No (default) 31848 y/n> n 31849 Remote config 31850 -------------------- 31851 [qiniu] 31852 - type: s3 31853 - provider: Qiniu 31854 - access_key_id: xxx 31855 - secret_access_key: xxx 31856 - region: cn-east-1 31857 - endpoint: s3-cn-east-1.qiniucs.com 31858 - location_constraint: cn-east-1 31859 - acl: public-read 31860 - storage_class: STANDARD 31861 -------------------- 31862 y) Yes this is OK (default) 31863 e) Edit this remote 31864 d) Delete this remote 31865 y/e/d> y 31866 Current remotes: 31867 31868 Name Type 31869 ==== ==== 31870 qiniu s3 31871 \f[R] 31872 .fi 31873 .SS RackCorp 31874 .PP 31875 RackCorp Object Storage (https://www.rackcorp.com/storage/s3storage) is 31876 an S3 compatible object storage platform from your friendly cloud 31877 provider RackCorp. 31878 The service is fast, reliable, well priced and located in many strategic 31879 locations unserviced by others, to ensure you can maintain data 31880 sovereignty. 31881 .PP 31882 Before you can use RackCorp Object Storage, you\[aq]ll need to \[dq]sign 31883 up (https://www.rackcorp.com/signup)\[dq] for an account on our 31884 \[dq]portal (https://portal.rackcorp.com)\[dq]. 31885 Next you can create an \f[C]access key\f[R], a \f[C]secret key\f[R] and 31886 \f[C]buckets\f[R], in your location of choice with ease. 31887 These details are required for the next steps of configuration, when 31888 \f[C]rclone config\f[R] asks for your \f[C]access_key_id\f[R] and 31889 \f[C]secret_access_key\f[R]. 31890 .PP 31891 Your config should end up looking a bit like this: 31892 .IP 31893 .nf 31894 \f[C] 31895 [RCS3-demo-config] 31896 type = s3 31897 provider = RackCorp 31898 env_auth = true 31899 access_key_id = YOURACCESSKEY 31900 secret_access_key = YOURSECRETACCESSKEY 31901 region = au-nsw 31902 endpoint = s3.rackcorp.com 31903 location_constraint = au-nsw 31904 \f[R] 31905 .fi 31906 .SS Scaleway 31907 .PP 31908 Scaleway (https://www.scaleway.com/object-storage/) The Object Storage 31909 platform allows you to store anything from backups, logs and web assets 31910 to documents and photos. 31911 Files can be dropped from the Scaleway console or transferred through 31912 our API and CLI or using any S3-compatible tool. 31913 .PP 31914 Scaleway provides an S3 interface which can be configured for use with 31915 rclone like this: 31916 .IP 31917 .nf 31918 \f[C] 31919 [scaleway] 31920 type = s3 31921 provider = Scaleway 31922 env_auth = false 31923 endpoint = s3.nl-ams.scw.cloud 31924 access_key_id = SCWXXXXXXXXXXXXXX 31925 secret_access_key = 1111111-2222-3333-44444-55555555555555 31926 region = nl-ams 31927 location_constraint = 31928 acl = private 31929 server_side_encryption = 31930 storage_class = 31931 \f[R] 31932 .fi 31933 .PP 31934 C14 Cold Storage (https://www.online.net/en/storage/c14-cold-storage) is 31935 the low-cost S3 Glacier alternative from Scaleway and it works the same 31936 way as on S3 by accepting the \[dq]GLACIER\[dq] \f[C]storage_class\f[R]. 31937 So you can configure your remote with the 31938 \f[C]storage_class = GLACIER\f[R] option to upload directly to C14. 31939 Don\[aq]t forget that in this state you can\[aq]t read files back after, 31940 you will need to restore them to \[dq]STANDARD\[dq] storage_class first 31941 before being able to read them (see \[dq]restore\[dq] section above) 31942 .SS Seagate Lyve Cloud 31943 .PP 31944 Seagate Lyve 31945 Cloud (https://www.seagate.com/gb/en/services/cloud/storage/) is an S3 31946 compatible object storage platform from Seagate (https://seagate.com/) 31947 intended for enterprise use. 31948 .PP 31949 Here is a config run through for a remote called \f[C]remote\f[R] - you 31950 may choose a different name of course. 31951 Note that to create an access key and secret key you will need to create 31952 a service account first. 31953 .IP 31954 .nf 31955 \f[C] 31956 $ rclone config 31957 No remotes found, make a new one? 31958 n) New remote 31959 s) Set configuration password 31960 q) Quit config 31961 n/s/q> n 31962 name> remote 31963 \f[R] 31964 .fi 31965 .PP 31966 Choose \f[C]s3\f[R] backend 31967 .IP 31968 .nf 31969 \f[C] 31970 Type of storage to configure. 31971 Choose a number from below, or type in your own value. 31972 [snip] 31973 XX / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Liara, Lyve Cloud, Minio, RackCorp, SeaweedFS, and Tencent COS 31974 \[rs] (s3) 31975 [snip] 31976 Storage> s3 31977 \f[R] 31978 .fi 31979 .PP 31980 Choose \f[C]LyveCloud\f[R] as S3 provider 31981 .IP 31982 .nf 31983 \f[C] 31984 Choose your S3 provider. 31985 Choose a number from below, or type in your own value. 31986 Press Enter to leave empty. 31987 [snip] 31988 XX / Seagate Lyve Cloud 31989 \[rs] (LyveCloud) 31990 [snip] 31991 provider> LyveCloud 31992 \f[R] 31993 .fi 31994 .PP 31995 Take the default (just press enter) to enter access key and secret in 31996 the config file. 31997 .IP 31998 .nf 31999 \f[C] 32000 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 32001 Only applies if access_key_id and secret_access_key is blank. 32002 Choose a number from below, or type in your own boolean value (true or false). 32003 Press Enter for the default (false). 32004 1 / Enter AWS credentials in the next step. 32005 \[rs] (false) 32006 2 / Get AWS credentials from the environment (env vars or IAM). 32007 \[rs] (true) 32008 env_auth> 32009 \f[R] 32010 .fi 32011 .IP 32012 .nf 32013 \f[C] 32014 AWS Access Key ID. 32015 Leave blank for anonymous access or runtime credentials. 32016 Enter a value. Press Enter to leave empty. 32017 access_key_id> XXX 32018 \f[R] 32019 .fi 32020 .IP 32021 .nf 32022 \f[C] 32023 AWS Secret Access Key (password). 32024 Leave blank for anonymous access or runtime credentials. 32025 Enter a value. Press Enter to leave empty. 32026 secret_access_key> YYY 32027 \f[R] 32028 .fi 32029 .PP 32030 Leave region blank 32031 .IP 32032 .nf 32033 \f[C] 32034 Region to connect to. 32035 Leave blank if you are using an S3 clone and you don\[aq]t have a region. 32036 Choose a number from below, or type in your own value. 32037 Press Enter to leave empty. 32038 / Use this if unsure. 32039 1 | Will use v4 signatures and an empty region. 32040 \[rs] () 32041 / Use this only if v4 signatures don\[aq]t work. 32042 2 | E.g. pre Jewel/v10 CEPH. 32043 \[rs] (other-v2-signature) 32044 region> 32045 \f[R] 32046 .fi 32047 .PP 32048 Choose an endpoint from the list 32049 .IP 32050 .nf 32051 \f[C] 32052 Endpoint for S3 API. 32053 Required when using an S3 clone. 32054 Choose a number from below, or type in your own value. 32055 Press Enter to leave empty. 32056 1 / Seagate Lyve Cloud US East 1 (Virginia) 32057 \[rs] (s3.us-east-1.lyvecloud.seagate.com) 32058 2 / Seagate Lyve Cloud US West 1 (California) 32059 \[rs] (s3.us-west-1.lyvecloud.seagate.com) 32060 3 / Seagate Lyve Cloud AP Southeast 1 (Singapore) 32061 \[rs] (s3.ap-southeast-1.lyvecloud.seagate.com) 32062 endpoint> 1 32063 \f[R] 32064 .fi 32065 .PP 32066 Leave location constraint blank 32067 .IP 32068 .nf 32069 \f[C] 32070 Location constraint - must be set to match the Region. 32071 Leave blank if not sure. Used when creating buckets only. 32072 Enter a value. Press Enter to leave empty. 32073 location_constraint> 32074 \f[R] 32075 .fi 32076 .PP 32077 Choose default ACL (\f[C]private\f[R]). 32078 .IP 32079 .nf 32080 \f[C] 32081 Canned ACL used when creating buckets and storing or copying objects. 32082 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too. 32083 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 32084 Note that this ACL is applied when server-side copying objects as S3 32085 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 32086 Choose a number from below, or type in your own value. 32087 Press Enter to leave empty. 32088 / Owner gets FULL_CONTROL. 32089 1 | No one else has access rights (default). 32090 \[rs] (private) 32091 [snip] 32092 acl> 32093 \f[R] 32094 .fi 32095 .PP 32096 And the config file should end up looking like this: 32097 .IP 32098 .nf 32099 \f[C] 32100 [remote] 32101 type = s3 32102 provider = LyveCloud 32103 access_key_id = XXX 32104 secret_access_key = YYY 32105 endpoint = s3.us-east-1.lyvecloud.seagate.com 32106 \f[R] 32107 .fi 32108 .SS SeaweedFS 32109 .PP 32110 SeaweedFS (https://github.com/chrislusf/seaweedfs/) is a distributed 32111 storage system for blobs, objects, files, and data lake, with O(1) disk 32112 seek and a scalable file metadata store. 32113 It has an S3 compatible object storage interface. 32114 SeaweedFS can also act as a gateway to remote S3 compatible object 32115 store (https://github.com/chrislusf/seaweedfs/wiki/Gateway-to-Remote-Object-Storage) 32116 to cache data and metadata with asynchronous write back, for fast local 32117 speed and minimize access cost. 32118 .PP 32119 Assuming the SeaweedFS are configured with \f[C]weed shell\f[R] as such: 32120 .IP 32121 .nf 32122 \f[C] 32123 > s3.bucket.create -name foo 32124 > s3.configure -access_key=any -secret_key=any -buckets=foo -user=me -actions=Read,Write,List,Tagging,Admin -apply 32125 { 32126 \[dq]identities\[dq]: [ 32127 { 32128 \[dq]name\[dq]: \[dq]me\[dq], 32129 \[dq]credentials\[dq]: [ 32130 { 32131 \[dq]accessKey\[dq]: \[dq]any\[dq], 32132 \[dq]secretKey\[dq]: \[dq]any\[dq] 32133 } 32134 ], 32135 \[dq]actions\[dq]: [ 32136 \[dq]Read:foo\[dq], 32137 \[dq]Write:foo\[dq], 32138 \[dq]List:foo\[dq], 32139 \[dq]Tagging:foo\[dq], 32140 \[dq]Admin:foo\[dq] 32141 ] 32142 } 32143 ] 32144 } 32145 \f[R] 32146 .fi 32147 .PP 32148 To use rclone with SeaweedFS, above configuration should end up with 32149 something like this in your config: 32150 .IP 32151 .nf 32152 \f[C] 32153 [seaweedfs_s3] 32154 type = s3 32155 provider = SeaweedFS 32156 access_key_id = any 32157 secret_access_key = any 32158 endpoint = localhost:8333 32159 \f[R] 32160 .fi 32161 .PP 32162 So once set up, for example to copy files into a bucket 32163 .IP 32164 .nf 32165 \f[C] 32166 rclone copy /path/to/files seaweedfs_s3:foo 32167 \f[R] 32168 .fi 32169 .SS Wasabi 32170 .PP 32171 Wasabi (https://wasabi.com) is a cloud-based object storage service for 32172 a broad range of applications and use cases. 32173 Wasabi is designed for individuals and organizations that require a 32174 high-performance, reliable, and secure data storage infrastructure at 32175 minimal cost. 32176 .PP 32177 Wasabi provides an S3 interface which can be configured for use with 32178 rclone like this. 32179 .IP 32180 .nf 32181 \f[C] 32182 No remotes found, make a new one? 32183 n) New remote 32184 s) Set configuration password 32185 n/s> n 32186 name> wasabi 32187 Type of storage to configure. 32188 Choose a number from below, or type in your own value 32189 [snip] 32190 XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Minio, Liara) 32191 \[rs] \[dq]s3\[dq] 32192 [snip] 32193 Storage> s3 32194 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. 32195 Choose a number from below, or type in your own value 32196 1 / Enter AWS credentials in the next step 32197 \[rs] \[dq]false\[dq] 32198 2 / Get AWS credentials from the environment (env vars or IAM) 32199 \[rs] \[dq]true\[dq] 32200 env_auth> 1 32201 AWS Access Key ID - leave blank for anonymous access or runtime credentials. 32202 access_key_id> YOURACCESSKEY 32203 AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. 32204 secret_access_key> YOURSECRETACCESSKEY 32205 Region to connect to. 32206 Choose a number from below, or type in your own value 32207 / The default endpoint - a good choice if you are unsure. 32208 1 | US Region, Northern Virginia, or Pacific Northwest. 32209 | Leave location constraint empty. 32210 \[rs] \[dq]us-east-1\[dq] 32211 [snip] 32212 region> us-east-1 32213 Endpoint for S3 API. 32214 Leave blank if using AWS to use the default endpoint for the region. 32215 Specify if using an S3 clone such as Ceph. 32216 endpoint> s3.wasabisys.com 32217 Location constraint - must be set to match the Region. Used when creating buckets only. 32218 Choose a number from below, or type in your own value 32219 1 / Empty for US Region, Northern Virginia, or Pacific Northwest. 32220 \[rs] \[dq]\[dq] 32221 [snip] 32222 location_constraint> 32223 Canned ACL used when creating buckets and/or storing objects in S3. 32224 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 32225 Choose a number from below, or type in your own value 32226 1 / Owner gets FULL_CONTROL. No one else has access rights (default). 32227 \[rs] \[dq]private\[dq] 32228 [snip] 32229 acl> 32230 The server-side encryption algorithm used when storing this object in S3. 32231 Choose a number from below, or type in your own value 32232 1 / None 32233 \[rs] \[dq]\[dq] 32234 2 / AES256 32235 \[rs] \[dq]AES256\[dq] 32236 server_side_encryption> 32237 The storage class to use when storing objects in S3. 32238 Choose a number from below, or type in your own value 32239 1 / Default 32240 \[rs] \[dq]\[dq] 32241 2 / Standard storage class 32242 \[rs] \[dq]STANDARD\[dq] 32243 3 / Reduced redundancy storage class 32244 \[rs] \[dq]REDUCED_REDUNDANCY\[dq] 32245 4 / Standard Infrequent Access storage class 32246 \[rs] \[dq]STANDARD_IA\[dq] 32247 storage_class> 32248 Remote config 32249 -------------------- 32250 [wasabi] 32251 env_auth = false 32252 access_key_id = YOURACCESSKEY 32253 secret_access_key = YOURSECRETACCESSKEY 32254 region = us-east-1 32255 endpoint = s3.wasabisys.com 32256 location_constraint = 32257 acl = 32258 server_side_encryption = 32259 storage_class = 32260 -------------------- 32261 y) Yes this is OK 32262 e) Edit this remote 32263 d) Delete this remote 32264 y/e/d> y 32265 \f[R] 32266 .fi 32267 .PP 32268 This will leave the config file looking like this. 32269 .IP 32270 .nf 32271 \f[C] 32272 [wasabi] 32273 type = s3 32274 provider = Wasabi 32275 env_auth = false 32276 access_key_id = YOURACCESSKEY 32277 secret_access_key = YOURSECRETACCESSKEY 32278 region = 32279 endpoint = s3.wasabisys.com 32280 location_constraint = 32281 acl = 32282 server_side_encryption = 32283 storage_class = 32284 \f[R] 32285 .fi 32286 .SS Alibaba OSS 32287 .PP 32288 Here is an example of making an Alibaba Cloud (Aliyun) 32289 OSS (https://www.alibabacloud.com/product/oss/) configuration. 32290 First run: 32291 .IP 32292 .nf 32293 \f[C] 32294 rclone config 32295 \f[R] 32296 .fi 32297 .PP 32298 This will guide you through an interactive setup process. 32299 .IP 32300 .nf 32301 \f[C] 32302 No remotes found, make a new one? 32303 n) New remote 32304 s) Set configuration password 32305 q) Quit config 32306 n/s/q> n 32307 name> oss 32308 Type of storage to configure. 32309 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32310 Choose a number from below, or type in your own value 32311 [snip] 32312 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Liara, Minio, and Tencent COS 32313 \[rs] \[dq]s3\[dq] 32314 [snip] 32315 Storage> s3 32316 Choose your S3 provider. 32317 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32318 Choose a number from below, or type in your own value 32319 1 / Amazon Web Services (AWS) S3 32320 \[rs] \[dq]AWS\[dq] 32321 2 / Alibaba Cloud Object Storage System (OSS) formerly Aliyun 32322 \[rs] \[dq]Alibaba\[dq] 32323 3 / Ceph Object Storage 32324 \[rs] \[dq]Ceph\[dq] 32325 [snip] 32326 provider> Alibaba 32327 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 32328 Only applies if access_key_id and secret_access_key is blank. 32329 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 32330 Choose a number from below, or type in your own value 32331 1 / Enter AWS credentials in the next step 32332 \[rs] \[dq]false\[dq] 32333 2 / Get AWS credentials from the environment (env vars or IAM) 32334 \[rs] \[dq]true\[dq] 32335 env_auth> 1 32336 AWS Access Key ID. 32337 Leave blank for anonymous access or runtime credentials. 32338 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32339 access_key_id> accesskeyid 32340 AWS Secret Access Key (password) 32341 Leave blank for anonymous access or runtime credentials. 32342 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32343 secret_access_key> secretaccesskey 32344 Endpoint for OSS API. 32345 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32346 Choose a number from below, or type in your own value 32347 1 / East China 1 (Hangzhou) 32348 \[rs] \[dq]oss-cn-hangzhou.aliyuncs.com\[dq] 32349 2 / East China 2 (Shanghai) 32350 \[rs] \[dq]oss-cn-shanghai.aliyuncs.com\[dq] 32351 3 / North China 1 (Qingdao) 32352 \[rs] \[dq]oss-cn-qingdao.aliyuncs.com\[dq] 32353 [snip] 32354 endpoint> 1 32355 Canned ACL used when creating buckets and storing or copying objects. 32356 32357 Note that this ACL is applied when server-side copying objects as S3 32358 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 32359 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32360 Choose a number from below, or type in your own value 32361 1 / Owner gets FULL_CONTROL. No one else has access rights (default). 32362 \[rs] \[dq]private\[dq] 32363 2 / Owner gets FULL_CONTROL. The AllUsers group gets READ access. 32364 \[rs] \[dq]public-read\[dq] 32365 / Owner gets FULL_CONTROL. The AllUsers group gets READ and WRITE access. 32366 [snip] 32367 acl> 1 32368 The storage class to use when storing new objects in OSS. 32369 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32370 Choose a number from below, or type in your own value 32371 1 / Default 32372 \[rs] \[dq]\[dq] 32373 2 / Standard storage class 32374 \[rs] \[dq]STANDARD\[dq] 32375 3 / Archive storage mode. 32376 \[rs] \[dq]GLACIER\[dq] 32377 4 / Infrequent access storage mode. 32378 \[rs] \[dq]STANDARD_IA\[dq] 32379 storage_class> 1 32380 Edit advanced config? (y/n) 32381 y) Yes 32382 n) No 32383 y/n> n 32384 Remote config 32385 -------------------- 32386 [oss] 32387 type = s3 32388 provider = Alibaba 32389 env_auth = false 32390 access_key_id = accesskeyid 32391 secret_access_key = secretaccesskey 32392 endpoint = oss-cn-hangzhou.aliyuncs.com 32393 acl = private 32394 storage_class = Standard 32395 -------------------- 32396 y) Yes this is OK 32397 e) Edit this remote 32398 d) Delete this remote 32399 y/e/d> y 32400 \f[R] 32401 .fi 32402 .SS China Mobile Ecloud Elastic Object Storage (EOS) 32403 .PP 32404 Here is an example of making an China Mobile Ecloud Elastic Object 32405 Storage (EOS) (https:///ecloud.10086.cn/home/product-introduction/eos/) 32406 configuration. 32407 First run: 32408 .IP 32409 .nf 32410 \f[C] 32411 rclone config 32412 \f[R] 32413 .fi 32414 .PP 32415 This will guide you through an interactive setup process. 32416 .IP 32417 .nf 32418 \f[C] 32419 No remotes found, make a new one? 32420 n) New remote 32421 s) Set configuration password 32422 q) Quit config 32423 n/s/q> n 32424 name> ChinaMobile 32425 Option Storage. 32426 Type of storage to configure. 32427 Choose a number from below, or type in your own value. 32428 ... 32429 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Lyve Cloud, Minio, RackCorp, SeaweedFS, and Tencent COS 32430 \[rs] (s3) 32431 ... 32432 Storage> s3 32433 Option provider. 32434 Choose your S3 provider. 32435 Choose a number from below, or type in your own value. 32436 Press Enter to leave empty. 32437 ... 32438 4 / China Mobile Ecloud Elastic Object Storage (EOS) 32439 \[rs] (ChinaMobile) 32440 ... 32441 provider> ChinaMobile 32442 Option env_auth. 32443 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 32444 Only applies if access_key_id and secret_access_key is blank. 32445 Choose a number from below, or type in your own boolean value (true or false). 32446 Press Enter for the default (false). 32447 1 / Enter AWS credentials in the next step. 32448 \[rs] (false) 32449 2 / Get AWS credentials from the environment (env vars or IAM). 32450 \[rs] (true) 32451 env_auth> 32452 Option access_key_id. 32453 AWS Access Key ID. 32454 Leave blank for anonymous access or runtime credentials. 32455 Enter a value. Press Enter to leave empty. 32456 access_key_id> accesskeyid 32457 Option secret_access_key. 32458 AWS Secret Access Key (password). 32459 Leave blank for anonymous access or runtime credentials. 32460 Enter a value. Press Enter to leave empty. 32461 secret_access_key> secretaccesskey 32462 Option endpoint. 32463 Endpoint for China Mobile Ecloud Elastic Object Storage (EOS) API. 32464 Choose a number from below, or type in your own value. 32465 Press Enter to leave empty. 32466 / The default endpoint - a good choice if you are unsure. 32467 1 | East China (Suzhou) 32468 \[rs] (eos-wuxi-1.cmecloud.cn) 32469 2 / East China (Jinan) 32470 \[rs] (eos-jinan-1.cmecloud.cn) 32471 3 / East China (Hangzhou) 32472 \[rs] (eos-ningbo-1.cmecloud.cn) 32473 4 / East China (Shanghai-1) 32474 \[rs] (eos-shanghai-1.cmecloud.cn) 32475 5 / Central China (Zhengzhou) 32476 \[rs] (eos-zhengzhou-1.cmecloud.cn) 32477 6 / Central China (Changsha-1) 32478 \[rs] (eos-hunan-1.cmecloud.cn) 32479 7 / Central China (Changsha-2) 32480 \[rs] (eos-zhuzhou-1.cmecloud.cn) 32481 8 / South China (Guangzhou-2) 32482 \[rs] (eos-guangzhou-1.cmecloud.cn) 32483 9 / South China (Guangzhou-3) 32484 \[rs] (eos-dongguan-1.cmecloud.cn) 32485 10 / North China (Beijing-1) 32486 \[rs] (eos-beijing-1.cmecloud.cn) 32487 11 / North China (Beijing-2) 32488 \[rs] (eos-beijing-2.cmecloud.cn) 32489 12 / North China (Beijing-3) 32490 \[rs] (eos-beijing-4.cmecloud.cn) 32491 13 / North China (Huhehaote) 32492 \[rs] (eos-huhehaote-1.cmecloud.cn) 32493 14 / Southwest China (Chengdu) 32494 \[rs] (eos-chengdu-1.cmecloud.cn) 32495 15 / Southwest China (Chongqing) 32496 \[rs] (eos-chongqing-1.cmecloud.cn) 32497 16 / Southwest China (Guiyang) 32498 \[rs] (eos-guiyang-1.cmecloud.cn) 32499 17 / Nouthwest China (Xian) 32500 \[rs] (eos-xian-1.cmecloud.cn) 32501 18 / Yunnan China (Kunming) 32502 \[rs] (eos-yunnan.cmecloud.cn) 32503 19 / Yunnan China (Kunming-2) 32504 \[rs] (eos-yunnan-2.cmecloud.cn) 32505 20 / Tianjin China (Tianjin) 32506 \[rs] (eos-tianjin-1.cmecloud.cn) 32507 21 / Jilin China (Changchun) 32508 \[rs] (eos-jilin-1.cmecloud.cn) 32509 22 / Hubei China (Xiangyan) 32510 \[rs] (eos-hubei-1.cmecloud.cn) 32511 23 / Jiangxi China (Nanchang) 32512 \[rs] (eos-jiangxi-1.cmecloud.cn) 32513 24 / Gansu China (Lanzhou) 32514 \[rs] (eos-gansu-1.cmecloud.cn) 32515 25 / Shanxi China (Taiyuan) 32516 \[rs] (eos-shanxi-1.cmecloud.cn) 32517 26 / Liaoning China (Shenyang) 32518 \[rs] (eos-liaoning-1.cmecloud.cn) 32519 27 / Hebei China (Shijiazhuang) 32520 \[rs] (eos-hebei-1.cmecloud.cn) 32521 28 / Fujian China (Xiamen) 32522 \[rs] (eos-fujian-1.cmecloud.cn) 32523 29 / Guangxi China (Nanning) 32524 \[rs] (eos-guangxi-1.cmecloud.cn) 32525 30 / Anhui China (Huainan) 32526 \[rs] (eos-anhui-1.cmecloud.cn) 32527 endpoint> 1 32528 Option location_constraint. 32529 Location constraint - must match endpoint. 32530 Used when creating buckets only. 32531 Choose a number from below, or type in your own value. 32532 Press Enter to leave empty. 32533 1 / East China (Suzhou) 32534 \[rs] (wuxi1) 32535 2 / East China (Jinan) 32536 \[rs] (jinan1) 32537 3 / East China (Hangzhou) 32538 \[rs] (ningbo1) 32539 4 / East China (Shanghai-1) 32540 \[rs] (shanghai1) 32541 5 / Central China (Zhengzhou) 32542 \[rs] (zhengzhou1) 32543 6 / Central China (Changsha-1) 32544 \[rs] (hunan1) 32545 7 / Central China (Changsha-2) 32546 \[rs] (zhuzhou1) 32547 8 / South China (Guangzhou-2) 32548 \[rs] (guangzhou1) 32549 9 / South China (Guangzhou-3) 32550 \[rs] (dongguan1) 32551 10 / North China (Beijing-1) 32552 \[rs] (beijing1) 32553 11 / North China (Beijing-2) 32554 \[rs] (beijing2) 32555 12 / North China (Beijing-3) 32556 \[rs] (beijing4) 32557 13 / North China (Huhehaote) 32558 \[rs] (huhehaote1) 32559 14 / Southwest China (Chengdu) 32560 \[rs] (chengdu1) 32561 15 / Southwest China (Chongqing) 32562 \[rs] (chongqing1) 32563 16 / Southwest China (Guiyang) 32564 \[rs] (guiyang1) 32565 17 / Nouthwest China (Xian) 32566 \[rs] (xian1) 32567 18 / Yunnan China (Kunming) 32568 \[rs] (yunnan) 32569 19 / Yunnan China (Kunming-2) 32570 \[rs] (yunnan2) 32571 20 / Tianjin China (Tianjin) 32572 \[rs] (tianjin1) 32573 21 / Jilin China (Changchun) 32574 \[rs] (jilin1) 32575 22 / Hubei China (Xiangyan) 32576 \[rs] (hubei1) 32577 23 / Jiangxi China (Nanchang) 32578 \[rs] (jiangxi1) 32579 24 / Gansu China (Lanzhou) 32580 \[rs] (gansu1) 32581 25 / Shanxi China (Taiyuan) 32582 \[rs] (shanxi1) 32583 26 / Liaoning China (Shenyang) 32584 \[rs] (liaoning1) 32585 27 / Hebei China (Shijiazhuang) 32586 \[rs] (hebei1) 32587 28 / Fujian China (Xiamen) 32588 \[rs] (fujian1) 32589 29 / Guangxi China (Nanning) 32590 \[rs] (guangxi1) 32591 30 / Anhui China (Huainan) 32592 \[rs] (anhui1) 32593 location_constraint> 1 32594 Option acl. 32595 Canned ACL used when creating buckets and storing or copying objects. 32596 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too. 32597 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 32598 Note that this ACL is applied when server-side copying objects as S3 32599 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 32600 Choose a number from below, or type in your own value. 32601 Press Enter to leave empty. 32602 / Owner gets FULL_CONTROL. 32603 1 | No one else has access rights (default). 32604 \[rs] (private) 32605 / Owner gets FULL_CONTROL. 32606 2 | The AllUsers group gets READ access. 32607 \[rs] (public-read) 32608 / Owner gets FULL_CONTROL. 32609 3 | The AllUsers group gets READ and WRITE access. 32610 | Granting this on a bucket is generally not recommended. 32611 \[rs] (public-read-write) 32612 / Owner gets FULL_CONTROL. 32613 4 | The AuthenticatedUsers group gets READ access. 32614 \[rs] (authenticated-read) 32615 / Object owner gets FULL_CONTROL. 32616 acl> private 32617 Option server_side_encryption. 32618 The server-side encryption algorithm used when storing this object in S3. 32619 Choose a number from below, or type in your own value. 32620 Press Enter to leave empty. 32621 1 / None 32622 \[rs] () 32623 2 / AES256 32624 \[rs] (AES256) 32625 server_side_encryption> 32626 Option storage_class. 32627 The storage class to use when storing new objects in ChinaMobile. 32628 Choose a number from below, or type in your own value. 32629 Press Enter to leave empty. 32630 1 / Default 32631 \[rs] () 32632 2 / Standard storage class 32633 \[rs] (STANDARD) 32634 3 / Archive storage mode 32635 \[rs] (GLACIER) 32636 4 / Infrequent access storage mode 32637 \[rs] (STANDARD_IA) 32638 storage_class> 32639 Edit advanced config? 32640 y) Yes 32641 n) No (default) 32642 y/n> n 32643 -------------------- 32644 [ChinaMobile] 32645 type = s3 32646 provider = ChinaMobile 32647 access_key_id = accesskeyid 32648 secret_access_key = secretaccesskey 32649 endpoint = eos-wuxi-1.cmecloud.cn 32650 location_constraint = wuxi1 32651 acl = private 32652 -------------------- 32653 y) Yes this is OK (default) 32654 e) Edit this remote 32655 d) Delete this remote 32656 y/e/d> y 32657 \f[R] 32658 .fi 32659 .SS Liara 32660 .PP 32661 Here is an example of making a Liara Object 32662 Storage (https://liara.ir/landing/object-storage) configuration. 32663 First run: 32664 .IP 32665 .nf 32666 \f[C] 32667 rclone config 32668 \f[R] 32669 .fi 32670 .PP 32671 This will guide you through an interactive setup process. 32672 .IP 32673 .nf 32674 \f[C] 32675 No remotes found, make a new one? 32676 n) New remote 32677 s) Set configuration password 32678 n/s> n 32679 name> Liara 32680 Type of storage to configure. 32681 Choose a number from below, or type in your own value 32682 [snip] 32683 XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio) 32684 \[rs] \[dq]s3\[dq] 32685 [snip] 32686 Storage> s3 32687 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. 32688 Choose a number from below, or type in your own value 32689 1 / Enter AWS credentials in the next step 32690 \[rs] \[dq]false\[dq] 32691 2 / Get AWS credentials from the environment (env vars or IAM) 32692 \[rs] \[dq]true\[dq] 32693 env_auth> 1 32694 AWS Access Key ID - leave blank for anonymous access or runtime credentials. 32695 access_key_id> YOURACCESSKEY 32696 AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. 32697 secret_access_key> YOURSECRETACCESSKEY 32698 Region to connect to. 32699 Choose a number from below, or type in your own value 32700 / The default endpoint 32701 1 | US Region, Northern Virginia, or Pacific Northwest. 32702 | Leave location constraint empty. 32703 \[rs] \[dq]us-east-1\[dq] 32704 [snip] 32705 region> 32706 Endpoint for S3 API. 32707 Leave blank if using Liara to use the default endpoint for the region. 32708 Specify if using an S3 clone such as Ceph. 32709 endpoint> storage.iran.liara.space 32710 Canned ACL used when creating buckets and/or storing objects in S3. 32711 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 32712 Choose a number from below, or type in your own value 32713 1 / Owner gets FULL_CONTROL. No one else has access rights (default). 32714 \[rs] \[dq]private\[dq] 32715 [snip] 32716 acl> 32717 The server-side encryption algorithm used when storing this object in S3. 32718 Choose a number from below, or type in your own value 32719 1 / None 32720 \[rs] \[dq]\[dq] 32721 2 / AES256 32722 \[rs] \[dq]AES256\[dq] 32723 server_side_encryption> 32724 The storage class to use when storing objects in S3. 32725 Choose a number from below, or type in your own value 32726 1 / Default 32727 \[rs] \[dq]\[dq] 32728 2 / Standard storage class 32729 \[rs] \[dq]STANDARD\[dq] 32730 storage_class> 32731 Remote config 32732 -------------------- 32733 [Liara] 32734 env_auth = false 32735 access_key_id = YOURACCESSKEY 32736 secret_access_key = YOURSECRETACCESSKEY 32737 endpoint = storage.iran.liara.space 32738 location_constraint = 32739 acl = 32740 server_side_encryption = 32741 storage_class = 32742 -------------------- 32743 y) Yes this is OK 32744 e) Edit this remote 32745 d) Delete this remote 32746 y/e/d> y 32747 \f[R] 32748 .fi 32749 .PP 32750 This will leave the config file looking like this. 32751 .IP 32752 .nf 32753 \f[C] 32754 [Liara] 32755 type = s3 32756 provider = Liara 32757 env_auth = false 32758 access_key_id = YOURACCESSKEY 32759 secret_access_key = YOURSECRETACCESSKEY 32760 region = 32761 endpoint = storage.iran.liara.space 32762 location_constraint = 32763 acl = 32764 server_side_encryption = 32765 storage_class = 32766 \f[R] 32767 .fi 32768 .SS ArvanCloud 32769 .PP 32770 ArvanCloud (https://www.arvancloud.com/en/products/cloud-storage) 32771 ArvanCloud Object Storage goes beyond the limited traditional file 32772 storage. 32773 It gives you access to backup and archived files and allows sharing. 32774 Files like profile image in the app, images sent by users or scanned 32775 documents can be stored securely and easily in our Object Storage 32776 service. 32777 .PP 32778 ArvanCloud provides an S3 interface which can be configured for use with 32779 rclone like this. 32780 .IP 32781 .nf 32782 \f[C] 32783 No remotes found, make a new one? 32784 n) New remote 32785 s) Set configuration password 32786 n/s> n 32787 name> ArvanCloud 32788 Type of storage to configure. 32789 Choose a number from below, or type in your own value 32790 [snip] 32791 XX / Amazon S3 (also Dreamhost, Ceph, ChinaMobile, ArvanCloud, Liara, Minio) 32792 \[rs] \[dq]s3\[dq] 32793 [snip] 32794 Storage> s3 32795 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. 32796 Choose a number from below, or type in your own value 32797 1 / Enter AWS credentials in the next step 32798 \[rs] \[dq]false\[dq] 32799 2 / Get AWS credentials from the environment (env vars or IAM) 32800 \[rs] \[dq]true\[dq] 32801 env_auth> 1 32802 AWS Access Key ID - leave blank for anonymous access or runtime credentials. 32803 access_key_id> YOURACCESSKEY 32804 AWS Secret Access Key (password) - leave blank for anonymous access or runtime credentials. 32805 secret_access_key> YOURSECRETACCESSKEY 32806 Region to connect to. 32807 Choose a number from below, or type in your own value 32808 / The default endpoint - a good choice if you are unsure. 32809 1 | US Region, Northern Virginia, or Pacific Northwest. 32810 | Leave location constraint empty. 32811 \[rs] \[dq]us-east-1\[dq] 32812 [snip] 32813 region> 32814 Endpoint for S3 API. 32815 Leave blank if using ArvanCloud to use the default endpoint for the region. 32816 Specify if using an S3 clone such as Ceph. 32817 endpoint> s3.arvanstorage.com 32818 Location constraint - must be set to match the Region. Used when creating buckets only. 32819 Choose a number from below, or type in your own value 32820 1 / Empty for Iran-Tehran Region. 32821 \[rs] \[dq]\[dq] 32822 [snip] 32823 location_constraint> 32824 Canned ACL used when creating buckets and/or storing objects in S3. 32825 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 32826 Choose a number from below, or type in your own value 32827 1 / Owner gets FULL_CONTROL. No one else has access rights (default). 32828 \[rs] \[dq]private\[dq] 32829 [snip] 32830 acl> 32831 The server-side encryption algorithm used when storing this object in S3. 32832 Choose a number from below, or type in your own value 32833 1 / None 32834 \[rs] \[dq]\[dq] 32835 2 / AES256 32836 \[rs] \[dq]AES256\[dq] 32837 server_side_encryption> 32838 The storage class to use when storing objects in S3. 32839 Choose a number from below, or type in your own value 32840 1 / Default 32841 \[rs] \[dq]\[dq] 32842 2 / Standard storage class 32843 \[rs] \[dq]STANDARD\[dq] 32844 storage_class> 32845 Remote config 32846 -------------------- 32847 [ArvanCloud] 32848 env_auth = false 32849 access_key_id = YOURACCESSKEY 32850 secret_access_key = YOURSECRETACCESSKEY 32851 region = ir-thr-at1 32852 endpoint = s3.arvanstorage.com 32853 location_constraint = 32854 acl = 32855 server_side_encryption = 32856 storage_class = 32857 -------------------- 32858 y) Yes this is OK 32859 e) Edit this remote 32860 d) Delete this remote 32861 y/e/d> y 32862 \f[R] 32863 .fi 32864 .PP 32865 This will leave the config file looking like this. 32866 .IP 32867 .nf 32868 \f[C] 32869 [ArvanCloud] 32870 type = s3 32871 provider = ArvanCloud 32872 env_auth = false 32873 access_key_id = YOURACCESSKEY 32874 secret_access_key = YOURSECRETACCESSKEY 32875 region = 32876 endpoint = s3.arvanstorage.com 32877 location_constraint = 32878 acl = 32879 server_side_encryption = 32880 storage_class = 32881 \f[R] 32882 .fi 32883 .SS Tencent COS 32884 .PP 32885 Tencent Cloud Object Storage 32886 (COS) (https://intl.cloud.tencent.com/product/cos) is a distributed 32887 storage service offered by Tencent Cloud for unstructured data. 32888 It is secure, stable, massive, convenient, low-delay and low-cost. 32889 .PP 32890 To configure access to Tencent COS, follow the steps below: 32891 .IP "1." 3 32892 Run \f[C]rclone config\f[R] and select \f[C]n\f[R] for a new remote. 32893 .IP 32894 .nf 32895 \f[C] 32896 rclone config 32897 No remotes found, make a new one? 32898 n) New remote 32899 s) Set configuration password 32900 q) Quit config 32901 n/s/q> n 32902 \f[R] 32903 .fi 32904 .IP "2." 3 32905 Give the name of the configuration. 32906 For example, name it \[aq]cos\[aq]. 32907 .IP 32908 .nf 32909 \f[C] 32910 name> cos 32911 \f[R] 32912 .fi 32913 .IP "3." 3 32914 Select \f[C]s3\f[R] storage. 32915 .IP 32916 .nf 32917 \f[C] 32918 Choose a number from below, or type in your own value 32919 1 / 1Fichier 32920 \[rs] \[dq]fichier\[dq] 32921 2 / Alias for an existing remote 32922 \[rs] \[dq]alias\[dq] 32923 3 / Amazon Drive 32924 \[rs] \[dq]amazon cloud drive\[dq] 32925 4 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, ChinaMobile, ArvanCloud, DigitalOcean, Dreamhost, Huawei OBS, IBM COS, Liara, Minio, and Tencent COS 32926 \[rs] \[dq]s3\[dq] 32927 [snip] 32928 Storage> s3 32929 \f[R] 32930 .fi 32931 .IP "4." 3 32932 Select \f[C]TencentCOS\f[R] provider. 32933 .IP 32934 .nf 32935 \f[C] 32936 Choose a number from below, or type in your own value 32937 1 / Amazon Web Services (AWS) S3 32938 \[rs] \[dq]AWS\[dq] 32939 [snip] 32940 11 / Tencent Cloud Object Storage (COS) 32941 \[rs] \[dq]TencentCOS\[dq] 32942 [snip] 32943 provider> TencentCOS 32944 \f[R] 32945 .fi 32946 .IP "5." 3 32947 Enter your SecretId and SecretKey of Tencent Cloud. 32948 .IP 32949 .nf 32950 \f[C] 32951 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 32952 Only applies if access_key_id and secret_access_key is blank. 32953 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 32954 Choose a number from below, or type in your own value 32955 1 / Enter AWS credentials in the next step 32956 \[rs] \[dq]false\[dq] 32957 2 / Get AWS credentials from the environment (env vars or IAM) 32958 \[rs] \[dq]true\[dq] 32959 env_auth> 1 32960 AWS Access Key ID. 32961 Leave blank for anonymous access or runtime credentials. 32962 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32963 access_key_id> AKIDxxxxxxxxxx 32964 AWS Secret Access Key (password) 32965 Leave blank for anonymous access or runtime credentials. 32966 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32967 secret_access_key> xxxxxxxxxxx 32968 \f[R] 32969 .fi 32970 .IP "6." 3 32971 Select endpoint for Tencent COS. 32972 This is the standard endpoint for different region. 32973 .IP 32974 .nf 32975 \f[C] 32976 1 / Beijing Region. 32977 \[rs] \[dq]cos.ap-beijing.myqcloud.com\[dq] 32978 2 / Nanjing Region. 32979 \[rs] \[dq]cos.ap-nanjing.myqcloud.com\[dq] 32980 3 / Shanghai Region. 32981 \[rs] \[dq]cos.ap-shanghai.myqcloud.com\[dq] 32982 4 / Guangzhou Region. 32983 \[rs] \[dq]cos.ap-guangzhou.myqcloud.com\[dq] 32984 [snip] 32985 endpoint> 4 32986 \f[R] 32987 .fi 32988 .IP "7." 3 32989 Choose acl and storage class. 32990 .IP 32991 .nf 32992 \f[C] 32993 Note that this ACL is applied when server-side copying objects as S3 32994 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 32995 Enter a string value. Press Enter for the default (\[dq]\[dq]). 32996 Choose a number from below, or type in your own value 32997 1 / Owner gets Full_CONTROL. No one else has access rights (default). 32998 \[rs] \[dq]default\[dq] 32999 [snip] 33000 acl> 1 33001 The storage class to use when storing new objects in Tencent COS. 33002 Enter a string value. Press Enter for the default (\[dq]\[dq]). 33003 Choose a number from below, or type in your own value 33004 1 / Default 33005 \[rs] \[dq]\[dq] 33006 [snip] 33007 storage_class> 1 33008 Edit advanced config? (y/n) 33009 y) Yes 33010 n) No (default) 33011 y/n> n 33012 Remote config 33013 -------------------- 33014 [cos] 33015 type = s3 33016 provider = TencentCOS 33017 env_auth = false 33018 access_key_id = xxx 33019 secret_access_key = xxx 33020 endpoint = cos.ap-guangzhou.myqcloud.com 33021 acl = default 33022 -------------------- 33023 y) Yes this is OK (default) 33024 e) Edit this remote 33025 d) Delete this remote 33026 y/e/d> y 33027 Current remotes: 33028 33029 Name Type 33030 ==== ==== 33031 cos s3 33032 \f[R] 33033 .fi 33034 .SS Netease NOS 33035 .PP 33036 For Netease NOS configure as per the configurator 33037 \f[C]rclone config\f[R] setting the provider \f[C]Netease\f[R]. 33038 This will automatically set \f[C]force_path_style = false\f[R] which is 33039 necessary for it to run properly. 33040 .SS Petabox 33041 .PP 33042 Here is an example of making a Petabox (https://petabox.io/) 33043 configuration. 33044 First run: 33045 .IP 33046 .nf 33047 \f[C] 33048 rclone config 33049 \f[R] 33050 .fi 33051 .PP 33052 This will guide you through an interactive setup process. 33053 .IP 33054 .nf 33055 \f[C] 33056 No remotes found, make a new one? 33057 n) New remote 33058 s) Set configuration password 33059 n/s> n 33060 33061 Enter name for new remote. 33062 name> My Petabox Storage 33063 33064 Option Storage. 33065 Type of storage to configure. 33066 Choose a number from below, or type in your own value. 33067 [snip] 33068 XX / Amazon S3 Compliant Storage Providers including AWS, ... 33069 \[rs] \[dq]s3\[dq] 33070 [snip] 33071 Storage> s3 33072 33073 Option provider. 33074 Choose your S3 provider. 33075 Choose a number from below, or type in your own value. 33076 Press Enter to leave empty. 33077 [snip] 33078 XX / Petabox Object Storage 33079 \[rs] (Petabox) 33080 [snip] 33081 provider> Petabox 33082 33083 Option env_auth. 33084 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 33085 Only applies if access_key_id and secret_access_key is blank. 33086 Choose a number from below, or type in your own boolean value (true or false). 33087 Press Enter for the default (false). 33088 1 / Enter AWS credentials in the next step. 33089 \[rs] (false) 33090 2 / Get AWS credentials from the environment (env vars or IAM). 33091 \[rs] (true) 33092 env_auth> 1 33093 33094 Option access_key_id. 33095 AWS Access Key ID. 33096 Leave blank for anonymous access or runtime credentials. 33097 Enter a value. Press Enter to leave empty. 33098 access_key_id> YOUR_ACCESS_KEY_ID 33099 33100 Option secret_access_key. 33101 AWS Secret Access Key (password). 33102 Leave blank for anonymous access or runtime credentials. 33103 Enter a value. Press Enter to leave empty. 33104 secret_access_key> YOUR_SECRET_ACCESS_KEY 33105 33106 Option region. 33107 Region where your bucket will be created and your data stored. 33108 Choose a number from below, or type in your own value. 33109 Press Enter to leave empty. 33110 1 / US East (N. Virginia) 33111 \[rs] (us-east-1) 33112 2 / Europe (Frankfurt) 33113 \[rs] (eu-central-1) 33114 3 / Asia Pacific (Singapore) 33115 \[rs] (ap-southeast-1) 33116 4 / Middle East (Bahrain) 33117 \[rs] (me-south-1) 33118 5 / South America (S\[~a]o Paulo) 33119 \[rs] (sa-east-1) 33120 region> 1 33121 33122 Option endpoint. 33123 Endpoint for Petabox S3 Object Storage. 33124 Specify the endpoint from the same region. 33125 Choose a number from below, or type in your own value. 33126 1 / US East (N. Virginia) 33127 \[rs] (s3.petabox.io) 33128 2 / US East (N. Virginia) 33129 \[rs] (s3.us-east-1.petabox.io) 33130 3 / Europe (Frankfurt) 33131 \[rs] (s3.eu-central-1.petabox.io) 33132 4 / Asia Pacific (Singapore) 33133 \[rs] (s3.ap-southeast-1.petabox.io) 33134 5 / Middle East (Bahrain) 33135 \[rs] (s3.me-south-1.petabox.io) 33136 6 / South America (S\[~a]o Paulo) 33137 \[rs] (s3.sa-east-1.petabox.io) 33138 endpoint> 1 33139 33140 Option acl. 33141 Canned ACL used when creating buckets and storing or copying objects. 33142 This ACL is used for creating objects and if bucket_acl isn\[aq]t set, for creating buckets too. 33143 For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl 33144 Note that this ACL is applied when server-side copying objects as S3 33145 doesn\[aq]t copy the ACL from the source but rather writes a fresh one. 33146 If the acl is an empty string then no X-Amz-Acl: header is added and 33147 the default (private) will be used. 33148 Choose a number from below, or type in your own value. 33149 Press Enter to leave empty. 33150 / Owner gets FULL_CONTROL. 33151 1 | No one else has access rights (default). 33152 \[rs] (private) 33153 / Owner gets FULL_CONTROL. 33154 2 | The AllUsers group gets READ access. 33155 \[rs] (public-read) 33156 / Owner gets FULL_CONTROL. 33157 3 | The AllUsers group gets READ and WRITE access. 33158 | Granting this on a bucket is generally not recommended. 33159 \[rs] (public-read-write) 33160 / Owner gets FULL_CONTROL. 33161 4 | The AuthenticatedUsers group gets READ access. 33162 \[rs] (authenticated-read) 33163 / Object owner gets FULL_CONTROL. 33164 5 | Bucket owner gets READ access. 33165 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. 33166 \[rs] (bucket-owner-read) 33167 / Both the object owner and the bucket owner get FULL_CONTROL over the object. 33168 6 | If you specify this canned ACL when creating a bucket, Amazon S3 ignores it. 33169 \[rs] (bucket-owner-full-control) 33170 acl> 1 33171 33172 Edit advanced config? 33173 y) Yes 33174 n) No (default) 33175 y/n> No 33176 33177 Configuration complete. 33178 Options: 33179 - type: s3 33180 - provider: Petabox 33181 - access_key_id: YOUR_ACCESS_KEY_ID 33182 - secret_access_key: YOUR_SECRET_ACCESS_KEY 33183 - region: us-east-1 33184 - endpoint: s3.petabox.io 33185 Keep this \[dq]My Petabox Storage\[dq] remote? 33186 y) Yes this is OK (default) 33187 e) Edit this remote 33188 d) Delete this remote 33189 y/e/d> y 33190 \f[R] 33191 .fi 33192 .PP 33193 This will leave the config file looking like this. 33194 .IP 33195 .nf 33196 \f[C] 33197 [My Petabox Storage] 33198 type = s3 33199 provider = Petabox 33200 access_key_id = YOUR_ACCESS_KEY_ID 33201 secret_access_key = YOUR_SECRET_ACCESS_KEY 33202 region = us-east-1 33203 endpoint = s3.petabox.io 33204 \f[R] 33205 .fi 33206 .SS Storj 33207 .PP 33208 Storj is a decentralized cloud storage which can be used through its 33209 native protocol or an S3 compatible gateway. 33210 .PP 33211 The S3 compatible gateway is configured using \f[C]rclone config\f[R] 33212 with a type of \f[C]s3\f[R] and with a provider name of \f[C]Storj\f[R]. 33213 Here is an example run of the configurator. 33214 .IP 33215 .nf 33216 \f[C] 33217 Type of storage to configure. 33218 Storage> s3 33219 Get AWS credentials from runtime (environment variables or EC2/ECS meta data if no env vars). 33220 Only applies if access_key_id and secret_access_key is blank. 33221 Choose a number from below, or type in your own boolean value (true or false). 33222 Press Enter for the default (false). 33223 1 / Enter AWS credentials in the next step. 33224 \[rs] (false) 33225 2 / Get AWS credentials from the environment (env vars or IAM). 33226 \[rs] (true) 33227 env_auth> 1 33228 Option access_key_id. 33229 AWS Access Key ID. 33230 Leave blank for anonymous access or runtime credentials. 33231 Enter a value. Press Enter to leave empty. 33232 access_key_id> XXXX (as shown when creating the access grant) 33233 Option secret_access_key. 33234 AWS Secret Access Key (password). 33235 Leave blank for anonymous access or runtime credentials. 33236 Enter a value. Press Enter to leave empty. 33237 secret_access_key> XXXX (as shown when creating the access grant) 33238 Option endpoint. 33239 Endpoint of the Shared Gateway. 33240 Choose a number from below, or type in your own value. 33241 Press Enter to leave empty. 33242 1 / EU1 Shared Gateway 33243 \[rs] (gateway.eu1.storjshare.io) 33244 2 / US1 Shared Gateway 33245 \[rs] (gateway.us1.storjshare.io) 33246 3 / Asia-Pacific Shared Gateway 33247 \[rs] (gateway.ap1.storjshare.io) 33248 endpoint> 1 (as shown when creating the access grant) 33249 Edit advanced config? 33250 y) Yes 33251 n) No (default) 33252 y/n> n 33253 \f[R] 33254 .fi 33255 .PP 33256 Note that s3 credentials are generated when you create an access 33257 grant (https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#usage). 33258 .SS Backend quirks 33259 .IP \[bu] 2 33260 \f[C]--chunk-size\f[R] is forced to be 64 MiB or greater. 33261 This will use more memory than the default of 5 MiB. 33262 .IP \[bu] 2 33263 Server side copy is disabled as it isn\[aq]t currently supported in the 33264 gateway. 33265 .IP \[bu] 2 33266 GetTier and SetTier are not supported. 33267 .SS Backend bugs 33268 .PP 33269 Due to issue #39 (https://github.com/storj/gateway-mt/issues/39) 33270 uploading multipart files via the S3 gateway causes them to lose their 33271 metadata. 33272 For rclone\[aq]s purpose this means that the modification time is not 33273 stored, nor is any MD5SUM (if one is available from the source). 33274 .PP 33275 This has the following consequences: 33276 .IP \[bu] 2 33277 Using \f[C]rclone rcat\f[R] will fail as the medatada doesn\[aq]t match 33278 after upload 33279 .IP \[bu] 2 33280 Uploading files with \f[C]rclone mount\f[R] will fail for the same 33281 reason 33282 .RS 2 33283 .IP \[bu] 2 33284 This can worked around by using \f[C]--vfs-cache-mode writes\f[R] or 33285 \f[C]--vfs-cache-mode full\f[R] or setting \f[C]--s3-upload-cutoff\f[R] 33286 large 33287 .RE 33288 .IP \[bu] 2 33289 Files uploaded via a multipart upload won\[aq]t have their modtimes 33290 .RS 2 33291 .IP \[bu] 2 33292 This will mean that \f[C]rclone sync\f[R] will likely keep trying to 33293 upload files bigger than \f[C]--s3-upload-cutoff\f[R] 33294 .IP \[bu] 2 33295 This can be worked around with \f[C]--checksum\f[R] or 33296 \f[C]--size-only\f[R] or setting \f[C]--s3-upload-cutoff\f[R] large 33297 .IP \[bu] 2 33298 The maximum value for \f[C]--s3-upload-cutoff\f[R] is 5GiB though 33299 .RE 33300 .PP 33301 One general purpose workaround is to set 33302 \f[C]--s3-upload-cutoff 5G\f[R]. 33303 This means that rclone will upload files smaller than 5GiB as single 33304 parts. 33305 Note that this can be set in the config file with 33306 \f[C]upload_cutoff = 5G\f[R] or configured in the advanced settings. 33307 If you regularly transfer files larger than 5G then using 33308 \f[C]--checksum\f[R] or \f[C]--size-only\f[R] in \f[C]rclone sync\f[R] 33309 is the recommended workaround. 33310 .SS Comparison with the native protocol 33311 .PP 33312 Use the the native protocol to take advantage of client-side encryption 33313 as well as to achieve the best possible download performance. 33314 Uploads will be erasure-coded locally, thus a 1gb upload will result in 33315 2.68gb of data being uploaded to storage nodes across the network. 33316 .PP 33317 Use this backend and the S3 compatible Hosted Gateway to increase upload 33318 performance and reduce the load on your systems and network. 33319 Uploads will be encrypted and erasure-coded server-side, thus a 1GB 33320 upload will result in only in 1GB of data being uploaded to storage 33321 nodes across the network. 33322 .PP 33323 For more detailed comparison please check the documentation of the storj 33324 backend. 33325 .SS Limitations 33326 .PP 33327 \f[C]rclone about\f[R] is not supported by the S3 backend. 33328 Backends without this capability cannot determine free space for an 33329 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 33330 of an rclone union remote. 33331 .PP 33332 See List of backends that do not support rclone 33333 about (https://rclone.org/overview/#optional-features) and rclone 33334 about (https://rclone.org/commands/rclone_about/) 33335 .SH Backblaze B2 33336 .PP 33337 B2 is Backblaze\[aq]s cloud storage 33338 system (https://www.backblaze.com/b2/). 33339 .PP 33340 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 33341 the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 33342 \f[C]remote:bucket/path/to/dir\f[R]. 33343 .SS Configuration 33344 .PP 33345 Here is an example of making a b2 configuration. 33346 First run 33347 .IP 33348 .nf 33349 \f[C] 33350 rclone config 33351 \f[R] 33352 .fi 33353 .PP 33354 This will guide you through an interactive setup process. 33355 To authenticate you will either need your Account ID (a short hex 33356 number) and Master Application Key (a long hex number) OR an Application 33357 Key, which is the recommended method. 33358 See below for further details on generating and using an Application 33359 Key. 33360 .IP 33361 .nf 33362 \f[C] 33363 No remotes found, make a new one? 33364 n) New remote 33365 q) Quit config 33366 n/q> n 33367 name> remote 33368 Type of storage to configure. 33369 Choose a number from below, or type in your own value 33370 [snip] 33371 XX / Backblaze B2 33372 \[rs] \[dq]b2\[dq] 33373 [snip] 33374 Storage> b2 33375 Account ID or Application Key ID 33376 account> 123456789abc 33377 Application Key 33378 key> 0123456789abcdef0123456789abcdef0123456789 33379 Endpoint for the service - leave blank normally. 33380 endpoint> 33381 Remote config 33382 -------------------- 33383 [remote] 33384 account = 123456789abc 33385 key = 0123456789abcdef0123456789abcdef0123456789 33386 endpoint = 33387 -------------------- 33388 y) Yes this is OK 33389 e) Edit this remote 33390 d) Delete this remote 33391 y/e/d> y 33392 \f[R] 33393 .fi 33394 .PP 33395 This remote is called \f[C]remote\f[R] and can now be used like this 33396 .PP 33397 See all buckets 33398 .IP 33399 .nf 33400 \f[C] 33401 rclone lsd remote: 33402 \f[R] 33403 .fi 33404 .PP 33405 Create a new bucket 33406 .IP 33407 .nf 33408 \f[C] 33409 rclone mkdir remote:bucket 33410 \f[R] 33411 .fi 33412 .PP 33413 List the contents of a bucket 33414 .IP 33415 .nf 33416 \f[C] 33417 rclone ls remote:bucket 33418 \f[R] 33419 .fi 33420 .PP 33421 Sync \f[C]/home/local/directory\f[R] to the remote bucket, deleting any 33422 excess files in the bucket. 33423 .IP 33424 .nf 33425 \f[C] 33426 rclone sync --interactive /home/local/directory remote:bucket 33427 \f[R] 33428 .fi 33429 .SS Application Keys 33430 .PP 33431 B2 supports multiple Application Keys for different access permission to 33432 B2 Buckets (https://www.backblaze.com/b2/docs/application_keys.html). 33433 .PP 33434 You can use these with rclone too; you will need to use rclone version 33435 1.43 or later. 33436 .PP 33437 Follow Backblaze\[aq]s docs to create an Application Key with the 33438 required permission and add the \f[C]applicationKeyId\f[R] as the 33439 \f[C]account\f[R] and the \f[C]Application Key\f[R] itself as the 33440 \f[C]key\f[R]. 33441 .PP 33442 Note that you must put the \f[I]applicationKeyId\f[R] as the 33443 \f[C]account\f[R] \[en] you can\[aq]t use the master Account ID. 33444 If you try then B2 will return 401 errors. 33445 .SS --fast-list 33446 .PP 33447 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 33448 transactions in exchange for more memory. 33449 See the rclone docs (https://rclone.org/docs/#fast-list) for more 33450 details. 33451 .SS Modified time 33452 .PP 33453 The modified time is stored as metadata on the object as 33454 \f[C]X-Bz-Info-src_last_modified_millis\f[R] as milliseconds since 33455 1970-01-01 in the Backblaze standard. 33456 Other tools should be able to use this as a modified time. 33457 .PP 33458 Modified times are used in syncing and are fully supported. 33459 Note that if a modification time needs to be updated on an object then 33460 it will create a new version of the object. 33461 .SS Restricted filename characters 33462 .PP 33463 In addition to the default restricted characters 33464 set (https://rclone.org/overview/#restricted-characters) the following 33465 characters are also replaced: 33466 .PP 33467 .TS 33468 tab(@); 33469 l c c. 33470 T{ 33471 Character 33472 T}@T{ 33473 Value 33474 T}@T{ 33475 Replacement 33476 T} 33477 _ 33478 T{ 33479 \[rs] 33480 T}@T{ 33481 0x5C 33482 T}@T{ 33483 \[uFF3C] 33484 T} 33485 .TE 33486 .PP 33487 Invalid UTF-8 bytes will also be 33488 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 33489 be used in JSON strings. 33490 .PP 33491 Note that in 2020-05 Backblaze started allowing \ characters in file 33492 names. 33493 Rclone hasn\[aq]t changed its encoding as this could cause syncs to 33494 re-transfer files. 33495 If you want rclone not to replace \ then see the \f[C]--b2-encoding\f[R] 33496 flag below and remove the \f[C]BackSlash\f[R] from the string. 33497 This can be set in the config. 33498 .SS SHA1 checksums 33499 .PP 33500 The SHA1 checksums of the files are checked on upload and download and 33501 will be used in the syncing process. 33502 .PP 33503 Large files (bigger than the limit in \f[C]--b2-upload-cutoff\f[R]) 33504 which are uploaded in chunks will store their SHA1 on the object as 33505 \f[C]X-Bz-Info-large_file_sha1\f[R] as recommended by Backblaze. 33506 .PP 33507 For a large file to be uploaded with an SHA1 checksum, the source needs 33508 to support SHA1 checksums. 33509 The local disk supports SHA1 checksums so large file transfers from 33510 local disk will have an SHA1. 33511 See the overview (https://rclone.org/overview/#features) for exactly 33512 which remotes support SHA1. 33513 .PP 33514 Sources which don\[aq]t support SHA1, in particular \f[C]crypt\f[R] will 33515 upload large files without SHA1 checksums. 33516 This may be fixed in the future (see 33517 #1767 (https://github.com/divyam234/rclone/issues/1767)). 33518 .PP 33519 Files sizes below \f[C]--b2-upload-cutoff\f[R] will always have an SHA1 33520 regardless of the source. 33521 .SS Transfers 33522 .PP 33523 Backblaze recommends that you do lots of transfers simultaneously for 33524 maximum speed. 33525 In tests from my SSD equipped laptop the optimum setting is about 33526 \f[C]--transfers 32\f[R] though higher numbers may be used for a slight 33527 speed improvement. 33528 The optimum number for you may vary depending on your hardware, how big 33529 the files are, how much you want to load your computer, etc. 33530 The default of \f[C]--transfers 4\f[R] is definitely too low for 33531 Backblaze B2 though. 33532 .PP 33533 Note that uploading big files (bigger than 200 MiB by default) will use 33534 a 96 MiB RAM buffer by default. 33535 There can be at most \f[C]--transfers\f[R] of these in use at any 33536 moment, so this sets the upper limit on the memory used. 33537 .SS Versions 33538 .PP 33539 When rclone uploads a new version of a file it creates a new version of 33540 it (https://www.backblaze.com/b2/docs/file_versions.html). 33541 Likewise when you delete a file, the old version will be marked hidden 33542 and still be available. 33543 Conversely, you may opt in to a \[dq]hard delete\[dq] of files with the 33544 \f[C]--b2-hard-delete\f[R] flag which would permanently remove the file 33545 instead of hiding it. 33546 .PP 33547 Old versions of files, where available, are visible using the 33548 \f[C]--b2-versions\f[R] flag. 33549 .PP 33550 It is also possible to view a bucket as it was at a certain point in 33551 time, using the \f[C]--b2-version-at\f[R] flag. 33552 This will show the file versions as they were at that time, showing 33553 files that have been deleted afterwards, and hiding files that were 33554 created since. 33555 .PP 33556 If you wish to remove all the old versions then you can use the 33557 \f[C]rclone cleanup remote:bucket\f[R] command which will delete all the 33558 old versions of files, leaving the current ones intact. 33559 You can also supply a path and only old versions under that path will be 33560 deleted, e.g. 33561 \f[C]rclone cleanup remote:bucket/path/to/stuff\f[R]. 33562 .PP 33563 Note that \f[C]cleanup\f[R] will remove partially uploaded files from 33564 the bucket if they are more than a day old. 33565 .PP 33566 When you \f[C]purge\f[R] a bucket, the current and the old versions will 33567 be deleted then the bucket will be deleted. 33568 .PP 33569 However \f[C]delete\f[R] will cause the current versions of the files to 33570 become hidden old versions. 33571 .PP 33572 Here is a session showing the listing and retrieval of an old version 33573 followed by a \f[C]cleanup\f[R] of the old versions. 33574 .PP 33575 Show current version and all the versions with \f[C]--b2-versions\f[R] 33576 flag. 33577 .IP 33578 .nf 33579 \f[C] 33580 $ rclone -q ls b2:cleanup-test 33581 9 one.txt 33582 33583 $ rclone -q --b2-versions ls b2:cleanup-test 33584 9 one.txt 33585 8 one-v2016-07-04-141032-000.txt 33586 16 one-v2016-07-04-141003-000.txt 33587 15 one-v2016-07-02-155621-000.txt 33588 \f[R] 33589 .fi 33590 .PP 33591 Retrieve an old version 33592 .IP 33593 .nf 33594 \f[C] 33595 $ rclone -q --b2-versions copy b2:cleanup-test/one-v2016-07-04-141003-000.txt /tmp 33596 33597 $ ls -l /tmp/one-v2016-07-04-141003-000.txt 33598 -rw-rw-r-- 1 ncw ncw 16 Jul 2 17:46 /tmp/one-v2016-07-04-141003-000.txt 33599 \f[R] 33600 .fi 33601 .PP 33602 Clean up all the old versions and show that they\[aq]ve gone. 33603 .IP 33604 .nf 33605 \f[C] 33606 $ rclone -q cleanup b2:cleanup-test 33607 33608 $ rclone -q ls b2:cleanup-test 33609 9 one.txt 33610 33611 $ rclone -q --b2-versions ls b2:cleanup-test 33612 9 one.txt 33613 \f[R] 33614 .fi 33615 .SS Data usage 33616 .PP 33617 It is useful to know how many requests are sent to the server in 33618 different scenarios. 33619 .PP 33620 All copy commands send the following 4 requests: 33621 .IP 33622 .nf 33623 \f[C] 33624 /b2api/v1/b2_authorize_account 33625 /b2api/v1/b2_create_bucket 33626 /b2api/v1/b2_list_buckets 33627 /b2api/v1/b2_list_file_names 33628 \f[R] 33629 .fi 33630 .PP 33631 The \f[C]b2_list_file_names\f[R] request will be sent once for every 1k 33632 files in the remote path, providing the checksum and modification time 33633 of the listed files. 33634 As of version 1.33 issue 33635 #818 (https://github.com/divyam234/rclone/issues/818) causes extra requests 33636 to be sent when using B2 with Crypt. 33637 When a copy operation does not require any files to be uploaded, no more 33638 requests will be sent. 33639 .PP 33640 Uploading files that do not require chunking, will send 2 requests per 33641 file upload: 33642 .IP 33643 .nf 33644 \f[C] 33645 /b2api/v1/b2_get_upload_url 33646 /b2api/v1/b2_upload_file/ 33647 \f[R] 33648 .fi 33649 .PP 33650 Uploading files requiring chunking, will send 2 requests (one each to 33651 start and finish the upload) and another 2 requests for each chunk: 33652 .IP 33653 .nf 33654 \f[C] 33655 /b2api/v1/b2_start_large_file 33656 /b2api/v1/b2_get_upload_part_url 33657 /b2api/v1/b2_upload_part/ 33658 /b2api/v1/b2_finish_large_file 33659 \f[R] 33660 .fi 33661 .SS Versions 33662 .PP 33663 Versions can be viewed with the \f[C]--b2-versions\f[R] flag. 33664 When it is set rclone will show and act on older versions of files. 33665 For example 33666 .PP 33667 Listing without \f[C]--b2-versions\f[R] 33668 .IP 33669 .nf 33670 \f[C] 33671 $ rclone -q ls b2:cleanup-test 33672 9 one.txt 33673 \f[R] 33674 .fi 33675 .PP 33676 And with 33677 .IP 33678 .nf 33679 \f[C] 33680 $ rclone -q --b2-versions ls b2:cleanup-test 33681 9 one.txt 33682 8 one-v2016-07-04-141032-000.txt 33683 16 one-v2016-07-04-141003-000.txt 33684 15 one-v2016-07-02-155621-000.txt 33685 \f[R] 33686 .fi 33687 .PP 33688 Showing that the current version is unchanged but older versions can be 33689 seen. 33690 These have the UTC date that they were uploaded to the server to the 33691 nearest millisecond appended to them. 33692 .PP 33693 Note that when using \f[C]--b2-versions\f[R] no file write operations 33694 are permitted, so you can\[aq]t upload files or delete them. 33695 .SS B2 and rclone link 33696 .PP 33697 Rclone supports generating file share links for private B2 buckets. 33698 They can either be for a file for example: 33699 .IP 33700 .nf 33701 \f[C] 33702 \&./rclone link B2:bucket/path/to/file.txt 33703 https://f002.backblazeb2.com/file/bucket/path/to/file.txt?Authorization=xxxxxxxx 33704 \f[R] 33705 .fi 33706 .PP 33707 or if run on a directory you will get: 33708 .IP 33709 .nf 33710 \f[C] 33711 \&./rclone link B2:bucket/path 33712 https://f002.backblazeb2.com/file/bucket/path?Authorization=xxxxxxxx 33713 \f[R] 33714 .fi 33715 .PP 33716 you can then use the authorization token (the part of the url from the 33717 \f[C]?Authorization=\f[R] on) on any file path under that directory. 33718 For example: 33719 .IP 33720 .nf 33721 \f[C] 33722 https://f002.backblazeb2.com/file/bucket/path/to/file1?Authorization=xxxxxxxx 33723 https://f002.backblazeb2.com/file/bucket/path/file2?Authorization=xxxxxxxx 33724 https://f002.backblazeb2.com/file/bucket/path/folder/file3?Authorization=xxxxxxxx 33725 \f[R] 33726 .fi 33727 .SS Standard options 33728 .PP 33729 Here are the Standard options specific to b2 (Backblaze B2). 33730 .SS --b2-account 33731 .PP 33732 Account ID or Application Key ID. 33733 .PP 33734 Properties: 33735 .IP \[bu] 2 33736 Config: account 33737 .IP \[bu] 2 33738 Env Var: RCLONE_B2_ACCOUNT 33739 .IP \[bu] 2 33740 Type: string 33741 .IP \[bu] 2 33742 Required: true 33743 .SS --b2-key 33744 .PP 33745 Application Key. 33746 .PP 33747 Properties: 33748 .IP \[bu] 2 33749 Config: key 33750 .IP \[bu] 2 33751 Env Var: RCLONE_B2_KEY 33752 .IP \[bu] 2 33753 Type: string 33754 .IP \[bu] 2 33755 Required: true 33756 .SS --b2-hard-delete 33757 .PP 33758 Permanently delete files on remote removal, otherwise hide files. 33759 .PP 33760 Properties: 33761 .IP \[bu] 2 33762 Config: hard_delete 33763 .IP \[bu] 2 33764 Env Var: RCLONE_B2_HARD_DELETE 33765 .IP \[bu] 2 33766 Type: bool 33767 .IP \[bu] 2 33768 Default: false 33769 .SS Advanced options 33770 .PP 33771 Here are the Advanced options specific to b2 (Backblaze B2). 33772 .SS --b2-endpoint 33773 .PP 33774 Endpoint for the service. 33775 .PP 33776 Leave blank normally. 33777 .PP 33778 Properties: 33779 .IP \[bu] 2 33780 Config: endpoint 33781 .IP \[bu] 2 33782 Env Var: RCLONE_B2_ENDPOINT 33783 .IP \[bu] 2 33784 Type: string 33785 .IP \[bu] 2 33786 Required: false 33787 .SS --b2-test-mode 33788 .PP 33789 A flag string for X-Bz-Test-Mode header for debugging. 33790 .PP 33791 This is for debugging purposes only. 33792 Setting it to one of the strings below will cause b2 to return specific 33793 errors: 33794 .IP \[bu] 2 33795 \[dq]fail_some_uploads\[dq] 33796 .IP \[bu] 2 33797 \[dq]expire_some_account_authorization_tokens\[dq] 33798 .IP \[bu] 2 33799 \[dq]force_cap_exceeded\[dq] 33800 .PP 33801 These will be set in the \[dq]X-Bz-Test-Mode\[dq] header which is 33802 documented in the b2 integrations 33803 checklist (https://www.backblaze.com/b2/docs/integration_checklist.html). 33804 .PP 33805 Properties: 33806 .IP \[bu] 2 33807 Config: test_mode 33808 .IP \[bu] 2 33809 Env Var: RCLONE_B2_TEST_MODE 33810 .IP \[bu] 2 33811 Type: string 33812 .IP \[bu] 2 33813 Required: false 33814 .SS --b2-versions 33815 .PP 33816 Include old versions in directory listings. 33817 .PP 33818 Note that when using this no file write operations are permitted, so you 33819 can\[aq]t upload files or delete them. 33820 .PP 33821 Properties: 33822 .IP \[bu] 2 33823 Config: versions 33824 .IP \[bu] 2 33825 Env Var: RCLONE_B2_VERSIONS 33826 .IP \[bu] 2 33827 Type: bool 33828 .IP \[bu] 2 33829 Default: false 33830 .SS --b2-version-at 33831 .PP 33832 Show file versions as they were at the specified time. 33833 .PP 33834 Note that when using this no file write operations are permitted, so you 33835 can\[aq]t upload files or delete them. 33836 .PP 33837 Properties: 33838 .IP \[bu] 2 33839 Config: version_at 33840 .IP \[bu] 2 33841 Env Var: RCLONE_B2_VERSION_AT 33842 .IP \[bu] 2 33843 Type: Time 33844 .IP \[bu] 2 33845 Default: off 33846 .SS --b2-upload-cutoff 33847 .PP 33848 Cutoff for switching to chunked upload. 33849 .PP 33850 Files above this size will be uploaded in chunks of 33851 \[dq]--b2-chunk-size\[dq]. 33852 .PP 33853 This value should be set no larger than 4.657 GiB (== 5 GB). 33854 .PP 33855 Properties: 33856 .IP \[bu] 2 33857 Config: upload_cutoff 33858 .IP \[bu] 2 33859 Env Var: RCLONE_B2_UPLOAD_CUTOFF 33860 .IP \[bu] 2 33861 Type: SizeSuffix 33862 .IP \[bu] 2 33863 Default: 200Mi 33864 .SS --b2-copy-cutoff 33865 .PP 33866 Cutoff for switching to multipart copy. 33867 .PP 33868 Any files larger than this that need to be server-side copied will be 33869 copied in chunks of this size. 33870 .PP 33871 The minimum is 0 and the maximum is 4.6 GiB. 33872 .PP 33873 Properties: 33874 .IP \[bu] 2 33875 Config: copy_cutoff 33876 .IP \[bu] 2 33877 Env Var: RCLONE_B2_COPY_CUTOFF 33878 .IP \[bu] 2 33879 Type: SizeSuffix 33880 .IP \[bu] 2 33881 Default: 4Gi 33882 .SS --b2-chunk-size 33883 .PP 33884 Upload chunk size. 33885 .PP 33886 When uploading large files, chunk the file into this size. 33887 .PP 33888 Must fit in memory. 33889 These chunks are buffered in memory and there might a maximum of 33890 \[dq]--transfers\[dq] chunks in progress at once. 33891 .PP 33892 5,000,000 Bytes is the minimum size. 33893 .PP 33894 Properties: 33895 .IP \[bu] 2 33896 Config: chunk_size 33897 .IP \[bu] 2 33898 Env Var: RCLONE_B2_CHUNK_SIZE 33899 .IP \[bu] 2 33900 Type: SizeSuffix 33901 .IP \[bu] 2 33902 Default: 96Mi 33903 .SS --b2-disable-checksum 33904 .PP 33905 Disable checksums for large (> upload cutoff) files. 33906 .PP 33907 Normally rclone will calculate the SHA1 checksum of the input before 33908 uploading it so it can add it to metadata on the object. 33909 This is great for data integrity checking but can cause long delays for 33910 large files to start uploading. 33911 .PP 33912 Properties: 33913 .IP \[bu] 2 33914 Config: disable_checksum 33915 .IP \[bu] 2 33916 Env Var: RCLONE_B2_DISABLE_CHECKSUM 33917 .IP \[bu] 2 33918 Type: bool 33919 .IP \[bu] 2 33920 Default: false 33921 .SS --b2-download-url 33922 .PP 33923 Custom endpoint for downloads. 33924 .PP 33925 This is usually set to a Cloudflare CDN URL as Backblaze offers free 33926 egress for data downloaded through the Cloudflare network. 33927 Rclone works with private buckets by sending an \[dq]Authorization\[dq] 33928 header. 33929 If the custom endpoint rewrites the requests for authentication, e.g., 33930 in Cloudflare Workers, this header needs to be handled properly. 33931 Leave blank if you want to use the endpoint provided by Backblaze. 33932 .PP 33933 The URL provided here SHOULD have the protocol and SHOULD NOT have a 33934 trailing slash or specify the /file/bucket subpath as rclone will 33935 request files with \[dq]{download_url}/file/{bucket_name}/{path}\[dq]. 33936 .PP 33937 Example: > https://mysubdomain.mydomain.tld (No trailing \[dq]/\[dq], 33938 \[dq]file\[dq] or \[dq]bucket\[dq]) 33939 .PP 33940 Properties: 33941 .IP \[bu] 2 33942 Config: download_url 33943 .IP \[bu] 2 33944 Env Var: RCLONE_B2_DOWNLOAD_URL 33945 .IP \[bu] 2 33946 Type: string 33947 .IP \[bu] 2 33948 Required: false 33949 .SS --b2-download-auth-duration 33950 .PP 33951 Time before the authorization token will expire in s or suffix 33952 ms|s|m|h|d. 33953 .PP 33954 The duration before the download authorization token will expire. 33955 The minimum value is 1 second. 33956 The maximum value is one week. 33957 .PP 33958 Properties: 33959 .IP \[bu] 2 33960 Config: download_auth_duration 33961 .IP \[bu] 2 33962 Env Var: RCLONE_B2_DOWNLOAD_AUTH_DURATION 33963 .IP \[bu] 2 33964 Type: Duration 33965 .IP \[bu] 2 33966 Default: 1w 33967 .SS --b2-memory-pool-flush-time 33968 .PP 33969 How often internal memory buffer pools will be flushed. 33970 Uploads which requires additional buffers (f.e multipart) will use 33971 memory pool for allocations. 33972 This option controls how often unused buffers will be removed from the 33973 pool. 33974 .PP 33975 Properties: 33976 .IP \[bu] 2 33977 Config: memory_pool_flush_time 33978 .IP \[bu] 2 33979 Env Var: RCLONE_B2_MEMORY_POOL_FLUSH_TIME 33980 .IP \[bu] 2 33981 Type: Duration 33982 .IP \[bu] 2 33983 Default: 1m0s 33984 .SS --b2-memory-pool-use-mmap 33985 .PP 33986 Whether to use mmap buffers in internal memory pool. 33987 .PP 33988 Properties: 33989 .IP \[bu] 2 33990 Config: memory_pool_use_mmap 33991 .IP \[bu] 2 33992 Env Var: RCLONE_B2_MEMORY_POOL_USE_MMAP 33993 .IP \[bu] 2 33994 Type: bool 33995 .IP \[bu] 2 33996 Default: false 33997 .SS --b2-encoding 33998 .PP 33999 The encoding for the backend. 34000 .PP 34001 See the encoding section in the 34002 overview (https://rclone.org/overview/#encoding) for more info. 34003 .PP 34004 Properties: 34005 .IP \[bu] 2 34006 Config: encoding 34007 .IP \[bu] 2 34008 Env Var: RCLONE_B2_ENCODING 34009 .IP \[bu] 2 34010 Type: MultiEncoder 34011 .IP \[bu] 2 34012 Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot 34013 .SS Limitations 34014 .PP 34015 \f[C]rclone about\f[R] is not supported by the B2 backend. 34016 Backends without this capability cannot determine free space for an 34017 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 34018 of an rclone union remote. 34019 .PP 34020 See List of backends that do not support rclone 34021 about (https://rclone.org/overview/#optional-features) and rclone 34022 about (https://rclone.org/commands/rclone_about/) 34023 .SH Box 34024 .PP 34025 Paths are specified as \f[C]remote:path\f[R] 34026 .PP 34027 Paths may be as deep as required, e.g. 34028 \f[C]remote:directory/subdirectory\f[R]. 34029 .PP 34030 The initial setup for Box involves getting a token from Box which you 34031 can do either in your browser, or with a config.json downloaded from Box 34032 to use JWT authentication. 34033 \f[C]rclone config\f[R] walks you through it. 34034 .SS Configuration 34035 .PP 34036 Here is an example of how to make a remote called \f[C]remote\f[R]. 34037 First run: 34038 .IP 34039 .nf 34040 \f[C] 34041 rclone config 34042 \f[R] 34043 .fi 34044 .PP 34045 This will guide you through an interactive setup process: 34046 .IP 34047 .nf 34048 \f[C] 34049 No remotes found, make a new one? 34050 n) New remote 34051 s) Set configuration password 34052 q) Quit config 34053 n/s/q> n 34054 name> remote 34055 Type of storage to configure. 34056 Choose a number from below, or type in your own value 34057 [snip] 34058 XX / Box 34059 \[rs] \[dq]box\[dq] 34060 [snip] 34061 Storage> box 34062 Box App Client Id - leave blank normally. 34063 client_id> 34064 Box App Client Secret - leave blank normally. 34065 client_secret> 34066 Box App config.json location 34067 Leave blank normally. 34068 Enter a string value. Press Enter for the default (\[dq]\[dq]). 34069 box_config_file> 34070 Box App Primary Access Token 34071 Leave blank normally. 34072 Enter a string value. Press Enter for the default (\[dq]\[dq]). 34073 access_token> 34074 34075 Enter a string value. Press Enter for the default (\[dq]user\[dq]). 34076 Choose a number from below, or type in your own value 34077 1 / Rclone should act on behalf of a user 34078 \[rs] \[dq]user\[dq] 34079 2 / Rclone should act on behalf of a service account 34080 \[rs] \[dq]enterprise\[dq] 34081 box_sub_type> 34082 Remote config 34083 Use web browser to automatically authenticate rclone with remote? 34084 * Say Y if the machine running rclone has a web browser you can use 34085 * Say N if running rclone on a (remote) machine without web browser access 34086 If not sure try Y. If Y failed, try N. 34087 y) Yes 34088 n) No 34089 y/n> y 34090 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 34091 Log in and authorize rclone for access 34092 Waiting for code... 34093 Got code 34094 -------------------- 34095 [remote] 34096 client_id = 34097 client_secret = 34098 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]XXX\[dq]} 34099 -------------------- 34100 y) Yes this is OK 34101 e) Edit this remote 34102 d) Delete this remote 34103 y/e/d> y 34104 \f[R] 34105 .fi 34106 .PP 34107 See the remote setup docs (https://rclone.org/remote_setup/) for how to 34108 set it up on a machine with no Internet browser available. 34109 .PP 34110 Note that rclone runs a webserver on your local machine to collect the 34111 token as returned from Box. 34112 This only runs from the moment it opens your browser to the moment you 34113 get back the verification code. 34114 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 34115 to unblock it temporarily if you are running a host firewall. 34116 .PP 34117 Once configured you can then use \f[C]rclone\f[R] like this, 34118 .PP 34119 List directories in top level of your Box 34120 .IP 34121 .nf 34122 \f[C] 34123 rclone lsd remote: 34124 \f[R] 34125 .fi 34126 .PP 34127 List all the files in your Box 34128 .IP 34129 .nf 34130 \f[C] 34131 rclone ls remote: 34132 \f[R] 34133 .fi 34134 .PP 34135 To copy a local directory to an Box directory called backup 34136 .IP 34137 .nf 34138 \f[C] 34139 rclone copy /home/source remote:backup 34140 \f[R] 34141 .fi 34142 .SS Using rclone with an Enterprise account with SSO 34143 .PP 34144 If you have an \[dq]Enterprise\[dq] account type with Box with single 34145 sign on (SSO), you need to create a password to use Box with rclone. 34146 This can be done at your Enterprise Box account by going to Settings, 34147 \[dq]Account\[dq] Tab, and then set the password in the 34148 \[dq]Authentication\[dq] field. 34149 .PP 34150 Once you have done this, you can setup your Enterprise Box account using 34151 the same procedure detailed above in the, using the password you have 34152 just set. 34153 .SS Invalid refresh token 34154 .PP 34155 According to the box 34156 docs (https://developer.box.com/v2.0/docs/oauth-20#section-6-using-the-access-and-refresh-tokens): 34157 .RS 34158 .PP 34159 Each refresh_token is valid for one use in 60 days. 34160 .RE 34161 .PP 34162 This means that if you 34163 .IP \[bu] 2 34164 Don\[aq]t use the box remote for 60 days 34165 .IP \[bu] 2 34166 Copy the config file with a box refresh token in and use it in two 34167 places 34168 .IP \[bu] 2 34169 Get an error on a token refresh 34170 .PP 34171 then rclone will return an error which includes the text 34172 \f[C]Invalid refresh token\f[R]. 34173 .PP 34174 To fix this you will need to use oauth2 again to update the refresh 34175 token. 34176 You can use the methods in the remote setup 34177 docs (https://rclone.org/remote_setup/), bearing in mind that if you use 34178 the copy the config file method, you should not use that remote on the 34179 computer you did the authentication on. 34180 .PP 34181 Here is how to do it. 34182 .IP 34183 .nf 34184 \f[C] 34185 $ rclone config 34186 Current remotes: 34187 34188 Name Type 34189 ==== ==== 34190 remote box 34191 34192 e) Edit existing remote 34193 n) New remote 34194 d) Delete remote 34195 r) Rename remote 34196 c) Copy remote 34197 s) Set configuration password 34198 q) Quit config 34199 e/n/d/r/c/s/q> e 34200 Choose a number from below, or type in an existing value 34201 1 > remote 34202 remote> remote 34203 -------------------- 34204 [remote] 34205 type = box 34206 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2017-07-08T23:40:08.059167677+01:00\[dq]} 34207 -------------------- 34208 Edit remote 34209 Value \[dq]client_id\[dq] = \[dq]\[dq] 34210 Edit? (y/n)> 34211 y) Yes 34212 n) No 34213 y/n> n 34214 Value \[dq]client_secret\[dq] = \[dq]\[dq] 34215 Edit? (y/n)> 34216 y) Yes 34217 n) No 34218 y/n> n 34219 Remote config 34220 Already have a token - refresh? 34221 y) Yes 34222 n) No 34223 y/n> y 34224 Use web browser to automatically authenticate rclone with remote? 34225 * Say Y if the machine running rclone has a web browser you can use 34226 * Say N if running rclone on a (remote) machine without web browser access 34227 If not sure try Y. If Y failed, try N. 34228 y) Yes 34229 n) No 34230 y/n> y 34231 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 34232 Log in and authorize rclone for access 34233 Waiting for code... 34234 Got code 34235 -------------------- 34236 [remote] 34237 type = box 34238 token = {\[dq]access_token\[dq]:\[dq]YYY\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]YYY\[dq],\[dq]expiry\[dq]:\[dq]2017-07-23T12:22:29.259137901+01:00\[dq]} 34239 -------------------- 34240 y) Yes this is OK 34241 e) Edit this remote 34242 d) Delete this remote 34243 y/e/d> y 34244 \f[R] 34245 .fi 34246 .SS Modified time and hashes 34247 .PP 34248 Box allows modification times to be set on objects accurate to 1 second. 34249 These will be used to detect whether objects need syncing or not. 34250 .PP 34251 Box supports SHA1 type hashes, so you can use the \f[C]--checksum\f[R] 34252 flag. 34253 .SS Restricted filename characters 34254 .PP 34255 In addition to the default restricted characters 34256 set (https://rclone.org/overview/#restricted-characters) the following 34257 characters are also replaced: 34258 .PP 34259 .TS 34260 tab(@); 34261 l c c. 34262 T{ 34263 Character 34264 T}@T{ 34265 Value 34266 T}@T{ 34267 Replacement 34268 T} 34269 _ 34270 T{ 34271 \[rs] 34272 T}@T{ 34273 0x5C 34274 T}@T{ 34275 \[uFF3C] 34276 T} 34277 .TE 34278 .PP 34279 File names can also not end with the following characters. 34280 These only get replaced if they are the last character in the name: 34281 .PP 34282 .TS 34283 tab(@); 34284 l c c. 34285 T{ 34286 Character 34287 T}@T{ 34288 Value 34289 T}@T{ 34290 Replacement 34291 T} 34292 _ 34293 T{ 34294 SP 34295 T}@T{ 34296 0x20 34297 T}@T{ 34298 \[u2420] 34299 T} 34300 .TE 34301 .PP 34302 Invalid UTF-8 bytes will also be 34303 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 34304 be used in JSON strings. 34305 .SS Transfers 34306 .PP 34307 For files above 50 MiB rclone will use a chunked transfer. 34308 Rclone will upload up to \f[C]--transfers\f[R] chunks at the same time 34309 (shared among all the multipart uploads). 34310 Chunks are buffered in memory and are normally 8 MiB so increasing 34311 \f[C]--transfers\f[R] will increase memory use. 34312 .SS Deleting files 34313 .PP 34314 Depending on the enterprise settings for your user, the item will either 34315 be actually deleted from Box or moved to the trash. 34316 .PP 34317 Emptying the trash is supported via the rclone however cleanup command 34318 however this deletes every trashed file and folder individually so it 34319 may take a very long time. 34320 Emptying the trash via the WebUI does not have this limitation so it is 34321 advised to empty the trash via the WebUI. 34322 .SS Root folder ID 34323 .PP 34324 You can set the \f[C]root_folder_id\f[R] for rclone. 34325 This is the directory (identified by its \f[C]Folder ID\f[R]) that 34326 rclone considers to be the root of your Box drive. 34327 .PP 34328 Normally you will leave this blank and rclone will determine the correct 34329 root to use itself. 34330 .PP 34331 However you can set this to restrict rclone to a specific folder 34332 hierarchy. 34333 .PP 34334 In order to do this you will have to find the \f[C]Folder ID\f[R] of the 34335 directory you wish rclone to display. 34336 This will be the last segment of the URL when you open the relevant 34337 folder in the Box web interface. 34338 .PP 34339 So if the folder you want rclone to use has a URL which looks like 34340 \f[C]https://app.box.com/folder/11xxxxxxxxx8\f[R] in the browser, then 34341 you use \f[C]11xxxxxxxxx8\f[R] as the \f[C]root_folder_id\f[R] in the 34342 config. 34343 .SS Standard options 34344 .PP 34345 Here are the Standard options specific to box (Box). 34346 .SS --box-client-id 34347 .PP 34348 OAuth Client Id. 34349 .PP 34350 Leave blank normally. 34351 .PP 34352 Properties: 34353 .IP \[bu] 2 34354 Config: client_id 34355 .IP \[bu] 2 34356 Env Var: RCLONE_BOX_CLIENT_ID 34357 .IP \[bu] 2 34358 Type: string 34359 .IP \[bu] 2 34360 Required: false 34361 .SS --box-client-secret 34362 .PP 34363 OAuth Client Secret. 34364 .PP 34365 Leave blank normally. 34366 .PP 34367 Properties: 34368 .IP \[bu] 2 34369 Config: client_secret 34370 .IP \[bu] 2 34371 Env Var: RCLONE_BOX_CLIENT_SECRET 34372 .IP \[bu] 2 34373 Type: string 34374 .IP \[bu] 2 34375 Required: false 34376 .SS --box-box-config-file 34377 .PP 34378 Box App config.json location 34379 .PP 34380 Leave blank normally. 34381 .PP 34382 Leading \f[C]\[ti]\f[R] will be expanded in the file name as will 34383 environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R]. 34384 .PP 34385 Properties: 34386 .IP \[bu] 2 34387 Config: box_config_file 34388 .IP \[bu] 2 34389 Env Var: RCLONE_BOX_BOX_CONFIG_FILE 34390 .IP \[bu] 2 34391 Type: string 34392 .IP \[bu] 2 34393 Required: false 34394 .SS --box-access-token 34395 .PP 34396 Box App Primary Access Token 34397 .PP 34398 Leave blank normally. 34399 .PP 34400 Properties: 34401 .IP \[bu] 2 34402 Config: access_token 34403 .IP \[bu] 2 34404 Env Var: RCLONE_BOX_ACCESS_TOKEN 34405 .IP \[bu] 2 34406 Type: string 34407 .IP \[bu] 2 34408 Required: false 34409 .SS --box-box-sub-type 34410 .PP 34411 Properties: 34412 .IP \[bu] 2 34413 Config: box_sub_type 34414 .IP \[bu] 2 34415 Env Var: RCLONE_BOX_BOX_SUB_TYPE 34416 .IP \[bu] 2 34417 Type: string 34418 .IP \[bu] 2 34419 Default: \[dq]user\[dq] 34420 .IP \[bu] 2 34421 Examples: 34422 .RS 2 34423 .IP \[bu] 2 34424 \[dq]user\[dq] 34425 .RS 2 34426 .IP \[bu] 2 34427 Rclone should act on behalf of a user. 34428 .RE 34429 .IP \[bu] 2 34430 \[dq]enterprise\[dq] 34431 .RS 2 34432 .IP \[bu] 2 34433 Rclone should act on behalf of a service account. 34434 .RE 34435 .RE 34436 .SS Advanced options 34437 .PP 34438 Here are the Advanced options specific to box (Box). 34439 .SS --box-token 34440 .PP 34441 OAuth Access Token as a JSON blob. 34442 .PP 34443 Properties: 34444 .IP \[bu] 2 34445 Config: token 34446 .IP \[bu] 2 34447 Env Var: RCLONE_BOX_TOKEN 34448 .IP \[bu] 2 34449 Type: string 34450 .IP \[bu] 2 34451 Required: false 34452 .SS --box-auth-url 34453 .PP 34454 Auth server URL. 34455 .PP 34456 Leave blank to use the provider defaults. 34457 .PP 34458 Properties: 34459 .IP \[bu] 2 34460 Config: auth_url 34461 .IP \[bu] 2 34462 Env Var: RCLONE_BOX_AUTH_URL 34463 .IP \[bu] 2 34464 Type: string 34465 .IP \[bu] 2 34466 Required: false 34467 .SS --box-token-url 34468 .PP 34469 Token server url. 34470 .PP 34471 Leave blank to use the provider defaults. 34472 .PP 34473 Properties: 34474 .IP \[bu] 2 34475 Config: token_url 34476 .IP \[bu] 2 34477 Env Var: RCLONE_BOX_TOKEN_URL 34478 .IP \[bu] 2 34479 Type: string 34480 .IP \[bu] 2 34481 Required: false 34482 .SS --box-root-folder-id 34483 .PP 34484 Fill in for rclone to use a non root folder as its starting point. 34485 .PP 34486 Properties: 34487 .IP \[bu] 2 34488 Config: root_folder_id 34489 .IP \[bu] 2 34490 Env Var: RCLONE_BOX_ROOT_FOLDER_ID 34491 .IP \[bu] 2 34492 Type: string 34493 .IP \[bu] 2 34494 Default: \[dq]0\[dq] 34495 .SS --box-upload-cutoff 34496 .PP 34497 Cutoff for switching to multipart upload (>= 50 MiB). 34498 .PP 34499 Properties: 34500 .IP \[bu] 2 34501 Config: upload_cutoff 34502 .IP \[bu] 2 34503 Env Var: RCLONE_BOX_UPLOAD_CUTOFF 34504 .IP \[bu] 2 34505 Type: SizeSuffix 34506 .IP \[bu] 2 34507 Default: 50Mi 34508 .SS --box-commit-retries 34509 .PP 34510 Max number of times to try committing a multipart file. 34511 .PP 34512 Properties: 34513 .IP \[bu] 2 34514 Config: commit_retries 34515 .IP \[bu] 2 34516 Env Var: RCLONE_BOX_COMMIT_RETRIES 34517 .IP \[bu] 2 34518 Type: int 34519 .IP \[bu] 2 34520 Default: 100 34521 .SS --box-list-chunk 34522 .PP 34523 Size of listing chunk 1-1000. 34524 .PP 34525 Properties: 34526 .IP \[bu] 2 34527 Config: list_chunk 34528 .IP \[bu] 2 34529 Env Var: RCLONE_BOX_LIST_CHUNK 34530 .IP \[bu] 2 34531 Type: int 34532 .IP \[bu] 2 34533 Default: 1000 34534 .SS --box-owned-by 34535 .PP 34536 Only show items owned by the login (email address) passed in. 34537 .PP 34538 Properties: 34539 .IP \[bu] 2 34540 Config: owned_by 34541 .IP \[bu] 2 34542 Env Var: RCLONE_BOX_OWNED_BY 34543 .IP \[bu] 2 34544 Type: string 34545 .IP \[bu] 2 34546 Required: false 34547 .SS --box-encoding 34548 .PP 34549 The encoding for the backend. 34550 .PP 34551 See the encoding section in the 34552 overview (https://rclone.org/overview/#encoding) for more info. 34553 .PP 34554 Properties: 34555 .IP \[bu] 2 34556 Config: encoding 34557 .IP \[bu] 2 34558 Env Var: RCLONE_BOX_ENCODING 34559 .IP \[bu] 2 34560 Type: MultiEncoder 34561 .IP \[bu] 2 34562 Default: Slash,BackSlash,Del,Ctl,RightSpace,InvalidUtf8,Dot 34563 .SS Limitations 34564 .PP 34565 Note that Box is case insensitive so you can\[aq]t have a file called 34566 \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 34567 .PP 34568 Box file names can\[aq]t have the \f[C]\[rs]\f[R] character in. 34569 rclone maps this to and from an identical looking unicode equivalent 34570 \f[C]\[uFF3C]\f[R] (U+FF3C Fullwidth Reverse Solidus). 34571 .PP 34572 Box only supports filenames up to 255 characters in length. 34573 .PP 34574 Box has API rate 34575 limits (https://developer.box.com/guides/api-calls/permissions-and-errors/rate-limits/) 34576 that sometimes reduce the speed of rclone. 34577 .PP 34578 \f[C]rclone about\f[R] is not supported by the Box backend. 34579 Backends without this capability cannot determine free space for an 34580 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 34581 of an rclone union remote. 34582 .PP 34583 See List of backends that do not support rclone 34584 about (https://rclone.org/overview/#optional-features) and rclone 34585 about (https://rclone.org/commands/rclone_about/) 34586 .SH Cache 34587 .PP 34588 The \f[C]cache\f[R] remote wraps another existing remote and stores file 34589 structure and its data for long running tasks like 34590 \f[C]rclone mount\f[R]. 34591 .SS Status 34592 .PP 34593 The cache backend code is working but it currently doesn\[aq]t have a 34594 maintainer so there are outstanding 34595 bugs (https://github.com/divyam234/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug+label%3A%22Remote%3A+Cache%22) 34596 which aren\[aq]t getting fixed. 34597 .PP 34598 The cache backend is due to be phased out in favour of the VFS caching 34599 layer eventually which is more tightly integrated into rclone. 34600 .PP 34601 Until this happens we recommend only using the cache backend if you find 34602 you can\[aq]t work without it. 34603 There are many docs online describing the use of the cache backend to 34604 minimize API hits and by-and-large these are out of date and the cache 34605 backend isn\[aq]t needed in those scenarios any more. 34606 .SS Configuration 34607 .PP 34608 To get started you just need to have an existing remote which can be 34609 configured with \f[C]cache\f[R]. 34610 .PP 34611 Here is an example of how to make a remote called \f[C]test-cache\f[R]. 34612 First run: 34613 .IP 34614 .nf 34615 \f[C] 34616 rclone config 34617 \f[R] 34618 .fi 34619 .PP 34620 This will guide you through an interactive setup process: 34621 .IP 34622 .nf 34623 \f[C] 34624 No remotes found, make a new one? 34625 n) New remote 34626 r) Rename remote 34627 c) Copy remote 34628 s) Set configuration password 34629 q) Quit config 34630 n/r/c/s/q> n 34631 name> test-cache 34632 Type of storage to configure. 34633 Choose a number from below, or type in your own value 34634 [snip] 34635 XX / Cache a remote 34636 \[rs] \[dq]cache\[dq] 34637 [snip] 34638 Storage> cache 34639 Remote to cache. 34640 Normally should contain a \[aq]:\[aq] and a path, e.g. \[dq]myremote:path/to/dir\[dq], 34641 \[dq]myremote:bucket\[dq] or maybe \[dq]myremote:\[dq] (not recommended). 34642 remote> local:/test 34643 Optional: The URL of the Plex server 34644 plex_url> http://127.0.0.1:32400 34645 Optional: The username of the Plex user 34646 plex_username> dummyusername 34647 Optional: The password of the Plex user 34648 y) Yes type in my own password 34649 g) Generate random password 34650 n) No leave this optional password blank 34651 y/g/n> y 34652 Enter the password: 34653 password: 34654 Confirm the password: 34655 password: 34656 The size of a chunk. Lower value good for slow connections but can affect seamless reading. 34657 Default: 5M 34658 Choose a number from below, or type in your own value 34659 1 / 1 MiB 34660 \[rs] \[dq]1M\[dq] 34661 2 / 5 MiB 34662 \[rs] \[dq]5M\[dq] 34663 3 / 10 MiB 34664 \[rs] \[dq]10M\[dq] 34665 chunk_size> 2 34666 How much time should object info (file size, file hashes, etc.) be stored in cache. Use a very high value if you don\[aq]t plan on changing the source FS from outside the cache. 34667 Accepted units are: \[dq]s\[dq], \[dq]m\[dq], \[dq]h\[dq]. 34668 Default: 5m 34669 Choose a number from below, or type in your own value 34670 1 / 1 hour 34671 \[rs] \[dq]1h\[dq] 34672 2 / 24 hours 34673 \[rs] \[dq]24h\[dq] 34674 3 / 24 hours 34675 \[rs] \[dq]48h\[dq] 34676 info_age> 2 34677 The maximum size of stored chunks. When the storage grows beyond this size, the oldest chunks will be deleted. 34678 Default: 10G 34679 Choose a number from below, or type in your own value 34680 1 / 500 MiB 34681 \[rs] \[dq]500M\[dq] 34682 2 / 1 GiB 34683 \[rs] \[dq]1G\[dq] 34684 3 / 10 GiB 34685 \[rs] \[dq]10G\[dq] 34686 chunk_total_size> 3 34687 Remote config 34688 -------------------- 34689 [test-cache] 34690 remote = local:/test 34691 plex_url = http://127.0.0.1:32400 34692 plex_username = dummyusername 34693 plex_password = *** ENCRYPTED *** 34694 chunk_size = 5M 34695 info_age = 48h 34696 chunk_total_size = 10G 34697 \f[R] 34698 .fi 34699 .PP 34700 You can then use it like this, 34701 .PP 34702 List directories in top level of your drive 34703 .IP 34704 .nf 34705 \f[C] 34706 rclone lsd test-cache: 34707 \f[R] 34708 .fi 34709 .PP 34710 List all the files in your drive 34711 .IP 34712 .nf 34713 \f[C] 34714 rclone ls test-cache: 34715 \f[R] 34716 .fi 34717 .PP 34718 To start a cached mount 34719 .IP 34720 .nf 34721 \f[C] 34722 rclone mount --allow-other test-cache: /var/tmp/test-cache 34723 \f[R] 34724 .fi 34725 .SS Write Features 34726 .SS Offline uploading 34727 .PP 34728 In an effort to make writing through cache more reliable, the backend 34729 now supports this feature which can be activated by specifying a 34730 \f[C]cache-tmp-upload-path\f[R]. 34731 .PP 34732 A files goes through these states when using this feature: 34733 .IP "1." 3 34734 An upload is started (usually by copying a file on the cache remote) 34735 .IP "2." 3 34736 When the copy to the temporary location is complete the file is part of 34737 the cached remote and looks and behaves like any other file (reading 34738 included) 34739 .IP "3." 3 34740 After \f[C]cache-tmp-wait-time\f[R] passes and the file is next in line, 34741 \f[C]rclone move\f[R] is used to move the file to the cloud provider 34742 .IP "4." 3 34743 Reading the file still works during the upload but most modifications on 34744 it will be prohibited 34745 .IP "5." 3 34746 Once the move is complete the file is unlocked for modifications as it 34747 becomes as any other regular file 34748 .IP "6." 3 34749 If the file is being read through \f[C]cache\f[R] when it\[aq]s actually 34750 deleted from the temporary path then \f[C]cache\f[R] will simply swap 34751 the source to the cloud provider without interrupting the reading (small 34752 blip can happen though) 34753 .PP 34754 Files are uploaded in sequence and only one file is uploaded at a time. 34755 Uploads will be stored in a queue and be processed based on the order 34756 they were added. 34757 The queue and the temporary storage is persistent across restarts but 34758 can be cleared on startup with the \f[C]--cache-db-purge\f[R] flag. 34759 .SS Write Support 34760 .PP 34761 Writes are supported through \f[C]cache\f[R]. 34762 One caveat is that a mounted cache remote does not add any retry or 34763 fallback mechanism to the upload operation. 34764 This will depend on the implementation of the wrapped remote. 34765 Consider using \f[C]Offline uploading\f[R] for reliable writes. 34766 .PP 34767 One special case is covered with \f[C]cache-writes\f[R] which will cache 34768 the file data at the same time as the upload when it is enabled making 34769 it available from the cache store immediately once the upload is 34770 finished. 34771 .SS Read Features 34772 .SS Multiple connections 34773 .PP 34774 To counter the high latency between a local PC where rclone is running 34775 and cloud providers, the cache remote can split multiple requests to the 34776 cloud provider for smaller file chunks and combines them together 34777 locally where they can be available almost immediately before the reader 34778 usually needs them. 34779 .PP 34780 This is similar to buffering when media files are played online. 34781 Rclone will stay around the current marker but always try its best to 34782 stay ahead and prepare the data before. 34783 .SS Plex Integration 34784 .PP 34785 There is a direct integration with Plex which allows cache to detect 34786 during reading if the file is in playback or not. 34787 This helps cache to adapt how it queries the cloud provider depending on 34788 what is needed for. 34789 .PP 34790 Scans will have a minimum amount of workers (1) while in a confirmed 34791 playback cache will deploy the configured number of workers. 34792 .PP 34793 This integration opens the doorway to additional performance 34794 improvements which will be explored in the near future. 34795 .PP 34796 \f[B]Note:\f[R] If Plex options are not configured, \f[C]cache\f[R] will 34797 function with its configured options without adapting any of its 34798 settings. 34799 .PP 34800 How to enable? 34801 Run \f[C]rclone config\f[R] and add all the Plex options (endpoint, 34802 username and password) in your remote and it will be automatically 34803 enabled. 34804 .PP 34805 Affected settings: - \f[C]cache-workers\f[R]: \f[I]Configured value\f[R] 34806 during confirmed playback or \f[I]1\f[R] all the other times 34807 .SS Certificate Validation 34808 .PP 34809 When the Plex server is configured to only accept secure connections, it 34810 is possible to use \f[C].plex.direct\f[R] URLs to ensure certificate 34811 validation succeeds. 34812 These URLs are used by Plex internally to connect to the Plex server 34813 securely. 34814 .PP 34815 The format for these URLs is the following: 34816 .PP 34817 \f[C]https://ip-with-dots-replaced.server-hash.plex.direct:32400/\f[R] 34818 .PP 34819 The \f[C]ip-with-dots-replaced\f[R] part can be any IPv4 address, where 34820 the dots have been replaced with dashes, e.g. 34821 \f[C]127.0.0.1\f[R] becomes \f[C]127-0-0-1\f[R]. 34822 .PP 34823 To get the \f[C]server-hash\f[R] part, the easiest way is to visit 34824 .PP 34825 https://plex.tv/api/resources?includeHttps=1&X-Plex-Token=your-plex-token 34826 .PP 34827 This page will list all the available Plex servers for your account with 34828 at least one \f[C].plex.direct\f[R] link for each. 34829 Copy one URL and replace the IP address with the desired address. 34830 This can be used as the \f[C]plex_url\f[R] value. 34831 .SS Known issues 34832 .SS Mount and --dir-cache-time 34833 .PP 34834 --dir-cache-time controls the first layer of directory caching which 34835 works at the mount layer. 34836 Being an independent caching mechanism from the \f[C]cache\f[R] backend, 34837 it will manage its own entries based on the configured time. 34838 .PP 34839 To avoid getting in a scenario where dir cache has obsolete data and 34840 cache would have the correct one, try to set \f[C]--dir-cache-time\f[R] 34841 to a lower time than \f[C]--cache-info-age\f[R]. 34842 Default values are already configured in this way. 34843 .SS Windows support - Experimental 34844 .PP 34845 There are a couple of issues with Windows \f[C]mount\f[R] functionality 34846 that still require some investigations. 34847 It should be considered as experimental thus far as fixes come in for 34848 this OS. 34849 .PP 34850 Most of the issues seem to be related to the difference between 34851 filesystems on Linux flavors and Windows as cache is heavily dependent 34852 on them. 34853 .PP 34854 Any reports or feedback on how cache behaves on this OS is greatly 34855 appreciated. 34856 .IP \[bu] 2 34857 https://github.com/divyam234/rclone/issues/1935 34858 .IP \[bu] 2 34859 https://github.com/divyam234/rclone/issues/1907 34860 .IP \[bu] 2 34861 https://github.com/divyam234/rclone/issues/1834 34862 .SS Risk of throttling 34863 .PP 34864 Future iterations of the cache backend will make use of the pooling 34865 functionality of the cloud provider to synchronize and at the same time 34866 make writing through it more tolerant to failures. 34867 .PP 34868 There are a couple of enhancements in track to add these but in the 34869 meantime there is a valid concern that the expiring cache listings can 34870 lead to cloud provider throttles or bans due to repeated queries on it 34871 for very large mounts. 34872 .PP 34873 Some recommendations: - don\[aq]t use a very small interval for entry 34874 information (\f[C]--cache-info-age\f[R]) - while writes aren\[aq]t yet 34875 optimised, you can still write through \f[C]cache\f[R] which gives you 34876 the advantage of adding the file in the cache at the same time if 34877 configured to do so. 34878 .PP 34879 Future enhancements: 34880 .IP \[bu] 2 34881 https://github.com/divyam234/rclone/issues/1937 34882 .IP \[bu] 2 34883 https://github.com/divyam234/rclone/issues/1936 34884 .SS cache and crypt 34885 .PP 34886 One common scenario is to keep your data encrypted in the cloud provider 34887 using the \f[C]crypt\f[R] remote. 34888 \f[C]crypt\f[R] uses a similar technique to wrap around an existing 34889 remote and handles this translation in a seamless way. 34890 .PP 34891 There is an issue with wrapping the remotes in this order: \f[B]cloud 34892 remote\f[R] -> \f[B]crypt\f[R] -> \f[B]cache\f[R] 34893 .PP 34894 During testing, I experienced a lot of bans with the remotes in this 34895 order. 34896 I suspect it might be related to how crypt opens files on the cloud 34897 provider which makes it think we\[aq]re downloading the full file 34898 instead of small chunks. 34899 Organizing the remotes in this order yields better results: \f[B]cloud 34900 remote\f[R] -> \f[B]cache\f[R] -> \f[B]crypt\f[R] 34901 .SS absolute remote paths 34902 .PP 34903 \f[C]cache\f[R] can not differentiate between relative and absolute 34904 paths for the wrapped remote. 34905 Any path given in the \f[C]remote\f[R] config setting and on the command 34906 line will be passed to the wrapped remote as is, but for storing the 34907 chunks on disk the path will be made relative by removing any leading 34908 \f[C]/\f[R] character. 34909 .PP 34910 This behavior is irrelevant for most backend types, but there are 34911 backends where a leading \f[C]/\f[R] changes the effective directory, 34912 e.g. 34913 in the \f[C]sftp\f[R] backend paths starting with a \f[C]/\f[R] are 34914 relative to the root of the SSH server and paths without are relative to 34915 the user home directory. 34916 As a result \f[C]sftp:bin\f[R] and \f[C]sftp:/bin\f[R] will share the 34917 same cache folder, even if they represent a different directory on the 34918 SSH server. 34919 .SS Cache and Remote Control (--rc) 34920 .PP 34921 Cache supports the new \f[C]--rc\f[R] mode in rclone and can be remote 34922 controlled through the following end points: By default, the listener is 34923 disabled if you do not add the flag. 34924 .SS rc cache/expire 34925 .PP 34926 Purge a remote from the cache backend. 34927 Supports either a directory or a file. 34928 It supports both encrypted and unencrypted file names if cache is 34929 wrapped by crypt. 34930 .PP 34931 Params: - \f[B]remote\f[R] = path to remote \f[B](required)\f[R] - 34932 \f[B]withData\f[R] = true/false to delete cached data (chunks) as well 34933 \f[I](optional, false by default)\f[R] 34934 .SS Standard options 34935 .PP 34936 Here are the Standard options specific to cache (Cache a remote). 34937 .SS --cache-remote 34938 .PP 34939 Remote to cache. 34940 .PP 34941 Normally should contain a \[aq]:\[aq] and a path, e.g. 34942 \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq] or maybe 34943 \[dq]myremote:\[dq] (not recommended). 34944 .PP 34945 Properties: 34946 .IP \[bu] 2 34947 Config: remote 34948 .IP \[bu] 2 34949 Env Var: RCLONE_CACHE_REMOTE 34950 .IP \[bu] 2 34951 Type: string 34952 .IP \[bu] 2 34953 Required: true 34954 .SS --cache-plex-url 34955 .PP 34956 The URL of the Plex server. 34957 .PP 34958 Properties: 34959 .IP \[bu] 2 34960 Config: plex_url 34961 .IP \[bu] 2 34962 Env Var: RCLONE_CACHE_PLEX_URL 34963 .IP \[bu] 2 34964 Type: string 34965 .IP \[bu] 2 34966 Required: false 34967 .SS --cache-plex-username 34968 .PP 34969 The username of the Plex user. 34970 .PP 34971 Properties: 34972 .IP \[bu] 2 34973 Config: plex_username 34974 .IP \[bu] 2 34975 Env Var: RCLONE_CACHE_PLEX_USERNAME 34976 .IP \[bu] 2 34977 Type: string 34978 .IP \[bu] 2 34979 Required: false 34980 .SS --cache-plex-password 34981 .PP 34982 The password of the Plex user. 34983 .PP 34984 \f[B]NB\f[R] Input to this must be obscured - see rclone 34985 obscure (https://rclone.org/commands/rclone_obscure/). 34986 .PP 34987 Properties: 34988 .IP \[bu] 2 34989 Config: plex_password 34990 .IP \[bu] 2 34991 Env Var: RCLONE_CACHE_PLEX_PASSWORD 34992 .IP \[bu] 2 34993 Type: string 34994 .IP \[bu] 2 34995 Required: false 34996 .SS --cache-chunk-size 34997 .PP 34998 The size of a chunk (partial file data). 34999 .PP 35000 Use lower numbers for slower connections. 35001 If the chunk size is changed, any downloaded chunks will be invalid and 35002 cache-chunk-path will need to be cleared or unexpected EOF errors will 35003 occur. 35004 .PP 35005 Properties: 35006 .IP \[bu] 2 35007 Config: chunk_size 35008 .IP \[bu] 2 35009 Env Var: RCLONE_CACHE_CHUNK_SIZE 35010 .IP \[bu] 2 35011 Type: SizeSuffix 35012 .IP \[bu] 2 35013 Default: 5Mi 35014 .IP \[bu] 2 35015 Examples: 35016 .RS 2 35017 .IP \[bu] 2 35018 \[dq]1M\[dq] 35019 .RS 2 35020 .IP \[bu] 2 35021 1 MiB 35022 .RE 35023 .IP \[bu] 2 35024 \[dq]5M\[dq] 35025 .RS 2 35026 .IP \[bu] 2 35027 5 MiB 35028 .RE 35029 .IP \[bu] 2 35030 \[dq]10M\[dq] 35031 .RS 2 35032 .IP \[bu] 2 35033 10 MiB 35034 .RE 35035 .RE 35036 .SS --cache-info-age 35037 .PP 35038 How long to cache file structure information (directory listings, file 35039 size, times, etc.). 35040 If all write operations are done through the cache then you can safely 35041 make this value very large as the cache store will also be updated in 35042 real time. 35043 .PP 35044 Properties: 35045 .IP \[bu] 2 35046 Config: info_age 35047 .IP \[bu] 2 35048 Env Var: RCLONE_CACHE_INFO_AGE 35049 .IP \[bu] 2 35050 Type: Duration 35051 .IP \[bu] 2 35052 Default: 6h0m0s 35053 .IP \[bu] 2 35054 Examples: 35055 .RS 2 35056 .IP \[bu] 2 35057 \[dq]1h\[dq] 35058 .RS 2 35059 .IP \[bu] 2 35060 1 hour 35061 .RE 35062 .IP \[bu] 2 35063 \[dq]24h\[dq] 35064 .RS 2 35065 .IP \[bu] 2 35066 24 hours 35067 .RE 35068 .IP \[bu] 2 35069 \[dq]48h\[dq] 35070 .RS 2 35071 .IP \[bu] 2 35072 48 hours 35073 .RE 35074 .RE 35075 .SS --cache-chunk-total-size 35076 .PP 35077 The total size that the chunks can take up on the local disk. 35078 .PP 35079 If the cache exceeds this value then it will start to delete the oldest 35080 chunks until it goes under this value. 35081 .PP 35082 Properties: 35083 .IP \[bu] 2 35084 Config: chunk_total_size 35085 .IP \[bu] 2 35086 Env Var: RCLONE_CACHE_CHUNK_TOTAL_SIZE 35087 .IP \[bu] 2 35088 Type: SizeSuffix 35089 .IP \[bu] 2 35090 Default: 10Gi 35091 .IP \[bu] 2 35092 Examples: 35093 .RS 2 35094 .IP \[bu] 2 35095 \[dq]500M\[dq] 35096 .RS 2 35097 .IP \[bu] 2 35098 500 MiB 35099 .RE 35100 .IP \[bu] 2 35101 \[dq]1G\[dq] 35102 .RS 2 35103 .IP \[bu] 2 35104 1 GiB 35105 .RE 35106 .IP \[bu] 2 35107 \[dq]10G\[dq] 35108 .RS 2 35109 .IP \[bu] 2 35110 10 GiB 35111 .RE 35112 .RE 35113 .SS Advanced options 35114 .PP 35115 Here are the Advanced options specific to cache (Cache a remote). 35116 .SS --cache-plex-token 35117 .PP 35118 The plex token for authentication - auto set normally. 35119 .PP 35120 Properties: 35121 .IP \[bu] 2 35122 Config: plex_token 35123 .IP \[bu] 2 35124 Env Var: RCLONE_CACHE_PLEX_TOKEN 35125 .IP \[bu] 2 35126 Type: string 35127 .IP \[bu] 2 35128 Required: false 35129 .SS --cache-plex-insecure 35130 .PP 35131 Skip all certificate verification when connecting to the Plex server. 35132 .PP 35133 Properties: 35134 .IP \[bu] 2 35135 Config: plex_insecure 35136 .IP \[bu] 2 35137 Env Var: RCLONE_CACHE_PLEX_INSECURE 35138 .IP \[bu] 2 35139 Type: string 35140 .IP \[bu] 2 35141 Required: false 35142 .SS --cache-db-path 35143 .PP 35144 Directory to store file structure metadata DB. 35145 .PP 35146 The remote name is used as the DB file name. 35147 .PP 35148 Properties: 35149 .IP \[bu] 2 35150 Config: db_path 35151 .IP \[bu] 2 35152 Env Var: RCLONE_CACHE_DB_PATH 35153 .IP \[bu] 2 35154 Type: string 35155 .IP \[bu] 2 35156 Default: \[dq]$HOME/.cache/rclone/cache-backend\[dq] 35157 .SS --cache-chunk-path 35158 .PP 35159 Directory to cache chunk files. 35160 .PP 35161 Path to where partial file data (chunks) are stored locally. 35162 The remote name is appended to the final path. 35163 .PP 35164 This config follows the \[dq]--cache-db-path\[dq]. 35165 If you specify a custom location for \[dq]--cache-db-path\[dq] and 35166 don\[aq]t specify one for \[dq]--cache-chunk-path\[dq] then 35167 \[dq]--cache-chunk-path\[dq] will use the same path as 35168 \[dq]--cache-db-path\[dq]. 35169 .PP 35170 Properties: 35171 .IP \[bu] 2 35172 Config: chunk_path 35173 .IP \[bu] 2 35174 Env Var: RCLONE_CACHE_CHUNK_PATH 35175 .IP \[bu] 2 35176 Type: string 35177 .IP \[bu] 2 35178 Default: \[dq]$HOME/.cache/rclone/cache-backend\[dq] 35179 .SS --cache-db-purge 35180 .PP 35181 Clear all the cached data for this remote on start. 35182 .PP 35183 Properties: 35184 .IP \[bu] 2 35185 Config: db_purge 35186 .IP \[bu] 2 35187 Env Var: RCLONE_CACHE_DB_PURGE 35188 .IP \[bu] 2 35189 Type: bool 35190 .IP \[bu] 2 35191 Default: false 35192 .SS --cache-chunk-clean-interval 35193 .PP 35194 How often should the cache perform cleanups of the chunk storage. 35195 .PP 35196 The default value should be ok for most people. 35197 If you find that the cache goes over \[dq]cache-chunk-total-size\[dq] 35198 too often then try to lower this value to force it to perform cleanups 35199 more often. 35200 .PP 35201 Properties: 35202 .IP \[bu] 2 35203 Config: chunk_clean_interval 35204 .IP \[bu] 2 35205 Env Var: RCLONE_CACHE_CHUNK_CLEAN_INTERVAL 35206 .IP \[bu] 2 35207 Type: Duration 35208 .IP \[bu] 2 35209 Default: 1m0s 35210 .SS --cache-read-retries 35211 .PP 35212 How many times to retry a read from a cache storage. 35213 .PP 35214 Since reading from a cache stream is independent from downloading file 35215 data, readers can get to a point where there\[aq]s no more data in the 35216 cache. 35217 Most of the times this can indicate a connectivity issue if cache 35218 isn\[aq]t able to provide file data anymore. 35219 .PP 35220 For really slow connections, increase this to a point where the stream 35221 is able to provide data but your experience will be very stuttering. 35222 .PP 35223 Properties: 35224 .IP \[bu] 2 35225 Config: read_retries 35226 .IP \[bu] 2 35227 Env Var: RCLONE_CACHE_READ_RETRIES 35228 .IP \[bu] 2 35229 Type: int 35230 .IP \[bu] 2 35231 Default: 10 35232 .SS --cache-workers 35233 .PP 35234 How many workers should run in parallel to download chunks. 35235 .PP 35236 Higher values will mean more parallel processing (better CPU needed) and 35237 more concurrent requests on the cloud provider. 35238 This impacts several aspects like the cloud provider API limits, more 35239 stress on the hardware that rclone runs on but it also means that 35240 streams will be more fluid and data will be available much more faster 35241 to readers. 35242 .PP 35243 \f[B]Note\f[R]: If the optional Plex integration is enabled then this 35244 setting will adapt to the type of reading performed and the value 35245 specified here will be used as a maximum number of workers to use. 35246 .PP 35247 Properties: 35248 .IP \[bu] 2 35249 Config: workers 35250 .IP \[bu] 2 35251 Env Var: RCLONE_CACHE_WORKERS 35252 .IP \[bu] 2 35253 Type: int 35254 .IP \[bu] 2 35255 Default: 4 35256 .SS --cache-chunk-no-memory 35257 .PP 35258 Disable the in-memory cache for storing chunks during streaming. 35259 .PP 35260 By default, cache will keep file data during streaming in RAM as well to 35261 provide it to readers as fast as possible. 35262 .PP 35263 This transient data is evicted as soon as it is read and the number of 35264 chunks stored doesn\[aq]t exceed the number of workers. 35265 However, depending on other settings like \[dq]cache-chunk-size\[dq] and 35266 \[dq]cache-workers\[dq] this footprint can increase if there are 35267 parallel streams too (multiple files being read at the same time). 35268 .PP 35269 If the hardware permits it, use this feature to provide an overall 35270 better performance during streaming but it can also be disabled if RAM 35271 is not available on the local machine. 35272 .PP 35273 Properties: 35274 .IP \[bu] 2 35275 Config: chunk_no_memory 35276 .IP \[bu] 2 35277 Env Var: RCLONE_CACHE_CHUNK_NO_MEMORY 35278 .IP \[bu] 2 35279 Type: bool 35280 .IP \[bu] 2 35281 Default: false 35282 .SS --cache-rps 35283 .PP 35284 Limits the number of requests per second to the source FS (-1 to 35285 disable). 35286 .PP 35287 This setting places a hard limit on the number of requests per second 35288 that cache will be doing to the cloud provider remote and try to respect 35289 that value by setting waits between reads. 35290 .PP 35291 If you find that you\[aq]re getting banned or limited on the cloud 35292 provider through cache and know that a smaller number of requests per 35293 second will allow you to work with it then you can use this setting for 35294 that. 35295 .PP 35296 A good balance of all the other settings should make this setting 35297 useless but it is available to set for more special cases. 35298 .PP 35299 \f[B]NOTE\f[R]: This will limit the number of requests during streams 35300 but other API calls to the cloud provider like directory listings will 35301 still pass. 35302 .PP 35303 Properties: 35304 .IP \[bu] 2 35305 Config: rps 35306 .IP \[bu] 2 35307 Env Var: RCLONE_CACHE_RPS 35308 .IP \[bu] 2 35309 Type: int 35310 .IP \[bu] 2 35311 Default: -1 35312 .SS --cache-writes 35313 .PP 35314 Cache file data on writes through the FS. 35315 .PP 35316 If you need to read files immediately after you upload them through 35317 cache you can enable this flag to have their data stored in the cache 35318 store at the same time during upload. 35319 .PP 35320 Properties: 35321 .IP \[bu] 2 35322 Config: writes 35323 .IP \[bu] 2 35324 Env Var: RCLONE_CACHE_WRITES 35325 .IP \[bu] 2 35326 Type: bool 35327 .IP \[bu] 2 35328 Default: false 35329 .SS --cache-tmp-upload-path 35330 .PP 35331 Directory to keep temporary files until they are uploaded. 35332 .PP 35333 This is the path where cache will use as a temporary storage for new 35334 files that need to be uploaded to the cloud provider. 35335 .PP 35336 Specifying a value will enable this feature. 35337 Without it, it is completely disabled and files will be uploaded 35338 directly to the cloud provider 35339 .PP 35340 Properties: 35341 .IP \[bu] 2 35342 Config: tmp_upload_path 35343 .IP \[bu] 2 35344 Env Var: RCLONE_CACHE_TMP_UPLOAD_PATH 35345 .IP \[bu] 2 35346 Type: string 35347 .IP \[bu] 2 35348 Required: false 35349 .SS --cache-tmp-wait-time 35350 .PP 35351 How long should files be stored in local cache before being uploaded. 35352 .PP 35353 This is the duration that a file must wait in the temporary location 35354 \f[I]cache-tmp-upload-path\f[R] before it is selected for upload. 35355 .PP 35356 Note that only one file is uploaded at a time and it can take longer to 35357 start the upload if a queue formed for this purpose. 35358 .PP 35359 Properties: 35360 .IP \[bu] 2 35361 Config: tmp_wait_time 35362 .IP \[bu] 2 35363 Env Var: RCLONE_CACHE_TMP_WAIT_TIME 35364 .IP \[bu] 2 35365 Type: Duration 35366 .IP \[bu] 2 35367 Default: 15s 35368 .SS --cache-db-wait-time 35369 .PP 35370 How long to wait for the DB to be available - 0 is unlimited. 35371 .PP 35372 Only one process can have the DB open at any one time, so rclone waits 35373 for this duration for the DB to become available before it gives an 35374 error. 35375 .PP 35376 If you set it to 0 then it will wait forever. 35377 .PP 35378 Properties: 35379 .IP \[bu] 2 35380 Config: db_wait_time 35381 .IP \[bu] 2 35382 Env Var: RCLONE_CACHE_DB_WAIT_TIME 35383 .IP \[bu] 2 35384 Type: Duration 35385 .IP \[bu] 2 35386 Default: 1s 35387 .SS Backend commands 35388 .PP 35389 Here are the commands specific to the cache backend. 35390 .PP 35391 Run them with 35392 .IP 35393 .nf 35394 \f[C] 35395 rclone backend COMMAND remote: 35396 \f[R] 35397 .fi 35398 .PP 35399 The help below will explain what arguments each command takes. 35400 .PP 35401 See the backend (https://rclone.org/commands/rclone_backend/) command 35402 for more info on how to pass options and arguments. 35403 .PP 35404 These can be run on a running backend using the rc command 35405 backend/command (https://rclone.org/rc/#backend-command). 35406 .SS stats 35407 .PP 35408 Print stats on the cache backend in JSON format. 35409 .IP 35410 .nf 35411 \f[C] 35412 rclone backend stats remote: [options] [<arguments>+] 35413 \f[R] 35414 .fi 35415 .SH Chunker 35416 .PP 35417 The \f[C]chunker\f[R] overlay transparently splits large files into 35418 smaller chunks during upload to wrapped remote and transparently 35419 assembles them back when the file is downloaded. 35420 This allows to effectively overcome size limits imposed by storage 35421 providers. 35422 .SS Configuration 35423 .PP 35424 To use it, first set up the underlying remote following the 35425 configuration instructions for that remote. 35426 You can also use a local pathname instead of a remote. 35427 .PP 35428 First check your chosen remote is working - we\[aq]ll call it 35429 \f[C]remote:path\f[R] here. 35430 Note that anything inside \f[C]remote:path\f[R] will be chunked and 35431 anything outside won\[aq]t. 35432 This means that if you are using a bucket-based remote (e.g. 35433 S3, B2, swift) then you should probably put the bucket in the remote 35434 \f[C]s3:bucket\f[R]. 35435 .PP 35436 Now configure \f[C]chunker\f[R] using \f[C]rclone config\f[R]. 35437 We will call this one \f[C]overlay\f[R] to separate it from the 35438 \f[C]remote\f[R] itself. 35439 .IP 35440 .nf 35441 \f[C] 35442 No remotes found, make a new one? 35443 n) New remote 35444 s) Set configuration password 35445 q) Quit config 35446 n/s/q> n 35447 name> overlay 35448 Type of storage to configure. 35449 Choose a number from below, or type in your own value 35450 [snip] 35451 XX / Transparently chunk/split large files 35452 \[rs] \[dq]chunker\[dq] 35453 [snip] 35454 Storage> chunker 35455 Remote to chunk/unchunk. 35456 Normally should contain a \[aq]:\[aq] and a path, e.g. \[dq]myremote:path/to/dir\[dq], 35457 \[dq]myremote:bucket\[dq] or maybe \[dq]myremote:\[dq] (not recommended). 35458 Enter a string value. Press Enter for the default (\[dq]\[dq]). 35459 remote> remote:path 35460 Files larger than chunk size will be split in chunks. 35461 Enter a size with suffix K,M,G,T. Press Enter for the default (\[dq]2G\[dq]). 35462 chunk_size> 100M 35463 Choose how chunker handles hash sums. All modes but \[dq]none\[dq] require metadata. 35464 Enter a string value. Press Enter for the default (\[dq]md5\[dq]). 35465 Choose a number from below, or type in your own value 35466 1 / Pass any hash supported by wrapped remote for non-chunked files, return nothing otherwise 35467 \[rs] \[dq]none\[dq] 35468 2 / MD5 for composite files 35469 \[rs] \[dq]md5\[dq] 35470 3 / SHA1 for composite files 35471 \[rs] \[dq]sha1\[dq] 35472 4 / MD5 for all files 35473 \[rs] \[dq]md5all\[dq] 35474 5 / SHA1 for all files 35475 \[rs] \[dq]sha1all\[dq] 35476 6 / Copying a file to chunker will request MD5 from the source falling back to SHA1 if unsupported 35477 \[rs] \[dq]md5quick\[dq] 35478 7 / Similar to \[dq]md5quick\[dq] but prefers SHA1 over MD5 35479 \[rs] \[dq]sha1quick\[dq] 35480 hash_type> md5 35481 Edit advanced config? (y/n) 35482 y) Yes 35483 n) No 35484 y/n> n 35485 Remote config 35486 -------------------- 35487 [overlay] 35488 type = chunker 35489 remote = remote:bucket 35490 chunk_size = 100M 35491 hash_type = md5 35492 -------------------- 35493 y) Yes this is OK 35494 e) Edit this remote 35495 d) Delete this remote 35496 y/e/d> y 35497 \f[R] 35498 .fi 35499 .SS Specifying the remote 35500 .PP 35501 In normal use, make sure the remote has a \f[C]:\f[R] in. 35502 If you specify the remote without a \f[C]:\f[R] then rclone will use a 35503 local directory of that name. 35504 So if you use a remote of \f[C]/path/to/secret/files\f[R] then rclone 35505 will chunk stuff in that directory. 35506 If you use a remote of \f[C]name\f[R] then rclone will put files in a 35507 directory called \f[C]name\f[R] in the current directory. 35508 .SS Chunking 35509 .PP 35510 When rclone starts a file upload, chunker checks the file size. 35511 If it doesn\[aq]t exceed the configured chunk size, chunker will just 35512 pass the file to the wrapped remote. 35513 If a file is large, chunker will transparently cut data in pieces with 35514 temporary names and stream them one by one, on the fly. 35515 Each data chunk will contain the specified number of bytes, except for 35516 the last one which may have less data. 35517 If file size is unknown in advance (this is called a streaming upload), 35518 chunker will internally create a temporary copy, record its size and 35519 repeat the above process. 35520 .PP 35521 When upload completes, temporary chunk files are finally renamed. 35522 This scheme guarantees that operations can be run in parallel and look 35523 from outside as atomic. 35524 A similar method with hidden temporary chunks is used for other 35525 operations (copy/move/rename, etc.). 35526 If an operation fails, hidden chunks are normally destroyed, and the 35527 target composite file stays intact. 35528 .PP 35529 When a composite file download is requested, chunker transparently 35530 assembles it by concatenating data chunks in order. 35531 As the split is trivial one could even manually concatenate data chunks 35532 together to obtain the original content. 35533 .PP 35534 When the \f[C]list\f[R] rclone command scans a directory on wrapped 35535 remote, the potential chunk files are accounted for, grouped and 35536 assembled into composite directory entries. 35537 Any temporary chunks are hidden. 35538 .PP 35539 List and other commands can sometimes come across composite files with 35540 missing or invalid chunks, e.g. 35541 shadowed by like-named directory or another file. 35542 This usually means that wrapped file system has been directly tampered 35543 with or damaged. 35544 If chunker detects a missing chunk it will by default print warning, 35545 skip the whole incomplete group of chunks but proceed with current 35546 command. 35547 You can set the \f[C]--chunker-fail-hard\f[R] flag to have commands 35548 abort with error message in such cases. 35549 .SS Chunk names 35550 .PP 35551 The default chunk name format is \f[C]*.rclone_chunk.###\f[R], hence by 35552 default chunk names are \f[C]BIG_FILE_NAME.rclone_chunk.001\f[R], 35553 \f[C]BIG_FILE_NAME.rclone_chunk.002\f[R] etc. 35554 You can configure another name format using the \f[C]name_format\f[R] 35555 configuration file option. 35556 The format uses asterisk \f[C]*\f[R] as a placeholder for the base file 35557 name and one or more consecutive hash characters \f[C]#\f[R] as a 35558 placeholder for sequential chunk number. 35559 There must be one and only one asterisk. 35560 The number of consecutive hash characters defines the minimum length of 35561 a string representing a chunk number. 35562 If decimal chunk number has less digits than the number of hashes, it is 35563 left-padded by zeros. 35564 If the decimal string is longer, it is left intact. 35565 By default numbering starts from 1 but there is another option that 35566 allows user to start from 0, e.g. 35567 for compatibility with legacy software. 35568 .PP 35569 For example, if name format is \f[C]big_*-##.part\f[R] and original file 35570 name is \f[C]data.txt\f[R] and numbering starts from 0, then the first 35571 chunk will be named \f[C]big_data.txt-00.part\f[R], the 99th chunk will 35572 be \f[C]big_data.txt-98.part\f[R] and the 302nd chunk will become 35573 \f[C]big_data.txt-301.part\f[R]. 35574 .PP 35575 Note that \f[C]list\f[R] assembles composite directory entries only when 35576 chunk names match the configured format and treats non-conforming file 35577 names as normal non-chunked files. 35578 .PP 35579 When using \f[C]norename\f[R] transactions, chunk names will 35580 additionally have a unique file version suffix. 35581 For example, \f[C]BIG_FILE_NAME.rclone_chunk.001_bp562k\f[R]. 35582 .SS Metadata 35583 .PP 35584 Besides data chunks chunker will by default create metadata object for a 35585 composite file. 35586 The object is named after the original file. 35587 Chunker allows user to disable metadata completely (the \f[C]none\f[R] 35588 format). 35589 Note that metadata is normally not created for files smaller than the 35590 configured chunk size. 35591 This may change in future rclone releases. 35592 .SS Simple JSON metadata format 35593 .PP 35594 This is the default format. 35595 It supports hash sums and chunk validation for composite files. 35596 Meta objects carry the following fields: 35597 .IP \[bu] 2 35598 \f[C]ver\f[R] - version of format, currently \f[C]1\f[R] 35599 .IP \[bu] 2 35600 \f[C]size\f[R] - total size of composite file 35601 .IP \[bu] 2 35602 \f[C]nchunks\f[R] - number of data chunks in file 35603 .IP \[bu] 2 35604 \f[C]md5\f[R] - MD5 hashsum of composite file (if present) 35605 .IP \[bu] 2 35606 \f[C]sha1\f[R] - SHA1 hashsum (if present) 35607 .IP \[bu] 2 35608 \f[C]txn\f[R] - identifies current version of the file 35609 .PP 35610 There is no field for composite file name as it\[aq]s simply equal to 35611 the name of meta object on the wrapped remote. 35612 Please refer to respective sections for details on hashsums and modified 35613 time handling. 35614 .SS No metadata 35615 .PP 35616 You can disable meta objects by setting the meta format option to 35617 \f[C]none\f[R]. 35618 In this mode chunker will scan directory for all files that follow 35619 configured chunk name format, group them by detecting chunks with the 35620 same base name and show group names as virtual composite files. 35621 This method is more prone to missing chunk errors (especially missing 35622 last chunk) than format with metadata enabled. 35623 .SS Hashsums 35624 .PP 35625 Chunker supports hashsums only when a compatible metadata is present. 35626 Hence, if you choose metadata format of \f[C]none\f[R], chunker will 35627 report hashsum as \f[C]UNSUPPORTED\f[R]. 35628 .PP 35629 Please note that by default metadata is stored only for composite files. 35630 If a file is smaller than configured chunk size, chunker will 35631 transparently redirect hash requests to wrapped remote, so support 35632 depends on that. 35633 You will see the empty string as a hashsum of requested type for small 35634 files if the wrapped remote doesn\[aq]t support it. 35635 .PP 35636 Many storage backends support MD5 and SHA1 hash types, so does chunker. 35637 With chunker you can choose one or another but not both. 35638 MD5 is set by default as the most supported type. 35639 Since chunker keeps hashes for composite files and falls back to the 35640 wrapped remote hash for non-chunked ones, we advise you to choose the 35641 same hash type as supported by wrapped remote so that your file listings 35642 look coherent. 35643 .PP 35644 If your storage backend does not support MD5 or SHA1 but you need 35645 consistent file hashing, configure chunker with \f[C]md5all\f[R] or 35646 \f[C]sha1all\f[R]. 35647 These two modes guarantee given hash for all files. 35648 If wrapped remote doesn\[aq]t support it, chunker will then add metadata 35649 to all files, even small. 35650 However, this can double the amount of small files in storage and incur 35651 additional service charges. 35652 You can even use chunker to force md5/sha1 support in any other remote 35653 at expense of sidecar meta objects by setting e.g. 35654 \f[C]hash_type=sha1all\f[R] to force hashsums and 35655 \f[C]chunk_size=1P\f[R] to effectively disable chunking. 35656 .PP 35657 Normally, when a file is copied to chunker controlled remote, chunker 35658 will ask the file source for compatible file hash and revert to 35659 on-the-fly calculation if none is found. 35660 This involves some CPU overhead but provides a guarantee that given 35661 hashsum is available. 35662 Also, chunker will reject a server-side copy or move operation if source 35663 and destination hashsum types are different resulting in the extra 35664 network bandwidth, too. 35665 In some rare cases this may be undesired, so chunker provides two 35666 optional choices: \f[C]sha1quick\f[R] and \f[C]md5quick\f[R]. 35667 If the source does not support primary hash type and the quick mode is 35668 enabled, chunker will try to fall back to the secondary type. 35669 This will save CPU and bandwidth but can result in empty hashsums at 35670 destination. 35671 Beware of consequences: the \f[C]sync\f[R] command will revert 35672 (sometimes silently) to time/size comparison if compatible hashsums 35673 between source and target are not found. 35674 .SS Modified time 35675 .PP 35676 Chunker stores modification times using the wrapped remote so support 35677 depends on that. 35678 For a small non-chunked file the chunker overlay simply manipulates 35679 modification time of the wrapped remote file. 35680 For a composite file with metadata chunker will get and set modification 35681 time of the metadata object on the wrapped remote. 35682 If file is chunked but metadata format is \f[C]none\f[R] then chunker 35683 will use modification time of the first data chunk. 35684 .SS Migrations 35685 .PP 35686 The idiomatic way to migrate to a different chunk size, hash type, 35687 transaction style or chunk naming scheme is to: 35688 .IP \[bu] 2 35689 Collect all your chunked files under a directory and have your chunker 35690 remote point to it. 35691 .IP \[bu] 2 35692 Create another directory (most probably on the same cloud storage) and 35693 configure a new remote with desired metadata format, hash type, chunk 35694 naming etc. 35695 .IP \[bu] 2 35696 Now run \f[C]rclone sync --interactive oldchunks: newchunks:\f[R] and 35697 all your data will be transparently converted in transfer. 35698 This may take some time, yet chunker will try server-side copy if 35699 possible. 35700 .IP \[bu] 2 35701 After checking data integrity you may remove configuration section of 35702 the old remote. 35703 .PP 35704 If rclone gets killed during a long operation on a big composite file, 35705 hidden temporary chunks may stay in the directory. 35706 They will not be shown by the \f[C]list\f[R] command but will eat up 35707 your account quota. 35708 Please note that the \f[C]deletefile\f[R] command deletes only active 35709 chunks of a file. 35710 As a workaround, you can use remote of the wrapped file system to see 35711 them. 35712 An easy way to get rid of hidden garbage is to copy littered directory 35713 somewhere using the chunker remote and purge the original directory. 35714 The \f[C]copy\f[R] command will copy only active chunks while the 35715 \f[C]purge\f[R] will remove everything including garbage. 35716 .SS Caveats and Limitations 35717 .PP 35718 Chunker requires wrapped remote to support server-side \f[C]move\f[R] 35719 (or \f[C]copy\f[R] + \f[C]delete\f[R]) operations, otherwise it will 35720 explicitly refuse to start. 35721 This is because it internally renames temporary chunk files to their 35722 final names when an operation completes successfully. 35723 .PP 35724 Chunker encodes chunk number in file name, so with default 35725 \f[C]name_format\f[R] setting it adds 17 characters. 35726 Also chunker adds 7 characters of temporary suffix during operations. 35727 Many file systems limit base file name without path by 255 characters. 35728 Using rclone\[aq]s crypt remote as a base file system limits file name 35729 by 143 characters. 35730 Thus, maximum name length is 231 for most files and 119 for 35731 chunker-over-crypt. 35732 A user in need can change name format to e.g. 35733 \f[C]*.rcc##\f[R] and save 10 characters (provided at most 99 chunks per 35734 file). 35735 .PP 35736 Note that a move implemented using the copy-and-delete method may incur 35737 double charging with some cloud storage providers. 35738 .PP 35739 Chunker will not automatically rename existing chunks when you run 35740 \f[C]rclone config\f[R] on a live remote and change the chunk name 35741 format. 35742 Beware that in result of this some files which have been treated as 35743 chunks before the change can pop up in directory listings as normal 35744 files and vice versa. 35745 The same warning holds for the chunk size. 35746 If you desperately need to change critical chunking settings, you should 35747 run data migration as described above. 35748 .PP 35749 If wrapped remote is case insensitive, the chunker overlay will inherit 35750 that property (so you can\[aq]t have a file called \[dq]Hello.doc\[dq] 35751 and \[dq]hello.doc\[dq] in the same directory). 35752 .PP 35753 Chunker included in rclone releases up to \f[C]v1.54\f[R] can sometimes 35754 fail to detect metadata produced by recent versions of rclone. 35755 We recommend users to keep rclone up-to-date to avoid data corruption. 35756 .PP 35757 Changing \f[C]transactions\f[R] is dangerous and requires explicit 35758 migration. 35759 .SS Standard options 35760 .PP 35761 Here are the Standard options specific to chunker (Transparently 35762 chunk/split large files). 35763 .SS --chunker-remote 35764 .PP 35765 Remote to chunk/unchunk. 35766 .PP 35767 Normally should contain a \[aq]:\[aq] and a path, e.g. 35768 \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq] or maybe 35769 \[dq]myremote:\[dq] (not recommended). 35770 .PP 35771 Properties: 35772 .IP \[bu] 2 35773 Config: remote 35774 .IP \[bu] 2 35775 Env Var: RCLONE_CHUNKER_REMOTE 35776 .IP \[bu] 2 35777 Type: string 35778 .IP \[bu] 2 35779 Required: true 35780 .SS --chunker-chunk-size 35781 .PP 35782 Files larger than chunk size will be split in chunks. 35783 .PP 35784 Properties: 35785 .IP \[bu] 2 35786 Config: chunk_size 35787 .IP \[bu] 2 35788 Env Var: RCLONE_CHUNKER_CHUNK_SIZE 35789 .IP \[bu] 2 35790 Type: SizeSuffix 35791 .IP \[bu] 2 35792 Default: 2Gi 35793 .SS --chunker-hash-type 35794 .PP 35795 Choose how chunker handles hash sums. 35796 .PP 35797 All modes but \[dq]none\[dq] require metadata. 35798 .PP 35799 Properties: 35800 .IP \[bu] 2 35801 Config: hash_type 35802 .IP \[bu] 2 35803 Env Var: RCLONE_CHUNKER_HASH_TYPE 35804 .IP \[bu] 2 35805 Type: string 35806 .IP \[bu] 2 35807 Default: \[dq]md5\[dq] 35808 .IP \[bu] 2 35809 Examples: 35810 .RS 2 35811 .IP \[bu] 2 35812 \[dq]none\[dq] 35813 .RS 2 35814 .IP \[bu] 2 35815 Pass any hash supported by wrapped remote for non-chunked files. 35816 .IP \[bu] 2 35817 Return nothing otherwise. 35818 .RE 35819 .IP \[bu] 2 35820 \[dq]md5\[dq] 35821 .RS 2 35822 .IP \[bu] 2 35823 MD5 for composite files. 35824 .RE 35825 .IP \[bu] 2 35826 \[dq]sha1\[dq] 35827 .RS 2 35828 .IP \[bu] 2 35829 SHA1 for composite files. 35830 .RE 35831 .IP \[bu] 2 35832 \[dq]md5all\[dq] 35833 .RS 2 35834 .IP \[bu] 2 35835 MD5 for all files. 35836 .RE 35837 .IP \[bu] 2 35838 \[dq]sha1all\[dq] 35839 .RS 2 35840 .IP \[bu] 2 35841 SHA1 for all files. 35842 .RE 35843 .IP \[bu] 2 35844 \[dq]md5quick\[dq] 35845 .RS 2 35846 .IP \[bu] 2 35847 Copying a file to chunker will request MD5 from the source. 35848 .IP \[bu] 2 35849 Falling back to SHA1 if unsupported. 35850 .RE 35851 .IP \[bu] 2 35852 \[dq]sha1quick\[dq] 35853 .RS 2 35854 .IP \[bu] 2 35855 Similar to \[dq]md5quick\[dq] but prefers SHA1 over MD5. 35856 .RE 35857 .RE 35858 .SS Advanced options 35859 .PP 35860 Here are the Advanced options specific to chunker (Transparently 35861 chunk/split large files). 35862 .SS --chunker-name-format 35863 .PP 35864 String format of chunk file names. 35865 .PP 35866 The two placeholders are: base file name (*) and chunk number (#...). 35867 There must be one and only one asterisk and one or more consecutive hash 35868 characters. 35869 If chunk number has less digits than the number of hashes, it is 35870 left-padded by zeros. 35871 If there are more digits in the number, they are left as is. 35872 Possible chunk files are ignored if their name does not match given 35873 format. 35874 .PP 35875 Properties: 35876 .IP \[bu] 2 35877 Config: name_format 35878 .IP \[bu] 2 35879 Env Var: RCLONE_CHUNKER_NAME_FORMAT 35880 .IP \[bu] 2 35881 Type: string 35882 .IP \[bu] 2 35883 Default: \[dq]*.rclone_chunk.###\[dq] 35884 .SS --chunker-start-from 35885 .PP 35886 Minimum valid chunk number. 35887 Usually 0 or 1. 35888 .PP 35889 By default chunk numbers start from 1. 35890 .PP 35891 Properties: 35892 .IP \[bu] 2 35893 Config: start_from 35894 .IP \[bu] 2 35895 Env Var: RCLONE_CHUNKER_START_FROM 35896 .IP \[bu] 2 35897 Type: int 35898 .IP \[bu] 2 35899 Default: 1 35900 .SS --chunker-meta-format 35901 .PP 35902 Format of the metadata object or \[dq]none\[dq]. 35903 .PP 35904 By default \[dq]simplejson\[dq]. 35905 Metadata is a small JSON file named after the composite file. 35906 .PP 35907 Properties: 35908 .IP \[bu] 2 35909 Config: meta_format 35910 .IP \[bu] 2 35911 Env Var: RCLONE_CHUNKER_META_FORMAT 35912 .IP \[bu] 2 35913 Type: string 35914 .IP \[bu] 2 35915 Default: \[dq]simplejson\[dq] 35916 .IP \[bu] 2 35917 Examples: 35918 .RS 2 35919 .IP \[bu] 2 35920 \[dq]none\[dq] 35921 .RS 2 35922 .IP \[bu] 2 35923 Do not use metadata files at all. 35924 .IP \[bu] 2 35925 Requires hash type \[dq]none\[dq]. 35926 .RE 35927 .IP \[bu] 2 35928 \[dq]simplejson\[dq] 35929 .RS 2 35930 .IP \[bu] 2 35931 Simple JSON supports hash sums and chunk validation. 35932 .IP \[bu] 2 35933 It has the following fields: ver, size, nchunks, md5, sha1. 35934 .RE 35935 .RE 35936 .SS --chunker-fail-hard 35937 .PP 35938 Choose how chunker should handle files with missing or invalid chunks. 35939 .PP 35940 Properties: 35941 .IP \[bu] 2 35942 Config: fail_hard 35943 .IP \[bu] 2 35944 Env Var: RCLONE_CHUNKER_FAIL_HARD 35945 .IP \[bu] 2 35946 Type: bool 35947 .IP \[bu] 2 35948 Default: false 35949 .IP \[bu] 2 35950 Examples: 35951 .RS 2 35952 .IP \[bu] 2 35953 \[dq]true\[dq] 35954 .RS 2 35955 .IP \[bu] 2 35956 Report errors and abort current command. 35957 .RE 35958 .IP \[bu] 2 35959 \[dq]false\[dq] 35960 .RS 2 35961 .IP \[bu] 2 35962 Warn user, skip incomplete file and proceed. 35963 .RE 35964 .RE 35965 .SS --chunker-transactions 35966 .PP 35967 Choose how chunker should handle temporary files during transactions. 35968 .PP 35969 Properties: 35970 .IP \[bu] 2 35971 Config: transactions 35972 .IP \[bu] 2 35973 Env Var: RCLONE_CHUNKER_TRANSACTIONS 35974 .IP \[bu] 2 35975 Type: string 35976 .IP \[bu] 2 35977 Default: \[dq]rename\[dq] 35978 .IP \[bu] 2 35979 Examples: 35980 .RS 2 35981 .IP \[bu] 2 35982 \[dq]rename\[dq] 35983 .RS 2 35984 .IP \[bu] 2 35985 Rename temporary files after a successful transaction. 35986 .RE 35987 .IP \[bu] 2 35988 \[dq]norename\[dq] 35989 .RS 2 35990 .IP \[bu] 2 35991 Leave temporary file names and write transaction ID to metadata file. 35992 .IP \[bu] 2 35993 Metadata is required for no rename transactions (meta format cannot be 35994 \[dq]none\[dq]). 35995 .IP \[bu] 2 35996 If you are using norename transactions you should be careful not to 35997 downgrade Rclone 35998 .IP \[bu] 2 35999 as older versions of Rclone don\[aq]t support this transaction style and 36000 will misinterpret 36001 .IP \[bu] 2 36002 files manipulated by norename transactions. 36003 .IP \[bu] 2 36004 This method is EXPERIMENTAL, don\[aq]t use on production systems. 36005 .RE 36006 .IP \[bu] 2 36007 \[dq]auto\[dq] 36008 .RS 2 36009 .IP \[bu] 2 36010 Rename or norename will be used depending on capabilities of the 36011 backend. 36012 .IP \[bu] 2 36013 If meta format is set to \[dq]none\[dq], rename transactions will always 36014 be used. 36015 .IP \[bu] 2 36016 This method is EXPERIMENTAL, don\[aq]t use on production systems. 36017 .RE 36018 .RE 36019 .SH Citrix ShareFile 36020 .PP 36021 Citrix ShareFile (https://sharefile.com) is a secure file sharing and 36022 transfer service aimed as business. 36023 .SS Configuration 36024 .PP 36025 The initial setup for Citrix ShareFile involves getting a token from 36026 Citrix ShareFile which you can in your browser. 36027 \f[C]rclone config\f[R] walks you through it. 36028 .PP 36029 Here is an example of how to make a remote called \f[C]remote\f[R]. 36030 First run: 36031 .IP 36032 .nf 36033 \f[C] 36034 rclone config 36035 \f[R] 36036 .fi 36037 .PP 36038 This will guide you through an interactive setup process: 36039 .IP 36040 .nf 36041 \f[C] 36042 No remotes found, make a new one? 36043 n) New remote 36044 s) Set configuration password 36045 q) Quit config 36046 n/s/q> n 36047 name> remote 36048 Type of storage to configure. 36049 Enter a string value. Press Enter for the default (\[dq]\[dq]). 36050 Choose a number from below, or type in your own value 36051 XX / Citrix Sharefile 36052 \[rs] \[dq]sharefile\[dq] 36053 Storage> sharefile 36054 ** See help for sharefile backend at: https://rclone.org/sharefile/ ** 36055 36056 ID of the root folder 36057 36058 Leave blank to access \[dq]Personal Folders\[dq]. You can use one of the 36059 standard values here or any folder ID (long hex number ID). 36060 Enter a string value. Press Enter for the default (\[dq]\[dq]). 36061 Choose a number from below, or type in your own value 36062 1 / Access the Personal Folders. (Default) 36063 \[rs] \[dq]\[dq] 36064 2 / Access the Favorites folder. 36065 \[rs] \[dq]favorites\[dq] 36066 3 / Access all the shared folders. 36067 \[rs] \[dq]allshared\[dq] 36068 4 / Access all the individual connectors. 36069 \[rs] \[dq]connectors\[dq] 36070 5 / Access the home, favorites, and shared folders as well as the connectors. 36071 \[rs] \[dq]top\[dq] 36072 root_folder_id> 36073 Edit advanced config? (y/n) 36074 y) Yes 36075 n) No 36076 y/n> n 36077 Remote config 36078 Use web browser to automatically authenticate rclone with remote? 36079 * Say Y if the machine running rclone has a web browser you can use 36080 * Say N if running rclone on a (remote) machine without web browser access 36081 If not sure try Y. If Y failed, try N. 36082 y) Yes 36083 n) No 36084 y/n> y 36085 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth?state=XXX 36086 Log in and authorize rclone for access 36087 Waiting for code... 36088 Got code 36089 -------------------- 36090 [remote] 36091 type = sharefile 36092 endpoint = https://XXX.sharefile.com 36093 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2019-09-30T19:41:45.878561877+01:00\[dq]} 36094 -------------------- 36095 y) Yes this is OK 36096 e) Edit this remote 36097 d) Delete this remote 36098 y/e/d> y 36099 \f[R] 36100 .fi 36101 .PP 36102 See the remote setup docs (https://rclone.org/remote_setup/) for how to 36103 set it up on a machine with no Internet browser available. 36104 .PP 36105 Note that rclone runs a webserver on your local machine to collect the 36106 token as returned from Citrix ShareFile. 36107 This only runs from the moment it opens your browser to the moment you 36108 get back the verification code. 36109 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 36110 to unblock it temporarily if you are running a host firewall. 36111 .PP 36112 Once configured you can then use \f[C]rclone\f[R] like this, 36113 .PP 36114 List directories in top level of your ShareFile 36115 .IP 36116 .nf 36117 \f[C] 36118 rclone lsd remote: 36119 \f[R] 36120 .fi 36121 .PP 36122 List all the files in your ShareFile 36123 .IP 36124 .nf 36125 \f[C] 36126 rclone ls remote: 36127 \f[R] 36128 .fi 36129 .PP 36130 To copy a local directory to an ShareFile directory called backup 36131 .IP 36132 .nf 36133 \f[C] 36134 rclone copy /home/source remote:backup 36135 \f[R] 36136 .fi 36137 .PP 36138 Paths may be as deep as required, e.g. 36139 \f[C]remote:directory/subdirectory\f[R]. 36140 .SS Modified time and hashes 36141 .PP 36142 ShareFile allows modification times to be set on objects accurate to 1 36143 second. 36144 These will be used to detect whether objects need syncing or not. 36145 .PP 36146 ShareFile supports MD5 type hashes, so you can use the 36147 \f[C]--checksum\f[R] flag. 36148 .SS Transfers 36149 .PP 36150 For files above 128 MiB rclone will use a chunked transfer. 36151 Rclone will upload up to \f[C]--transfers\f[R] chunks at the same time 36152 (shared among all the multipart uploads). 36153 Chunks are buffered in memory and are normally 64 MiB so increasing 36154 \f[C]--transfers\f[R] will increase memory use. 36155 .SS Restricted filename characters 36156 .PP 36157 In addition to the default restricted characters 36158 set (https://rclone.org/overview/#restricted-characters) the following 36159 characters are also replaced: 36160 .PP 36161 .TS 36162 tab(@); 36163 l c c. 36164 T{ 36165 Character 36166 T}@T{ 36167 Value 36168 T}@T{ 36169 Replacement 36170 T} 36171 _ 36172 T{ 36173 \[rs] 36174 T}@T{ 36175 0x5C 36176 T}@T{ 36177 \[uFF3C] 36178 T} 36179 T{ 36180 * 36181 T}@T{ 36182 0x2A 36183 T}@T{ 36184 \[uFF0A] 36185 T} 36186 T{ 36187 < 36188 T}@T{ 36189 0x3C 36190 T}@T{ 36191 \[uFF1C] 36192 T} 36193 T{ 36194 > 36195 T}@T{ 36196 0x3E 36197 T}@T{ 36198 \[uFF1E] 36199 T} 36200 T{ 36201 ? 36202 T}@T{ 36203 0x3F 36204 T}@T{ 36205 \[uFF1F] 36206 T} 36207 T{ 36208 : 36209 T}@T{ 36210 0x3A 36211 T}@T{ 36212 \[uFF1A] 36213 T} 36214 T{ 36215 | 36216 T}@T{ 36217 0x7C 36218 T}@T{ 36219 \[uFF5C] 36220 T} 36221 T{ 36222 \[dq] 36223 T}@T{ 36224 0x22 36225 T}@T{ 36226 \[uFF02] 36227 T} 36228 .TE 36229 .PP 36230 File names can also not start or end with the following characters. 36231 These only get replaced if they are the first or last character in the 36232 name: 36233 .PP 36234 .TS 36235 tab(@); 36236 l c c. 36237 T{ 36238 Character 36239 T}@T{ 36240 Value 36241 T}@T{ 36242 Replacement 36243 T} 36244 _ 36245 T{ 36246 SP 36247 T}@T{ 36248 0x20 36249 T}@T{ 36250 \[u2420] 36251 T} 36252 T{ 36253 \&. 36254 T}@T{ 36255 0x2E 36256 T}@T{ 36257 \[uFF0E] 36258 T} 36259 .TE 36260 .PP 36261 Invalid UTF-8 bytes will also be 36262 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 36263 be used in JSON strings. 36264 .SS Standard options 36265 .PP 36266 Here are the Standard options specific to sharefile (Citrix Sharefile). 36267 .SS --sharefile-root-folder-id 36268 .PP 36269 ID of the root folder. 36270 .PP 36271 Leave blank to access \[dq]Personal Folders\[dq]. 36272 You can use one of the standard values here or any folder ID (long hex 36273 number ID). 36274 .PP 36275 Properties: 36276 .IP \[bu] 2 36277 Config: root_folder_id 36278 .IP \[bu] 2 36279 Env Var: RCLONE_SHAREFILE_ROOT_FOLDER_ID 36280 .IP \[bu] 2 36281 Type: string 36282 .IP \[bu] 2 36283 Required: false 36284 .IP \[bu] 2 36285 Examples: 36286 .RS 2 36287 .IP \[bu] 2 36288 \[dq]\[dq] 36289 .RS 2 36290 .IP \[bu] 2 36291 Access the Personal Folders (default). 36292 .RE 36293 .IP \[bu] 2 36294 \[dq]favorites\[dq] 36295 .RS 2 36296 .IP \[bu] 2 36297 Access the Favorites folder. 36298 .RE 36299 .IP \[bu] 2 36300 \[dq]allshared\[dq] 36301 .RS 2 36302 .IP \[bu] 2 36303 Access all the shared folders. 36304 .RE 36305 .IP \[bu] 2 36306 \[dq]connectors\[dq] 36307 .RS 2 36308 .IP \[bu] 2 36309 Access all the individual connectors. 36310 .RE 36311 .IP \[bu] 2 36312 \[dq]top\[dq] 36313 .RS 2 36314 .IP \[bu] 2 36315 Access the home, favorites, and shared folders as well as the 36316 connectors. 36317 .RE 36318 .RE 36319 .SS Advanced options 36320 .PP 36321 Here are the Advanced options specific to sharefile (Citrix Sharefile). 36322 .SS --sharefile-upload-cutoff 36323 .PP 36324 Cutoff for switching to multipart upload. 36325 .PP 36326 Properties: 36327 .IP \[bu] 2 36328 Config: upload_cutoff 36329 .IP \[bu] 2 36330 Env Var: RCLONE_SHAREFILE_UPLOAD_CUTOFF 36331 .IP \[bu] 2 36332 Type: SizeSuffix 36333 .IP \[bu] 2 36334 Default: 128Mi 36335 .SS --sharefile-chunk-size 36336 .PP 36337 Upload chunk size. 36338 .PP 36339 Must a power of 2 >= 256k. 36340 .PP 36341 Making this larger will improve performance, but note that each chunk is 36342 buffered in memory one per transfer. 36343 .PP 36344 Reducing this will reduce memory usage but decrease performance. 36345 .PP 36346 Properties: 36347 .IP \[bu] 2 36348 Config: chunk_size 36349 .IP \[bu] 2 36350 Env Var: RCLONE_SHAREFILE_CHUNK_SIZE 36351 .IP \[bu] 2 36352 Type: SizeSuffix 36353 .IP \[bu] 2 36354 Default: 64Mi 36355 .SS --sharefile-endpoint 36356 .PP 36357 Endpoint for API calls. 36358 .PP 36359 This is usually auto discovered as part of the oauth process, but can be 36360 set manually to something like: https://XXX.sharefile.com 36361 .PP 36362 Properties: 36363 .IP \[bu] 2 36364 Config: endpoint 36365 .IP \[bu] 2 36366 Env Var: RCLONE_SHAREFILE_ENDPOINT 36367 .IP \[bu] 2 36368 Type: string 36369 .IP \[bu] 2 36370 Required: false 36371 .SS --sharefile-encoding 36372 .PP 36373 The encoding for the backend. 36374 .PP 36375 See the encoding section in the 36376 overview (https://rclone.org/overview/#encoding) for more info. 36377 .PP 36378 Properties: 36379 .IP \[bu] 2 36380 Config: encoding 36381 .IP \[bu] 2 36382 Env Var: RCLONE_SHAREFILE_ENCODING 36383 .IP \[bu] 2 36384 Type: MultiEncoder 36385 .IP \[bu] 2 36386 Default: 36387 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,LeftPeriod,RightSpace,RightPeriod,InvalidUtf8,Dot 36388 .SS Limitations 36389 .PP 36390 Note that ShareFile is case insensitive so you can\[aq]t have a file 36391 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 36392 .PP 36393 ShareFile only supports filenames up to 256 characters in length. 36394 .PP 36395 \f[C]rclone about\f[R] is not supported by the Citrix ShareFile backend. 36396 Backends without this capability cannot determine free space for an 36397 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 36398 of an rclone union remote. 36399 .PP 36400 See List of backends that do not support rclone 36401 about (https://rclone.org/overview/#optional-features) and rclone 36402 about (https://rclone.org/commands/rclone_about/) 36403 .SH Crypt 36404 .PP 36405 Rclone \f[C]crypt\f[R] remotes encrypt and decrypt other remotes. 36406 .PP 36407 A remote of type \f[C]crypt\f[R] does not access a storage 36408 system (https://rclone.org/overview/) directly, but instead wraps 36409 another remote, which in turn accesses the storage system. 36410 This is similar to how alias (https://rclone.org/alias/), 36411 union (https://rclone.org/union/), chunker (https://rclone.org/chunker/) 36412 and a few others work. 36413 It makes the usage very flexible, as you can add a layer, in this case 36414 an encryption layer, on top of any other backend, even in multiple 36415 layers. 36416 Rclone\[aq]s functionality can be used as with any other remote, for 36417 example you can mount (https://rclone.org/commands/rclone_mount/) a 36418 crypt remote. 36419 .PP 36420 Accessing a storage system through a crypt remote realizes client-side 36421 encryption, which makes it safe to keep your data in a location you do 36422 not trust will not get compromised. 36423 When working against the \f[C]crypt\f[R] remote, rclone will 36424 automatically encrypt (before uploading) and decrypt (after downloading) 36425 on your local system as needed on the fly, leaving the data encrypted at 36426 rest in the wrapped remote. 36427 If you access the storage system using an application other than rclone, 36428 or access the wrapped remote directly using rclone, there will not be 36429 any encryption/decryption: Downloading existing content will just give 36430 you the encrypted (scrambled) format, and anything you upload will 36431 \f[I]not\f[R] become encrypted. 36432 .PP 36433 The encryption is a secret-key encryption (also called symmetric key 36434 encryption) algorithm, where a password (or pass phrase) is used to 36435 generate real encryption key. 36436 The password can be supplied by user, or you may chose to let rclone 36437 generate one. 36438 It will be stored in the configuration file, in a lightly obscured form. 36439 If you are in an environment where you are not able to keep your 36440 configuration secured, you should add configuration 36441 encryption (https://rclone.org/docs/#configuration-encryption) as 36442 protection. 36443 As long as you have this configuration file, you will be able to decrypt 36444 your data. 36445 Without the configuration file, as long as you remember the password (or 36446 keep it in a safe place), you can re-create the configuration and gain 36447 access to the existing data. 36448 You may also configure a corresponding remote in a different 36449 installation to access the same data. 36450 See below for guidance to changing password. 36451 .PP 36452 Encryption uses cryptographic 36453 salt (https://en.wikipedia.org/wiki/Salt_(cryptography)), to permute the 36454 encryption key so that the same string may be encrypted in different 36455 ways. 36456 When configuring the crypt remote it is optional to enter a salt, or to 36457 let rclone generate a unique salt. 36458 If omitted, rclone uses a built-in unique string. 36459 Normally in cryptography, the salt is stored together with the encrypted 36460 content, and do not have to be memorized by the user. 36461 This is not the case in rclone, because rclone does not store any 36462 additional information on the remotes. 36463 Use of custom salt is effectively a second password that must be 36464 memorized. 36465 .PP 36466 File content encryption is performed using NaCl 36467 SecretBox (https://godoc.org/golang.org/x/crypto/nacl/secretbox), based 36468 on XSalsa20 cipher and Poly1305 for integrity. 36469 Names (file- and directory names) are also encrypted by default, but 36470 this has some implications and is therefore possible to be turned off. 36471 .SS Configuration 36472 .PP 36473 Here is an example of how to make a remote called \f[C]secret\f[R]. 36474 .PP 36475 To use \f[C]crypt\f[R], first set up the underlying remote. 36476 Follow the \f[C]rclone config\f[R] instructions for the specific 36477 backend. 36478 .PP 36479 Before configuring the crypt remote, check the underlying remote is 36480 working. 36481 In this example the underlying remote is called \f[C]remote\f[R]. 36482 We will configure a path \f[C]path\f[R] within this remote to contain 36483 the encrypted content. 36484 Anything inside \f[C]remote:path\f[R] will be encrypted and anything 36485 outside will not. 36486 .PP 36487 Configure \f[C]crypt\f[R] using \f[C]rclone config\f[R]. 36488 In this example the \f[C]crypt\f[R] remote is called \f[C]secret\f[R], 36489 to differentiate it from the underlying \f[C]remote\f[R]. 36490 .PP 36491 When you are done you can use the crypt remote named \f[C]secret\f[R] 36492 just as you would with any other remote, e.g. 36493 \f[C]rclone copy D:\[rs]docs secret:\[rs]docs\f[R], and rclone will 36494 encrypt and decrypt as needed on the fly. 36495 If you access the wrapped remote \f[C]remote:path\f[R] directly you will 36496 bypass the encryption, and anything you read will be in encrypted form, 36497 and anything you write will be unencrypted. 36498 To avoid issues it is best to configure a dedicated path for encrypted 36499 content, and access it exclusively through a crypt remote. 36500 .IP 36501 .nf 36502 \f[C] 36503 No remotes found, make a new one? 36504 n) New remote 36505 s) Set configuration password 36506 q) Quit config 36507 n/s/q> n 36508 name> secret 36509 Type of storage to configure. 36510 Enter a string value. Press Enter for the default (\[dq]\[dq]). 36511 Choose a number from below, or type in your own value 36512 [snip] 36513 XX / Encrypt/Decrypt a remote 36514 \[rs] \[dq]crypt\[dq] 36515 [snip] 36516 Storage> crypt 36517 ** See help for crypt backend at: https://rclone.org/crypt/ ** 36518 36519 Remote to encrypt/decrypt. 36520 Normally should contain a \[aq]:\[aq] and a path, eg \[dq]myremote:path/to/dir\[dq], 36521 \[dq]myremote:bucket\[dq] or maybe \[dq]myremote:\[dq] (not recommended). 36522 Enter a string value. Press Enter for the default (\[dq]\[dq]). 36523 remote> remote:path 36524 How to encrypt the filenames. 36525 Enter a string value. Press Enter for the default (\[dq]standard\[dq]). 36526 Choose a number from below, or type in your own value. 36527 / Encrypt the filenames. 36528 1 | See the docs for the details. 36529 \[rs] \[dq]standard\[dq] 36530 2 / Very simple filename obfuscation. 36531 \[rs] \[dq]obfuscate\[dq] 36532 / Don\[aq]t encrypt the file names. 36533 3 | Adds a \[dq].bin\[dq] extension only. 36534 \[rs] \[dq]off\[dq] 36535 filename_encryption> 36536 Option to either encrypt directory names or leave them intact. 36537 36538 NB If filename_encryption is \[dq]off\[dq] then this option will do nothing. 36539 Enter a boolean value (true or false). Press Enter for the default (\[dq]true\[dq]). 36540 Choose a number from below, or type in your own value 36541 1 / Encrypt directory names. 36542 \[rs] \[dq]true\[dq] 36543 2 / Don\[aq]t encrypt directory names, leave them intact. 36544 \[rs] \[dq]false\[dq] 36545 directory_name_encryption> 36546 Password or pass phrase for encryption. 36547 y) Yes type in my own password 36548 g) Generate random password 36549 y/g> y 36550 Enter the password: 36551 password: 36552 Confirm the password: 36553 password: 36554 Password or pass phrase for salt. Optional but recommended. 36555 Should be different to the previous password. 36556 y) Yes type in my own password 36557 g) Generate random password 36558 n) No leave this optional password blank (default) 36559 y/g/n> g 36560 Password strength in bits. 36561 64 is just about memorable 36562 128 is secure 36563 1024 is the maximum 36564 Bits> 128 36565 Your password is: JAsJvRcgR-_veXNfy_sGmQ 36566 Use this password? Please note that an obscured version of this 36567 password (and not the password itself) will be stored under your 36568 configuration file, so keep this generated password in a safe place. 36569 y) Yes (default) 36570 n) No 36571 y/n> 36572 Edit advanced config? (y/n) 36573 y) Yes 36574 n) No (default) 36575 y/n> 36576 Remote config 36577 -------------------- 36578 [secret] 36579 type = crypt 36580 remote = remote:path 36581 password = *** ENCRYPTED *** 36582 password2 = *** ENCRYPTED *** 36583 -------------------- 36584 y) Yes this is OK (default) 36585 e) Edit this remote 36586 d) Delete this remote 36587 y/e/d> 36588 \f[R] 36589 .fi 36590 .PP 36591 \f[B]Important\f[R] The crypt password stored in \f[C]rclone.conf\f[R] 36592 is lightly obscured. 36593 That only protects it from cursory inspection. 36594 It is not secure unless configuration 36595 encryption (https://rclone.org/docs/#configuration-encryption) of 36596 \f[C]rclone.conf\f[R] is specified. 36597 .PP 36598 A long passphrase is recommended, or \f[C]rclone config\f[R] can 36599 generate a random one. 36600 .PP 36601 The obscured password is created using AES-CTR with a static key. 36602 The salt is stored verbatim at the beginning of the obscured password. 36603 This static key is shared between all versions of rclone. 36604 .PP 36605 If you reconfigure rclone with the same passwords/passphrases elsewhere 36606 it will be compatible, but the obscured version will be different due to 36607 the different salt. 36608 .PP 36609 Rclone does not encrypt 36610 .IP \[bu] 2 36611 file length - this can be calculated within 16 bytes 36612 .IP \[bu] 2 36613 modification time - used for syncing 36614 .SS Specifying the remote 36615 .PP 36616 When configuring the remote to encrypt/decrypt, you may specify any 36617 string that rclone accepts as a source/destination of other commands. 36618 .PP 36619 The primary use case is to specify the path into an already configured 36620 remote (e.g. 36621 \f[C]remote:path/to/dir\f[R] or \f[C]remote:bucket\f[R]), such that data 36622 in a remote untrusted location can be stored encrypted. 36623 .PP 36624 You may also specify a local filesystem path, such as 36625 \f[C]/path/to/dir\f[R] on Linux, \f[C]C:\[rs]path\[rs]to\[rs]dir\f[R] on 36626 Windows. 36627 By creating a crypt remote pointing to such a local filesystem path, you 36628 can use rclone as a utility for pure local file encryption, for example 36629 to keep encrypted files on a removable USB drive. 36630 .PP 36631 \f[B]Note\f[R]: A string which do not contain a \f[C]:\f[R] will by 36632 rclone be treated as a relative path in the local filesystem. 36633 For example, if you enter the name \f[C]remote\f[R] without the trailing 36634 \f[C]:\f[R], it will be treated as a subdirectory of the current 36635 directory with name \[dq]remote\[dq]. 36636 .PP 36637 If a path \f[C]remote:path/to/dir\f[R] is specified, rclone stores 36638 encrypted files in \f[C]path/to/dir\f[R] on the remote. 36639 With file name encryption, files saved to 36640 \f[C]secret:subdir/subfile\f[R] are stored in the unencrypted path 36641 \f[C]path/to/dir\f[R] but the \f[C]subdir/subpath\f[R] element is 36642 encrypted. 36643 .PP 36644 The path you specify does not have to exist, rclone will create it when 36645 needed. 36646 .PP 36647 If you intend to use the wrapped remote both directly for keeping 36648 unencrypted content, as well as through a crypt remote for encrypted 36649 content, it is recommended to point the crypt remote to a separate 36650 directory within the wrapped remote. 36651 If you use a bucket-based storage system (e.g. 36652 Swift, S3, Google Compute Storage, B2) it is generally advisable to wrap 36653 the crypt remote around a specific bucket (\f[C]s3:bucket\f[R]). 36654 If wrapping around the entire root of the storage (\f[C]s3:\f[R]), and 36655 use the optional file name encryption, rclone will encrypt the bucket 36656 name. 36657 .SS Changing password 36658 .PP 36659 Should the password, or the configuration file containing a lightly 36660 obscured form of the password, be compromised, you need to re-encrypt 36661 your data with a new password. 36662 Since rclone uses secret-key encryption, where the encryption key is 36663 generated directly from the password kept on the client, it is not 36664 possible to change the password/key of already encrypted content. 36665 Just changing the password configured for an existing crypt remote means 36666 you will no longer able to decrypt any of the previously encrypted 36667 content. 36668 The only possibility is to re-upload everything via a crypt remote 36669 configured with your new password. 36670 .PP 36671 Depending on the size of your data, your bandwidth, storage quota etc, 36672 there are different approaches you can take: - If you have everything in 36673 a different location, for example on your local system, you could remove 36674 all of the prior encrypted files, change the password for your 36675 configured crypt remote (or delete and re-create the crypt 36676 configuration), and then re-upload everything from the alternative 36677 location. 36678 - If you have enough space on the storage system you can create a new 36679 crypt remote pointing to a separate directory on the same backend, and 36680 then use rclone to copy everything from the original crypt remote to the 36681 new, effectively decrypting everything on the fly using the old password 36682 and re-encrypting using the new password. 36683 When done, delete the original crypt remote directory and finally the 36684 rclone crypt configuration with the old password. 36685 All data will be streamed from the storage system and back, so you will 36686 get half the bandwidth and be charged twice if you have upload and 36687 download quota on the storage system. 36688 .PP 36689 \f[B]Note\f[R]: A security problem related to the random password 36690 generator was fixed in rclone version 1.53.3 (released 2020-11-19). 36691 Passwords generated by rclone config in version 1.49.0 (released 36692 2019-08-26) to 1.53.2 (released 2020-10-26) are not considered secure 36693 and should be changed. 36694 If you made up your own password, or used rclone version older than 36695 1.49.0 or newer than 1.53.2 to generate it, you are \f[I]not\f[R] 36696 affected by this issue. 36697 See issue #4783 (https://github.com/divyam234/rclone/issues/4783) for more 36698 details, and a tool you can use to check if you are affected. 36699 .SS Example 36700 .PP 36701 Create the following file structure using \[dq]standard\[dq] file name 36702 encryption. 36703 .IP 36704 .nf 36705 \f[C] 36706 plaintext/ 36707 \[u251C]\[u2500]\[u2500] file0.txt 36708 \[u251C]\[u2500]\[u2500] file1.txt 36709 \[u2514]\[u2500]\[u2500] subdir 36710 \[u251C]\[u2500]\[u2500] file2.txt 36711 \[u251C]\[u2500]\[u2500] file3.txt 36712 \[u2514]\[u2500]\[u2500] subsubdir 36713 \[u2514]\[u2500]\[u2500] file4.txt 36714 \f[R] 36715 .fi 36716 .PP 36717 Copy these to the remote, and list them 36718 .IP 36719 .nf 36720 \f[C] 36721 $ rclone -q copy plaintext secret: 36722 $ rclone -q ls secret: 36723 7 file1.txt 36724 6 file0.txt 36725 8 subdir/file2.txt 36726 10 subdir/subsubdir/file4.txt 36727 9 subdir/file3.txt 36728 \f[R] 36729 .fi 36730 .PP 36731 The crypt remote looks like 36732 .IP 36733 .nf 36734 \f[C] 36735 $ rclone -q ls remote:path 36736 55 hagjclgavj2mbiqm6u6cnjjqcg 36737 54 v05749mltvv1tf4onltun46gls 36738 57 86vhrsv86mpbtd3a0akjuqslj8/dlj7fkq4kdq72emafg7a7s41uo 36739 58 86vhrsv86mpbtd3a0akjuqslj8/7uu829995du6o42n32otfhjqp4/b9pausrfansjth5ob3jkdqd4lc 36740 56 86vhrsv86mpbtd3a0akjuqslj8/8njh1sk437gttmep3p70g81aps 36741 \f[R] 36742 .fi 36743 .PP 36744 The directory structure is preserved 36745 .IP 36746 .nf 36747 \f[C] 36748 $ rclone -q ls secret:subdir 36749 8 file2.txt 36750 9 file3.txt 36751 10 subsubdir/file4.txt 36752 \f[R] 36753 .fi 36754 .PP 36755 Without file name encryption \f[C].bin\f[R] extensions are added to 36756 underlying names. 36757 This prevents the cloud provider attempting to interpret file content. 36758 .IP 36759 .nf 36760 \f[C] 36761 $ rclone -q ls remote:path 36762 54 file0.txt.bin 36763 57 subdir/file3.txt.bin 36764 56 subdir/file2.txt.bin 36765 58 subdir/subsubdir/file4.txt.bin 36766 55 file1.txt.bin 36767 \f[R] 36768 .fi 36769 .SS File name encryption modes 36770 .PP 36771 Off 36772 .IP \[bu] 2 36773 doesn\[aq]t hide file names or directory structure 36774 .IP \[bu] 2 36775 allows for longer file names (\[ti]246 characters) 36776 .IP \[bu] 2 36777 can use sub paths and copy single files 36778 .PP 36779 Standard 36780 .IP \[bu] 2 36781 file names encrypted 36782 .IP \[bu] 2 36783 file names can\[aq]t be as long (\[ti]143 characters) 36784 .IP \[bu] 2 36785 can use sub paths and copy single files 36786 .IP \[bu] 2 36787 directory structure visible 36788 .IP \[bu] 2 36789 identical files names will have identical uploaded names 36790 .IP \[bu] 2 36791 can use shortcuts to shorten the directory recursion 36792 .PP 36793 Obfuscation 36794 .PP 36795 This is a simple \[dq]rotate\[dq] of the filename, with each file having 36796 a rot distance based on the filename. 36797 Rclone stores the distance at the beginning of the filename. 36798 A file called \[dq]hello\[dq] may become \[dq]53.jgnnq\[dq]. 36799 .PP 36800 Obfuscation is not a strong encryption of filenames, but hinders 36801 automated scanning tools picking up on filename patterns. 36802 It is an intermediate between \[dq]off\[dq] and \[dq]standard\[dq] which 36803 allows for longer path segment names. 36804 .PP 36805 There is a possibility with some unicode based filenames that the 36806 obfuscation is weak and may map lower case characters to upper case 36807 equivalents. 36808 .PP 36809 Obfuscation cannot be relied upon for strong protection. 36810 .IP \[bu] 2 36811 file names very lightly obfuscated 36812 .IP \[bu] 2 36813 file names can be longer than standard encryption 36814 .IP \[bu] 2 36815 can use sub paths and copy single files 36816 .IP \[bu] 2 36817 directory structure visible 36818 .IP \[bu] 2 36819 identical files names will have identical uploaded names 36820 .PP 36821 Cloud storage systems have limits on file name length and total path 36822 length which rclone is more likely to breach using \[dq]Standard\[dq] 36823 file name encryption. 36824 Where file names are less than 156 characters in length issues should 36825 not be encountered, irrespective of cloud storage provider. 36826 .PP 36827 An experimental advanced option \f[C]filename_encoding\f[R] is now 36828 provided to address this problem to a certain degree. 36829 For cloud storage systems with case sensitive file names (e.g. 36830 Google Drive), \f[C]base64\f[R] can be used to reduce file name length. 36831 For cloud storage systems using UTF-16 to store file names internally 36832 (e.g. 36833 OneDrive, Dropbox), \f[C]base32768\f[R] can be used to drastically 36834 reduce file name length. 36835 .PP 36836 An alternative, future rclone file name encryption mode may tolerate 36837 backend provider path length limits. 36838 .SS Directory name encryption 36839 .PP 36840 Crypt offers the option of encrypting dir names or leaving them intact. 36841 There are two options: 36842 .PP 36843 True 36844 .PP 36845 Encrypts the whole file path including directory names Example: 36846 \f[C]1/12/123.txt\f[R] is encrypted to 36847 \f[C]p0e52nreeaj0a5ea7s64m4j72s/l42g6771hnv3an9cgc8cr2n1ng/qgm4avr35m5loi1th53ato71v0\f[R] 36848 .PP 36849 False 36850 .PP 36851 Only encrypts file names, skips directory names Example: 36852 \f[C]1/12/123.txt\f[R] is encrypted to 36853 \f[C]1/12/qgm4avr35m5loi1th53ato71v0\f[R] 36854 .SS Modified time and hashes 36855 .PP 36856 Crypt stores modification times using the underlying remote so support 36857 depends on that. 36858 .PP 36859 Hashes are not stored for crypt. 36860 However the data integrity is protected by an extremely strong crypto 36861 authenticator. 36862 .PP 36863 Use the \f[C]rclone cryptcheck\f[R] command to check the integrity of an 36864 encrypted remote instead of \f[C]rclone check\f[R] which can\[aq]t check 36865 the checksums properly. 36866 .SS Standard options 36867 .PP 36868 Here are the Standard options specific to crypt (Encrypt/Decrypt a 36869 remote). 36870 .SS --crypt-remote 36871 .PP 36872 Remote to encrypt/decrypt. 36873 .PP 36874 Normally should contain a \[aq]:\[aq] and a path, e.g. 36875 \[dq]myremote:path/to/dir\[dq], \[dq]myremote:bucket\[dq] or maybe 36876 \[dq]myremote:\[dq] (not recommended). 36877 .PP 36878 Properties: 36879 .IP \[bu] 2 36880 Config: remote 36881 .IP \[bu] 2 36882 Env Var: RCLONE_CRYPT_REMOTE 36883 .IP \[bu] 2 36884 Type: string 36885 .IP \[bu] 2 36886 Required: true 36887 .SS --crypt-filename-encryption 36888 .PP 36889 How to encrypt the filenames. 36890 .PP 36891 Properties: 36892 .IP \[bu] 2 36893 Config: filename_encryption 36894 .IP \[bu] 2 36895 Env Var: RCLONE_CRYPT_FILENAME_ENCRYPTION 36896 .IP \[bu] 2 36897 Type: string 36898 .IP \[bu] 2 36899 Default: \[dq]standard\[dq] 36900 .IP \[bu] 2 36901 Examples: 36902 .RS 2 36903 .IP \[bu] 2 36904 \[dq]standard\[dq] 36905 .RS 2 36906 .IP \[bu] 2 36907 Encrypt the filenames. 36908 .IP \[bu] 2 36909 See the docs for the details. 36910 .RE 36911 .IP \[bu] 2 36912 \[dq]obfuscate\[dq] 36913 .RS 2 36914 .IP \[bu] 2 36915 Very simple filename obfuscation. 36916 .RE 36917 .IP \[bu] 2 36918 \[dq]off\[dq] 36919 .RS 2 36920 .IP \[bu] 2 36921 Don\[aq]t encrypt the file names. 36922 .IP \[bu] 2 36923 Adds a \[dq].bin\[dq], or \[dq]suffix\[dq] extension only. 36924 .RE 36925 .RE 36926 .SS --crypt-directory-name-encryption 36927 .PP 36928 Option to either encrypt directory names or leave them intact. 36929 .PP 36930 NB If filename_encryption is \[dq]off\[dq] then this option will do 36931 nothing. 36932 .PP 36933 Properties: 36934 .IP \[bu] 2 36935 Config: directory_name_encryption 36936 .IP \[bu] 2 36937 Env Var: RCLONE_CRYPT_DIRECTORY_NAME_ENCRYPTION 36938 .IP \[bu] 2 36939 Type: bool 36940 .IP \[bu] 2 36941 Default: true 36942 .IP \[bu] 2 36943 Examples: 36944 .RS 2 36945 .IP \[bu] 2 36946 \[dq]true\[dq] 36947 .RS 2 36948 .IP \[bu] 2 36949 Encrypt directory names. 36950 .RE 36951 .IP \[bu] 2 36952 \[dq]false\[dq] 36953 .RS 2 36954 .IP \[bu] 2 36955 Don\[aq]t encrypt directory names, leave them intact. 36956 .RE 36957 .RE 36958 .SS --crypt-password 36959 .PP 36960 Password or pass phrase for encryption. 36961 .PP 36962 \f[B]NB\f[R] Input to this must be obscured - see rclone 36963 obscure (https://rclone.org/commands/rclone_obscure/). 36964 .PP 36965 Properties: 36966 .IP \[bu] 2 36967 Config: password 36968 .IP \[bu] 2 36969 Env Var: RCLONE_CRYPT_PASSWORD 36970 .IP \[bu] 2 36971 Type: string 36972 .IP \[bu] 2 36973 Required: true 36974 .SS --crypt-password2 36975 .PP 36976 Password or pass phrase for salt. 36977 .PP 36978 Optional but recommended. 36979 Should be different to the previous password. 36980 .PP 36981 \f[B]NB\f[R] Input to this must be obscured - see rclone 36982 obscure (https://rclone.org/commands/rclone_obscure/). 36983 .PP 36984 Properties: 36985 .IP \[bu] 2 36986 Config: password2 36987 .IP \[bu] 2 36988 Env Var: RCLONE_CRYPT_PASSWORD2 36989 .IP \[bu] 2 36990 Type: string 36991 .IP \[bu] 2 36992 Required: false 36993 .SS Advanced options 36994 .PP 36995 Here are the Advanced options specific to crypt (Encrypt/Decrypt a 36996 remote). 36997 .SS --crypt-server-side-across-configs 36998 .PP 36999 Deprecated: use --server-side-across-configs instead. 37000 .PP 37001 Allow server-side operations (e.g. 37002 copy) to work across different crypt configs. 37003 .PP 37004 Normally this option is not what you want, but if you have two crypts 37005 pointing to the same backend you can use it. 37006 .PP 37007 This can be used, for example, to change file name encryption type 37008 without re-uploading all the data. 37009 Just make two crypt backends pointing to two different directories with 37010 the single changed parameter and use rclone move to move the files 37011 between the crypt remotes. 37012 .PP 37013 Properties: 37014 .IP \[bu] 2 37015 Config: server_side_across_configs 37016 .IP \[bu] 2 37017 Env Var: RCLONE_CRYPT_SERVER_SIDE_ACROSS_CONFIGS 37018 .IP \[bu] 2 37019 Type: bool 37020 .IP \[bu] 2 37021 Default: false 37022 .SS --crypt-show-mapping 37023 .PP 37024 For all files listed show how the names encrypt. 37025 .PP 37026 If this flag is set then for each file that the remote is asked to list, 37027 it will log (at level INFO) a line stating the decrypted file name and 37028 the encrypted file name. 37029 .PP 37030 This is so you can work out which encrypted names are which decrypted 37031 names just in case you need to do something with the encrypted file 37032 names, or for debugging purposes. 37033 .PP 37034 Properties: 37035 .IP \[bu] 2 37036 Config: show_mapping 37037 .IP \[bu] 2 37038 Env Var: RCLONE_CRYPT_SHOW_MAPPING 37039 .IP \[bu] 2 37040 Type: bool 37041 .IP \[bu] 2 37042 Default: false 37043 .SS --crypt-no-data-encryption 37044 .PP 37045 Option to either encrypt file data or leave it unencrypted. 37046 .PP 37047 Properties: 37048 .IP \[bu] 2 37049 Config: no_data_encryption 37050 .IP \[bu] 2 37051 Env Var: RCLONE_CRYPT_NO_DATA_ENCRYPTION 37052 .IP \[bu] 2 37053 Type: bool 37054 .IP \[bu] 2 37055 Default: false 37056 .IP \[bu] 2 37057 Examples: 37058 .RS 2 37059 .IP \[bu] 2 37060 \[dq]true\[dq] 37061 .RS 2 37062 .IP \[bu] 2 37063 Don\[aq]t encrypt file data, leave it unencrypted. 37064 .RE 37065 .IP \[bu] 2 37066 \[dq]false\[dq] 37067 .RS 2 37068 .IP \[bu] 2 37069 Encrypt file data. 37070 .RE 37071 .RE 37072 .SS --crypt-pass-bad-blocks 37073 .PP 37074 If set this will pass bad blocks through as all 0. 37075 .PP 37076 This should not be set in normal operation, it should only be set if 37077 trying to recover an encrypted file with errors and it is desired to 37078 recover as much of the file as possible. 37079 .PP 37080 Properties: 37081 .IP \[bu] 2 37082 Config: pass_bad_blocks 37083 .IP \[bu] 2 37084 Env Var: RCLONE_CRYPT_PASS_BAD_BLOCKS 37085 .IP \[bu] 2 37086 Type: bool 37087 .IP \[bu] 2 37088 Default: false 37089 .SS --crypt-filename-encoding 37090 .PP 37091 How to encode the encrypted filename to text string. 37092 .PP 37093 This option could help with shortening the encrypted filename. 37094 The suitable option would depend on the way your remote count the 37095 filename length and if it\[aq]s case sensitive. 37096 .PP 37097 Properties: 37098 .IP \[bu] 2 37099 Config: filename_encoding 37100 .IP \[bu] 2 37101 Env Var: RCLONE_CRYPT_FILENAME_ENCODING 37102 .IP \[bu] 2 37103 Type: string 37104 .IP \[bu] 2 37105 Default: \[dq]base32\[dq] 37106 .IP \[bu] 2 37107 Examples: 37108 .RS 2 37109 .IP \[bu] 2 37110 \[dq]base32\[dq] 37111 .RS 2 37112 .IP \[bu] 2 37113 Encode using base32. 37114 Suitable for all remote. 37115 .RE 37116 .IP \[bu] 2 37117 \[dq]base64\[dq] 37118 .RS 2 37119 .IP \[bu] 2 37120 Encode using base64. 37121 Suitable for case sensitive remote. 37122 .RE 37123 .IP \[bu] 2 37124 \[dq]base32768\[dq] 37125 .RS 2 37126 .IP \[bu] 2 37127 Encode using base32768. 37128 Suitable if your remote counts UTF-16 or 37129 .IP \[bu] 2 37130 Unicode codepoint instead of UTF-8 byte length. 37131 (Eg. 37132 Onedrive, Dropbox) 37133 .RE 37134 .RE 37135 .SS --crypt-suffix 37136 .PP 37137 If this is set it will override the default suffix of \[dq].bin\[dq]. 37138 .PP 37139 Setting suffix to \[dq]none\[dq] will result in an empty suffix. 37140 This may be useful when the path length is critical. 37141 .PP 37142 Properties: 37143 .IP \[bu] 2 37144 Config: suffix 37145 .IP \[bu] 2 37146 Env Var: RCLONE_CRYPT_SUFFIX 37147 .IP \[bu] 2 37148 Type: string 37149 .IP \[bu] 2 37150 Default: \[dq].bin\[dq] 37151 .SS Metadata 37152 .PP 37153 Any metadata supported by the underlying remote is read and written. 37154 .PP 37155 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 37156 .SS Backend commands 37157 .PP 37158 Here are the commands specific to the crypt backend. 37159 .PP 37160 Run them with 37161 .IP 37162 .nf 37163 \f[C] 37164 rclone backend COMMAND remote: 37165 \f[R] 37166 .fi 37167 .PP 37168 The help below will explain what arguments each command takes. 37169 .PP 37170 See the backend (https://rclone.org/commands/rclone_backend/) command 37171 for more info on how to pass options and arguments. 37172 .PP 37173 These can be run on a running backend using the rc command 37174 backend/command (https://rclone.org/rc/#backend-command). 37175 .SS encode 37176 .PP 37177 Encode the given filename(s) 37178 .IP 37179 .nf 37180 \f[C] 37181 rclone backend encode remote: [options] [<arguments>+] 37182 \f[R] 37183 .fi 37184 .PP 37185 This encodes the filenames given as arguments returning a list of 37186 strings of the encoded results. 37187 .PP 37188 Usage Example: 37189 .IP 37190 .nf 37191 \f[C] 37192 rclone backend encode crypt: file1 [file2...] 37193 rclone rc backend/command command=encode fs=crypt: file1 [file2...] 37194 \f[R] 37195 .fi 37196 .SS decode 37197 .PP 37198 Decode the given filename(s) 37199 .IP 37200 .nf 37201 \f[C] 37202 rclone backend decode remote: [options] [<arguments>+] 37203 \f[R] 37204 .fi 37205 .PP 37206 This decodes the filenames given as arguments returning a list of 37207 strings of the decoded results. 37208 It will return an error if any of the inputs are invalid. 37209 .PP 37210 Usage Example: 37211 .IP 37212 .nf 37213 \f[C] 37214 rclone backend decode crypt: encryptedfile1 [encryptedfile2...] 37215 rclone rc backend/command command=decode fs=crypt: encryptedfile1 [encryptedfile2...] 37216 \f[R] 37217 .fi 37218 .SS Backing up an encrypted remote 37219 .PP 37220 If you wish to backup an encrypted remote, it is recommended that you 37221 use \f[C]rclone sync\f[R] on the encrypted files, and make sure the 37222 passwords are the same in the new encrypted remote. 37223 .PP 37224 This will have the following advantages 37225 .IP \[bu] 2 37226 \f[C]rclone sync\f[R] will check the checksums while copying 37227 .IP \[bu] 2 37228 you can use \f[C]rclone check\f[R] between the encrypted remotes 37229 .IP \[bu] 2 37230 you don\[aq]t decrypt and encrypt unnecessarily 37231 .PP 37232 For example, let\[aq]s say you have your original remote at 37233 \f[C]remote:\f[R] with the encrypted version at \f[C]eremote:\f[R] with 37234 path \f[C]remote:crypt\f[R]. 37235 You would then set up the new remote \f[C]remote2:\f[R] and then the 37236 encrypted version \f[C]eremote2:\f[R] with path \f[C]remote2:crypt\f[R] 37237 using the same passwords as \f[C]eremote:\f[R]. 37238 .PP 37239 To sync the two remotes you would do 37240 .IP 37241 .nf 37242 \f[C] 37243 rclone sync --interactive remote:crypt remote2:crypt 37244 \f[R] 37245 .fi 37246 .PP 37247 And to check the integrity you would do 37248 .IP 37249 .nf 37250 \f[C] 37251 rclone check remote:crypt remote2:crypt 37252 \f[R] 37253 .fi 37254 .SS File formats 37255 .SS File encryption 37256 .PP 37257 Files are encrypted 1:1 source file to destination object. 37258 The file has a header and is divided into chunks. 37259 .SS Header 37260 .IP \[bu] 2 37261 8 bytes magic string \f[C]RCLONE\[rs]x00\[rs]x00\f[R] 37262 .IP \[bu] 2 37263 24 bytes Nonce (IV) 37264 .PP 37265 The initial nonce is generated from the operating systems crypto strong 37266 random number generator. 37267 The nonce is incremented for each chunk read making sure each nonce is 37268 unique for each block written. 37269 The chance of a nonce being re-used is minuscule. 37270 If you wrote an exabyte of data (10\[S1]\[u2078] bytes) you would have a 37271 probability of approximately 2\[tmu]10\[u207B]\[S3]\[S2] of re-using a 37272 nonce. 37273 .SS Chunk 37274 .PP 37275 Each chunk will contain 64 KiB of data, except for the last one which 37276 may have less data. 37277 The data chunk is in standard NaCl SecretBox format. 37278 SecretBox uses XSalsa20 and Poly1305 to encrypt and authenticate 37279 messages. 37280 .PP 37281 Each chunk contains: 37282 .IP \[bu] 2 37283 16 Bytes of Poly1305 authenticator 37284 .IP \[bu] 2 37285 1 - 65536 bytes XSalsa20 encrypted data 37286 .PP 37287 64k chunk size was chosen as the best performing chunk size (the 37288 authenticator takes too much time below this and the performance drops 37289 off due to cache effects above this). 37290 Note that these chunks are buffered in memory so they can\[aq]t be too 37291 big. 37292 .PP 37293 This uses a 32 byte (256 bit key) key derived from the user password. 37294 .SS Examples 37295 .PP 37296 1 byte file will encrypt to 37297 .IP \[bu] 2 37298 32 bytes header 37299 .IP \[bu] 2 37300 17 bytes data chunk 37301 .PP 37302 49 bytes total 37303 .PP 37304 1 MiB (1048576 bytes) file will encrypt to 37305 .IP \[bu] 2 37306 32 bytes header 37307 .IP \[bu] 2 37308 16 chunks of 65568 bytes 37309 .PP 37310 1049120 bytes total (a 0.05% overhead). 37311 This is the overhead for big files. 37312 .SS Name encryption 37313 .PP 37314 File names are encrypted segment by segment - the path is broken up into 37315 \f[C]/\f[R] separated strings and these are encrypted individually. 37316 .PP 37317 File segments are padded using PKCS#7 to a multiple of 16 bytes before 37318 encryption. 37319 .PP 37320 They are then encrypted with EME using AES with 256 bit key. 37321 EME (ECB-Mix-ECB) is a wide-block encryption mode presented in the 2003 37322 paper \[dq]A Parallelizable Enciphering Mode\[dq] by Halevi and Rogaway. 37323 .PP 37324 This makes for deterministic encryption which is what we want - the same 37325 filename must encrypt to the same thing otherwise we can\[aq]t find it 37326 on the cloud storage system. 37327 .PP 37328 This means that 37329 .IP \[bu] 2 37330 filenames with the same name will encrypt the same 37331 .IP \[bu] 2 37332 filenames which start the same won\[aq]t have a common prefix 37333 .PP 37334 This uses a 32 byte key (256 bits) and a 16 byte (128 bits) IV both of 37335 which are derived from the user password. 37336 .PP 37337 After encryption they are written out using a modified version of 37338 standard \f[C]base32\f[R] encoding as described in RFC4648. 37339 The standard encoding is modified in two ways: 37340 .IP \[bu] 2 37341 it becomes lower case (no-one likes upper case filenames!) 37342 .IP \[bu] 2 37343 we strip the padding character \f[C]=\f[R] 37344 .PP 37345 \f[C]base32\f[R] is used rather than the more efficient \f[C]base64\f[R] 37346 so rclone can be used on case insensitive remotes (e.g. 37347 Windows, Amazon Drive). 37348 .SS Key derivation 37349 .PP 37350 Rclone uses \f[C]scrypt\f[R] with parameters \f[C]N=16384, r=8, p=1\f[R] 37351 with an optional user supplied salt (password2) to derive the 32+32+16 = 37352 80 bytes of key material required. 37353 If the user doesn\[aq]t supply a salt then rclone uses an internal one. 37354 .PP 37355 \f[C]scrypt\f[R] makes it impractical to mount a dictionary attack on 37356 rclone encrypted data. 37357 For full protection against this you should always use a salt. 37358 .SS SEE ALSO 37359 .IP \[bu] 2 37360 rclone cryptdecode (https://rclone.org/commands/rclone_cryptdecode/) - 37361 Show forward/reverse mapping of encrypted filenames 37362 .SH Compress 37363 .SS Warning 37364 .PP 37365 This remote is currently \f[B]experimental\f[R]. 37366 Things may break and data may be lost. 37367 Anything you do with this remote is at your own risk. 37368 Please understand the risks associated with using experimental code and 37369 don\[aq]t use this remote in critical applications. 37370 .PP 37371 The \f[C]Compress\f[R] remote adds compression to another remote. 37372 It is best used with remotes containing many large compressible files. 37373 .SS Configuration 37374 .PP 37375 To use this remote, all you need to do is specify another remote and a 37376 compression mode to use: 37377 .IP 37378 .nf 37379 \f[C] 37380 Current remotes: 37381 37382 Name Type 37383 ==== ==== 37384 remote_to_press sometype 37385 37386 e) Edit existing remote 37387 $ rclone config 37388 n) New remote 37389 d) Delete remote 37390 r) Rename remote 37391 c) Copy remote 37392 s) Set configuration password 37393 q) Quit config 37394 e/n/d/r/c/s/q> n 37395 name> compress 37396 \&... 37397 8 / Compress a remote 37398 \[rs] \[dq]compress\[dq] 37399 \&... 37400 Storage> compress 37401 ** See help for compress backend at: https://rclone.org/compress/ ** 37402 37403 Remote to compress. 37404 Enter a string value. Press Enter for the default (\[dq]\[dq]). 37405 remote> remote_to_press:subdir 37406 Compression mode. 37407 Enter a string value. Press Enter for the default (\[dq]gzip\[dq]). 37408 Choose a number from below, or type in your own value 37409 1 / Gzip compression balanced for speed and compression strength. 37410 \[rs] \[dq]gzip\[dq] 37411 compression_mode> gzip 37412 Edit advanced config? (y/n) 37413 y) Yes 37414 n) No (default) 37415 y/n> n 37416 Remote config 37417 -------------------- 37418 [compress] 37419 type = compress 37420 remote = remote_to_press:subdir 37421 compression_mode = gzip 37422 -------------------- 37423 y) Yes this is OK (default) 37424 e) Edit this remote 37425 d) Delete this remote 37426 y/e/d> y 37427 \f[R] 37428 .fi 37429 .SS Compression Modes 37430 .PP 37431 Currently only gzip compression is supported. 37432 It provides a decent balance between speed and size and is well 37433 supported by other applications. 37434 Compression strength can further be configured via an advanced setting 37435 where 0 is no compression and 9 is strongest compression. 37436 .SS File types 37437 .PP 37438 If you open a remote wrapped by compress, you will see that there are 37439 many files with an extension corresponding to the compression algorithm 37440 you chose. 37441 These files are standard files that can be opened by various archive 37442 programs, but they have some hidden metadata that allows them to be used 37443 by rclone. 37444 While you may download and decompress these files at will, do 37445 \f[B]not\f[R] manually delete or rename files. 37446 Files without correct metadata files will not be recognized by rclone. 37447 .SS File names 37448 .PP 37449 The compressed files will be named \f[C]*.###########.gz\f[R] where 37450 \f[C]*\f[R] is the base file and the \f[C]#\f[R] part is base64 encoded 37451 size of the uncompressed file. 37452 The file names should not be changed by anything other than the rclone 37453 compression backend. 37454 .SS Standard options 37455 .PP 37456 Here are the Standard options specific to compress (Compress a remote). 37457 .SS --compress-remote 37458 .PP 37459 Remote to compress. 37460 .PP 37461 Properties: 37462 .IP \[bu] 2 37463 Config: remote 37464 .IP \[bu] 2 37465 Env Var: RCLONE_COMPRESS_REMOTE 37466 .IP \[bu] 2 37467 Type: string 37468 .IP \[bu] 2 37469 Required: true 37470 .SS --compress-mode 37471 .PP 37472 Compression mode. 37473 .PP 37474 Properties: 37475 .IP \[bu] 2 37476 Config: mode 37477 .IP \[bu] 2 37478 Env Var: RCLONE_COMPRESS_MODE 37479 .IP \[bu] 2 37480 Type: string 37481 .IP \[bu] 2 37482 Default: \[dq]gzip\[dq] 37483 .IP \[bu] 2 37484 Examples: 37485 .RS 2 37486 .IP \[bu] 2 37487 \[dq]gzip\[dq] 37488 .RS 2 37489 .IP \[bu] 2 37490 Standard gzip compression with fastest parameters. 37491 .RE 37492 .RE 37493 .SS Advanced options 37494 .PP 37495 Here are the Advanced options specific to compress (Compress a remote). 37496 .SS --compress-level 37497 .PP 37498 GZIP compression level (-2 to 9). 37499 .PP 37500 Generally -1 (default, equivalent to 5) is recommended. 37501 Levels 1 to 9 increase compression at the cost of speed. 37502 Going past 6 generally offers very little return. 37503 .PP 37504 Level -2 uses Huffman encoding only. 37505 Only use if you know what you are doing. 37506 Level 0 turns off compression. 37507 .PP 37508 Properties: 37509 .IP \[bu] 2 37510 Config: level 37511 .IP \[bu] 2 37512 Env Var: RCLONE_COMPRESS_LEVEL 37513 .IP \[bu] 2 37514 Type: int 37515 .IP \[bu] 2 37516 Default: -1 37517 .SS --compress-ram-cache-limit 37518 .PP 37519 Some remotes don\[aq]t allow the upload of files with unknown size. 37520 In this case the compressed file will need to be cached to determine 37521 it\[aq]s size. 37522 .PP 37523 Files smaller than this limit will be cached in RAM, files larger than 37524 this limit will be cached on disk. 37525 .PP 37526 Properties: 37527 .IP \[bu] 2 37528 Config: ram_cache_limit 37529 .IP \[bu] 2 37530 Env Var: RCLONE_COMPRESS_RAM_CACHE_LIMIT 37531 .IP \[bu] 2 37532 Type: SizeSuffix 37533 .IP \[bu] 2 37534 Default: 20Mi 37535 .SS Metadata 37536 .PP 37537 Any metadata supported by the underlying remote is read and written. 37538 .PP 37539 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 37540 .SH Combine 37541 .PP 37542 The \f[C]combine\f[R] backend joins remotes together into a single 37543 directory tree. 37544 .PP 37545 For example you might have a remote for images on one provider: 37546 .IP 37547 .nf 37548 \f[C] 37549 $ rclone tree s3:imagesbucket 37550 / 37551 \[u251C]\[u2500]\[u2500] image1.jpg 37552 \[u2514]\[u2500]\[u2500] image2.jpg 37553 \f[R] 37554 .fi 37555 .PP 37556 And a remote for files on another: 37557 .IP 37558 .nf 37559 \f[C] 37560 $ rclone tree drive:important/files 37561 / 37562 \[u251C]\[u2500]\[u2500] file1.txt 37563 \[u2514]\[u2500]\[u2500] file2.txt 37564 \f[R] 37565 .fi 37566 .PP 37567 The \f[C]combine\f[R] backend can join these together into a synthetic 37568 directory structure like this: 37569 .IP 37570 .nf 37571 \f[C] 37572 $ rclone tree combined: 37573 / 37574 \[u251C]\[u2500]\[u2500] files 37575 \[br] \[u251C]\[u2500]\[u2500] file1.txt 37576 \[br] \[u2514]\[u2500]\[u2500] file2.txt 37577 \[u2514]\[u2500]\[u2500] images 37578 \[u251C]\[u2500]\[u2500] image1.jpg 37579 \[u2514]\[u2500]\[u2500] image2.jpg 37580 \f[R] 37581 .fi 37582 .PP 37583 You\[aq]d do this by specifying an \f[C]upstreams\f[R] parameter in the 37584 config like this 37585 .IP 37586 .nf 37587 \f[C] 37588 upstreams = images=s3:imagesbucket files=drive:important/files 37589 \f[R] 37590 .fi 37591 .PP 37592 During the initial setup with \f[C]rclone config\f[R] you will specify 37593 the upstreams remotes as a space separated list. 37594 The upstream remotes can either be a local paths or other remotes. 37595 .SS Configuration 37596 .PP 37597 Here is an example of how to make a combine called \f[C]remote\f[R] for 37598 the example above. 37599 First run: 37600 .IP 37601 .nf 37602 \f[C] 37603 rclone config 37604 \f[R] 37605 .fi 37606 .PP 37607 This will guide you through an interactive setup process: 37608 .IP 37609 .nf 37610 \f[C] 37611 No remotes found, make a new one? 37612 n) New remote 37613 s) Set configuration password 37614 q) Quit config 37615 n/s/q> n 37616 name> remote 37617 Option Storage. 37618 Type of storage to configure. 37619 Choose a number from below, or type in your own value. 37620 \&... 37621 XX / Combine several remotes into one 37622 \[rs] (combine) 37623 \&... 37624 Storage> combine 37625 Option upstreams. 37626 Upstreams for combining 37627 These should be in the form 37628 dir=remote:path dir2=remote2:path 37629 Where before the = is specified the root directory and after is the remote to 37630 put there. 37631 Embedded spaces can be added using quotes 37632 \[dq]dir=remote:path with space\[dq] \[dq]dir2=remote2:path with space\[dq] 37633 Enter a fs.SpaceSepList value. 37634 upstreams> images=s3:imagesbucket files=drive:important/files 37635 -------------------- 37636 [remote] 37637 type = combine 37638 upstreams = images=s3:imagesbucket files=drive:important/files 37639 -------------------- 37640 y) Yes this is OK (default) 37641 e) Edit this remote 37642 d) Delete this remote 37643 y/e/d> y 37644 \f[R] 37645 .fi 37646 .SS Configuring for Google Drive Shared Drives 37647 .PP 37648 Rclone has a convenience feature for making a combine backend for all 37649 the shared drives you have access to. 37650 .PP 37651 Assuming your main (non shared drive) Google drive remote is called 37652 \f[C]drive:\f[R] you would run 37653 .IP 37654 .nf 37655 \f[C] 37656 rclone backend -o config drives drive: 37657 \f[R] 37658 .fi 37659 .PP 37660 This would produce something like this: 37661 .IP 37662 .nf 37663 \f[C] 37664 [My Drive] 37665 type = alias 37666 remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=: 37667 37668 [Test Drive] 37669 type = alias 37670 remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=: 37671 37672 [AllDrives] 37673 type = combine 37674 upstreams = \[dq]My Drive=My Drive:\[dq] \[dq]Test Drive=Test Drive:\[dq] 37675 \f[R] 37676 .fi 37677 .PP 37678 If you then add that config to your config file (find it with 37679 \f[C]rclone config file\f[R]) then you can access all the shared drives 37680 in one place with the \f[C]AllDrives:\f[R] remote. 37681 .PP 37682 See the Google Drive docs (https://rclone.org/drive/#drives) for full 37683 info. 37684 .SS Standard options 37685 .PP 37686 Here are the Standard options specific to combine (Combine several 37687 remotes into one). 37688 .SS --combine-upstreams 37689 .PP 37690 Upstreams for combining 37691 .PP 37692 These should be in the form 37693 .IP 37694 .nf 37695 \f[C] 37696 dir=remote:path dir2=remote2:path 37697 \f[R] 37698 .fi 37699 .PP 37700 Where before the = is specified the root directory and after is the 37701 remote to put there. 37702 .PP 37703 Embedded spaces can be added using quotes 37704 .IP 37705 .nf 37706 \f[C] 37707 \[dq]dir=remote:path with space\[dq] \[dq]dir2=remote2:path with space\[dq] 37708 \f[R] 37709 .fi 37710 .PP 37711 Properties: 37712 .IP \[bu] 2 37713 Config: upstreams 37714 .IP \[bu] 2 37715 Env Var: RCLONE_COMBINE_UPSTREAMS 37716 .IP \[bu] 2 37717 Type: SpaceSepList 37718 .IP \[bu] 2 37719 Default: 37720 .SS Metadata 37721 .PP 37722 Any metadata supported by the underlying remote is read and written. 37723 .PP 37724 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 37725 .SH Dropbox 37726 .PP 37727 Paths are specified as \f[C]remote:path\f[R] 37728 .PP 37729 Dropbox paths may be as deep as required, e.g. 37730 \f[C]remote:directory/subdirectory\f[R]. 37731 .SS Configuration 37732 .PP 37733 The initial setup for dropbox involves getting a token from Dropbox 37734 which you need to do in your browser. 37735 \f[C]rclone config\f[R] walks you through it. 37736 .PP 37737 Here is an example of how to make a remote called \f[C]remote\f[R]. 37738 First run: 37739 .IP 37740 .nf 37741 \f[C] 37742 rclone config 37743 \f[R] 37744 .fi 37745 .PP 37746 This will guide you through an interactive setup process: 37747 .IP 37748 .nf 37749 \f[C] 37750 n) New remote 37751 d) Delete remote 37752 q) Quit config 37753 e/n/d/q> n 37754 name> remote 37755 Type of storage to configure. 37756 Choose a number from below, or type in your own value 37757 [snip] 37758 XX / Dropbox 37759 \[rs] \[dq]dropbox\[dq] 37760 [snip] 37761 Storage> dropbox 37762 Dropbox App Key - leave blank normally. 37763 app_key> 37764 Dropbox App Secret - leave blank normally. 37765 app_secret> 37766 Remote config 37767 Please visit: 37768 https://www.dropbox.com/1/oauth2/authorize?client_id=XXXXXXXXXXXXXXX&response_type=code 37769 Enter the code: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXXXXXXXX 37770 -------------------- 37771 [remote] 37772 app_key = 37773 app_secret = 37774 token = XXXXXXXXXXXXXXXXXXXXXXXXXXXXX_XXXX_XXXXXXXXXXXXXXXXXXXXXXXXXXXXX 37775 -------------------- 37776 y) Yes this is OK 37777 e) Edit this remote 37778 d) Delete this remote 37779 y/e/d> y 37780 \f[R] 37781 .fi 37782 .PP 37783 See the remote setup docs (https://rclone.org/remote_setup/) for how to 37784 set it up on a machine with no Internet browser available. 37785 .PP 37786 Note that rclone runs a webserver on your local machine to collect the 37787 token as returned from Dropbox. 37788 This only runs from the moment it opens your browser to the moment you 37789 get back the verification code. 37790 This is on \f[C]http://127.0.0.1:53682/\f[R] and it may require you to 37791 unblock it temporarily if you are running a host firewall, or use manual 37792 mode. 37793 .PP 37794 You can then use it like this, 37795 .PP 37796 List directories in top level of your dropbox 37797 .IP 37798 .nf 37799 \f[C] 37800 rclone lsd remote: 37801 \f[R] 37802 .fi 37803 .PP 37804 List all the files in your dropbox 37805 .IP 37806 .nf 37807 \f[C] 37808 rclone ls remote: 37809 \f[R] 37810 .fi 37811 .PP 37812 To copy a local directory to a dropbox directory called backup 37813 .IP 37814 .nf 37815 \f[C] 37816 rclone copy /home/source remote:backup 37817 \f[R] 37818 .fi 37819 .SS Dropbox for business 37820 .PP 37821 Rclone supports Dropbox for business and Team Folders. 37822 .PP 37823 When using Dropbox for business \f[C]remote:\f[R] and 37824 \f[C]remote:path/to/file\f[R] will refer to your personal folder. 37825 .PP 37826 If you wish to see Team Folders you must use a leading \f[C]/\f[R] in 37827 the path, so \f[C]rclone lsd remote:/\f[R] will refer to the root and 37828 show you all Team Folders and your User Folder. 37829 .PP 37830 You can then use team folders like this \f[C]remote:/TeamFolder\f[R] and 37831 \f[C]remote:/TeamFolder/path/to/file\f[R]. 37832 .PP 37833 A leading \f[C]/\f[R] for a Dropbox personal account will do nothing, 37834 but it will take an extra HTTP transaction so it should be avoided. 37835 .SS Modified time and Hashes 37836 .PP 37837 Dropbox supports modified times, but the only way to set a modification 37838 time is to re-upload the file. 37839 .PP 37840 This means that if you uploaded your data with an older version of 37841 rclone which didn\[aq]t support the v2 API and modified times, rclone 37842 will decide to upload all your old data to fix the modification times. 37843 If you don\[aq]t want this to happen use \f[C]--size-only\f[R] or 37844 \f[C]--checksum\f[R] flag to stop it. 37845 .PP 37846 Dropbox supports its own hash 37847 type (https://www.dropbox.com/developers/reference/content-hash) which 37848 is checked for all transfers. 37849 .SS Restricted filename characters 37850 .PP 37851 .TS 37852 tab(@); 37853 l c c. 37854 T{ 37855 Character 37856 T}@T{ 37857 Value 37858 T}@T{ 37859 Replacement 37860 T} 37861 _ 37862 T{ 37863 NUL 37864 T}@T{ 37865 0x00 37866 T}@T{ 37867 \[u2400] 37868 T} 37869 T{ 37870 / 37871 T}@T{ 37872 0x2F 37873 T}@T{ 37874 \[uFF0F] 37875 T} 37876 T{ 37877 DEL 37878 T}@T{ 37879 0x7F 37880 T}@T{ 37881 \[u2421] 37882 T} 37883 T{ 37884 \[rs] 37885 T}@T{ 37886 0x5C 37887 T}@T{ 37888 \[uFF3C] 37889 T} 37890 .TE 37891 .PP 37892 File names can also not end with the following characters. 37893 These only get replaced if they are the last character in the name: 37894 .PP 37895 .TS 37896 tab(@); 37897 l c c. 37898 T{ 37899 Character 37900 T}@T{ 37901 Value 37902 T}@T{ 37903 Replacement 37904 T} 37905 _ 37906 T{ 37907 SP 37908 T}@T{ 37909 0x20 37910 T}@T{ 37911 \[u2420] 37912 T} 37913 .TE 37914 .PP 37915 Invalid UTF-8 bytes will also be 37916 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 37917 be used in JSON strings. 37918 .SS Batch mode uploads 37919 .PP 37920 Using batch mode uploads is very important for performance when using 37921 the Dropbox API. 37922 See the dropbox performance 37923 guide (https://developers.dropbox.com/dbx-performance-guide) for more 37924 info. 37925 .PP 37926 There are 3 modes rclone can use for uploads. 37927 .SS --dropbox-batch-mode off 37928 .PP 37929 In this mode rclone will not use upload batching. 37930 This was the default before rclone v1.55. 37931 It has the disadvantage that it is very likely to encounter 37932 \f[C]too_many_requests\f[R] errors like this 37933 .IP 37934 .nf 37935 \f[C] 37936 NOTICE: too_many_requests/.: Too many requests or write operations. Trying again in 15 seconds. 37937 \f[R] 37938 .fi 37939 .PP 37940 When rclone receives these it has to wait for 15s or sometimes 300s 37941 before continuing which really slows down transfers. 37942 .PP 37943 This will happen especially if \f[C]--transfers\f[R] is large, so this 37944 mode isn\[aq]t recommended except for compatibility or investigating 37945 problems. 37946 .SS --dropbox-batch-mode sync 37947 .PP 37948 In this mode rclone will batch up uploads to the size specified by 37949 \f[C]--dropbox-batch-size\f[R] and commit them together. 37950 .PP 37951 Using this mode means you can use a much higher \f[C]--transfers\f[R] 37952 parameter (32 or 64 works fine) without receiving 37953 \f[C]too_many_requests\f[R] errors. 37954 .PP 37955 This mode ensures full data integrity. 37956 .PP 37957 Note that there may be a pause when quitting rclone while rclone 37958 finishes up the last batch using this mode. 37959 .SS --dropbox-batch-mode async 37960 .PP 37961 In this mode rclone will batch up uploads to the size specified by 37962 \f[C]--dropbox-batch-size\f[R] and commit them together. 37963 .PP 37964 However it will not wait for the status of the batch to be returned to 37965 the caller. 37966 This means rclone can use a much bigger batch size (much bigger than 37967 \f[C]--transfers\f[R]), at the cost of not being able to check the 37968 status of the upload. 37969 .PP 37970 This provides the maximum possible upload speed especially with lots of 37971 small files, however rclone can\[aq]t check the file got uploaded 37972 properly using this mode. 37973 .PP 37974 If you are using this mode then using \[dq]rclone check\[dq] after the 37975 transfer completes is recommended. 37976 Or you could do an initial transfer with 37977 \f[C]--dropbox-batch-mode async\f[R] then do a final transfer with 37978 \f[C]--dropbox-batch-mode sync\f[R] (the default). 37979 .PP 37980 Note that there may be a pause when quitting rclone while rclone 37981 finishes up the last batch using this mode. 37982 .SS Standard options 37983 .PP 37984 Here are the Standard options specific to dropbox (Dropbox). 37985 .SS --dropbox-client-id 37986 .PP 37987 OAuth Client Id. 37988 .PP 37989 Leave blank normally. 37990 .PP 37991 Properties: 37992 .IP \[bu] 2 37993 Config: client_id 37994 .IP \[bu] 2 37995 Env Var: RCLONE_DROPBOX_CLIENT_ID 37996 .IP \[bu] 2 37997 Type: string 37998 .IP \[bu] 2 37999 Required: false 38000 .SS --dropbox-client-secret 38001 .PP 38002 OAuth Client Secret. 38003 .PP 38004 Leave blank normally. 38005 .PP 38006 Properties: 38007 .IP \[bu] 2 38008 Config: client_secret 38009 .IP \[bu] 2 38010 Env Var: RCLONE_DROPBOX_CLIENT_SECRET 38011 .IP \[bu] 2 38012 Type: string 38013 .IP \[bu] 2 38014 Required: false 38015 .SS Advanced options 38016 .PP 38017 Here are the Advanced options specific to dropbox (Dropbox). 38018 .SS --dropbox-token 38019 .PP 38020 OAuth Access Token as a JSON blob. 38021 .PP 38022 Properties: 38023 .IP \[bu] 2 38024 Config: token 38025 .IP \[bu] 2 38026 Env Var: RCLONE_DROPBOX_TOKEN 38027 .IP \[bu] 2 38028 Type: string 38029 .IP \[bu] 2 38030 Required: false 38031 .SS --dropbox-auth-url 38032 .PP 38033 Auth server URL. 38034 .PP 38035 Leave blank to use the provider defaults. 38036 .PP 38037 Properties: 38038 .IP \[bu] 2 38039 Config: auth_url 38040 .IP \[bu] 2 38041 Env Var: RCLONE_DROPBOX_AUTH_URL 38042 .IP \[bu] 2 38043 Type: string 38044 .IP \[bu] 2 38045 Required: false 38046 .SS --dropbox-token-url 38047 .PP 38048 Token server url. 38049 .PP 38050 Leave blank to use the provider defaults. 38051 .PP 38052 Properties: 38053 .IP \[bu] 2 38054 Config: token_url 38055 .IP \[bu] 2 38056 Env Var: RCLONE_DROPBOX_TOKEN_URL 38057 .IP \[bu] 2 38058 Type: string 38059 .IP \[bu] 2 38060 Required: false 38061 .SS --dropbox-chunk-size 38062 .PP 38063 Upload chunk size (< 150Mi). 38064 .PP 38065 Any files larger than this will be uploaded in chunks of this size. 38066 .PP 38067 Note that chunks are buffered in memory (one at a time) so rclone can 38068 deal with retries. 38069 Setting this larger will increase the speed slightly (at most 10% for 38070 128 MiB in tests) at the cost of using more memory. 38071 It can be set smaller if you are tight on memory. 38072 .PP 38073 Properties: 38074 .IP \[bu] 2 38075 Config: chunk_size 38076 .IP \[bu] 2 38077 Env Var: RCLONE_DROPBOX_CHUNK_SIZE 38078 .IP \[bu] 2 38079 Type: SizeSuffix 38080 .IP \[bu] 2 38081 Default: 48Mi 38082 .SS --dropbox-impersonate 38083 .PP 38084 Impersonate this user when using a business account. 38085 .PP 38086 Note that if you want to use impersonate, you should make sure this flag 38087 is set when running \[dq]rclone config\[dq] as this will cause rclone to 38088 request the \[dq]members.read\[dq] scope which it won\[aq]t normally. 38089 This is needed to lookup a members email address into the internal ID 38090 that dropbox uses in the API. 38091 .PP 38092 Using the \[dq]members.read\[dq] scope will require a Dropbox Team Admin 38093 to approve during the OAuth flow. 38094 .PP 38095 You will have to use your own App (setting your own client_id and 38096 client_secret) to use this option as currently rclone\[aq]s default set 38097 of permissions doesn\[aq]t include \[dq]members.read\[dq]. 38098 This can be added once v1.55 or later is in use everywhere. 38099 .PP 38100 Properties: 38101 .IP \[bu] 2 38102 Config: impersonate 38103 .IP \[bu] 2 38104 Env Var: RCLONE_DROPBOX_IMPERSONATE 38105 .IP \[bu] 2 38106 Type: string 38107 .IP \[bu] 2 38108 Required: false 38109 .SS --dropbox-shared-files 38110 .PP 38111 Instructs rclone to work on individual shared files. 38112 .PP 38113 In this mode rclone\[aq]s features are extremely limited - only list 38114 (ls, lsl, etc.) operations and read operations (e.g. 38115 downloading) are supported in this mode. 38116 All other operations will be disabled. 38117 .PP 38118 Properties: 38119 .IP \[bu] 2 38120 Config: shared_files 38121 .IP \[bu] 2 38122 Env Var: RCLONE_DROPBOX_SHARED_FILES 38123 .IP \[bu] 2 38124 Type: bool 38125 .IP \[bu] 2 38126 Default: false 38127 .SS --dropbox-shared-folders 38128 .PP 38129 Instructs rclone to work on shared folders. 38130 .PP 38131 When this flag is used with no path only the List operation is supported 38132 and all available shared folders will be listed. 38133 If you specify a path the first part will be interpreted as the name of 38134 shared folder. 38135 Rclone will then try to mount this shared to the root namespace. 38136 On success shared folder rclone proceeds normally. 38137 The shared folder is now pretty much a normal folder and all normal 38138 operations are supported. 38139 .PP 38140 Note that we don\[aq]t unmount the shared folder afterwards so the 38141 --dropbox-shared-folders can be omitted after the first use of a 38142 particular shared folder. 38143 .PP 38144 Properties: 38145 .IP \[bu] 2 38146 Config: shared_folders 38147 .IP \[bu] 2 38148 Env Var: RCLONE_DROPBOX_SHARED_FOLDERS 38149 .IP \[bu] 2 38150 Type: bool 38151 .IP \[bu] 2 38152 Default: false 38153 .SS --dropbox-batch-mode 38154 .PP 38155 Upload file batching sync|async|off. 38156 .PP 38157 This sets the batch mode used by rclone. 38158 .PP 38159 For full info see the main docs (https://rclone.org/dropbox/#batch-mode) 38160 .PP 38161 This has 3 possible values 38162 .IP \[bu] 2 38163 off - no batching 38164 .IP \[bu] 2 38165 sync - batch uploads and check completion (default) 38166 .IP \[bu] 2 38167 async - batch upload and don\[aq]t check completion 38168 .PP 38169 Rclone will close any outstanding batches when it exits which may make a 38170 delay on quit. 38171 .PP 38172 Properties: 38173 .IP \[bu] 2 38174 Config: batch_mode 38175 .IP \[bu] 2 38176 Env Var: RCLONE_DROPBOX_BATCH_MODE 38177 .IP \[bu] 2 38178 Type: string 38179 .IP \[bu] 2 38180 Default: \[dq]sync\[dq] 38181 .SS --dropbox-batch-size 38182 .PP 38183 Max number of files in upload batch. 38184 .PP 38185 This sets the batch size of files to upload. 38186 It has to be less than 1000. 38187 .PP 38188 By default this is 0 which means rclone which calculate the batch size 38189 depending on the setting of batch_mode. 38190 .IP \[bu] 2 38191 batch_mode: async - default batch_size is 100 38192 .IP \[bu] 2 38193 batch_mode: sync - default batch_size is the same as --transfers 38194 .IP \[bu] 2 38195 batch_mode: off - not in use 38196 .PP 38197 Rclone will close any outstanding batches when it exits which may make a 38198 delay on quit. 38199 .PP 38200 Setting this is a great idea if you are uploading lots of small files as 38201 it will make them a lot quicker. 38202 You can use --transfers 32 to maximise throughput. 38203 .PP 38204 Properties: 38205 .IP \[bu] 2 38206 Config: batch_size 38207 .IP \[bu] 2 38208 Env Var: RCLONE_DROPBOX_BATCH_SIZE 38209 .IP \[bu] 2 38210 Type: int 38211 .IP \[bu] 2 38212 Default: 0 38213 .SS --dropbox-batch-timeout 38214 .PP 38215 Max time to allow an idle upload batch before uploading. 38216 .PP 38217 If an upload batch is idle for more than this long then it will be 38218 uploaded. 38219 .PP 38220 The default for this is 0 which means rclone will choose a sensible 38221 default based on the batch_mode in use. 38222 .IP \[bu] 2 38223 batch_mode: async - default batch_timeout is 10s 38224 .IP \[bu] 2 38225 batch_mode: sync - default batch_timeout is 500ms 38226 .IP \[bu] 2 38227 batch_mode: off - not in use 38228 .PP 38229 Properties: 38230 .IP \[bu] 2 38231 Config: batch_timeout 38232 .IP \[bu] 2 38233 Env Var: RCLONE_DROPBOX_BATCH_TIMEOUT 38234 .IP \[bu] 2 38235 Type: Duration 38236 .IP \[bu] 2 38237 Default: 0s 38238 .SS --dropbox-batch-commit-timeout 38239 .PP 38240 Max time to wait for a batch to finish committing 38241 .PP 38242 Properties: 38243 .IP \[bu] 2 38244 Config: batch_commit_timeout 38245 .IP \[bu] 2 38246 Env Var: RCLONE_DROPBOX_BATCH_COMMIT_TIMEOUT 38247 .IP \[bu] 2 38248 Type: Duration 38249 .IP \[bu] 2 38250 Default: 10m0s 38251 .SS --dropbox-pacer-min-sleep 38252 .PP 38253 Minimum time to sleep between API calls. 38254 .PP 38255 Properties: 38256 .IP \[bu] 2 38257 Config: pacer_min_sleep 38258 .IP \[bu] 2 38259 Env Var: RCLONE_DROPBOX_PACER_MIN_SLEEP 38260 .IP \[bu] 2 38261 Type: Duration 38262 .IP \[bu] 2 38263 Default: 10ms 38264 .SS --dropbox-encoding 38265 .PP 38266 The encoding for the backend. 38267 .PP 38268 See the encoding section in the 38269 overview (https://rclone.org/overview/#encoding) for more info. 38270 .PP 38271 Properties: 38272 .IP \[bu] 2 38273 Config: encoding 38274 .IP \[bu] 2 38275 Env Var: RCLONE_DROPBOX_ENCODING 38276 .IP \[bu] 2 38277 Type: MultiEncoder 38278 .IP \[bu] 2 38279 Default: Slash,BackSlash,Del,RightSpace,InvalidUtf8,Dot 38280 .SS Limitations 38281 .PP 38282 Note that Dropbox is case insensitive so you can\[aq]t have a file 38283 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 38284 .PP 38285 There are some file names such as \f[C]thumbs.db\f[R] which Dropbox 38286 can\[aq]t store. 38287 There is a full list of them in the \[dq]Ignored Files\[dq] section of 38288 this document (https://www.dropbox.com/en/help/145). 38289 Rclone will issue an error message 38290 \f[C]File name disallowed - not uploading\f[R] if it attempts to upload 38291 one of those file names, but the sync won\[aq]t fail. 38292 .PP 38293 Some errors may occur if you try to sync copyright-protected files 38294 because Dropbox has its own copyright 38295 detector (https://techcrunch.com/2014/03/30/how-dropbox-knows-when-youre-sharing-copyrighted-stuff-without-actually-looking-at-your-stuff/) 38296 that prevents this sort of file being downloaded. 38297 This will return the error 38298 \f[C]ERROR : /path/to/your/file: Failed to copy: failed to open source object: path/restricted_content/.\f[R] 38299 .PP 38300 If you have more than 10,000 files in a directory then 38301 \f[C]rclone purge dropbox:dir\f[R] will return the error 38302 \f[C]Failed to purge: There are too many files involved in this operation\f[R]. 38303 As a work-around do an \f[C]rclone delete dropbox:dir\f[R] followed by 38304 an \f[C]rclone rmdir dropbox:dir\f[R]. 38305 .PP 38306 When using \f[C]rclone link\f[R] you\[aq]ll need to set 38307 \f[C]--expire\f[R] if using a non-personal account otherwise the 38308 visibility may not be correct. 38309 (Note that \f[C]--expire\f[R] isn\[aq]t supported on personal accounts). 38310 See the forum 38311 discussion (https://forum.rclone.org/t/rclone-link-dropbox-permissions/23211) 38312 and the dropbox SDK 38313 issue (https://github.com/dropbox/dropbox-sdk-go-unofficial/issues/75). 38314 .SS Get your own Dropbox App ID 38315 .PP 38316 When you use rclone with Dropbox in its default configuration you are 38317 using rclone\[aq]s App ID. 38318 This is shared between all the rclone users. 38319 .PP 38320 Here is how to create your own Dropbox App ID for rclone: 38321 .IP "1." 3 38322 Log into the Dropbox App 38323 console (https://www.dropbox.com/developers/apps/create) with your 38324 Dropbox Account (It need not to be the same account as the Dropbox you 38325 want to access) 38326 .IP "2." 3 38327 Choose an API => Usually this should be \f[C]Dropbox API\f[R] 38328 .IP "3." 3 38329 Choose the type of access you want to use => \f[C]Full Dropbox\f[R] or 38330 \f[C]App Folder\f[R] 38331 .IP "4." 3 38332 Name your App. 38333 The app name is global, so you can\[aq]t use \f[C]rclone\f[R] for 38334 example 38335 .IP "5." 3 38336 Click the button \f[C]Create App\f[R] 38337 .IP "6." 3 38338 Switch to the \f[C]Permissions\f[R] tab. 38339 Enable at least the following permissions: \f[C]account_info.read\f[R], 38340 \f[C]files.metadata.write\f[R], \f[C]files.content.write\f[R], 38341 \f[C]files.content.read\f[R], \f[C]sharing.write\f[R]. 38342 The \f[C]files.metadata.read\f[R] and \f[C]sharing.read\f[R] checkboxes 38343 will be marked too. 38344 Click \f[C]Submit\f[R] 38345 .IP "7." 3 38346 Switch to the \f[C]Settings\f[R] tab. 38347 Fill \f[C]OAuth2 - Redirect URIs\f[R] as 38348 \f[C]http://localhost:53682/\f[R] 38349 .IP "8." 3 38350 Find the \f[C]App key\f[R] and \f[C]App secret\f[R] values on the 38351 \f[C]Settings\f[R] tab. 38352 Use these values in rclone config to add a new remote or edit an 38353 existing remote. 38354 The \f[C]App key\f[R] setting corresponds to \f[C]client_id\f[R] in 38355 rclone config, the \f[C]App secret\f[R] corresponds to 38356 \f[C]client_secret\f[R] 38357 .SH Enterprise File Fabric 38358 .PP 38359 This backend supports Storage Made Easy\[aq]s Enterprise File 38360 Fabric\[tm] (https://storagemadeeasy.com/about/) which provides a 38361 software solution to integrate and unify File and Object Storage 38362 accessible through a global file system. 38363 .SS Configuration 38364 .PP 38365 The initial setup for the Enterprise File Fabric backend involves 38366 getting a token from the Enterprise File Fabric which you need to do in 38367 your browser. 38368 \f[C]rclone config\f[R] walks you through it. 38369 .PP 38370 Here is an example of how to make a remote called \f[C]remote\f[R]. 38371 First run: 38372 .IP 38373 .nf 38374 \f[C] 38375 rclone config 38376 \f[R] 38377 .fi 38378 .PP 38379 This will guide you through an interactive setup process: 38380 .IP 38381 .nf 38382 \f[C] 38383 No remotes found, make a new one? 38384 n) New remote 38385 s) Set configuration password 38386 q) Quit config 38387 n/s/q> n 38388 name> remote 38389 Type of storage to configure. 38390 Enter a string value. Press Enter for the default (\[dq]\[dq]). 38391 Choose a number from below, or type in your own value 38392 [snip] 38393 XX / Enterprise File Fabric 38394 \[rs] \[dq]filefabric\[dq] 38395 [snip] 38396 Storage> filefabric 38397 ** See help for filefabric backend at: https://rclone.org/filefabric/ ** 38398 38399 URL of the Enterprise File Fabric to connect to 38400 Enter a string value. Press Enter for the default (\[dq]\[dq]). 38401 Choose a number from below, or type in your own value 38402 1 / Storage Made Easy US 38403 \[rs] \[dq]https://storagemadeeasy.com\[dq] 38404 2 / Storage Made Easy EU 38405 \[rs] \[dq]https://eu.storagemadeeasy.com\[dq] 38406 3 / Connect to your Enterprise File Fabric 38407 \[rs] \[dq]https://yourfabric.smestorage.com\[dq] 38408 url> https://yourfabric.smestorage.com/ 38409 ID of the root folder 38410 Leave blank normally. 38411 38412 Fill in to make rclone start with directory of a given ID. 38413 38414 Enter a string value. Press Enter for the default (\[dq]\[dq]). 38415 root_folder_id> 38416 Permanent Authentication Token 38417 38418 A Permanent Authentication Token can be created in the Enterprise File 38419 Fabric, on the users Dashboard under Security, there is an entry 38420 you\[aq]ll see called \[dq]My Authentication Tokens\[dq]. Click the Manage button 38421 to create one. 38422 38423 These tokens are normally valid for several years. 38424 38425 For more info see: https://docs.storagemadeeasy.com/organisationcloud/api-tokens 38426 38427 Enter a string value. Press Enter for the default (\[dq]\[dq]). 38428 permanent_token> xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx 38429 Edit advanced config? (y/n) 38430 y) Yes 38431 n) No (default) 38432 y/n> n 38433 Remote config 38434 -------------------- 38435 [remote] 38436 type = filefabric 38437 url = https://yourfabric.smestorage.com/ 38438 permanent_token = xxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxx 38439 -------------------- 38440 y) Yes this is OK (default) 38441 e) Edit this remote 38442 d) Delete this remote 38443 y/e/d> y 38444 \f[R] 38445 .fi 38446 .PP 38447 Once configured you can then use \f[C]rclone\f[R] like this, 38448 .PP 38449 List directories in top level of your Enterprise File Fabric 38450 .IP 38451 .nf 38452 \f[C] 38453 rclone lsd remote: 38454 \f[R] 38455 .fi 38456 .PP 38457 List all the files in your Enterprise File Fabric 38458 .IP 38459 .nf 38460 \f[C] 38461 rclone ls remote: 38462 \f[R] 38463 .fi 38464 .PP 38465 To copy a local directory to an Enterprise File Fabric directory called 38466 backup 38467 .IP 38468 .nf 38469 \f[C] 38470 rclone copy /home/source remote:backup 38471 \f[R] 38472 .fi 38473 .SS Modified time and hashes 38474 .PP 38475 The Enterprise File Fabric allows modification times to be set on files 38476 accurate to 1 second. 38477 These will be used to detect whether objects need syncing or not. 38478 .PP 38479 The Enterprise File Fabric does not support any data hashes at this 38480 time. 38481 .SS Restricted filename characters 38482 .PP 38483 The default restricted characters 38484 set (https://rclone.org/overview/#restricted-characters) will be 38485 replaced. 38486 .PP 38487 Invalid UTF-8 bytes will also be 38488 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 38489 be used in JSON strings. 38490 .SS Empty files 38491 .PP 38492 Empty files aren\[aq]t supported by the Enterprise File Fabric. 38493 Rclone will therefore upload an empty file as a single space with a mime 38494 type of \f[C]application/vnd.rclone.empty.file\f[R] and files with that 38495 mime type are treated as empty. 38496 .SS Root folder ID 38497 .PP 38498 You can set the \f[C]root_folder_id\f[R] for rclone. 38499 This is the directory (identified by its \f[C]Folder ID\f[R]) that 38500 rclone considers to be the root of your Enterprise File Fabric. 38501 .PP 38502 Normally you will leave this blank and rclone will determine the correct 38503 root to use itself. 38504 .PP 38505 However you can set this to restrict rclone to a specific folder 38506 hierarchy. 38507 .PP 38508 In order to do this you will have to find the \f[C]Folder ID\f[R] of the 38509 directory you wish rclone to display. 38510 These aren\[aq]t displayed in the web interface, but you can use 38511 \f[C]rclone lsf\f[R] to find them, for example 38512 .IP 38513 .nf 38514 \f[C] 38515 $ rclone lsf --dirs-only -Fip --csv filefabric: 38516 120673758,Burnt PDFs/ 38517 120673759,My Quick Uploads/ 38518 120673755,My Syncs/ 38519 120673756,My backups/ 38520 120673757,My contacts/ 38521 120673761,S3 Storage/ 38522 \f[R] 38523 .fi 38524 .PP 38525 The ID for \[dq]S3 Storage\[dq] would be \f[C]120673761\f[R]. 38526 .SS Standard options 38527 .PP 38528 Here are the Standard options specific to filefabric (Enterprise File 38529 Fabric). 38530 .SS --filefabric-url 38531 .PP 38532 URL of the Enterprise File Fabric to connect to. 38533 .PP 38534 Properties: 38535 .IP \[bu] 2 38536 Config: url 38537 .IP \[bu] 2 38538 Env Var: RCLONE_FILEFABRIC_URL 38539 .IP \[bu] 2 38540 Type: string 38541 .IP \[bu] 2 38542 Required: true 38543 .IP \[bu] 2 38544 Examples: 38545 .RS 2 38546 .IP \[bu] 2 38547 \[dq]https://storagemadeeasy.com\[dq] 38548 .RS 2 38549 .IP \[bu] 2 38550 Storage Made Easy US 38551 .RE 38552 .IP \[bu] 2 38553 \[dq]https://eu.storagemadeeasy.com\[dq] 38554 .RS 2 38555 .IP \[bu] 2 38556 Storage Made Easy EU 38557 .RE 38558 .IP \[bu] 2 38559 \[dq]https://yourfabric.smestorage.com\[dq] 38560 .RS 2 38561 .IP \[bu] 2 38562 Connect to your Enterprise File Fabric 38563 .RE 38564 .RE 38565 .SS --filefabric-root-folder-id 38566 .PP 38567 ID of the root folder. 38568 .PP 38569 Leave blank normally. 38570 .PP 38571 Fill in to make rclone start with directory of a given ID. 38572 .PP 38573 Properties: 38574 .IP \[bu] 2 38575 Config: root_folder_id 38576 .IP \[bu] 2 38577 Env Var: RCLONE_FILEFABRIC_ROOT_FOLDER_ID 38578 .IP \[bu] 2 38579 Type: string 38580 .IP \[bu] 2 38581 Required: false 38582 .SS --filefabric-permanent-token 38583 .PP 38584 Permanent Authentication Token. 38585 .PP 38586 A Permanent Authentication Token can be created in the Enterprise File 38587 Fabric, on the users Dashboard under Security, there is an entry 38588 you\[aq]ll see called \[dq]My Authentication Tokens\[dq]. 38589 Click the Manage button to create one. 38590 .PP 38591 These tokens are normally valid for several years. 38592 .PP 38593 For more info see: 38594 https://docs.storagemadeeasy.com/organisationcloud/api-tokens 38595 .PP 38596 Properties: 38597 .IP \[bu] 2 38598 Config: permanent_token 38599 .IP \[bu] 2 38600 Env Var: RCLONE_FILEFABRIC_PERMANENT_TOKEN 38601 .IP \[bu] 2 38602 Type: string 38603 .IP \[bu] 2 38604 Required: false 38605 .SS Advanced options 38606 .PP 38607 Here are the Advanced options specific to filefabric (Enterprise File 38608 Fabric). 38609 .SS --filefabric-token 38610 .PP 38611 Session Token. 38612 .PP 38613 This is a session token which rclone caches in the config file. 38614 It is usually valid for 1 hour. 38615 .PP 38616 Don\[aq]t set this value - rclone will set it automatically. 38617 .PP 38618 Properties: 38619 .IP \[bu] 2 38620 Config: token 38621 .IP \[bu] 2 38622 Env Var: RCLONE_FILEFABRIC_TOKEN 38623 .IP \[bu] 2 38624 Type: string 38625 .IP \[bu] 2 38626 Required: false 38627 .SS --filefabric-token-expiry 38628 .PP 38629 Token expiry time. 38630 .PP 38631 Don\[aq]t set this value - rclone will set it automatically. 38632 .PP 38633 Properties: 38634 .IP \[bu] 2 38635 Config: token_expiry 38636 .IP \[bu] 2 38637 Env Var: RCLONE_FILEFABRIC_TOKEN_EXPIRY 38638 .IP \[bu] 2 38639 Type: string 38640 .IP \[bu] 2 38641 Required: false 38642 .SS --filefabric-version 38643 .PP 38644 Version read from the file fabric. 38645 .PP 38646 Don\[aq]t set this value - rclone will set it automatically. 38647 .PP 38648 Properties: 38649 .IP \[bu] 2 38650 Config: version 38651 .IP \[bu] 2 38652 Env Var: RCLONE_FILEFABRIC_VERSION 38653 .IP \[bu] 2 38654 Type: string 38655 .IP \[bu] 2 38656 Required: false 38657 .SS --filefabric-encoding 38658 .PP 38659 The encoding for the backend. 38660 .PP 38661 See the encoding section in the 38662 overview (https://rclone.org/overview/#encoding) for more info. 38663 .PP 38664 Properties: 38665 .IP \[bu] 2 38666 Config: encoding 38667 .IP \[bu] 2 38668 Env Var: RCLONE_FILEFABRIC_ENCODING 38669 .IP \[bu] 2 38670 Type: MultiEncoder 38671 .IP \[bu] 2 38672 Default: Slash,Del,Ctl,InvalidUtf8,Dot 38673 .SH FTP 38674 .PP 38675 FTP is the File Transfer Protocol. 38676 Rclone FTP support is provided using the 38677 github.com/jlaffaye/ftp (https://godoc.org/github.com/jlaffaye/ftp) 38678 package. 38679 .PP 38680 Limitations of Rclone\[aq]s FTP backend 38681 .PP 38682 Paths are specified as \f[C]remote:path\f[R]. 38683 If the path does not begin with a \f[C]/\f[R] it is relative to the home 38684 directory of the user. 38685 An empty path \f[C]remote:\f[R] refers to the user\[aq]s home directory. 38686 .SS Configuration 38687 .PP 38688 To create an FTP configuration named \f[C]remote\f[R], run 38689 .IP 38690 .nf 38691 \f[C] 38692 rclone config 38693 \f[R] 38694 .fi 38695 .PP 38696 Rclone config guides you through an interactive setup process. 38697 A minimal rclone FTP remote definition only requires host, username and 38698 password. 38699 For an anonymous FTP server, see below. 38700 .IP 38701 .nf 38702 \f[C] 38703 No remotes found, make a new one? 38704 n) New remote 38705 r) Rename remote 38706 c) Copy remote 38707 s) Set configuration password 38708 q) Quit config 38709 n/r/c/s/q> n 38710 name> remote 38711 Type of storage to configure. 38712 Enter a string value. Press Enter for the default (\[dq]\[dq]). 38713 Choose a number from below, or type in your own value 38714 [snip] 38715 XX / FTP 38716 \[rs] \[dq]ftp\[dq] 38717 [snip] 38718 Storage> ftp 38719 ** See help for ftp backend at: https://rclone.org/ftp/ ** 38720 38721 FTP host to connect to 38722 Enter a string value. Press Enter for the default (\[dq]\[dq]). 38723 Choose a number from below, or type in your own value 38724 1 / Connect to ftp.example.com 38725 \[rs] \[dq]ftp.example.com\[dq] 38726 host> ftp.example.com 38727 FTP username 38728 Enter a string value. Press Enter for the default (\[dq]$USER\[dq]). 38729 user> 38730 FTP port number 38731 Enter a signed integer. Press Enter for the default (21). 38732 port> 38733 FTP password 38734 y) Yes type in my own password 38735 g) Generate random password 38736 y/g> y 38737 Enter the password: 38738 password: 38739 Confirm the password: 38740 password: 38741 Use FTP over TLS (Implicit) 38742 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 38743 tls> 38744 Use FTP over TLS (Explicit) 38745 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 38746 explicit_tls> 38747 Remote config 38748 -------------------- 38749 [remote] 38750 type = ftp 38751 host = ftp.example.com 38752 pass = *** ENCRYPTED *** 38753 -------------------- 38754 y) Yes this is OK 38755 e) Edit this remote 38756 d) Delete this remote 38757 y/e/d> y 38758 \f[R] 38759 .fi 38760 .PP 38761 To see all directories in the home directory of \f[C]remote\f[R] 38762 .IP 38763 .nf 38764 \f[C] 38765 rclone lsd remote: 38766 \f[R] 38767 .fi 38768 .PP 38769 Make a new directory 38770 .IP 38771 .nf 38772 \f[C] 38773 rclone mkdir remote:path/to/directory 38774 \f[R] 38775 .fi 38776 .PP 38777 List the contents of a directory 38778 .IP 38779 .nf 38780 \f[C] 38781 rclone ls remote:path/to/directory 38782 \f[R] 38783 .fi 38784 .PP 38785 Sync \f[C]/home/local/directory\f[R] to the remote directory, deleting 38786 any excess files in the directory. 38787 .IP 38788 .nf 38789 \f[C] 38790 rclone sync --interactive /home/local/directory remote:directory 38791 \f[R] 38792 .fi 38793 .SS Anonymous FTP 38794 .PP 38795 When connecting to a FTP server that allows anonymous login, you can use 38796 the special \[dq]anonymous\[dq] username. 38797 Traditionally, this user account accepts any string as a password, 38798 although it is common to use either the password \[dq]anonymous\[dq] or 38799 \[dq]guest\[dq]. 38800 Some servers require the use of a valid e-mail address as password. 38801 .PP 38802 Using on-the-fly or connection 38803 string (https://rclone.org/docs/#connection-strings) remotes makes it 38804 easy to access such servers, without requiring any configuration in 38805 advance. 38806 The following are examples of that: 38807 .IP 38808 .nf 38809 \f[C] 38810 rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=$(rclone obscure dummy) 38811 rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=$(rclone obscure dummy): 38812 \f[R] 38813 .fi 38814 .PP 38815 The above examples work in Linux shells and in PowerShell, but not 38816 Windows Command Prompt. 38817 They execute the rclone 38818 obscure (https://rclone.org/commands/rclone_obscure/) command to create 38819 a password string in the format required by the pass option. 38820 The following examples are exactly the same, except use an already 38821 obscured string representation of the same password \[dq]dummy\[dq], and 38822 therefore works even in Windows Command Prompt: 38823 .IP 38824 .nf 38825 \f[C] 38826 rclone lsf :ftp: --ftp-host=speedtest.tele2.net --ftp-user=anonymous --ftp-pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM 38827 rclone lsf :ftp,host=speedtest.tele2.net,user=anonymous,pass=IXs2wc8OJOz7SYLBk47Ji1rHTmxM: 38828 \f[R] 38829 .fi 38830 .SS Implicit TLS 38831 .PP 38832 Rlone FTP supports implicit FTP over TLS servers (FTPS). 38833 This has to be enabled in the FTP backend config for the remote, or with 38834 \f[C]--ftp-tls\f[R]. 38835 The default FTPS port is \f[C]990\f[R], not \f[C]21\f[R] and can be set 38836 with \f[C]--ftp-port\f[R]. 38837 .SS Restricted filename characters 38838 .PP 38839 In addition to the default restricted characters 38840 set (https://rclone.org/overview/#restricted-characters) the following 38841 characters are also replaced: 38842 .PP 38843 File names cannot end with the following characters. 38844 Replacement is limited to the last character in a file name: 38845 .PP 38846 .TS 38847 tab(@); 38848 l c c. 38849 T{ 38850 Character 38851 T}@T{ 38852 Value 38853 T}@T{ 38854 Replacement 38855 T} 38856 _ 38857 T{ 38858 SP 38859 T}@T{ 38860 0x20 38861 T}@T{ 38862 \[u2420] 38863 T} 38864 .TE 38865 .PP 38866 Not all FTP servers can have all characters in file names, for example: 38867 .PP 38868 .TS 38869 tab(@); 38870 l c. 38871 T{ 38872 FTP Server 38873 T}@T{ 38874 Forbidden characters 38875 T} 38876 _ 38877 T{ 38878 proftpd 38879 T}@T{ 38880 \f[C]*\f[R] 38881 T} 38882 T{ 38883 pureftpd 38884 T}@T{ 38885 \f[C]\[rs] [ ]\f[R] 38886 T} 38887 .TE 38888 .PP 38889 This backend\[aq]s interactive configuration wizard provides a selection 38890 of sensible encoding settings for major FTP servers: ProFTPd, PureFTPd, 38891 VsFTPd. 38892 Just hit a selection number when prompted. 38893 .SS Standard options 38894 .PP 38895 Here are the Standard options specific to ftp (FTP). 38896 .SS --ftp-host 38897 .PP 38898 FTP host to connect to. 38899 .PP 38900 E.g. 38901 \[dq]ftp.example.com\[dq]. 38902 .PP 38903 Properties: 38904 .IP \[bu] 2 38905 Config: host 38906 .IP \[bu] 2 38907 Env Var: RCLONE_FTP_HOST 38908 .IP \[bu] 2 38909 Type: string 38910 .IP \[bu] 2 38911 Required: true 38912 .SS --ftp-user 38913 .PP 38914 FTP username. 38915 .PP 38916 Properties: 38917 .IP \[bu] 2 38918 Config: user 38919 .IP \[bu] 2 38920 Env Var: RCLONE_FTP_USER 38921 .IP \[bu] 2 38922 Type: string 38923 .IP \[bu] 2 38924 Default: \[dq]$USER\[dq] 38925 .SS --ftp-port 38926 .PP 38927 FTP port number. 38928 .PP 38929 Properties: 38930 .IP \[bu] 2 38931 Config: port 38932 .IP \[bu] 2 38933 Env Var: RCLONE_FTP_PORT 38934 .IP \[bu] 2 38935 Type: int 38936 .IP \[bu] 2 38937 Default: 21 38938 .SS --ftp-pass 38939 .PP 38940 FTP password. 38941 .PP 38942 \f[B]NB\f[R] Input to this must be obscured - see rclone 38943 obscure (https://rclone.org/commands/rclone_obscure/). 38944 .PP 38945 Properties: 38946 .IP \[bu] 2 38947 Config: pass 38948 .IP \[bu] 2 38949 Env Var: RCLONE_FTP_PASS 38950 .IP \[bu] 2 38951 Type: string 38952 .IP \[bu] 2 38953 Required: false 38954 .SS --ftp-tls 38955 .PP 38956 Use Implicit FTPS (FTP over TLS). 38957 .PP 38958 When using implicit FTP over TLS the client connects using TLS right 38959 from the start which breaks compatibility with non-TLS-aware servers. 38960 This is usually served over port 990 rather than port 21. 38961 Cannot be used in combination with explicit FTPS. 38962 .PP 38963 Properties: 38964 .IP \[bu] 2 38965 Config: tls 38966 .IP \[bu] 2 38967 Env Var: RCLONE_FTP_TLS 38968 .IP \[bu] 2 38969 Type: bool 38970 .IP \[bu] 2 38971 Default: false 38972 .SS --ftp-explicit-tls 38973 .PP 38974 Use Explicit FTPS (FTP over TLS). 38975 .PP 38976 When using explicit FTP over TLS the client explicitly requests security 38977 from the server in order to upgrade a plain text connection to an 38978 encrypted one. 38979 Cannot be used in combination with implicit FTPS. 38980 .PP 38981 Properties: 38982 .IP \[bu] 2 38983 Config: explicit_tls 38984 .IP \[bu] 2 38985 Env Var: RCLONE_FTP_EXPLICIT_TLS 38986 .IP \[bu] 2 38987 Type: bool 38988 .IP \[bu] 2 38989 Default: false 38990 .SS Advanced options 38991 .PP 38992 Here are the Advanced options specific to ftp (FTP). 38993 .SS --ftp-concurrency 38994 .PP 38995 Maximum number of FTP simultaneous connections, 0 for unlimited. 38996 .PP 38997 Note that setting this is very likely to cause deadlocks so it should be 38998 used with care. 38999 .PP 39000 If you are doing a sync or copy then make sure concurrency is one more 39001 than the sum of \f[C]--transfers\f[R] and \f[C]--checkers\f[R]. 39002 .PP 39003 If you use \f[C]--check-first\f[R] then it just needs to be one more 39004 than the maximum of \f[C]--checkers\f[R] and \f[C]--transfers\f[R]. 39005 .PP 39006 So for \f[C]concurrency 3\f[R] you\[aq]d use 39007 \f[C]--checkers 2 --transfers 2 --check-first\f[R] or 39008 \f[C]--checkers 1 --transfers 1\f[R]. 39009 .PP 39010 Properties: 39011 .IP \[bu] 2 39012 Config: concurrency 39013 .IP \[bu] 2 39014 Env Var: RCLONE_FTP_CONCURRENCY 39015 .IP \[bu] 2 39016 Type: int 39017 .IP \[bu] 2 39018 Default: 0 39019 .SS --ftp-no-check-certificate 39020 .PP 39021 Do not verify the TLS certificate of the server. 39022 .PP 39023 Properties: 39024 .IP \[bu] 2 39025 Config: no_check_certificate 39026 .IP \[bu] 2 39027 Env Var: RCLONE_FTP_NO_CHECK_CERTIFICATE 39028 .IP \[bu] 2 39029 Type: bool 39030 .IP \[bu] 2 39031 Default: false 39032 .SS --ftp-disable-epsv 39033 .PP 39034 Disable using EPSV even if server advertises support. 39035 .PP 39036 Properties: 39037 .IP \[bu] 2 39038 Config: disable_epsv 39039 .IP \[bu] 2 39040 Env Var: RCLONE_FTP_DISABLE_EPSV 39041 .IP \[bu] 2 39042 Type: bool 39043 .IP \[bu] 2 39044 Default: false 39045 .SS --ftp-disable-mlsd 39046 .PP 39047 Disable using MLSD even if server advertises support. 39048 .PP 39049 Properties: 39050 .IP \[bu] 2 39051 Config: disable_mlsd 39052 .IP \[bu] 2 39053 Env Var: RCLONE_FTP_DISABLE_MLSD 39054 .IP \[bu] 2 39055 Type: bool 39056 .IP \[bu] 2 39057 Default: false 39058 .SS --ftp-disable-utf8 39059 .PP 39060 Disable using UTF-8 even if server advertises support. 39061 .PP 39062 Properties: 39063 .IP \[bu] 2 39064 Config: disable_utf8 39065 .IP \[bu] 2 39066 Env Var: RCLONE_FTP_DISABLE_UTF8 39067 .IP \[bu] 2 39068 Type: bool 39069 .IP \[bu] 2 39070 Default: false 39071 .SS --ftp-writing-mdtm 39072 .PP 39073 Use MDTM to set modification time (VsFtpd quirk) 39074 .PP 39075 Properties: 39076 .IP \[bu] 2 39077 Config: writing_mdtm 39078 .IP \[bu] 2 39079 Env Var: RCLONE_FTP_WRITING_MDTM 39080 .IP \[bu] 2 39081 Type: bool 39082 .IP \[bu] 2 39083 Default: false 39084 .SS --ftp-force-list-hidden 39085 .PP 39086 Use LIST -a to force listing of hidden files and folders. 39087 This will disable the use of MLSD. 39088 .PP 39089 Properties: 39090 .IP \[bu] 2 39091 Config: force_list_hidden 39092 .IP \[bu] 2 39093 Env Var: RCLONE_FTP_FORCE_LIST_HIDDEN 39094 .IP \[bu] 2 39095 Type: bool 39096 .IP \[bu] 2 39097 Default: false 39098 .SS --ftp-idle-timeout 39099 .PP 39100 Max time before closing idle connections. 39101 .PP 39102 If no connections have been returned to the connection pool in the time 39103 given, rclone will empty the connection pool. 39104 .PP 39105 Set to 0 to keep connections indefinitely. 39106 .PP 39107 Properties: 39108 .IP \[bu] 2 39109 Config: idle_timeout 39110 .IP \[bu] 2 39111 Env Var: RCLONE_FTP_IDLE_TIMEOUT 39112 .IP \[bu] 2 39113 Type: Duration 39114 .IP \[bu] 2 39115 Default: 1m0s 39116 .SS --ftp-close-timeout 39117 .PP 39118 Maximum time to wait for a response to close. 39119 .PP 39120 Properties: 39121 .IP \[bu] 2 39122 Config: close_timeout 39123 .IP \[bu] 2 39124 Env Var: RCLONE_FTP_CLOSE_TIMEOUT 39125 .IP \[bu] 2 39126 Type: Duration 39127 .IP \[bu] 2 39128 Default: 1m0s 39129 .SS --ftp-tls-cache-size 39130 .PP 39131 Size of TLS session cache for all control and data connections. 39132 .PP 39133 TLS cache allows to resume TLS sessions and reuse PSK between 39134 connections. 39135 Increase if default size is not enough resulting in TLS resumption 39136 errors. 39137 Enabled by default. 39138 Use 0 to disable. 39139 .PP 39140 Properties: 39141 .IP \[bu] 2 39142 Config: tls_cache_size 39143 .IP \[bu] 2 39144 Env Var: RCLONE_FTP_TLS_CACHE_SIZE 39145 .IP \[bu] 2 39146 Type: int 39147 .IP \[bu] 2 39148 Default: 32 39149 .SS --ftp-disable-tls13 39150 .PP 39151 Disable TLS 1.3 (workaround for FTP servers with buggy TLS) 39152 .PP 39153 Properties: 39154 .IP \[bu] 2 39155 Config: disable_tls13 39156 .IP \[bu] 2 39157 Env Var: RCLONE_FTP_DISABLE_TLS13 39158 .IP \[bu] 2 39159 Type: bool 39160 .IP \[bu] 2 39161 Default: false 39162 .SS --ftp-shut-timeout 39163 .PP 39164 Maximum time to wait for data connection closing status. 39165 .PP 39166 Properties: 39167 .IP \[bu] 2 39168 Config: shut_timeout 39169 .IP \[bu] 2 39170 Env Var: RCLONE_FTP_SHUT_TIMEOUT 39171 .IP \[bu] 2 39172 Type: Duration 39173 .IP \[bu] 2 39174 Default: 1m0s 39175 .SS --ftp-ask-password 39176 .PP 39177 Allow asking for FTP password when needed. 39178 .PP 39179 If this is set and no password is supplied then rclone will ask for a 39180 password 39181 .PP 39182 Properties: 39183 .IP \[bu] 2 39184 Config: ask_password 39185 .IP \[bu] 2 39186 Env Var: RCLONE_FTP_ASK_PASSWORD 39187 .IP \[bu] 2 39188 Type: bool 39189 .IP \[bu] 2 39190 Default: false 39191 .SS --ftp-encoding 39192 .PP 39193 The encoding for the backend. 39194 .PP 39195 See the encoding section in the 39196 overview (https://rclone.org/overview/#encoding) for more info. 39197 .PP 39198 Properties: 39199 .IP \[bu] 2 39200 Config: encoding 39201 .IP \[bu] 2 39202 Env Var: RCLONE_FTP_ENCODING 39203 .IP \[bu] 2 39204 Type: MultiEncoder 39205 .IP \[bu] 2 39206 Default: Slash,Del,Ctl,RightSpace,Dot 39207 .IP \[bu] 2 39208 Examples: 39209 .RS 2 39210 .IP \[bu] 2 39211 \[dq]Asterisk,Ctl,Dot,Slash\[dq] 39212 .RS 2 39213 .IP \[bu] 2 39214 ProFTPd can\[aq]t handle \[aq]*\[aq] in file names 39215 .RE 39216 .IP \[bu] 2 39217 \[dq]BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket\[dq] 39218 .RS 2 39219 .IP \[bu] 2 39220 PureFTPd can\[aq]t handle \[aq][]\[aq] or \[aq]*\[aq] in file names 39221 .RE 39222 .IP \[bu] 2 39223 \[dq]Ctl,LeftPeriod,Slash\[dq] 39224 .RS 2 39225 .IP \[bu] 2 39226 VsFTPd can\[aq]t handle file names starting with dot 39227 .RE 39228 .RE 39229 .SS Limitations 39230 .PP 39231 FTP servers acting as rclone remotes must support \f[C]passive\f[R] 39232 mode. 39233 The mode cannot be configured as \f[C]passive\f[R] is the only supported 39234 one. 39235 Rclone\[aq]s FTP implementation is not compatible with \f[C]active\f[R] 39236 mode as the library it uses doesn\[aq]t support 39237 it (https://github.com/jlaffaye/ftp/issues/29). 39238 This will likely never be supported due to security concerns. 39239 .PP 39240 Rclone\[aq]s FTP backend does not support any checksums but can compare 39241 file sizes. 39242 .PP 39243 \f[C]rclone about\f[R] is not supported by the FTP backend. 39244 Backends without this capability cannot determine free space for an 39245 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 39246 of an rclone union remote. 39247 .PP 39248 See List of backends that do not support rclone 39249 about (https://rclone.org/overview/#optional-features) and rclone 39250 about (https://rclone.org/commands/rclone_about/) 39251 .PP 39252 The implementation of : \f[C]--dump headers\f[R], 39253 \f[C]--dump bodies\f[R], \f[C]--dump auth\f[R] for debugging isn\[aq]t 39254 the same as for rclone HTTP based backends - it has less fine grained 39255 control. 39256 .PP 39257 \f[C]--timeout\f[R] isn\[aq]t supported (but \f[C]--contimeout\f[R] is). 39258 .PP 39259 \f[C]--bind\f[R] isn\[aq]t supported. 39260 .PP 39261 Rclone\[aq]s FTP backend could support server-side move but does not at 39262 present. 39263 .PP 39264 The \f[C]ftp_proxy\f[R] environment variable is not currently supported. 39265 .SS Modified time 39266 .PP 39267 File modification time (timestamps) is supported to 1 second resolution 39268 for major FTP servers: ProFTPd, PureFTPd, VsFTPd, and FileZilla FTP 39269 server. 39270 The \f[C]VsFTPd\f[R] server has non-standard implementation of time 39271 related protocol commands and needs a special configuration setting: 39272 \f[C]writing_mdtm = true\f[R]. 39273 .PP 39274 Support for precise file time with other FTP servers varies depending on 39275 what protocol extensions they advertise. 39276 If all the \f[C]MLSD\f[R], \f[C]MDTM\f[R] and \f[C]MFTM\f[R] extensions 39277 are present, rclone will use them together to provide precise time. 39278 Otherwise the times you see on the FTP server through rclone are those 39279 of the last file upload. 39280 .PP 39281 You can use the following command to check whether rclone can use 39282 precise time with your FTP server: 39283 \f[C]rclone backend features your_ftp_remote:\f[R] (the trailing colon 39284 is important). 39285 Look for the number in the line tagged by \f[C]Precision\f[R] 39286 designating the remote time precision expressed as nanoseconds. 39287 A value of \f[C]1000000000\f[R] means that file time precision of 1 39288 second is available. 39289 A value of \f[C]3153600000000000000\f[R] (or another large number) means 39290 \[dq]unsupported\[dq]. 39291 .SH Google Cloud Storage 39292 .PP 39293 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 39294 the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 39295 \f[C]remote:bucket/path/to/dir\f[R]. 39296 .SS Configuration 39297 .PP 39298 The initial setup for google cloud storage involves getting a token from 39299 Google Cloud Storage which you need to do in your browser. 39300 \f[C]rclone config\f[R] walks you through it. 39301 .PP 39302 Here is an example of how to make a remote called \f[C]remote\f[R]. 39303 First run: 39304 .IP 39305 .nf 39306 \f[C] 39307 rclone config 39308 \f[R] 39309 .fi 39310 .PP 39311 This will guide you through an interactive setup process: 39312 .IP 39313 .nf 39314 \f[C] 39315 n) New remote 39316 d) Delete remote 39317 q) Quit config 39318 e/n/d/q> n 39319 name> remote 39320 Type of storage to configure. 39321 Choose a number from below, or type in your own value 39322 [snip] 39323 XX / Google Cloud Storage (this is not Google Drive) 39324 \[rs] \[dq]google cloud storage\[dq] 39325 [snip] 39326 Storage> google cloud storage 39327 Google Application Client Id - leave blank normally. 39328 client_id> 39329 Google Application Client Secret - leave blank normally. 39330 client_secret> 39331 Project number optional - needed only for list/create/delete buckets - see your developer console. 39332 project_number> 12345678 39333 Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login. 39334 service_account_file> 39335 Access Control List for new objects. 39336 Choose a number from below, or type in your own value 39337 1 / Object owner gets OWNER access, and all Authenticated Users get READER access. 39338 \[rs] \[dq]authenticatedRead\[dq] 39339 2 / Object owner gets OWNER access, and project team owners get OWNER access. 39340 \[rs] \[dq]bucketOwnerFullControl\[dq] 39341 3 / Object owner gets OWNER access, and project team owners get READER access. 39342 \[rs] \[dq]bucketOwnerRead\[dq] 39343 4 / Object owner gets OWNER access [default if left blank]. 39344 \[rs] \[dq]private\[dq] 39345 5 / Object owner gets OWNER access, and project team members get access according to their roles. 39346 \[rs] \[dq]projectPrivate\[dq] 39347 6 / Object owner gets OWNER access, and all Users get READER access. 39348 \[rs] \[dq]publicRead\[dq] 39349 object_acl> 4 39350 Access Control List for new buckets. 39351 Choose a number from below, or type in your own value 39352 1 / Project team owners get OWNER access, and all Authenticated Users get READER access. 39353 \[rs] \[dq]authenticatedRead\[dq] 39354 2 / Project team owners get OWNER access [default if left blank]. 39355 \[rs] \[dq]private\[dq] 39356 3 / Project team members get access according to their roles. 39357 \[rs] \[dq]projectPrivate\[dq] 39358 4 / Project team owners get OWNER access, and all Users get READER access. 39359 \[rs] \[dq]publicRead\[dq] 39360 5 / Project team owners get OWNER access, and all Users get WRITER access. 39361 \[rs] \[dq]publicReadWrite\[dq] 39362 bucket_acl> 2 39363 Location for the newly created buckets. 39364 Choose a number from below, or type in your own value 39365 1 / Empty for default location (US). 39366 \[rs] \[dq]\[dq] 39367 2 / Multi-regional location for Asia. 39368 \[rs] \[dq]asia\[dq] 39369 3 / Multi-regional location for Europe. 39370 \[rs] \[dq]eu\[dq] 39371 4 / Multi-regional location for United States. 39372 \[rs] \[dq]us\[dq] 39373 5 / Taiwan. 39374 \[rs] \[dq]asia-east1\[dq] 39375 6 / Tokyo. 39376 \[rs] \[dq]asia-northeast1\[dq] 39377 7 / Singapore. 39378 \[rs] \[dq]asia-southeast1\[dq] 39379 8 / Sydney. 39380 \[rs] \[dq]australia-southeast1\[dq] 39381 9 / Belgium. 39382 \[rs] \[dq]europe-west1\[dq] 39383 10 / London. 39384 \[rs] \[dq]europe-west2\[dq] 39385 11 / Iowa. 39386 \[rs] \[dq]us-central1\[dq] 39387 12 / South Carolina. 39388 \[rs] \[dq]us-east1\[dq] 39389 13 / Northern Virginia. 39390 \[rs] \[dq]us-east4\[dq] 39391 14 / Oregon. 39392 \[rs] \[dq]us-west1\[dq] 39393 location> 12 39394 The storage class to use when storing objects in Google Cloud Storage. 39395 Choose a number from below, or type in your own value 39396 1 / Default 39397 \[rs] \[dq]\[dq] 39398 2 / Multi-regional storage class 39399 \[rs] \[dq]MULTI_REGIONAL\[dq] 39400 3 / Regional storage class 39401 \[rs] \[dq]REGIONAL\[dq] 39402 4 / Nearline storage class 39403 \[rs] \[dq]NEARLINE\[dq] 39404 5 / Coldline storage class 39405 \[rs] \[dq]COLDLINE\[dq] 39406 6 / Durable reduced availability storage class 39407 \[rs] \[dq]DURABLE_REDUCED_AVAILABILITY\[dq] 39408 storage_class> 5 39409 Remote config 39410 Use web browser to automatically authenticate rclone with remote? 39411 * Say Y if the machine running rclone has a web browser you can use 39412 * Say N if running rclone on a (remote) machine without web browser access 39413 If not sure try Y. If Y failed, try N. 39414 y) Yes 39415 n) No 39416 y/n> y 39417 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 39418 Log in and authorize rclone for access 39419 Waiting for code... 39420 Got code 39421 -------------------- 39422 [remote] 39423 type = google cloud storage 39424 client_id = 39425 client_secret = 39426 token = {\[dq]AccessToken\[dq]:\[dq]xxxx.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]RefreshToken\[dq]:\[dq]x/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxxx\[dq],\[dq]Expiry\[dq]:\[dq]2014-07-17T20:49:14.929208288+01:00\[dq],\[dq]Extra\[dq]:null} 39427 project_number = 12345678 39428 object_acl = private 39429 bucket_acl = private 39430 -------------------- 39431 y) Yes this is OK 39432 e) Edit this remote 39433 d) Delete this remote 39434 y/e/d> y 39435 \f[R] 39436 .fi 39437 .PP 39438 See the remote setup docs (https://rclone.org/remote_setup/) for how to 39439 set it up on a machine with no Internet browser available. 39440 .PP 39441 Note that rclone runs a webserver on your local machine to collect the 39442 token as returned from Google if using web browser to automatically 39443 authenticate. 39444 This only runs from the moment it opens your browser to the moment you 39445 get back the verification code. 39446 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 39447 to unblock it temporarily if you are running a host firewall, or use 39448 manual mode. 39449 .PP 39450 This remote is called \f[C]remote\f[R] and can now be used like this 39451 .PP 39452 See all the buckets in your project 39453 .IP 39454 .nf 39455 \f[C] 39456 rclone lsd remote: 39457 \f[R] 39458 .fi 39459 .PP 39460 Make a new bucket 39461 .IP 39462 .nf 39463 \f[C] 39464 rclone mkdir remote:bucket 39465 \f[R] 39466 .fi 39467 .PP 39468 List the contents of a bucket 39469 .IP 39470 .nf 39471 \f[C] 39472 rclone ls remote:bucket 39473 \f[R] 39474 .fi 39475 .PP 39476 Sync \f[C]/home/local/directory\f[R] to the remote bucket, deleting any 39477 excess files in the bucket. 39478 .IP 39479 .nf 39480 \f[C] 39481 rclone sync --interactive /home/local/directory remote:bucket 39482 \f[R] 39483 .fi 39484 .SS Service Account support 39485 .PP 39486 You can set up rclone with Google Cloud Storage in an unattended mode, 39487 i.e. 39488 not tied to a specific end-user Google account. 39489 This is useful when you want to synchronise files onto machines that 39490 don\[aq]t have actively logged-in users, for example build machines. 39491 .PP 39492 To get credentials for Google Cloud Platform IAM Service 39493 Accounts (https://cloud.google.com/iam/docs/service-accounts), please 39494 head to the Service 39495 Account (https://console.cloud.google.com/permissions/serviceaccounts) 39496 section of the Google Developer Console. 39497 Service Accounts behave just like normal \f[C]User\f[R] permissions in 39498 Google Cloud Storage 39499 ACLs (https://cloud.google.com/storage/docs/access-control), so you can 39500 limit their access (e.g. 39501 make them read only). 39502 After creating an account, a JSON file containing the Service 39503 Account\[aq]s credentials will be downloaded onto your machines. 39504 These credentials are what rclone will use for authentication. 39505 .PP 39506 To use a Service Account instead of OAuth2 token flow, enter the path to 39507 your Service Account credentials at the \f[C]service_account_file\f[R] 39508 prompt and rclone won\[aq]t use the browser based authentication flow. 39509 If you\[aq]d rather stuff the contents of the credentials file into the 39510 rclone config file, you can set \f[C]service_account_credentials\f[R] 39511 with the actual contents of the file instead, or set the equivalent 39512 environment variable. 39513 .SS Anonymous Access 39514 .PP 39515 For downloads of objects that permit public access you can configure 39516 rclone to use anonymous access by setting \f[C]anonymous\f[R] to 39517 \f[C]true\f[R]. 39518 With unauthorized access you can\[aq]t write or create files but only 39519 read or list those buckets and objects that have public read access. 39520 .SS Application Default Credentials 39521 .PP 39522 If no other source of credentials is provided, rclone will fall back to 39523 Application Default 39524 Credentials (https://cloud.google.com/video-intelligence/docs/common/auth#authenticating_with_application_default_credentials) 39525 this is useful both when you already have configured authentication for 39526 your developer account, or in production when running on a google 39527 compute host. 39528 Note that if running in docker, you may need to run additional commands 39529 on your google compute machine - see this 39530 page (https://cloud.google.com/container-registry/docs/advanced-authentication#gcloud_as_a_docker_credential_helper). 39531 .PP 39532 Note that in the case application default credentials are used, there is 39533 no need to explicitly configure a project number. 39534 .SS --fast-list 39535 .PP 39536 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 39537 transactions in exchange for more memory. 39538 See the rclone docs (https://rclone.org/docs/#fast-list) for more 39539 details. 39540 .SS Custom upload headers 39541 .PP 39542 You can set custom upload headers with the \f[C]--header-upload\f[R] 39543 flag. 39544 Google Cloud Storage supports the headers as described in the working 39545 with metadata 39546 documentation (https://cloud.google.com/storage/docs/gsutil/addlhelp/WorkingWithObjectMetadata) 39547 .IP \[bu] 2 39548 Cache-Control 39549 .IP \[bu] 2 39550 Content-Disposition 39551 .IP \[bu] 2 39552 Content-Encoding 39553 .IP \[bu] 2 39554 Content-Language 39555 .IP \[bu] 2 39556 Content-Type 39557 .IP \[bu] 2 39558 X-Goog-Storage-Class 39559 .IP \[bu] 2 39560 X-Goog-Meta- 39561 .PP 39562 Eg \f[C]--header-upload \[dq]Content-Type text/potato\[dq]\f[R] 39563 .PP 39564 Note that the last of these is for setting custom metadata in the form 39565 \f[C]--header-upload \[dq]x-goog-meta-key: value\[dq]\f[R] 39566 .SS Modification time 39567 .PP 39568 Google Cloud Storage stores md5sum natively. 39569 Google\[aq]s gsutil (https://cloud.google.com/storage/docs/gsutil) tool 39570 stores modification time with one-second precision as 39571 \f[C]goog-reserved-file-mtime\f[R] in file metadata. 39572 .PP 39573 To ensure compatibility with gsutil, rclone stores modification time in 39574 2 separate metadata entries. 39575 \f[C]mtime\f[R] uses RFC3339 format with one-nanosecond precision. 39576 \f[C]goog-reserved-file-mtime\f[R] uses Unix timestamp format with 39577 one-second precision. 39578 To get modification time from object metadata, rclone reads the metadata 39579 in the following order: \f[C]mtime\f[R], 39580 \f[C]goog-reserved-file-mtime\f[R], object updated time. 39581 .PP 39582 Note that rclone\[aq]s default modify window is 1ns. 39583 Files uploaded by gsutil only contain timestamps with one-second 39584 precision. 39585 If you use rclone to sync files previously uploaded by gsutil, rclone 39586 will attempt to update modification time for all these files. 39587 To avoid these possibly unnecessary updates, use 39588 \f[C]--modify-window 1s\f[R]. 39589 .SS Restricted filename characters 39590 .PP 39591 .TS 39592 tab(@); 39593 l c c. 39594 T{ 39595 Character 39596 T}@T{ 39597 Value 39598 T}@T{ 39599 Replacement 39600 T} 39601 _ 39602 T{ 39603 NUL 39604 T}@T{ 39605 0x00 39606 T}@T{ 39607 \[u2400] 39608 T} 39609 T{ 39610 LF 39611 T}@T{ 39612 0x0A 39613 T}@T{ 39614 \[u240A] 39615 T} 39616 T{ 39617 CR 39618 T}@T{ 39619 0x0D 39620 T}@T{ 39621 \[u240D] 39622 T} 39623 T{ 39624 / 39625 T}@T{ 39626 0x2F 39627 T}@T{ 39628 \[uFF0F] 39629 T} 39630 .TE 39631 .PP 39632 Invalid UTF-8 bytes will also be 39633 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 39634 be used in JSON strings. 39635 .SS Standard options 39636 .PP 39637 Here are the Standard options specific to google cloud storage (Google 39638 Cloud Storage (this is not Google Drive)). 39639 .SS --gcs-client-id 39640 .PP 39641 OAuth Client Id. 39642 .PP 39643 Leave blank normally. 39644 .PP 39645 Properties: 39646 .IP \[bu] 2 39647 Config: client_id 39648 .IP \[bu] 2 39649 Env Var: RCLONE_GCS_CLIENT_ID 39650 .IP \[bu] 2 39651 Type: string 39652 .IP \[bu] 2 39653 Required: false 39654 .SS --gcs-client-secret 39655 .PP 39656 OAuth Client Secret. 39657 .PP 39658 Leave blank normally. 39659 .PP 39660 Properties: 39661 .IP \[bu] 2 39662 Config: client_secret 39663 .IP \[bu] 2 39664 Env Var: RCLONE_GCS_CLIENT_SECRET 39665 .IP \[bu] 2 39666 Type: string 39667 .IP \[bu] 2 39668 Required: false 39669 .SS --gcs-project-number 39670 .PP 39671 Project number. 39672 .PP 39673 Optional - needed only for list/create/delete buckets - see your 39674 developer console. 39675 .PP 39676 Properties: 39677 .IP \[bu] 2 39678 Config: project_number 39679 .IP \[bu] 2 39680 Env Var: RCLONE_GCS_PROJECT_NUMBER 39681 .IP \[bu] 2 39682 Type: string 39683 .IP \[bu] 2 39684 Required: false 39685 .SS --gcs-user-project 39686 .PP 39687 User project. 39688 .PP 39689 Optional - needed only for requester pays. 39690 .PP 39691 Properties: 39692 .IP \[bu] 2 39693 Config: user_project 39694 .IP \[bu] 2 39695 Env Var: RCLONE_GCS_USER_PROJECT 39696 .IP \[bu] 2 39697 Type: string 39698 .IP \[bu] 2 39699 Required: false 39700 .SS --gcs-service-account-file 39701 .PP 39702 Service Account Credentials JSON file path. 39703 .PP 39704 Leave blank normally. 39705 Needed only if you want use SA instead of interactive login. 39706 .PP 39707 Leading \f[C]\[ti]\f[R] will be expanded in the file name as will 39708 environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R]. 39709 .PP 39710 Properties: 39711 .IP \[bu] 2 39712 Config: service_account_file 39713 .IP \[bu] 2 39714 Env Var: RCLONE_GCS_SERVICE_ACCOUNT_FILE 39715 .IP \[bu] 2 39716 Type: string 39717 .IP \[bu] 2 39718 Required: false 39719 .SS --gcs-service-account-credentials 39720 .PP 39721 Service Account Credentials JSON blob. 39722 .PP 39723 Leave blank normally. 39724 Needed only if you want use SA instead of interactive login. 39725 .PP 39726 Properties: 39727 .IP \[bu] 2 39728 Config: service_account_credentials 39729 .IP \[bu] 2 39730 Env Var: RCLONE_GCS_SERVICE_ACCOUNT_CREDENTIALS 39731 .IP \[bu] 2 39732 Type: string 39733 .IP \[bu] 2 39734 Required: false 39735 .SS --gcs-anonymous 39736 .PP 39737 Access public buckets and objects without credentials. 39738 .PP 39739 Set to \[aq]true\[aq] if you just want to download files and don\[aq]t 39740 configure credentials. 39741 .PP 39742 Properties: 39743 .IP \[bu] 2 39744 Config: anonymous 39745 .IP \[bu] 2 39746 Env Var: RCLONE_GCS_ANONYMOUS 39747 .IP \[bu] 2 39748 Type: bool 39749 .IP \[bu] 2 39750 Default: false 39751 .SS --gcs-object-acl 39752 .PP 39753 Access Control List for new objects. 39754 .PP 39755 Properties: 39756 .IP \[bu] 2 39757 Config: object_acl 39758 .IP \[bu] 2 39759 Env Var: RCLONE_GCS_OBJECT_ACL 39760 .IP \[bu] 2 39761 Type: string 39762 .IP \[bu] 2 39763 Required: false 39764 .IP \[bu] 2 39765 Examples: 39766 .RS 2 39767 .IP \[bu] 2 39768 \[dq]authenticatedRead\[dq] 39769 .RS 2 39770 .IP \[bu] 2 39771 Object owner gets OWNER access. 39772 .IP \[bu] 2 39773 All Authenticated Users get READER access. 39774 .RE 39775 .IP \[bu] 2 39776 \[dq]bucketOwnerFullControl\[dq] 39777 .RS 2 39778 .IP \[bu] 2 39779 Object owner gets OWNER access. 39780 .IP \[bu] 2 39781 Project team owners get OWNER access. 39782 .RE 39783 .IP \[bu] 2 39784 \[dq]bucketOwnerRead\[dq] 39785 .RS 2 39786 .IP \[bu] 2 39787 Object owner gets OWNER access. 39788 .IP \[bu] 2 39789 Project team owners get READER access. 39790 .RE 39791 .IP \[bu] 2 39792 \[dq]private\[dq] 39793 .RS 2 39794 .IP \[bu] 2 39795 Object owner gets OWNER access. 39796 .IP \[bu] 2 39797 Default if left blank. 39798 .RE 39799 .IP \[bu] 2 39800 \[dq]projectPrivate\[dq] 39801 .RS 2 39802 .IP \[bu] 2 39803 Object owner gets OWNER access. 39804 .IP \[bu] 2 39805 Project team members get access according to their roles. 39806 .RE 39807 .IP \[bu] 2 39808 \[dq]publicRead\[dq] 39809 .RS 2 39810 .IP \[bu] 2 39811 Object owner gets OWNER access. 39812 .IP \[bu] 2 39813 All Users get READER access. 39814 .RE 39815 .RE 39816 .SS --gcs-bucket-acl 39817 .PP 39818 Access Control List for new buckets. 39819 .PP 39820 Properties: 39821 .IP \[bu] 2 39822 Config: bucket_acl 39823 .IP \[bu] 2 39824 Env Var: RCLONE_GCS_BUCKET_ACL 39825 .IP \[bu] 2 39826 Type: string 39827 .IP \[bu] 2 39828 Required: false 39829 .IP \[bu] 2 39830 Examples: 39831 .RS 2 39832 .IP \[bu] 2 39833 \[dq]authenticatedRead\[dq] 39834 .RS 2 39835 .IP \[bu] 2 39836 Project team owners get OWNER access. 39837 .IP \[bu] 2 39838 All Authenticated Users get READER access. 39839 .RE 39840 .IP \[bu] 2 39841 \[dq]private\[dq] 39842 .RS 2 39843 .IP \[bu] 2 39844 Project team owners get OWNER access. 39845 .IP \[bu] 2 39846 Default if left blank. 39847 .RE 39848 .IP \[bu] 2 39849 \[dq]projectPrivate\[dq] 39850 .RS 2 39851 .IP \[bu] 2 39852 Project team members get access according to their roles. 39853 .RE 39854 .IP \[bu] 2 39855 \[dq]publicRead\[dq] 39856 .RS 2 39857 .IP \[bu] 2 39858 Project team owners get OWNER access. 39859 .IP \[bu] 2 39860 All Users get READER access. 39861 .RE 39862 .IP \[bu] 2 39863 \[dq]publicReadWrite\[dq] 39864 .RS 2 39865 .IP \[bu] 2 39866 Project team owners get OWNER access. 39867 .IP \[bu] 2 39868 All Users get WRITER access. 39869 .RE 39870 .RE 39871 .SS --gcs-bucket-policy-only 39872 .PP 39873 Access checks should use bucket-level IAM policies. 39874 .PP 39875 If you want to upload objects to a bucket with Bucket Policy Only set 39876 then you will need to set this. 39877 .PP 39878 When it is set, rclone: 39879 .IP \[bu] 2 39880 ignores ACLs set on buckets 39881 .IP \[bu] 2 39882 ignores ACLs set on objects 39883 .IP \[bu] 2 39884 creates buckets with Bucket Policy Only set 39885 .PP 39886 Docs: https://cloud.google.com/storage/docs/bucket-policy-only 39887 .PP 39888 Properties: 39889 .IP \[bu] 2 39890 Config: bucket_policy_only 39891 .IP \[bu] 2 39892 Env Var: RCLONE_GCS_BUCKET_POLICY_ONLY 39893 .IP \[bu] 2 39894 Type: bool 39895 .IP \[bu] 2 39896 Default: false 39897 .SS --gcs-location 39898 .PP 39899 Location for the newly created buckets. 39900 .PP 39901 Properties: 39902 .IP \[bu] 2 39903 Config: location 39904 .IP \[bu] 2 39905 Env Var: RCLONE_GCS_LOCATION 39906 .IP \[bu] 2 39907 Type: string 39908 .IP \[bu] 2 39909 Required: false 39910 .IP \[bu] 2 39911 Examples: 39912 .RS 2 39913 .IP \[bu] 2 39914 \[dq]\[dq] 39915 .RS 2 39916 .IP \[bu] 2 39917 Empty for default location (US) 39918 .RE 39919 .IP \[bu] 2 39920 \[dq]asia\[dq] 39921 .RS 2 39922 .IP \[bu] 2 39923 Multi-regional location for Asia 39924 .RE 39925 .IP \[bu] 2 39926 \[dq]eu\[dq] 39927 .RS 2 39928 .IP \[bu] 2 39929 Multi-regional location for Europe 39930 .RE 39931 .IP \[bu] 2 39932 \[dq]us\[dq] 39933 .RS 2 39934 .IP \[bu] 2 39935 Multi-regional location for United States 39936 .RE 39937 .IP \[bu] 2 39938 \[dq]asia-east1\[dq] 39939 .RS 2 39940 .IP \[bu] 2 39941 Taiwan 39942 .RE 39943 .IP \[bu] 2 39944 \[dq]asia-east2\[dq] 39945 .RS 2 39946 .IP \[bu] 2 39947 Hong Kong 39948 .RE 39949 .IP \[bu] 2 39950 \[dq]asia-northeast1\[dq] 39951 .RS 2 39952 .IP \[bu] 2 39953 Tokyo 39954 .RE 39955 .IP \[bu] 2 39956 \[dq]asia-northeast2\[dq] 39957 .RS 2 39958 .IP \[bu] 2 39959 Osaka 39960 .RE 39961 .IP \[bu] 2 39962 \[dq]asia-northeast3\[dq] 39963 .RS 2 39964 .IP \[bu] 2 39965 Seoul 39966 .RE 39967 .IP \[bu] 2 39968 \[dq]asia-south1\[dq] 39969 .RS 2 39970 .IP \[bu] 2 39971 Mumbai 39972 .RE 39973 .IP \[bu] 2 39974 \[dq]asia-south2\[dq] 39975 .RS 2 39976 .IP \[bu] 2 39977 Delhi 39978 .RE 39979 .IP \[bu] 2 39980 \[dq]asia-southeast1\[dq] 39981 .RS 2 39982 .IP \[bu] 2 39983 Singapore 39984 .RE 39985 .IP \[bu] 2 39986 \[dq]asia-southeast2\[dq] 39987 .RS 2 39988 .IP \[bu] 2 39989 Jakarta 39990 .RE 39991 .IP \[bu] 2 39992 \[dq]australia-southeast1\[dq] 39993 .RS 2 39994 .IP \[bu] 2 39995 Sydney 39996 .RE 39997 .IP \[bu] 2 39998 \[dq]australia-southeast2\[dq] 39999 .RS 2 40000 .IP \[bu] 2 40001 Melbourne 40002 .RE 40003 .IP \[bu] 2 40004 \[dq]europe-north1\[dq] 40005 .RS 2 40006 .IP \[bu] 2 40007 Finland 40008 .RE 40009 .IP \[bu] 2 40010 \[dq]europe-west1\[dq] 40011 .RS 2 40012 .IP \[bu] 2 40013 Belgium 40014 .RE 40015 .IP \[bu] 2 40016 \[dq]europe-west2\[dq] 40017 .RS 2 40018 .IP \[bu] 2 40019 London 40020 .RE 40021 .IP \[bu] 2 40022 \[dq]europe-west3\[dq] 40023 .RS 2 40024 .IP \[bu] 2 40025 Frankfurt 40026 .RE 40027 .IP \[bu] 2 40028 \[dq]europe-west4\[dq] 40029 .RS 2 40030 .IP \[bu] 2 40031 Netherlands 40032 .RE 40033 .IP \[bu] 2 40034 \[dq]europe-west6\[dq] 40035 .RS 2 40036 .IP \[bu] 2 40037 Z\[:u]rich 40038 .RE 40039 .IP \[bu] 2 40040 \[dq]europe-central2\[dq] 40041 .RS 2 40042 .IP \[bu] 2 40043 Warsaw 40044 .RE 40045 .IP \[bu] 2 40046 \[dq]us-central1\[dq] 40047 .RS 2 40048 .IP \[bu] 2 40049 Iowa 40050 .RE 40051 .IP \[bu] 2 40052 \[dq]us-east1\[dq] 40053 .RS 2 40054 .IP \[bu] 2 40055 South Carolina 40056 .RE 40057 .IP \[bu] 2 40058 \[dq]us-east4\[dq] 40059 .RS 2 40060 .IP \[bu] 2 40061 Northern Virginia 40062 .RE 40063 .IP \[bu] 2 40064 \[dq]us-west1\[dq] 40065 .RS 2 40066 .IP \[bu] 2 40067 Oregon 40068 .RE 40069 .IP \[bu] 2 40070 \[dq]us-west2\[dq] 40071 .RS 2 40072 .IP \[bu] 2 40073 California 40074 .RE 40075 .IP \[bu] 2 40076 \[dq]us-west3\[dq] 40077 .RS 2 40078 .IP \[bu] 2 40079 Salt Lake City 40080 .RE 40081 .IP \[bu] 2 40082 \[dq]us-west4\[dq] 40083 .RS 2 40084 .IP \[bu] 2 40085 Las Vegas 40086 .RE 40087 .IP \[bu] 2 40088 \[dq]northamerica-northeast1\[dq] 40089 .RS 2 40090 .IP \[bu] 2 40091 Montr\['e]al 40092 .RE 40093 .IP \[bu] 2 40094 \[dq]northamerica-northeast2\[dq] 40095 .RS 2 40096 .IP \[bu] 2 40097 Toronto 40098 .RE 40099 .IP \[bu] 2 40100 \[dq]southamerica-east1\[dq] 40101 .RS 2 40102 .IP \[bu] 2 40103 S\[~a]o Paulo 40104 .RE 40105 .IP \[bu] 2 40106 \[dq]southamerica-west1\[dq] 40107 .RS 2 40108 .IP \[bu] 2 40109 Santiago 40110 .RE 40111 .IP \[bu] 2 40112 \[dq]asia1\[dq] 40113 .RS 2 40114 .IP \[bu] 2 40115 Dual region: asia-northeast1 and asia-northeast2. 40116 .RE 40117 .IP \[bu] 2 40118 \[dq]eur4\[dq] 40119 .RS 2 40120 .IP \[bu] 2 40121 Dual region: europe-north1 and europe-west4. 40122 .RE 40123 .IP \[bu] 2 40124 \[dq]nam4\[dq] 40125 .RS 2 40126 .IP \[bu] 2 40127 Dual region: us-central1 and us-east1. 40128 .RE 40129 .RE 40130 .SS --gcs-storage-class 40131 .PP 40132 The storage class to use when storing objects in Google Cloud Storage. 40133 .PP 40134 Properties: 40135 .IP \[bu] 2 40136 Config: storage_class 40137 .IP \[bu] 2 40138 Env Var: RCLONE_GCS_STORAGE_CLASS 40139 .IP \[bu] 2 40140 Type: string 40141 .IP \[bu] 2 40142 Required: false 40143 .IP \[bu] 2 40144 Examples: 40145 .RS 2 40146 .IP \[bu] 2 40147 \[dq]\[dq] 40148 .RS 2 40149 .IP \[bu] 2 40150 Default 40151 .RE 40152 .IP \[bu] 2 40153 \[dq]MULTI_REGIONAL\[dq] 40154 .RS 2 40155 .IP \[bu] 2 40156 Multi-regional storage class 40157 .RE 40158 .IP \[bu] 2 40159 \[dq]REGIONAL\[dq] 40160 .RS 2 40161 .IP \[bu] 2 40162 Regional storage class 40163 .RE 40164 .IP \[bu] 2 40165 \[dq]NEARLINE\[dq] 40166 .RS 2 40167 .IP \[bu] 2 40168 Nearline storage class 40169 .RE 40170 .IP \[bu] 2 40171 \[dq]COLDLINE\[dq] 40172 .RS 2 40173 .IP \[bu] 2 40174 Coldline storage class 40175 .RE 40176 .IP \[bu] 2 40177 \[dq]ARCHIVE\[dq] 40178 .RS 2 40179 .IP \[bu] 2 40180 Archive storage class 40181 .RE 40182 .IP \[bu] 2 40183 \[dq]DURABLE_REDUCED_AVAILABILITY\[dq] 40184 .RS 2 40185 .IP \[bu] 2 40186 Durable reduced availability storage class 40187 .RE 40188 .RE 40189 .SS --gcs-env-auth 40190 .PP 40191 Get GCP IAM credentials from runtime (environment variables or instance 40192 meta data if no env vars). 40193 .PP 40194 Only applies if service_account_file and service_account_credentials is 40195 blank. 40196 .PP 40197 Properties: 40198 .IP \[bu] 2 40199 Config: env_auth 40200 .IP \[bu] 2 40201 Env Var: RCLONE_GCS_ENV_AUTH 40202 .IP \[bu] 2 40203 Type: bool 40204 .IP \[bu] 2 40205 Default: false 40206 .IP \[bu] 2 40207 Examples: 40208 .RS 2 40209 .IP \[bu] 2 40210 \[dq]false\[dq] 40211 .RS 2 40212 .IP \[bu] 2 40213 Enter credentials in the next step. 40214 .RE 40215 .IP \[bu] 2 40216 \[dq]true\[dq] 40217 .RS 2 40218 .IP \[bu] 2 40219 Get GCP IAM credentials from the environment (env vars or IAM). 40220 .RE 40221 .RE 40222 .SS Advanced options 40223 .PP 40224 Here are the Advanced options specific to google cloud storage (Google 40225 Cloud Storage (this is not Google Drive)). 40226 .SS --gcs-token 40227 .PP 40228 OAuth Access Token as a JSON blob. 40229 .PP 40230 Properties: 40231 .IP \[bu] 2 40232 Config: token 40233 .IP \[bu] 2 40234 Env Var: RCLONE_GCS_TOKEN 40235 .IP \[bu] 2 40236 Type: string 40237 .IP \[bu] 2 40238 Required: false 40239 .SS --gcs-auth-url 40240 .PP 40241 Auth server URL. 40242 .PP 40243 Leave blank to use the provider defaults. 40244 .PP 40245 Properties: 40246 .IP \[bu] 2 40247 Config: auth_url 40248 .IP \[bu] 2 40249 Env Var: RCLONE_GCS_AUTH_URL 40250 .IP \[bu] 2 40251 Type: string 40252 .IP \[bu] 2 40253 Required: false 40254 .SS --gcs-token-url 40255 .PP 40256 Token server url. 40257 .PP 40258 Leave blank to use the provider defaults. 40259 .PP 40260 Properties: 40261 .IP \[bu] 2 40262 Config: token_url 40263 .IP \[bu] 2 40264 Env Var: RCLONE_GCS_TOKEN_URL 40265 .IP \[bu] 2 40266 Type: string 40267 .IP \[bu] 2 40268 Required: false 40269 .SS --gcs-directory-markers 40270 .PP 40271 Upload an empty object with a trailing slash when a new directory is 40272 created 40273 .PP 40274 Empty folders are unsupported for bucket based remotes, this option 40275 creates an empty object ending with \[dq]/\[dq], to persist the folder. 40276 .PP 40277 Properties: 40278 .IP \[bu] 2 40279 Config: directory_markers 40280 .IP \[bu] 2 40281 Env Var: RCLONE_GCS_DIRECTORY_MARKERS 40282 .IP \[bu] 2 40283 Type: bool 40284 .IP \[bu] 2 40285 Default: false 40286 .SS --gcs-no-check-bucket 40287 .PP 40288 If set, don\[aq]t attempt to check the bucket exists or create it. 40289 .PP 40290 This can be useful when trying to minimise the number of transactions 40291 rclone does if you know the bucket exists already. 40292 .PP 40293 Properties: 40294 .IP \[bu] 2 40295 Config: no_check_bucket 40296 .IP \[bu] 2 40297 Env Var: RCLONE_GCS_NO_CHECK_BUCKET 40298 .IP \[bu] 2 40299 Type: bool 40300 .IP \[bu] 2 40301 Default: false 40302 .SS --gcs-decompress 40303 .PP 40304 If set this will decompress gzip encoded objects. 40305 .PP 40306 It is possible to upload objects to GCS with \[dq]Content-Encoding: 40307 gzip\[dq] set. 40308 Normally rclone will download these files as compressed objects. 40309 .PP 40310 If this flag is set then rclone will decompress these files with 40311 \[dq]Content-Encoding: gzip\[dq] as they are received. 40312 This means that rclone can\[aq]t check the size and hash but the file 40313 contents will be decompressed. 40314 .PP 40315 Properties: 40316 .IP \[bu] 2 40317 Config: decompress 40318 .IP \[bu] 2 40319 Env Var: RCLONE_GCS_DECOMPRESS 40320 .IP \[bu] 2 40321 Type: bool 40322 .IP \[bu] 2 40323 Default: false 40324 .SS --gcs-endpoint 40325 .PP 40326 Endpoint for the service. 40327 .PP 40328 Leave blank normally. 40329 .PP 40330 Properties: 40331 .IP \[bu] 2 40332 Config: endpoint 40333 .IP \[bu] 2 40334 Env Var: RCLONE_GCS_ENDPOINT 40335 .IP \[bu] 2 40336 Type: string 40337 .IP \[bu] 2 40338 Required: false 40339 .SS --gcs-encoding 40340 .PP 40341 The encoding for the backend. 40342 .PP 40343 See the encoding section in the 40344 overview (https://rclone.org/overview/#encoding) for more info. 40345 .PP 40346 Properties: 40347 .IP \[bu] 2 40348 Config: encoding 40349 .IP \[bu] 2 40350 Env Var: RCLONE_GCS_ENCODING 40351 .IP \[bu] 2 40352 Type: MultiEncoder 40353 .IP \[bu] 2 40354 Default: Slash,CrLf,InvalidUtf8,Dot 40355 .SS Limitations 40356 .PP 40357 \f[C]rclone about\f[R] is not supported by the Google Cloud Storage 40358 backend. 40359 Backends without this capability cannot determine free space for an 40360 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 40361 of an rclone union remote. 40362 .PP 40363 See List of backends that do not support rclone 40364 about (https://rclone.org/overview/#optional-features) and rclone 40365 about (https://rclone.org/commands/rclone_about/) 40366 .SH Google Drive 40367 .PP 40368 Paths are specified as \f[C]drive:path\f[R] 40369 .PP 40370 Drive paths may be as deep as required, e.g. 40371 \f[C]drive:directory/subdirectory\f[R]. 40372 .SS Configuration 40373 .PP 40374 The initial setup for drive involves getting a token from Google drive 40375 which you need to do in your browser. 40376 \f[C]rclone config\f[R] walks you through it. 40377 .PP 40378 Here is an example of how to make a remote called \f[C]remote\f[R]. 40379 First run: 40380 .IP 40381 .nf 40382 \f[C] 40383 rclone config 40384 \f[R] 40385 .fi 40386 .PP 40387 This will guide you through an interactive setup process: 40388 .IP 40389 .nf 40390 \f[C] 40391 No remotes found, make a new one? 40392 n) New remote 40393 r) Rename remote 40394 c) Copy remote 40395 s) Set configuration password 40396 q) Quit config 40397 n/r/c/s/q> n 40398 name> remote 40399 Type of storage to configure. 40400 Choose a number from below, or type in your own value 40401 [snip] 40402 XX / Google Drive 40403 \[rs] \[dq]drive\[dq] 40404 [snip] 40405 Storage> drive 40406 Google Application Client Id - leave blank normally. 40407 client_id> 40408 Google Application Client Secret - leave blank normally. 40409 client_secret> 40410 Scope that rclone should use when requesting access from drive. 40411 Choose a number from below, or type in your own value 40412 1 / Full access all files, excluding Application Data Folder. 40413 \[rs] \[dq]drive\[dq] 40414 2 / Read-only access to file metadata and file contents. 40415 \[rs] \[dq]drive.readonly\[dq] 40416 / Access to files created by rclone only. 40417 3 | These are visible in the drive website. 40418 | File authorization is revoked when the user deauthorizes the app. 40419 \[rs] \[dq]drive.file\[dq] 40420 / Allows read and write access to the Application Data folder. 40421 4 | This is not visible in the drive website. 40422 \[rs] \[dq]drive.appfolder\[dq] 40423 / Allows read-only access to file metadata but 40424 5 | does not allow any access to read or download file content. 40425 \[rs] \[dq]drive.metadata.readonly\[dq] 40426 scope> 1 40427 Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login. 40428 service_account_file> 40429 Remote config 40430 Use web browser to automatically authenticate rclone with remote? 40431 * Say Y if the machine running rclone has a web browser you can use 40432 * Say N if running rclone on a (remote) machine without web browser access 40433 If not sure try Y. If Y failed, try N. 40434 y) Yes 40435 n) No 40436 y/n> y 40437 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 40438 Log in and authorize rclone for access 40439 Waiting for code... 40440 Got code 40441 Configure this as a Shared Drive (Team Drive)? 40442 y) Yes 40443 n) No 40444 y/n> n 40445 -------------------- 40446 [remote] 40447 client_id = 40448 client_secret = 40449 scope = drive 40450 root_folder_id = 40451 service_account_file = 40452 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2014-03-16T13:57:58.955387075Z\[dq]} 40453 -------------------- 40454 y) Yes this is OK 40455 e) Edit this remote 40456 d) Delete this remote 40457 y/e/d> y 40458 \f[R] 40459 .fi 40460 .PP 40461 See the remote setup docs (https://rclone.org/remote_setup/) for how to 40462 set it up on a machine with no Internet browser available. 40463 .PP 40464 Note that rclone runs a webserver on your local machine to collect the 40465 token as returned from Google if using web browser to automatically 40466 authenticate. 40467 This only runs from the moment it opens your browser to the moment you 40468 get back the verification code. 40469 This is on \f[C]http://127.0.0.1:53682/\f[R] and it may require you to 40470 unblock it temporarily if you are running a host firewall, or use manual 40471 mode. 40472 .PP 40473 You can then use it like this, 40474 .PP 40475 List directories in top level of your drive 40476 .IP 40477 .nf 40478 \f[C] 40479 rclone lsd remote: 40480 \f[R] 40481 .fi 40482 .PP 40483 List all the files in your drive 40484 .IP 40485 .nf 40486 \f[C] 40487 rclone ls remote: 40488 \f[R] 40489 .fi 40490 .PP 40491 To copy a local directory to a drive directory called backup 40492 .IP 40493 .nf 40494 \f[C] 40495 rclone copy /home/source remote:backup 40496 \f[R] 40497 .fi 40498 .SS Scopes 40499 .PP 40500 Rclone allows you to select which scope you would like for rclone to 40501 use. 40502 This changes what type of token is granted to rclone. 40503 The scopes are defined 40504 here (https://developers.google.com/drive/v3/web/about-auth). 40505 .PP 40506 The scope are 40507 .SS drive 40508 .PP 40509 This is the default scope and allows full access to all files, except 40510 for the Application Data Folder (see below). 40511 .PP 40512 Choose this one if you aren\[aq]t sure. 40513 .SS drive.readonly 40514 .PP 40515 This allows read only access to all files. 40516 Files may be listed and downloaded but not uploaded, renamed or deleted. 40517 .SS drive.file 40518 .PP 40519 With this scope rclone can read/view/modify only those files and folders 40520 it creates. 40521 .PP 40522 So if you uploaded files to drive via the web interface (or any other 40523 means) they will not be visible to rclone. 40524 .PP 40525 This can be useful if you are using rclone to backup data and you want 40526 to be sure confidential data on your drive is not visible to rclone. 40527 .PP 40528 Files created with this scope are visible in the web interface. 40529 .SS drive.appfolder 40530 .PP 40531 This gives rclone its own private area to store files. 40532 Rclone will not be able to see any other files on your drive and you 40533 won\[aq]t be able to see rclone\[aq]s files from the web interface 40534 either. 40535 .SS drive.metadata.readonly 40536 .PP 40537 This allows read only access to file names only. 40538 It does not allow rclone to download or upload data, or rename or delete 40539 files or directories. 40540 .SS Root folder ID 40541 .PP 40542 This option has been moved to the advanced section. 40543 You can set the \f[C]root_folder_id\f[R] for rclone. 40544 This is the directory (identified by its \f[C]Folder ID\f[R]) that 40545 rclone considers to be the root of your drive. 40546 .PP 40547 Normally you will leave this blank and rclone will determine the correct 40548 root to use itself. 40549 .PP 40550 However you can set this to restrict rclone to a specific folder 40551 hierarchy or to access data within the \[dq]Computers\[dq] tab on the 40552 drive web interface (where files from Google\[aq]s Backup and Sync 40553 desktop program go). 40554 .PP 40555 In order to do this you will have to find the \f[C]Folder ID\f[R] of the 40556 directory you wish rclone to display. 40557 This will be the last segment of the URL when you open the relevant 40558 folder in the drive web interface. 40559 .PP 40560 So if the folder you want rclone to use has a URL which looks like 40561 \f[C]https://drive.google.com/drive/folders/1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh\f[R] 40562 in the browser, then you use \f[C]1XyfxxxxxxxxxxxxxxxxxxxxxxxxxKHCh\f[R] 40563 as the \f[C]root_folder_id\f[R] in the config. 40564 .PP 40565 \f[B]NB\f[R] folders under the \[dq]Computers\[dq] tab seem to be read 40566 only (drive gives a 500 error) when using rclone. 40567 .PP 40568 There doesn\[aq]t appear to be an API to discover the folder IDs of the 40569 \[dq]Computers\[dq] tab - please contact us if you know otherwise! 40570 .PP 40571 Note also that rclone can\[aq]t access any data under the 40572 \[dq]Backups\[dq] tab on the google drive web interface yet. 40573 .SS Service Account support 40574 .PP 40575 You can set up rclone with Google Drive in an unattended mode, i.e. 40576 not tied to a specific end-user Google account. 40577 This is useful when you want to synchronise files onto machines that 40578 don\[aq]t have actively logged-in users, for example build machines. 40579 .PP 40580 To use a Service Account instead of OAuth2 token flow, enter the path to 40581 your Service Account credentials at the \f[C]service_account_file\f[R] 40582 prompt during \f[C]rclone config\f[R] and rclone won\[aq]t use the 40583 browser based authentication flow. 40584 If you\[aq]d rather stuff the contents of the credentials file into the 40585 rclone config file, you can set \f[C]service_account_credentials\f[R] 40586 with the actual contents of the file instead, or set the equivalent 40587 environment variable. 40588 .SS Use case - Google Apps/G-suite account and individual Drive 40589 .PP 40590 Let\[aq]s say that you are the administrator of a Google Apps (old) or 40591 G-suite account. 40592 The goal is to store data on an individual\[aq]s Drive account, who IS a 40593 member of the domain. 40594 We\[aq]ll call the domain \f[B]example.com\f[R], and the user 40595 \f[B]foo\[at]example.com\f[R]. 40596 .PP 40597 There\[aq]s a few steps we need to go through to accomplish this: 40598 .SS 1. Create a service account for example.com 40599 .IP \[bu] 2 40600 To create a service account and obtain its credentials, go to the Google 40601 Developer Console (https://console.developers.google.com). 40602 .IP \[bu] 2 40603 You must have a project - create one if you don\[aq]t. 40604 .IP \[bu] 2 40605 Then go to \[dq]IAM & admin\[dq] -> \[dq]Service Accounts\[dq]. 40606 .IP \[bu] 2 40607 Use the \[dq]Create Service Account\[dq] button. 40608 Fill in \[dq]Service account name\[dq] and \[dq]Service account ID\[dq] 40609 with something that identifies your client. 40610 .IP \[bu] 2 40611 Select \[dq]Create And Continue\[dq]. 40612 Step 2 and 3 are optional. 40613 .IP \[bu] 2 40614 These credentials are what rclone will use for authentication. 40615 If you ever need to remove access, press the \[dq]Delete service account 40616 key\[dq] button. 40617 .SS 2. Allowing API access to example.com Google Drive 40618 .IP \[bu] 2 40619 Go to example.com\[aq]s admin console 40620 .IP \[bu] 2 40621 Go into \[dq]Security\[dq] (or use the search bar) 40622 .IP \[bu] 2 40623 Select \[dq]Show more\[dq] and then \[dq]Advanced settings\[dq] 40624 .IP \[bu] 2 40625 Select \[dq]Manage API client access\[dq] in the 40626 \[dq]Authentication\[dq] section 40627 .IP \[bu] 2 40628 In the \[dq]Client Name\[dq] field enter the service account\[aq]s 40629 \[dq]Client ID\[dq] - this can be found in the Developer Console under 40630 \[dq]IAM & Admin\[dq] -> \[dq]Service Accounts\[dq], then \[dq]View 40631 Client ID\[dq] for the newly created service account. 40632 It is a \[ti]21 character numerical string. 40633 .IP \[bu] 2 40634 In the next field, \[dq]One or More API Scopes\[dq], enter 40635 \f[C]https://www.googleapis.com/auth/drive\f[R] to grant access to 40636 Google Drive specifically. 40637 .SS 3. Configure rclone, assuming a new install 40638 .IP 40639 .nf 40640 \f[C] 40641 rclone config 40642 40643 n/s/q> n # New 40644 name>gdrive # Gdrive is an example name 40645 Storage> # Select the number shown for Google Drive 40646 client_id> # Can be left blank 40647 client_secret> # Can be left blank 40648 scope> # Select your scope, 1 for example 40649 root_folder_id> # Can be left blank 40650 service_account_file> /home/foo/myJSONfile.json # This is where the JSON file goes! 40651 y/n> # Auto config, n 40652 \f[R] 40653 .fi 40654 .SS 4. Verify that it\[aq]s working 40655 .IP \[bu] 2 40656 \f[C]rclone -v --drive-impersonate foo\[at]example.com lsf gdrive:backup\f[R] 40657 .IP \[bu] 2 40658 The arguments do: 40659 .RS 2 40660 .IP \[bu] 2 40661 \f[C]-v\f[R] - verbose logging 40662 .IP \[bu] 2 40663 \f[C]--drive-impersonate foo\[at]example.com\f[R] - this is what does 40664 the magic, pretending to be user foo. 40665 .IP \[bu] 2 40666 \f[C]lsf\f[R] - list files in a parsing friendly way 40667 .IP \[bu] 2 40668 \f[C]gdrive:backup\f[R] - use the remote called gdrive, work in the 40669 folder named backup. 40670 .RE 40671 .PP 40672 Note: in case you configured a specific root folder on gdrive and rclone 40673 is unable to access the contents of that folder when using 40674 \f[C]--drive-impersonate\f[R], do this instead: - in the gdrive web 40675 interface, share your root folder with the user/email of the new Service 40676 Account you created/selected at step #1 - use rclone without specifying 40677 the \f[C]--drive-impersonate\f[R] option, like this: 40678 \f[C]rclone -v lsf gdrive:backup\f[R] 40679 .SS Shared drives (team drives) 40680 .PP 40681 If you want to configure the remote to point to a Google Shared Drive 40682 (previously known as Team Drives) then answer \f[C]y\f[R] to the 40683 question \f[C]Configure this as a Shared Drive (Team Drive)?\f[R]. 40684 .PP 40685 This will fetch the list of Shared Drives from google and allow you to 40686 configure which one you want to use. 40687 You can also type in a Shared Drive ID if you prefer. 40688 .PP 40689 For example: 40690 .IP 40691 .nf 40692 \f[C] 40693 Configure this as a Shared Drive (Team Drive)? 40694 y) Yes 40695 n) No 40696 y/n> y 40697 Fetching Shared Drive list... 40698 Choose a number from below, or type in your own value 40699 1 / Rclone Test 40700 \[rs] \[dq]xxxxxxxxxxxxxxxxxxxx\[dq] 40701 2 / Rclone Test 2 40702 \[rs] \[dq]yyyyyyyyyyyyyyyyyyyy\[dq] 40703 3 / Rclone Test 3 40704 \[rs] \[dq]zzzzzzzzzzzzzzzzzzzz\[dq] 40705 Enter a Shared Drive ID> 1 40706 -------------------- 40707 [remote] 40708 client_id = 40709 client_secret = 40710 token = {\[dq]AccessToken\[dq]:\[dq]xxxx.x.xxxxx_xxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]RefreshToken\[dq]:\[dq]1/xxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]Expiry\[dq]:\[dq]2014-03-16T13:57:58.955387075Z\[dq],\[dq]Extra\[dq]:null} 40711 team_drive = xxxxxxxxxxxxxxxxxxxx 40712 -------------------- 40713 y) Yes this is OK 40714 e) Edit this remote 40715 d) Delete this remote 40716 y/e/d> y 40717 \f[R] 40718 .fi 40719 .SS --fast-list 40720 .PP 40721 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 40722 transactions in exchange for more memory. 40723 See the rclone docs (https://rclone.org/docs/#fast-list) for more 40724 details. 40725 .PP 40726 It does this by combining multiple \f[C]list\f[R] calls into a single 40727 API request. 40728 .PP 40729 This works by combining many \f[C]\[aq]%s\[aq] in parents\f[R] filters 40730 into one expression. 40731 To list the contents of directories a, b and c, the following requests 40732 will be send by the regular \f[C]List\f[R] function: 40733 .IP 40734 .nf 40735 \f[C] 40736 trashed=false and \[aq]a\[aq] in parents 40737 trashed=false and \[aq]b\[aq] in parents 40738 trashed=false and \[aq]c\[aq] in parents 40739 \f[R] 40740 .fi 40741 .PP 40742 These can now be combined into a single request: 40743 .IP 40744 .nf 40745 \f[C] 40746 trashed=false and (\[aq]a\[aq] in parents or \[aq]b\[aq] in parents or \[aq]c\[aq] in parents) 40747 \f[R] 40748 .fi 40749 .PP 40750 The implementation of \f[C]ListR\f[R] will put up to 50 40751 \f[C]parents\f[R] filters into one request. 40752 It will use the \f[C]--checkers\f[R] value to specify the number of 40753 requests to run in parallel. 40754 .PP 40755 In tests, these batch requests were up to 20x faster than the regular 40756 method. 40757 Running the following command against different sized folders gives: 40758 .IP 40759 .nf 40760 \f[C] 40761 rclone lsjson -vv -R --checkers=6 gdrive:folder 40762 \f[R] 40763 .fi 40764 .PP 40765 small folder (220 directories, 700 files): 40766 .IP \[bu] 2 40767 without \f[C]--fast-list\f[R]: 38s 40768 .IP \[bu] 2 40769 with \f[C]--fast-list\f[R]: 10s 40770 .PP 40771 large folder (10600 directories, 39000 files): 40772 .IP \[bu] 2 40773 without \f[C]--fast-list\f[R]: 22:05 min 40774 .IP \[bu] 2 40775 with \f[C]--fast-list\f[R]: 58s 40776 .SS Modified time 40777 .PP 40778 Google drive stores modification times accurate to 1 ms. 40779 .SS Restricted filename characters 40780 .PP 40781 Only Invalid UTF-8 bytes will be 40782 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 40783 be used in JSON strings. 40784 .PP 40785 In contrast to other backends, \f[C]/\f[R] can also be used in names and 40786 \f[C].\f[R] or \f[C]..\f[R] are valid names. 40787 .SS Revisions 40788 .PP 40789 Google drive stores revisions of files. 40790 When you upload a change to an existing file to google drive using 40791 rclone it will create a new revision of that file. 40792 .PP 40793 Revisions follow the standard google policy which at time of writing was 40794 .IP \[bu] 2 40795 They are deleted after 30 days or 100 revisions (whatever comes first). 40796 .IP \[bu] 2 40797 They do not count towards a user storage quota. 40798 .SS Deleting files 40799 .PP 40800 By default rclone will send all files to the trash when deleting files. 40801 If deleting them permanently is required then use the 40802 \f[C]--drive-use-trash=false\f[R] flag, or set the equivalent 40803 environment variable. 40804 .SS Shortcuts 40805 .PP 40806 In March 2020 Google introduced a new feature in Google Drive called 40807 drive shortcuts (https://support.google.com/drive/answer/9700156) 40808 (API (https://developers.google.com/drive/api/v3/shortcuts)). 40809 These will (by September 2020) replace the ability for files or folders 40810 to be in multiple folders at 40811 once (https://cloud.google.com/blog/products/g-suite/simplifying-google-drives-folder-structure-and-sharing-models). 40812 .PP 40813 Shortcuts are files that link to other files on Google Drive somewhat 40814 like a symlink in unix, except they point to the underlying file data 40815 (e.g. 40816 the inode in unix terms) so they don\[aq]t break if the source is 40817 renamed or moved about. 40818 .PP 40819 By default rclone treats these as follows. 40820 .PP 40821 For shortcuts pointing to files: 40822 .IP \[bu] 2 40823 When listing a file shortcut appears as the destination file. 40824 .IP \[bu] 2 40825 When downloading the contents of the destination file is downloaded. 40826 .IP \[bu] 2 40827 When updating shortcut file with a non shortcut file, the shortcut is 40828 removed then a new file is uploaded in place of the shortcut. 40829 .IP \[bu] 2 40830 When server-side moving (renaming) the shortcut is renamed, not the 40831 destination file. 40832 .IP \[bu] 2 40833 When server-side copying the shortcut is copied, not the contents of the 40834 shortcut. 40835 (unless \f[C]--drive-copy-shortcut-content\f[R] is in use in which case 40836 the contents of the shortcut gets copied). 40837 .IP \[bu] 2 40838 When deleting the shortcut is deleted not the linked file. 40839 .IP \[bu] 2 40840 When setting the modification time, the modification time of the linked 40841 file will be set. 40842 .PP 40843 For shortcuts pointing to folders: 40844 .IP \[bu] 2 40845 When listing the shortcut appears as a folder and that folder will 40846 contain the contents of the linked folder appear (including any sub 40847 folders) 40848 .IP \[bu] 2 40849 When downloading the contents of the linked folder and sub contents are 40850 downloaded 40851 .IP \[bu] 2 40852 When uploading to a shortcut folder the file will be placed in the 40853 linked folder 40854 .IP \[bu] 2 40855 When server-side moving (renaming) the shortcut is renamed, not the 40856 destination folder 40857 .IP \[bu] 2 40858 When server-side copying the contents of the linked folder is copied, 40859 not the shortcut. 40860 .IP \[bu] 2 40861 When deleting with \f[C]rclone rmdir\f[R] or \f[C]rclone purge\f[R] the 40862 shortcut is deleted not the linked folder. 40863 .IP \[bu] 2 40864 \f[B]NB\f[R] When deleting with \f[C]rclone remove\f[R] or 40865 \f[C]rclone mount\f[R] the contents of the linked folder will be 40866 deleted. 40867 .PP 40868 The rclone backend (https://rclone.org/commands/rclone_backend/) command 40869 can be used to create shortcuts. 40870 .PP 40871 Shortcuts can be completely ignored with the 40872 \f[C]--drive-skip-shortcuts\f[R] flag or the corresponding 40873 \f[C]skip_shortcuts\f[R] configuration setting. 40874 .SS Emptying trash 40875 .PP 40876 If you wish to empty your trash you can use the 40877 \f[C]rclone cleanup remote:\f[R] command which will permanently delete 40878 all your trashed files. 40879 This command does not take any path arguments. 40880 .PP 40881 Note that Google Drive takes some time (minutes to days) to empty the 40882 trash even though the command returns within a few seconds. 40883 No output is echoed, so there will be no confirmation even using -v or 40884 -vv. 40885 .SS Quota information 40886 .PP 40887 To view your current quota you can use the 40888 \f[C]rclone about remote:\f[R] command which will display your usage 40889 limit (quota), the usage in Google Drive, the size of all files in the 40890 Trash and the space used by other Google services such as Gmail. 40891 This command does not take any path arguments. 40892 .SS Import/Export of google documents 40893 .PP 40894 Google documents can be exported from and uploaded to Google Drive. 40895 .PP 40896 When rclone downloads a Google doc it chooses a format to download 40897 depending upon the \f[C]--drive-export-formats\f[R] setting. 40898 By default the export formats are \f[C]docx,xlsx,pptx,svg\f[R] which are 40899 a sensible default for an editable document. 40900 .PP 40901 When choosing a format, rclone runs down the list provided in order and 40902 chooses the first file format the doc can be exported as from the list. 40903 If the file can\[aq]t be exported to a format on the formats list, then 40904 rclone will choose a format from the default list. 40905 .PP 40906 If you prefer an archive copy then you might use 40907 \f[C]--drive-export-formats pdf\f[R], or if you prefer 40908 openoffice/libreoffice formats you might use 40909 \f[C]--drive-export-formats ods,odt,odp\f[R]. 40910 .PP 40911 Note that rclone adds the extension to the google doc, so if it is 40912 called \f[C]My Spreadsheet\f[R] on google docs, it will be exported as 40913 \f[C]My Spreadsheet.xlsx\f[R] or \f[C]My Spreadsheet.pdf\f[R] etc. 40914 .PP 40915 When importing files into Google Drive, rclone will convert all files 40916 with an extension in \f[C]--drive-import-formats\f[R] to their 40917 associated document type. 40918 rclone will not convert any files by default, since the conversion is 40919 lossy process. 40920 .PP 40921 The conversion must result in a file with the same extension when the 40922 \f[C]--drive-export-formats\f[R] rules are applied to the uploaded 40923 document. 40924 .PP 40925 Here are some examples for allowed and prohibited conversions. 40926 .PP 40927 .TS 40928 tab(@); 40929 l l l l l. 40930 T{ 40931 export-formats 40932 T}@T{ 40933 import-formats 40934 T}@T{ 40935 Upload Ext 40936 T}@T{ 40937 Document Ext 40938 T}@T{ 40939 Allowed 40940 T} 40941 _ 40942 T{ 40943 odt 40944 T}@T{ 40945 odt 40946 T}@T{ 40947 odt 40948 T}@T{ 40949 odt 40950 T}@T{ 40951 Yes 40952 T} 40953 T{ 40954 odt 40955 T}@T{ 40956 docx,odt 40957 T}@T{ 40958 odt 40959 T}@T{ 40960 odt 40961 T}@T{ 40962 Yes 40963 T} 40964 T{ 40965 T}@T{ 40966 docx 40967 T}@T{ 40968 docx 40969 T}@T{ 40970 docx 40971 T}@T{ 40972 Yes 40973 T} 40974 T{ 40975 T}@T{ 40976 odt 40977 T}@T{ 40978 odt 40979 T}@T{ 40980 docx 40981 T}@T{ 40982 No 40983 T} 40984 T{ 40985 odt,docx 40986 T}@T{ 40987 docx,odt 40988 T}@T{ 40989 docx 40990 T}@T{ 40991 odt 40992 T}@T{ 40993 No 40994 T} 40995 T{ 40996 docx,odt 40997 T}@T{ 40998 docx,odt 40999 T}@T{ 41000 docx 41001 T}@T{ 41002 docx 41003 T}@T{ 41004 Yes 41005 T} 41006 T{ 41007 docx,odt 41008 T}@T{ 41009 docx,odt 41010 T}@T{ 41011 odt 41012 T}@T{ 41013 docx 41014 T}@T{ 41015 No 41016 T} 41017 .TE 41018 .PP 41019 This limitation can be disabled by specifying 41020 \f[C]--drive-allow-import-name-change\f[R]. 41021 When using this flag, rclone can convert multiple files types resulting 41022 in the same document type at once, e.g. 41023 with \f[C]--drive-import-formats docx,odt,txt\f[R], all files having 41024 these extension would result in a document represented as a docx file. 41025 This brings the additional risk of overwriting a document, if multiple 41026 files have the same stem. 41027 Many rclone operations will not handle this name change in any way. 41028 They assume an equal name when copying files and might copy the file 41029 again or delete them when the name changes. 41030 .PP 41031 Here are the possible export extensions with their corresponding mime 41032 types. 41033 Most of these can also be used for importing, but there more that are 41034 not listed here. 41035 Some of these additional ones might only be available when the operating 41036 system provides the correct MIME type entries. 41037 .PP 41038 This list can be changed by Google Drive at any time and might not 41039 represent the currently available conversions. 41040 .PP 41041 .TS 41042 tab(@); 41043 lw(19.7n) lw(24.1n) lw(26.2n). 41044 T{ 41045 Extension 41046 T}@T{ 41047 Mime Type 41048 T}@T{ 41049 Description 41050 T} 41051 _ 41052 T{ 41053 bmp 41054 T}@T{ 41055 image/bmp 41056 T}@T{ 41057 Windows Bitmap format 41058 T} 41059 T{ 41060 csv 41061 T}@T{ 41062 text/csv 41063 T}@T{ 41064 Standard CSV format for Spreadsheets 41065 T} 41066 T{ 41067 doc 41068 T}@T{ 41069 application/msword 41070 T}@T{ 41071 Classic Word file 41072 T} 41073 T{ 41074 docx 41075 T}@T{ 41076 application/vnd.openxmlformats-officedocument.wordprocessingml.document 41077 T}@T{ 41078 Microsoft Office Document 41079 T} 41080 T{ 41081 epub 41082 T}@T{ 41083 application/epub+zip 41084 T}@T{ 41085 E-book format 41086 T} 41087 T{ 41088 html 41089 T}@T{ 41090 text/html 41091 T}@T{ 41092 An HTML Document 41093 T} 41094 T{ 41095 jpg 41096 T}@T{ 41097 image/jpeg 41098 T}@T{ 41099 A JPEG Image File 41100 T} 41101 T{ 41102 json 41103 T}@T{ 41104 application/vnd.google-apps.script+json 41105 T}@T{ 41106 JSON Text Format for Google Apps scripts 41107 T} 41108 T{ 41109 odp 41110 T}@T{ 41111 application/vnd.oasis.opendocument.presentation 41112 T}@T{ 41113 Openoffice Presentation 41114 T} 41115 T{ 41116 ods 41117 T}@T{ 41118 application/vnd.oasis.opendocument.spreadsheet 41119 T}@T{ 41120 Openoffice Spreadsheet 41121 T} 41122 T{ 41123 ods 41124 T}@T{ 41125 application/x-vnd.oasis.opendocument.spreadsheet 41126 T}@T{ 41127 Openoffice Spreadsheet 41128 T} 41129 T{ 41130 odt 41131 T}@T{ 41132 application/vnd.oasis.opendocument.text 41133 T}@T{ 41134 Openoffice Document 41135 T} 41136 T{ 41137 pdf 41138 T}@T{ 41139 application/pdf 41140 T}@T{ 41141 Adobe PDF Format 41142 T} 41143 T{ 41144 pjpeg 41145 T}@T{ 41146 image/pjpeg 41147 T}@T{ 41148 Progressive JPEG Image 41149 T} 41150 T{ 41151 png 41152 T}@T{ 41153 image/png 41154 T}@T{ 41155 PNG Image Format 41156 T} 41157 T{ 41158 pptx 41159 T}@T{ 41160 application/vnd.openxmlformats-officedocument.presentationml.presentation 41161 T}@T{ 41162 Microsoft Office Powerpoint 41163 T} 41164 T{ 41165 rtf 41166 T}@T{ 41167 application/rtf 41168 T}@T{ 41169 Rich Text Format 41170 T} 41171 T{ 41172 svg 41173 T}@T{ 41174 image/svg+xml 41175 T}@T{ 41176 Scalable Vector Graphics Format 41177 T} 41178 T{ 41179 tsv 41180 T}@T{ 41181 text/tab-separated-values 41182 T}@T{ 41183 Standard TSV format for spreadsheets 41184 T} 41185 T{ 41186 txt 41187 T}@T{ 41188 text/plain 41189 T}@T{ 41190 Plain Text 41191 T} 41192 T{ 41193 wmf 41194 T}@T{ 41195 application/x-msmetafile 41196 T}@T{ 41197 Windows Meta File 41198 T} 41199 T{ 41200 xls 41201 T}@T{ 41202 application/vnd.ms-excel 41203 T}@T{ 41204 Classic Excel file 41205 T} 41206 T{ 41207 xlsx 41208 T}@T{ 41209 application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 41210 T}@T{ 41211 Microsoft Office Spreadsheet 41212 T} 41213 T{ 41214 zip 41215 T}@T{ 41216 application/zip 41217 T}@T{ 41218 A ZIP file of HTML, Images CSS 41219 T} 41220 .TE 41221 .PP 41222 Google documents can also be exported as link files. 41223 These files will open a browser window for the Google Docs website of 41224 that document when opened. 41225 The link file extension has to be specified as a 41226 \f[C]--drive-export-formats\f[R] parameter. 41227 They will match all available Google Documents. 41228 .PP 41229 .TS 41230 tab(@); 41231 l l l. 41232 T{ 41233 Extension 41234 T}@T{ 41235 Description 41236 T}@T{ 41237 OS Support 41238 T} 41239 _ 41240 T{ 41241 desktop 41242 T}@T{ 41243 freedesktop.org specified desktop entry 41244 T}@T{ 41245 Linux 41246 T} 41247 T{ 41248 link.html 41249 T}@T{ 41250 An HTML Document with a redirect 41251 T}@T{ 41252 All 41253 T} 41254 T{ 41255 url 41256 T}@T{ 41257 INI style link file 41258 T}@T{ 41259 macOS, Windows 41260 T} 41261 T{ 41262 webloc 41263 T}@T{ 41264 macOS specific XML format 41265 T}@T{ 41266 macOS 41267 T} 41268 .TE 41269 .SS Standard options 41270 .PP 41271 Here are the Standard options specific to drive (Google Drive). 41272 .SS --drive-client-id 41273 .PP 41274 Google Application Client Id Setting your own is recommended. 41275 See https://rclone.org/drive/#making-your-own-client-id for how to 41276 create your own. 41277 If you leave this blank, it will use an internal key which is low 41278 performance. 41279 .PP 41280 Properties: 41281 .IP \[bu] 2 41282 Config: client_id 41283 .IP \[bu] 2 41284 Env Var: RCLONE_DRIVE_CLIENT_ID 41285 .IP \[bu] 2 41286 Type: string 41287 .IP \[bu] 2 41288 Required: false 41289 .SS --drive-client-secret 41290 .PP 41291 OAuth Client Secret. 41292 .PP 41293 Leave blank normally. 41294 .PP 41295 Properties: 41296 .IP \[bu] 2 41297 Config: client_secret 41298 .IP \[bu] 2 41299 Env Var: RCLONE_DRIVE_CLIENT_SECRET 41300 .IP \[bu] 2 41301 Type: string 41302 .IP \[bu] 2 41303 Required: false 41304 .SS --drive-scope 41305 .PP 41306 Scope that rclone should use when requesting access from drive. 41307 .PP 41308 Properties: 41309 .IP \[bu] 2 41310 Config: scope 41311 .IP \[bu] 2 41312 Env Var: RCLONE_DRIVE_SCOPE 41313 .IP \[bu] 2 41314 Type: string 41315 .IP \[bu] 2 41316 Required: false 41317 .IP \[bu] 2 41318 Examples: 41319 .RS 2 41320 .IP \[bu] 2 41321 \[dq]drive\[dq] 41322 .RS 2 41323 .IP \[bu] 2 41324 Full access all files, excluding Application Data Folder. 41325 .RE 41326 .IP \[bu] 2 41327 \[dq]drive.readonly\[dq] 41328 .RS 2 41329 .IP \[bu] 2 41330 Read-only access to file metadata and file contents. 41331 .RE 41332 .IP \[bu] 2 41333 \[dq]drive.file\[dq] 41334 .RS 2 41335 .IP \[bu] 2 41336 Access to files created by rclone only. 41337 .IP \[bu] 2 41338 These are visible in the drive website. 41339 .IP \[bu] 2 41340 File authorization is revoked when the user deauthorizes the app. 41341 .RE 41342 .IP \[bu] 2 41343 \[dq]drive.appfolder\[dq] 41344 .RS 2 41345 .IP \[bu] 2 41346 Allows read and write access to the Application Data folder. 41347 .IP \[bu] 2 41348 This is not visible in the drive website. 41349 .RE 41350 .IP \[bu] 2 41351 \[dq]drive.metadata.readonly\[dq] 41352 .RS 2 41353 .IP \[bu] 2 41354 Allows read-only access to file metadata but 41355 .IP \[bu] 2 41356 does not allow any access to read or download file content. 41357 .RE 41358 .RE 41359 .SS --drive-service-account-file 41360 .PP 41361 Service Account Credentials JSON file path. 41362 .PP 41363 Leave blank normally. 41364 Needed only if you want use SA instead of interactive login. 41365 .PP 41366 Leading \f[C]\[ti]\f[R] will be expanded in the file name as will 41367 environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R]. 41368 .PP 41369 Properties: 41370 .IP \[bu] 2 41371 Config: service_account_file 41372 .IP \[bu] 2 41373 Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_FILE 41374 .IP \[bu] 2 41375 Type: string 41376 .IP \[bu] 2 41377 Required: false 41378 .SS --drive-alternate-export 41379 .PP 41380 Deprecated: No longer needed. 41381 .PP 41382 Properties: 41383 .IP \[bu] 2 41384 Config: alternate_export 41385 .IP \[bu] 2 41386 Env Var: RCLONE_DRIVE_ALTERNATE_EXPORT 41387 .IP \[bu] 2 41388 Type: bool 41389 .IP \[bu] 2 41390 Default: false 41391 .SS Advanced options 41392 .PP 41393 Here are the Advanced options specific to drive (Google Drive). 41394 .SS --drive-token 41395 .PP 41396 OAuth Access Token as a JSON blob. 41397 .PP 41398 Properties: 41399 .IP \[bu] 2 41400 Config: token 41401 .IP \[bu] 2 41402 Env Var: RCLONE_DRIVE_TOKEN 41403 .IP \[bu] 2 41404 Type: string 41405 .IP \[bu] 2 41406 Required: false 41407 .SS --drive-auth-url 41408 .PP 41409 Auth server URL. 41410 .PP 41411 Leave blank to use the provider defaults. 41412 .PP 41413 Properties: 41414 .IP \[bu] 2 41415 Config: auth_url 41416 .IP \[bu] 2 41417 Env Var: RCLONE_DRIVE_AUTH_URL 41418 .IP \[bu] 2 41419 Type: string 41420 .IP \[bu] 2 41421 Required: false 41422 .SS --drive-token-url 41423 .PP 41424 Token server url. 41425 .PP 41426 Leave blank to use the provider defaults. 41427 .PP 41428 Properties: 41429 .IP \[bu] 2 41430 Config: token_url 41431 .IP \[bu] 2 41432 Env Var: RCLONE_DRIVE_TOKEN_URL 41433 .IP \[bu] 2 41434 Type: string 41435 .IP \[bu] 2 41436 Required: false 41437 .SS --drive-root-folder-id 41438 .PP 41439 ID of the root folder. 41440 Leave blank normally. 41441 .PP 41442 Fill in to access \[dq]Computers\[dq] folders (see docs), or for rclone 41443 to use a non root folder as its starting point. 41444 .PP 41445 Properties: 41446 .IP \[bu] 2 41447 Config: root_folder_id 41448 .IP \[bu] 2 41449 Env Var: RCLONE_DRIVE_ROOT_FOLDER_ID 41450 .IP \[bu] 2 41451 Type: string 41452 .IP \[bu] 2 41453 Required: false 41454 .SS --drive-service-account-credentials 41455 .PP 41456 Service Account Credentials JSON blob. 41457 .PP 41458 Leave blank normally. 41459 Needed only if you want use SA instead of interactive login. 41460 .PP 41461 Properties: 41462 .IP \[bu] 2 41463 Config: service_account_credentials 41464 .IP \[bu] 2 41465 Env Var: RCLONE_DRIVE_SERVICE_ACCOUNT_CREDENTIALS 41466 .IP \[bu] 2 41467 Type: string 41468 .IP \[bu] 2 41469 Required: false 41470 .SS --drive-team-drive 41471 .PP 41472 ID of the Shared Drive (Team Drive). 41473 .PP 41474 Properties: 41475 .IP \[bu] 2 41476 Config: team_drive 41477 .IP \[bu] 2 41478 Env Var: RCLONE_DRIVE_TEAM_DRIVE 41479 .IP \[bu] 2 41480 Type: string 41481 .IP \[bu] 2 41482 Required: false 41483 .SS --drive-auth-owner-only 41484 .PP 41485 Only consider files owned by the authenticated user. 41486 .PP 41487 Properties: 41488 .IP \[bu] 2 41489 Config: auth_owner_only 41490 .IP \[bu] 2 41491 Env Var: RCLONE_DRIVE_AUTH_OWNER_ONLY 41492 .IP \[bu] 2 41493 Type: bool 41494 .IP \[bu] 2 41495 Default: false 41496 .SS --drive-use-trash 41497 .PP 41498 Send files to the trash instead of deleting permanently. 41499 .PP 41500 Defaults to true, namely sending files to the trash. 41501 Use \f[C]--drive-use-trash=false\f[R] to delete files permanently 41502 instead. 41503 .PP 41504 Properties: 41505 .IP \[bu] 2 41506 Config: use_trash 41507 .IP \[bu] 2 41508 Env Var: RCLONE_DRIVE_USE_TRASH 41509 .IP \[bu] 2 41510 Type: bool 41511 .IP \[bu] 2 41512 Default: true 41513 .SS --drive-copy-shortcut-content 41514 .PP 41515 Server side copy contents of shortcuts instead of the shortcut. 41516 .PP 41517 When doing server side copies, normally rclone will copy shortcuts as 41518 shortcuts. 41519 .PP 41520 If this flag is used then rclone will copy the contents of shortcuts 41521 rather than shortcuts themselves when doing server side copies. 41522 .PP 41523 Properties: 41524 .IP \[bu] 2 41525 Config: copy_shortcut_content 41526 .IP \[bu] 2 41527 Env Var: RCLONE_DRIVE_COPY_SHORTCUT_CONTENT 41528 .IP \[bu] 2 41529 Type: bool 41530 .IP \[bu] 2 41531 Default: false 41532 .SS --drive-skip-gdocs 41533 .PP 41534 Skip google documents in all listings. 41535 .PP 41536 If given, gdocs practically become invisible to rclone. 41537 .PP 41538 Properties: 41539 .IP \[bu] 2 41540 Config: skip_gdocs 41541 .IP \[bu] 2 41542 Env Var: RCLONE_DRIVE_SKIP_GDOCS 41543 .IP \[bu] 2 41544 Type: bool 41545 .IP \[bu] 2 41546 Default: false 41547 .SS --drive-skip-checksum-gphotos 41548 .PP 41549 Skip MD5 checksum on Google photos and videos only. 41550 .PP 41551 Use this if you get checksum errors when transferring Google photos or 41552 videos. 41553 .PP 41554 Setting this flag will cause Google photos and videos to return a blank 41555 MD5 checksum. 41556 .PP 41557 Google photos are identified by being in the \[dq]photos\[dq] space. 41558 .PP 41559 Corrupted checksums are caused by Google modifying the image/video but 41560 not updating the checksum. 41561 .PP 41562 Properties: 41563 .IP \[bu] 2 41564 Config: skip_checksum_gphotos 41565 .IP \[bu] 2 41566 Env Var: RCLONE_DRIVE_SKIP_CHECKSUM_GPHOTOS 41567 .IP \[bu] 2 41568 Type: bool 41569 .IP \[bu] 2 41570 Default: false 41571 .SS --drive-shared-with-me 41572 .PP 41573 Only show files that are shared with me. 41574 .PP 41575 Instructs rclone to operate on your \[dq]Shared with me\[dq] folder 41576 (where Google Drive lets you access the files and folders others have 41577 shared with you). 41578 .PP 41579 This works both with the \[dq]list\[dq] (lsd, lsl, etc.) and the 41580 \[dq]copy\[dq] commands (copy, sync, etc.), and with all other commands 41581 too. 41582 .PP 41583 Properties: 41584 .IP \[bu] 2 41585 Config: shared_with_me 41586 .IP \[bu] 2 41587 Env Var: RCLONE_DRIVE_SHARED_WITH_ME 41588 .IP \[bu] 2 41589 Type: bool 41590 .IP \[bu] 2 41591 Default: false 41592 .SS --drive-trashed-only 41593 .PP 41594 Only show files that are in the trash. 41595 .PP 41596 This will show trashed files in their original directory structure. 41597 .PP 41598 Properties: 41599 .IP \[bu] 2 41600 Config: trashed_only 41601 .IP \[bu] 2 41602 Env Var: RCLONE_DRIVE_TRASHED_ONLY 41603 .IP \[bu] 2 41604 Type: bool 41605 .IP \[bu] 2 41606 Default: false 41607 .SS --drive-starred-only 41608 .PP 41609 Only show files that are starred. 41610 .PP 41611 Properties: 41612 .IP \[bu] 2 41613 Config: starred_only 41614 .IP \[bu] 2 41615 Env Var: RCLONE_DRIVE_STARRED_ONLY 41616 .IP \[bu] 2 41617 Type: bool 41618 .IP \[bu] 2 41619 Default: false 41620 .SS --drive-formats 41621 .PP 41622 Deprecated: See export_formats. 41623 .PP 41624 Properties: 41625 .IP \[bu] 2 41626 Config: formats 41627 .IP \[bu] 2 41628 Env Var: RCLONE_DRIVE_FORMATS 41629 .IP \[bu] 2 41630 Type: string 41631 .IP \[bu] 2 41632 Required: false 41633 .SS --drive-export-formats 41634 .PP 41635 Comma separated list of preferred formats for downloading Google docs. 41636 .PP 41637 Properties: 41638 .IP \[bu] 2 41639 Config: export_formats 41640 .IP \[bu] 2 41641 Env Var: RCLONE_DRIVE_EXPORT_FORMATS 41642 .IP \[bu] 2 41643 Type: string 41644 .IP \[bu] 2 41645 Default: \[dq]docx,xlsx,pptx,svg\[dq] 41646 .SS --drive-import-formats 41647 .PP 41648 Comma separated list of preferred formats for uploading Google docs. 41649 .PP 41650 Properties: 41651 .IP \[bu] 2 41652 Config: import_formats 41653 .IP \[bu] 2 41654 Env Var: RCLONE_DRIVE_IMPORT_FORMATS 41655 .IP \[bu] 2 41656 Type: string 41657 .IP \[bu] 2 41658 Required: false 41659 .SS --drive-allow-import-name-change 41660 .PP 41661 Allow the filetype to change when uploading Google docs. 41662 .PP 41663 E.g. 41664 file.doc to file.docx. 41665 This will confuse sync and reupload every time. 41666 .PP 41667 Properties: 41668 .IP \[bu] 2 41669 Config: allow_import_name_change 41670 .IP \[bu] 2 41671 Env Var: RCLONE_DRIVE_ALLOW_IMPORT_NAME_CHANGE 41672 .IP \[bu] 2 41673 Type: bool 41674 .IP \[bu] 2 41675 Default: false 41676 .SS --drive-use-created-date 41677 .PP 41678 Use file created date instead of modified date. 41679 .PP 41680 Useful when downloading data and you want the creation date used in 41681 place of the last modified date. 41682 .PP 41683 \f[B]WARNING\f[R]: This flag may have some unexpected consequences. 41684 .PP 41685 When uploading to your drive all files will be overwritten unless they 41686 haven\[aq]t been modified since their creation. 41687 And the inverse will occur while downloading. 41688 This side effect can be avoided by using the \[dq]--checksum\[dq] flag. 41689 .PP 41690 This feature was implemented to retain photos capture date as recorded 41691 by google photos. 41692 You will first need to check the \[dq]Create a Google Photos folder\[dq] 41693 option in your google drive settings. 41694 You can then copy or move the photos locally and use the date the image 41695 was taken (created) set as the modification date. 41696 .PP 41697 Properties: 41698 .IP \[bu] 2 41699 Config: use_created_date 41700 .IP \[bu] 2 41701 Env Var: RCLONE_DRIVE_USE_CREATED_DATE 41702 .IP \[bu] 2 41703 Type: bool 41704 .IP \[bu] 2 41705 Default: false 41706 .SS --drive-use-shared-date 41707 .PP 41708 Use date file was shared instead of modified date. 41709 .PP 41710 Note that, as with \[dq]--drive-use-created-date\[dq], this flag may 41711 have unexpected consequences when uploading/downloading files. 41712 .PP 41713 If both this flag and \[dq]--drive-use-created-date\[dq] are set, the 41714 created date is used. 41715 .PP 41716 Properties: 41717 .IP \[bu] 2 41718 Config: use_shared_date 41719 .IP \[bu] 2 41720 Env Var: RCLONE_DRIVE_USE_SHARED_DATE 41721 .IP \[bu] 2 41722 Type: bool 41723 .IP \[bu] 2 41724 Default: false 41725 .SS --drive-list-chunk 41726 .PP 41727 Size of listing chunk 100-1000, 0 to disable. 41728 .PP 41729 Properties: 41730 .IP \[bu] 2 41731 Config: list_chunk 41732 .IP \[bu] 2 41733 Env Var: RCLONE_DRIVE_LIST_CHUNK 41734 .IP \[bu] 2 41735 Type: int 41736 .IP \[bu] 2 41737 Default: 1000 41738 .SS --drive-impersonate 41739 .PP 41740 Impersonate this user when using a service account. 41741 .PP 41742 Properties: 41743 .IP \[bu] 2 41744 Config: impersonate 41745 .IP \[bu] 2 41746 Env Var: RCLONE_DRIVE_IMPERSONATE 41747 .IP \[bu] 2 41748 Type: string 41749 .IP \[bu] 2 41750 Required: false 41751 .SS --drive-upload-cutoff 41752 .PP 41753 Cutoff for switching to chunked upload. 41754 .PP 41755 Properties: 41756 .IP \[bu] 2 41757 Config: upload_cutoff 41758 .IP \[bu] 2 41759 Env Var: RCLONE_DRIVE_UPLOAD_CUTOFF 41760 .IP \[bu] 2 41761 Type: SizeSuffix 41762 .IP \[bu] 2 41763 Default: 8Mi 41764 .SS --drive-chunk-size 41765 .PP 41766 Upload chunk size. 41767 .PP 41768 Must a power of 2 >= 256k. 41769 .PP 41770 Making this larger will improve performance, but note that each chunk is 41771 buffered in memory one per transfer. 41772 .PP 41773 Reducing this will reduce memory usage but decrease performance. 41774 .PP 41775 Properties: 41776 .IP \[bu] 2 41777 Config: chunk_size 41778 .IP \[bu] 2 41779 Env Var: RCLONE_DRIVE_CHUNK_SIZE 41780 .IP \[bu] 2 41781 Type: SizeSuffix 41782 .IP \[bu] 2 41783 Default: 8Mi 41784 .SS --drive-acknowledge-abuse 41785 .PP 41786 Set to allow files which return cannotDownloadAbusiveFile to be 41787 downloaded. 41788 .PP 41789 If downloading a file returns the error \[dq]This file has been 41790 identified as malware or spam and cannot be downloaded\[dq] with the 41791 error code \[dq]cannotDownloadAbusiveFile\[dq] then supply this flag to 41792 rclone to indicate you acknowledge the risks of downloading the file and 41793 rclone will download it anyway. 41794 .PP 41795 Note that if you are using service account it will need Manager 41796 permission (not Content Manager) to for this flag to work. 41797 If the SA does not have the right permission, Google will just ignore 41798 the flag. 41799 .PP 41800 Properties: 41801 .IP \[bu] 2 41802 Config: acknowledge_abuse 41803 .IP \[bu] 2 41804 Env Var: RCLONE_DRIVE_ACKNOWLEDGE_ABUSE 41805 .IP \[bu] 2 41806 Type: bool 41807 .IP \[bu] 2 41808 Default: false 41809 .SS --drive-keep-revision-forever 41810 .PP 41811 Keep new head revision of each file forever. 41812 .PP 41813 Properties: 41814 .IP \[bu] 2 41815 Config: keep_revision_forever 41816 .IP \[bu] 2 41817 Env Var: RCLONE_DRIVE_KEEP_REVISION_FOREVER 41818 .IP \[bu] 2 41819 Type: bool 41820 .IP \[bu] 2 41821 Default: false 41822 .SS --drive-size-as-quota 41823 .PP 41824 Show sizes as storage quota usage, not actual size. 41825 .PP 41826 Show the size of a file as the storage quota used. 41827 This is the current version plus any older versions that have been set 41828 to keep forever. 41829 .PP 41830 \f[B]WARNING\f[R]: This flag may have some unexpected consequences. 41831 .PP 41832 It is not recommended to set this flag in your config - the recommended 41833 usage is using the flag form --drive-size-as-quota when doing rclone 41834 ls/lsl/lsf/lsjson/etc only. 41835 .PP 41836 If you do use this flag for syncing (not recommended) then you will need 41837 to use --ignore size also. 41838 .PP 41839 Properties: 41840 .IP \[bu] 2 41841 Config: size_as_quota 41842 .IP \[bu] 2 41843 Env Var: RCLONE_DRIVE_SIZE_AS_QUOTA 41844 .IP \[bu] 2 41845 Type: bool 41846 .IP \[bu] 2 41847 Default: false 41848 .SS --drive-v2-download-min-size 41849 .PP 41850 If Object\[aq]s are greater, use drive v2 API to download. 41851 .PP 41852 Properties: 41853 .IP \[bu] 2 41854 Config: v2_download_min_size 41855 .IP \[bu] 2 41856 Env Var: RCLONE_DRIVE_V2_DOWNLOAD_MIN_SIZE 41857 .IP \[bu] 2 41858 Type: SizeSuffix 41859 .IP \[bu] 2 41860 Default: off 41861 .SS --drive-pacer-min-sleep 41862 .PP 41863 Minimum time to sleep between API calls. 41864 .PP 41865 Properties: 41866 .IP \[bu] 2 41867 Config: pacer_min_sleep 41868 .IP \[bu] 2 41869 Env Var: RCLONE_DRIVE_PACER_MIN_SLEEP 41870 .IP \[bu] 2 41871 Type: Duration 41872 .IP \[bu] 2 41873 Default: 100ms 41874 .SS --drive-pacer-burst 41875 .PP 41876 Number of API calls to allow without sleeping. 41877 .PP 41878 Properties: 41879 .IP \[bu] 2 41880 Config: pacer_burst 41881 .IP \[bu] 2 41882 Env Var: RCLONE_DRIVE_PACER_BURST 41883 .IP \[bu] 2 41884 Type: int 41885 .IP \[bu] 2 41886 Default: 100 41887 .SS --drive-server-side-across-configs 41888 .PP 41889 Deprecated: use --server-side-across-configs instead. 41890 .PP 41891 Allow server-side operations (e.g. 41892 copy) to work across different drive configs. 41893 .PP 41894 This can be useful if you wish to do a server-side copy between two 41895 different Google drives. 41896 Note that this isn\[aq]t enabled by default because it isn\[aq]t easy to 41897 tell if it will work between any two configurations. 41898 .PP 41899 Properties: 41900 .IP \[bu] 2 41901 Config: server_side_across_configs 41902 .IP \[bu] 2 41903 Env Var: RCLONE_DRIVE_SERVER_SIDE_ACROSS_CONFIGS 41904 .IP \[bu] 2 41905 Type: bool 41906 .IP \[bu] 2 41907 Default: false 41908 .SS --drive-disable-http2 41909 .PP 41910 Disable drive using http2. 41911 .PP 41912 There is currently an unsolved issue with the google drive backend and 41913 HTTP/2. 41914 HTTP/2 is therefore disabled by default for the drive backend but can be 41915 re-enabled here. 41916 When the issue is solved this flag will be removed. 41917 .PP 41918 See: https://github.com/divyam234/rclone/issues/3631 41919 .PP 41920 Properties: 41921 .IP \[bu] 2 41922 Config: disable_http2 41923 .IP \[bu] 2 41924 Env Var: RCLONE_DRIVE_DISABLE_HTTP2 41925 .IP \[bu] 2 41926 Type: bool 41927 .IP \[bu] 2 41928 Default: true 41929 .SS --drive-stop-on-upload-limit 41930 .PP 41931 Make upload limit errors be fatal. 41932 .PP 41933 At the time of writing it is only possible to upload 750 GiB of data to 41934 Google Drive a day (this is an undocumented limit). 41935 When this limit is reached Google Drive produces a slightly different 41936 error message. 41937 When this flag is set it causes these errors to be fatal. 41938 These will stop the in-progress sync. 41939 .PP 41940 Note that this detection is relying on error message strings which 41941 Google don\[aq]t document so it may break in the future. 41942 .PP 41943 See: https://github.com/divyam234/rclone/issues/3857 41944 .PP 41945 Properties: 41946 .IP \[bu] 2 41947 Config: stop_on_upload_limit 41948 .IP \[bu] 2 41949 Env Var: RCLONE_DRIVE_STOP_ON_UPLOAD_LIMIT 41950 .IP \[bu] 2 41951 Type: bool 41952 .IP \[bu] 2 41953 Default: false 41954 .SS --drive-stop-on-download-limit 41955 .PP 41956 Make download limit errors be fatal. 41957 .PP 41958 At the time of writing it is only possible to download 10 TiB of data 41959 from Google Drive a day (this is an undocumented limit). 41960 When this limit is reached Google Drive produces a slightly different 41961 error message. 41962 When this flag is set it causes these errors to be fatal. 41963 These will stop the in-progress sync. 41964 .PP 41965 Note that this detection is relying on error message strings which 41966 Google don\[aq]t document so it may break in the future. 41967 .PP 41968 Properties: 41969 .IP \[bu] 2 41970 Config: stop_on_download_limit 41971 .IP \[bu] 2 41972 Env Var: RCLONE_DRIVE_STOP_ON_DOWNLOAD_LIMIT 41973 .IP \[bu] 2 41974 Type: bool 41975 .IP \[bu] 2 41976 Default: false 41977 .SS --drive-skip-shortcuts 41978 .PP 41979 If set skip shortcut files. 41980 .PP 41981 Normally rclone dereferences shortcut files making them appear as if 41982 they are the original file (see the shortcuts section). 41983 If this flag is set then rclone will ignore shortcut files completely. 41984 .PP 41985 Properties: 41986 .IP \[bu] 2 41987 Config: skip_shortcuts 41988 .IP \[bu] 2 41989 Env Var: RCLONE_DRIVE_SKIP_SHORTCUTS 41990 .IP \[bu] 2 41991 Type: bool 41992 .IP \[bu] 2 41993 Default: false 41994 .SS --drive-skip-dangling-shortcuts 41995 .PP 41996 If set skip dangling shortcut files. 41997 .PP 41998 If this is set then rclone will not show any dangling shortcuts in 41999 listings. 42000 .PP 42001 Properties: 42002 .IP \[bu] 2 42003 Config: skip_dangling_shortcuts 42004 .IP \[bu] 2 42005 Env Var: RCLONE_DRIVE_SKIP_DANGLING_SHORTCUTS 42006 .IP \[bu] 2 42007 Type: bool 42008 .IP \[bu] 2 42009 Default: false 42010 .SS --drive-resource-key 42011 .PP 42012 Resource key for accessing a link-shared file. 42013 .PP 42014 If you need to access files shared with a link like this 42015 .IP 42016 .nf 42017 \f[C] 42018 https://drive.google.com/drive/folders/XXX?resourcekey=YYY&usp=sharing 42019 \f[R] 42020 .fi 42021 .PP 42022 Then you will need to use the first part \[dq]XXX\[dq] as the 42023 \[dq]root_folder_id\[dq] and the second part \[dq]YYY\[dq] as the 42024 \[dq]resource_key\[dq] otherwise you will get 404 not found errors when 42025 trying to access the directory. 42026 .PP 42027 See: https://developers.google.com/drive/api/guides/resource-keys 42028 .PP 42029 This resource key requirement only applies to a subset of old files. 42030 .PP 42031 Note also that opening the folder once in the web interface (with the 42032 user you\[aq]ve authenticated rclone with) seems to be enough so that 42033 the resource key is no needed. 42034 .PP 42035 Properties: 42036 .IP \[bu] 2 42037 Config: resource_key 42038 .IP \[bu] 2 42039 Env Var: RCLONE_DRIVE_RESOURCE_KEY 42040 .IP \[bu] 2 42041 Type: string 42042 .IP \[bu] 2 42043 Required: false 42044 .SS --drive-encoding 42045 .PP 42046 The encoding for the backend. 42047 .PP 42048 See the encoding section in the 42049 overview (https://rclone.org/overview/#encoding) for more info. 42050 .PP 42051 Properties: 42052 .IP \[bu] 2 42053 Config: encoding 42054 .IP \[bu] 2 42055 Env Var: RCLONE_DRIVE_ENCODING 42056 .IP \[bu] 2 42057 Type: MultiEncoder 42058 .IP \[bu] 2 42059 Default: InvalidUtf8 42060 .SS --drive-env-auth 42061 .PP 42062 Get IAM credentials from runtime (environment variables or instance meta 42063 data if no env vars). 42064 .PP 42065 Only applies if service_account_file and service_account_credentials is 42066 blank. 42067 .PP 42068 Properties: 42069 .IP \[bu] 2 42070 Config: env_auth 42071 .IP \[bu] 2 42072 Env Var: RCLONE_DRIVE_ENV_AUTH 42073 .IP \[bu] 2 42074 Type: bool 42075 .IP \[bu] 2 42076 Default: false 42077 .IP \[bu] 2 42078 Examples: 42079 .RS 2 42080 .IP \[bu] 2 42081 \[dq]false\[dq] 42082 .RS 2 42083 .IP \[bu] 2 42084 Enter credentials in the next step. 42085 .RE 42086 .IP \[bu] 2 42087 \[dq]true\[dq] 42088 .RS 2 42089 .IP \[bu] 2 42090 Get GCP IAM credentials from the environment (env vars or IAM). 42091 .RE 42092 .RE 42093 .SS Backend commands 42094 .PP 42095 Here are the commands specific to the drive backend. 42096 .PP 42097 Run them with 42098 .IP 42099 .nf 42100 \f[C] 42101 rclone backend COMMAND remote: 42102 \f[R] 42103 .fi 42104 .PP 42105 The help below will explain what arguments each command takes. 42106 .PP 42107 See the backend (https://rclone.org/commands/rclone_backend/) command 42108 for more info on how to pass options and arguments. 42109 .PP 42110 These can be run on a running backend using the rc command 42111 backend/command (https://rclone.org/rc/#backend-command). 42112 .SS get 42113 .PP 42114 Get command for fetching the drive config parameters 42115 .IP 42116 .nf 42117 \f[C] 42118 rclone backend get remote: [options] [<arguments>+] 42119 \f[R] 42120 .fi 42121 .PP 42122 This is a get command which will be used to fetch the various drive 42123 config parameters 42124 .PP 42125 Usage Examples: 42126 .IP 42127 .nf 42128 \f[C] 42129 rclone backend get drive: [-o service_account_file] [-o chunk_size] 42130 rclone rc backend/command command=get fs=drive: [-o service_account_file] [-o chunk_size] 42131 \f[R] 42132 .fi 42133 .PP 42134 Options: 42135 .IP \[bu] 2 42136 \[dq]chunk_size\[dq]: show the current upload chunk size 42137 .IP \[bu] 2 42138 \[dq]service_account_file\[dq]: show the current service account file 42139 .SS set 42140 .PP 42141 Set command for updating the drive config parameters 42142 .IP 42143 .nf 42144 \f[C] 42145 rclone backend set remote: [options] [<arguments>+] 42146 \f[R] 42147 .fi 42148 .PP 42149 This is a set command which will be used to update the various drive 42150 config parameters 42151 .PP 42152 Usage Examples: 42153 .IP 42154 .nf 42155 \f[C] 42156 rclone backend set drive: [-o service_account_file=sa.json] [-o chunk_size=67108864] 42157 rclone rc backend/command command=set fs=drive: [-o service_account_file=sa.json] [-o chunk_size=67108864] 42158 \f[R] 42159 .fi 42160 .PP 42161 Options: 42162 .IP \[bu] 2 42163 \[dq]chunk_size\[dq]: update the current upload chunk size 42164 .IP \[bu] 2 42165 \[dq]service_account_file\[dq]: update the current service account file 42166 .SS shortcut 42167 .PP 42168 Create shortcuts from files or directories 42169 .IP 42170 .nf 42171 \f[C] 42172 rclone backend shortcut remote: [options] [<arguments>+] 42173 \f[R] 42174 .fi 42175 .PP 42176 This command creates shortcuts from files or directories. 42177 .PP 42178 Usage: 42179 .IP 42180 .nf 42181 \f[C] 42182 rclone backend shortcut drive: source_item destination_shortcut 42183 rclone backend shortcut drive: source_item -o target=drive2: destination_shortcut 42184 \f[R] 42185 .fi 42186 .PP 42187 In the first example this creates a shortcut from the 42188 \[dq]source_item\[dq] which can be a file or a directory to the 42189 \[dq]destination_shortcut\[dq]. 42190 The \[dq]source_item\[dq] and the \[dq]destination_shortcut\[dq] should 42191 be relative paths from \[dq]drive:\[dq] 42192 .PP 42193 In the second example this creates a shortcut from the 42194 \[dq]source_item\[dq] relative to \[dq]drive:\[dq] to the 42195 \[dq]destination_shortcut\[dq] relative to \[dq]drive2:\[dq]. 42196 This may fail with a permission error if the user authenticated with 42197 \[dq]drive2:\[dq] can\[aq]t read files from \[dq]drive:\[dq]. 42198 .PP 42199 Options: 42200 .IP \[bu] 2 42201 \[dq]target\[dq]: optional target remote for the shortcut destination 42202 .SS drives 42203 .PP 42204 List the Shared Drives available to this account 42205 .IP 42206 .nf 42207 \f[C] 42208 rclone backend drives remote: [options] [<arguments>+] 42209 \f[R] 42210 .fi 42211 .PP 42212 This command lists the Shared Drives (Team Drives) available to this 42213 account. 42214 .PP 42215 Usage: 42216 .IP 42217 .nf 42218 \f[C] 42219 rclone backend [-o config] drives drive: 42220 \f[R] 42221 .fi 42222 .PP 42223 This will return a JSON list of objects like this 42224 .IP 42225 .nf 42226 \f[C] 42227 [ 42228 { 42229 \[dq]id\[dq]: \[dq]0ABCDEF-01234567890\[dq], 42230 \[dq]kind\[dq]: \[dq]drive#teamDrive\[dq], 42231 \[dq]name\[dq]: \[dq]My Drive\[dq] 42232 }, 42233 { 42234 \[dq]id\[dq]: \[dq]0ABCDEFabcdefghijkl\[dq], 42235 \[dq]kind\[dq]: \[dq]drive#teamDrive\[dq], 42236 \[dq]name\[dq]: \[dq]Test Drive\[dq] 42237 } 42238 ] 42239 \f[R] 42240 .fi 42241 .PP 42242 With the -o config parameter it will output the list in a format 42243 suitable for adding to a config file to make aliases for all the drives 42244 found and a combined drive. 42245 .IP 42246 .nf 42247 \f[C] 42248 [My Drive] 42249 type = alias 42250 remote = drive,team_drive=0ABCDEF-01234567890,root_folder_id=: 42251 42252 [Test Drive] 42253 type = alias 42254 remote = drive,team_drive=0ABCDEFabcdefghijkl,root_folder_id=: 42255 42256 [AllDrives] 42257 type = combine 42258 upstreams = \[dq]My Drive=My Drive:\[dq] \[dq]Test Drive=Test Drive:\[dq] 42259 \f[R] 42260 .fi 42261 .PP 42262 Adding this to the rclone config file will cause those team drives to be 42263 accessible with the aliases shown. 42264 Any illegal characters will be substituted with \[dq]_\[dq] and 42265 duplicate names will have numbers suffixed. 42266 It will also add a remote called AllDrives which shows all the shared 42267 drives combined into one directory tree. 42268 .SS untrash 42269 .PP 42270 Untrash files and directories 42271 .IP 42272 .nf 42273 \f[C] 42274 rclone backend untrash remote: [options] [<arguments>+] 42275 \f[R] 42276 .fi 42277 .PP 42278 This command untrashes all the files and directories in the directory 42279 passed in recursively. 42280 .PP 42281 Usage: 42282 .PP 42283 This takes an optional directory to trash which make this easier to use 42284 via the API. 42285 .IP 42286 .nf 42287 \f[C] 42288 rclone backend untrash drive:directory 42289 rclone backend --interactive untrash drive:directory subdir 42290 \f[R] 42291 .fi 42292 .PP 42293 Use the --interactive/-i or --dry-run flag to see what would be restored 42294 before restoring it. 42295 .PP 42296 Result: 42297 .IP 42298 .nf 42299 \f[C] 42300 { 42301 \[dq]Untrashed\[dq]: 17, 42302 \[dq]Errors\[dq]: 0 42303 } 42304 \f[R] 42305 .fi 42306 .SS copyid 42307 .PP 42308 Copy files by ID 42309 .IP 42310 .nf 42311 \f[C] 42312 rclone backend copyid remote: [options] [<arguments>+] 42313 \f[R] 42314 .fi 42315 .PP 42316 This command copies files by ID 42317 .PP 42318 Usage: 42319 .IP 42320 .nf 42321 \f[C] 42322 rclone backend copyid drive: ID path 42323 rclone backend copyid drive: ID1 path1 ID2 path2 42324 \f[R] 42325 .fi 42326 .PP 42327 It copies the drive file with ID given to the path (an rclone path which 42328 will be passed internally to rclone copyto). 42329 The ID and path pairs can be repeated. 42330 .PP 42331 The path should end with a / to indicate copy the file as named to this 42332 directory. 42333 If it doesn\[aq]t end with a / then the last path component will be used 42334 as the file name. 42335 .PP 42336 If the destination is a drive backend then server-side copying will be 42337 attempted if possible. 42338 .PP 42339 Use the --interactive/-i or --dry-run flag to see what would be copied 42340 before copying. 42341 .SS exportformats 42342 .PP 42343 Dump the export formats for debug purposes 42344 .IP 42345 .nf 42346 \f[C] 42347 rclone backend exportformats remote: [options] [<arguments>+] 42348 \f[R] 42349 .fi 42350 .SS importformats 42351 .PP 42352 Dump the import formats for debug purposes 42353 .IP 42354 .nf 42355 \f[C] 42356 rclone backend importformats remote: [options] [<arguments>+] 42357 \f[R] 42358 .fi 42359 .SS Limitations 42360 .PP 42361 Drive has quite a lot of rate limiting. 42362 This causes rclone to be limited to transferring about 2 files per 42363 second only. 42364 Individual files may be transferred much faster at 100s of MiB/s but 42365 lots of small files can take a long time. 42366 .PP 42367 Server side copies are also subject to a separate rate limit. 42368 If you see User rate limit exceeded errors, wait at least 24 hours and 42369 retry. 42370 You can disable server-side copies with \f[C]--disable copy\f[R] to 42371 download and upload the files if you prefer. 42372 .SS Limitations of Google Docs 42373 .PP 42374 Google docs will appear as size -1 in \f[C]rclone ls\f[R], 42375 \f[C]rclone ncdu\f[R] etc, and as size 0 in anything which uses the VFS 42376 layer, e.g. 42377 \f[C]rclone mount\f[R] and \f[C]rclone serve\f[R]. 42378 When calculating directory totals, e.g. 42379 in \f[C]rclone size\f[R] and \f[C]rclone ncdu\f[R], they will be counted 42380 in as empty files. 42381 .PP 42382 This is because rclone can\[aq]t find out the size of the Google docs 42383 without downloading them. 42384 .PP 42385 Google docs will transfer correctly with \f[C]rclone sync\f[R], 42386 \f[C]rclone copy\f[R] etc as rclone knows to ignore the size when doing 42387 the transfer. 42388 .PP 42389 However an unfortunate consequence of this is that you may not be able 42390 to download Google docs using \f[C]rclone mount\f[R]. 42391 If it doesn\[aq]t work you will get a 0 sized file. 42392 If you try again the doc may gain its correct size and be downloadable. 42393 Whether it will work on not depends on the application accessing the 42394 mount and the OS you are running - experiment to find out if it does 42395 work for you! 42396 .SS Duplicated files 42397 .PP 42398 Sometimes, for no reason I\[aq]ve been able to track down, drive will 42399 duplicate a file that rclone uploads. 42400 Drive unlike all the other remotes can have duplicated files. 42401 .PP 42402 Duplicated files cause problems with the syncing and you will see 42403 messages in the log about duplicates. 42404 .PP 42405 Use \f[C]rclone dedupe\f[R] to fix duplicated files. 42406 .PP 42407 Note that this isn\[aq]t just a problem with rclone, even Google Photos 42408 on Android duplicates files on drive sometimes. 42409 .SS Rclone appears to be re-copying files it shouldn\[aq]t 42410 .PP 42411 The most likely cause of this is the duplicated file issue above - run 42412 \f[C]rclone dedupe\f[R] and check your logs for duplicate object or 42413 directory messages. 42414 .PP 42415 This can also be caused by a delay/caching on google drive\[aq]s end 42416 when comparing directory listings. 42417 Specifically with team drives used in combination with --fast-list. 42418 Files that were uploaded recently may not appear on the directory list 42419 sent to rclone when using --fast-list. 42420 .PP 42421 Waiting a moderate period of time between attempts (estimated to be 42422 approximately 1 hour) and/or not using --fast-list both seem to be 42423 effective in preventing the problem. 42424 .SS Making your own client_id 42425 .PP 42426 When you use rclone with Google drive in its default configuration you 42427 are using rclone\[aq]s client_id. 42428 This is shared between all the rclone users. 42429 There is a global rate limit on the number of queries per second that 42430 each client_id can do set by Google. 42431 rclone already has a high quota and I will continue to make sure it is 42432 high enough by contacting Google. 42433 .PP 42434 It is strongly recommended to use your own client ID as the default 42435 rclone ID is heavily used. 42436 If you have multiple services running, it is recommended to use an API 42437 key for each service. 42438 The default Google quota is 10 transactions per second so it is 42439 recommended to stay under that number as if you use more than that, it 42440 will cause rclone to rate limit and make things slower. 42441 .PP 42442 Here is how to create your own Google Drive client ID for rclone: 42443 .IP " 1." 4 42444 Log into the Google API Console (https://console.developers.google.com/) 42445 with your Google account. 42446 It doesn\[aq]t matter what Google account you use. 42447 (It need not be the same account as the Google Drive you want to access) 42448 .IP " 2." 4 42449 Select a project or create a new project. 42450 .IP " 3." 4 42451 Under \[dq]ENABLE APIS AND SERVICES\[dq] search for \[dq]Drive\[dq], and 42452 enable the \[dq]Google Drive API\[dq]. 42453 .IP " 4." 4 42454 Click \[dq]Credentials\[dq] in the left-side panel (not \[dq]Create 42455 credentials\[dq], which opens the wizard), then \[dq]Create 42456 credentials\[dq] 42457 .IP " 5." 4 42458 If you already configured an \[dq]Oauth Consent Screen\[dq], then skip 42459 to the next step; if not, click on \[dq]CONFIGURE CONSENT SCREEN\[dq] 42460 button (near the top right corner of the right panel), then select 42461 \[dq]External\[dq] and click on \[dq]CREATE\[dq]; on the next screen, 42462 enter an \[dq]Application name\[dq] (\[dq]rclone\[dq] is OK); enter 42463 \[dq]User Support Email\[dq] (your own email is OK); enter 42464 \[dq]Developer Contact Email\[dq] (your own email is OK); then click on 42465 \[dq]Save\[dq] (all other data is optional). 42466 You will also have to add some scopes, including \f[C].../auth/docs\f[R] 42467 and \f[C].../auth/drive\f[R] in order to be able to edit, create and 42468 delete files with RClone. 42469 You may also want to include the 42470 \f[C]../auth/drive.metadata.readonly\f[R] scope. 42471 After adding scopes, click \[dq]Save and continue\[dq] to add test 42472 users. 42473 Be sure to add your own account to the test users. 42474 Once you\[aq]ve added yourself as a test user and saved the changes, 42475 click again on \[dq]Credentials\[dq] on the left panel to go back to the 42476 \[dq]Credentials\[dq] screen. 42477 .RS 4 42478 .PP 42479 (PS: if you are a GSuite user, you could also select \[dq]Internal\[dq] 42480 instead of \[dq]External\[dq] above, but this will restrict API use to 42481 Google Workspace users in your organisation). 42482 .RE 42483 .IP " 6." 4 42484 Click on the \[dq]+ CREATE CREDENTIALS\[dq] button at the top of the 42485 screen, then select \[dq]OAuth client ID\[dq]. 42486 .IP " 7." 4 42487 Choose an application type of \[dq]Desktop app\[dq] and click 42488 \[dq]Create\[dq]. 42489 (the default name is fine) 42490 .IP " 8." 4 42491 It will show you a client ID and client secret. 42492 Make a note of these. 42493 .RS 4 42494 .PP 42495 (If you selected \[dq]External\[dq] at Step 5 continue to Step 9. 42496 If you chose \[dq]Internal\[dq] you don\[aq]t need to publish and can 42497 skip straight to Step 10 but your destination drive must be part of the 42498 same Google Workspace.) 42499 .RE 42500 .IP " 9." 4 42501 Go to \[dq]Oauth consent screen\[dq] and then click \[dq]PUBLISH 42502 APP\[dq] button and confirm. 42503 You will also want to add yourself as a test user. 42504 .IP "10." 4 42505 Provide the noted client ID and client secret to rclone. 42506 .PP 42507 Be aware that, due to the \[dq]enhanced security\[dq] recently 42508 introduced by Google, you are theoretically expected to \[dq]submit your 42509 app for verification\[dq] and then wait a few weeks(!) for their 42510 response; in practice, you can go right ahead and use the client ID and 42511 client secret with rclone, the only issue will be a very scary 42512 confirmation screen shown when you connect via your browser for rclone 42513 to be able to get its token-id (but as this only happens during the 42514 remote configuration, it\[aq]s not such a big deal). 42515 Keeping the application in \[dq]Testing\[dq] will work as well, but the 42516 limitation is that any grants will expire after a week, which can be 42517 annoying to refresh constantly. 42518 If, for whatever reason, a short grant time is not a problem, then 42519 keeping the application in testing mode would also be sufficient. 42520 .PP 42521 (Thanks to \[at]balazer on github for these instructions.) 42522 .PP 42523 Sometimes, creation of an OAuth consent in Google API Console fails due 42524 to an error message \[lq]The request failed because changes to one of 42525 the field of the resource is not supported\[rq]. 42526 As a convenient workaround, the necessary Google Drive API key can be 42527 created on the Python 42528 Quickstart (https://developers.google.com/drive/api/v3/quickstart/python) 42529 page. 42530 Just push the Enable the Drive API button to receive the Client ID and 42531 Secret. 42532 Note that it will automatically create a new project in the API Console. 42533 .SH Google Photos 42534 .PP 42535 The rclone backend for Google 42536 Photos (https://www.google.com/photos/about/) is a specialized backend 42537 for transferring photos and videos to and from Google Photos. 42538 .PP 42539 \f[B]NB\f[R] The Google Photos API which rclone uses has quite a few 42540 limitations, so please read the limitations section carefully to make 42541 sure it is suitable for your use. 42542 .SS Configuration 42543 .PP 42544 The initial setup for google cloud storage involves getting a token from 42545 Google Photos which you need to do in your browser. 42546 \f[C]rclone config\f[R] walks you through it. 42547 .PP 42548 Here is an example of how to make a remote called \f[C]remote\f[R]. 42549 First run: 42550 .IP 42551 .nf 42552 \f[C] 42553 rclone config 42554 \f[R] 42555 .fi 42556 .PP 42557 This will guide you through an interactive setup process: 42558 .IP 42559 .nf 42560 \f[C] 42561 No remotes found, make a new one? 42562 n) New remote 42563 s) Set configuration password 42564 q) Quit config 42565 n/s/q> n 42566 name> remote 42567 Type of storage to configure. 42568 Enter a string value. Press Enter for the default (\[dq]\[dq]). 42569 Choose a number from below, or type in your own value 42570 [snip] 42571 XX / Google Photos 42572 \[rs] \[dq]google photos\[dq] 42573 [snip] 42574 Storage> google photos 42575 ** See help for google photos backend at: https://rclone.org/googlephotos/ ** 42576 42577 Google Application Client Id 42578 Leave blank normally. 42579 Enter a string value. Press Enter for the default (\[dq]\[dq]). 42580 client_id> 42581 Google Application Client Secret 42582 Leave blank normally. 42583 Enter a string value. Press Enter for the default (\[dq]\[dq]). 42584 client_secret> 42585 Set to make the Google Photos backend read only. 42586 42587 If you choose read only then rclone will only request read only access 42588 to your photos, otherwise rclone will request full access. 42589 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 42590 read_only> 42591 Edit advanced config? (y/n) 42592 y) Yes 42593 n) No 42594 y/n> n 42595 Remote config 42596 Use web browser to automatically authenticate rclone with remote? 42597 * Say Y if the machine running rclone has a web browser you can use 42598 * Say N if running rclone on a (remote) machine without web browser access 42599 If not sure try Y. If Y failed, try N. 42600 y) Yes 42601 n) No 42602 y/n> y 42603 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 42604 Log in and authorize rclone for access 42605 Waiting for code... 42606 Got code 42607 42608 *** IMPORTANT: All media items uploaded to Google Photos with rclone 42609 *** are stored in full resolution at original quality. These uploads 42610 *** will count towards storage in your Google Account. 42611 42612 -------------------- 42613 [remote] 42614 type = google photos 42615 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2019-06-28T17:38:04.644930156+01:00\[dq]} 42616 -------------------- 42617 y) Yes this is OK 42618 e) Edit this remote 42619 d) Delete this remote 42620 y/e/d> y 42621 \f[R] 42622 .fi 42623 .PP 42624 See the remote setup docs (https://rclone.org/remote_setup/) for how to 42625 set it up on a machine with no Internet browser available. 42626 .PP 42627 Note that rclone runs a webserver on your local machine to collect the 42628 token as returned from Google if using web browser to automatically 42629 authenticate. 42630 This only runs from the moment it opens your browser to the moment you 42631 get back the verification code. 42632 This is on \f[C]http://127.0.0.1:53682/\f[R] and this may require you to 42633 unblock it temporarily if you are running a host firewall, or use manual 42634 mode. 42635 .PP 42636 This remote is called \f[C]remote\f[R] and can now be used like this 42637 .PP 42638 See all the albums in your photos 42639 .IP 42640 .nf 42641 \f[C] 42642 rclone lsd remote:album 42643 \f[R] 42644 .fi 42645 .PP 42646 Make a new album 42647 .IP 42648 .nf 42649 \f[C] 42650 rclone mkdir remote:album/newAlbum 42651 \f[R] 42652 .fi 42653 .PP 42654 List the contents of an album 42655 .IP 42656 .nf 42657 \f[C] 42658 rclone ls remote:album/newAlbum 42659 \f[R] 42660 .fi 42661 .PP 42662 Sync \f[C]/home/local/images\f[R] to the Google Photos, removing any 42663 excess files in the album. 42664 .IP 42665 .nf 42666 \f[C] 42667 rclone sync --interactive /home/local/image remote:album/newAlbum 42668 \f[R] 42669 .fi 42670 .SS Layout 42671 .PP 42672 As Google Photos is not a general purpose cloud storage system, the 42673 backend is laid out to help you navigate it. 42674 .PP 42675 The directories under \f[C]media\f[R] show different ways of 42676 categorizing the media. 42677 Each file will appear multiple times. 42678 So if you want to make a backup of your google photos you might choose 42679 to backup \f[C]remote:media/by-month\f[R]. 42680 (\f[B]NB\f[R] \f[C]remote:media/by-day\f[R] is rather slow at the moment 42681 so avoid for syncing.) 42682 .PP 42683 Note that all your photos and videos will appear somewhere under 42684 \f[C]media\f[R], but they may not appear under \f[C]album\f[R] unless 42685 you\[aq]ve put them into albums. 42686 .IP 42687 .nf 42688 \f[C] 42689 / 42690 - upload 42691 - file1.jpg 42692 - file2.jpg 42693 - ... 42694 - media 42695 - all 42696 - file1.jpg 42697 - file2.jpg 42698 - ... 42699 - by-year 42700 - 2000 42701 - file1.jpg 42702 - ... 42703 - 2001 42704 - file2.jpg 42705 - ... 42706 - ... 42707 - by-month 42708 - 2000 42709 - 2000-01 42710 - file1.jpg 42711 - ... 42712 - 2000-02 42713 - file2.jpg 42714 - ... 42715 - ... 42716 - by-day 42717 - 2000 42718 - 2000-01-01 42719 - file1.jpg 42720 - ... 42721 - 2000-01-02 42722 - file2.jpg 42723 - ... 42724 - ... 42725 - album 42726 - album name 42727 - album name/sub 42728 - shared-album 42729 - album name 42730 - album name/sub 42731 - feature 42732 - favorites 42733 - file1.jpg 42734 - file2.jpg 42735 \f[R] 42736 .fi 42737 .PP 42738 There are two writable parts of the tree, the \f[C]upload\f[R] directory 42739 and sub directories of the \f[C]album\f[R] directory. 42740 .PP 42741 The \f[C]upload\f[R] directory is for uploading files you don\[aq]t want 42742 to put into albums. 42743 This will be empty to start with and will contain the files you\[aq]ve 42744 uploaded for one rclone session only, becoming empty again when you 42745 restart rclone. 42746 The use case for this would be if you have a load of files you just want 42747 to once off dump into Google Photos. 42748 For repeated syncing, uploading to \f[C]album\f[R] will work better. 42749 .PP 42750 Directories within the \f[C]album\f[R] directory are also writeable and 42751 you may create new directories (albums) under \f[C]album\f[R]. 42752 If you copy files with a directory hierarchy in there then rclone will 42753 create albums with the \f[C]/\f[R] character in them. 42754 For example if you do 42755 .IP 42756 .nf 42757 \f[C] 42758 rclone copy /path/to/images remote:album/images 42759 \f[R] 42760 .fi 42761 .PP 42762 and the images directory contains 42763 .IP 42764 .nf 42765 \f[C] 42766 images 42767 - file1.jpg 42768 dir 42769 file2.jpg 42770 dir2 42771 dir3 42772 file3.jpg 42773 \f[R] 42774 .fi 42775 .PP 42776 Then rclone will create the following albums with the following files in 42777 .IP \[bu] 2 42778 images 42779 .RS 2 42780 .IP \[bu] 2 42781 file1.jpg 42782 .RE 42783 .IP \[bu] 2 42784 images/dir 42785 .RS 2 42786 .IP \[bu] 2 42787 file2.jpg 42788 .RE 42789 .IP \[bu] 2 42790 images/dir2/dir3 42791 .RS 2 42792 .IP \[bu] 2 42793 file3.jpg 42794 .RE 42795 .PP 42796 This means that you can use the \f[C]album\f[R] path pretty much like a 42797 normal filesystem and it is a good target for repeated syncing. 42798 .PP 42799 The \f[C]shared-album\f[R] directory shows albums shared with you or by 42800 you. 42801 This is similar to the Sharing tab in the Google Photos web interface. 42802 .SS Standard options 42803 .PP 42804 Here are the Standard options specific to google photos (Google Photos). 42805 .SS --gphotos-client-id 42806 .PP 42807 OAuth Client Id. 42808 .PP 42809 Leave blank normally. 42810 .PP 42811 Properties: 42812 .IP \[bu] 2 42813 Config: client_id 42814 .IP \[bu] 2 42815 Env Var: RCLONE_GPHOTOS_CLIENT_ID 42816 .IP \[bu] 2 42817 Type: string 42818 .IP \[bu] 2 42819 Required: false 42820 .SS --gphotos-client-secret 42821 .PP 42822 OAuth Client Secret. 42823 .PP 42824 Leave blank normally. 42825 .PP 42826 Properties: 42827 .IP \[bu] 2 42828 Config: client_secret 42829 .IP \[bu] 2 42830 Env Var: RCLONE_GPHOTOS_CLIENT_SECRET 42831 .IP \[bu] 2 42832 Type: string 42833 .IP \[bu] 2 42834 Required: false 42835 .SS --gphotos-read-only 42836 .PP 42837 Set to make the Google Photos backend read only. 42838 .PP 42839 If you choose read only then rclone will only request read only access 42840 to your photos, otherwise rclone will request full access. 42841 .PP 42842 Properties: 42843 .IP \[bu] 2 42844 Config: read_only 42845 .IP \[bu] 2 42846 Env Var: RCLONE_GPHOTOS_READ_ONLY 42847 .IP \[bu] 2 42848 Type: bool 42849 .IP \[bu] 2 42850 Default: false 42851 .SS Advanced options 42852 .PP 42853 Here are the Advanced options specific to google photos (Google Photos). 42854 .SS --gphotos-token 42855 .PP 42856 OAuth Access Token as a JSON blob. 42857 .PP 42858 Properties: 42859 .IP \[bu] 2 42860 Config: token 42861 .IP \[bu] 2 42862 Env Var: RCLONE_GPHOTOS_TOKEN 42863 .IP \[bu] 2 42864 Type: string 42865 .IP \[bu] 2 42866 Required: false 42867 .SS --gphotos-auth-url 42868 .PP 42869 Auth server URL. 42870 .PP 42871 Leave blank to use the provider defaults. 42872 .PP 42873 Properties: 42874 .IP \[bu] 2 42875 Config: auth_url 42876 .IP \[bu] 2 42877 Env Var: RCLONE_GPHOTOS_AUTH_URL 42878 .IP \[bu] 2 42879 Type: string 42880 .IP \[bu] 2 42881 Required: false 42882 .SS --gphotos-token-url 42883 .PP 42884 Token server url. 42885 .PP 42886 Leave blank to use the provider defaults. 42887 .PP 42888 Properties: 42889 .IP \[bu] 2 42890 Config: token_url 42891 .IP \[bu] 2 42892 Env Var: RCLONE_GPHOTOS_TOKEN_URL 42893 .IP \[bu] 2 42894 Type: string 42895 .IP \[bu] 2 42896 Required: false 42897 .SS --gphotos-read-size 42898 .PP 42899 Set to read the size of media items. 42900 .PP 42901 Normally rclone does not read the size of media items since this takes 42902 another transaction. 42903 This isn\[aq]t necessary for syncing. 42904 However rclone mount needs to know the size of files in advance of 42905 reading them, so setting this flag when using rclone mount is 42906 recommended if you want to read the media. 42907 .PP 42908 Properties: 42909 .IP \[bu] 2 42910 Config: read_size 42911 .IP \[bu] 2 42912 Env Var: RCLONE_GPHOTOS_READ_SIZE 42913 .IP \[bu] 2 42914 Type: bool 42915 .IP \[bu] 2 42916 Default: false 42917 .SS --gphotos-start-year 42918 .PP 42919 Year limits the photos to be downloaded to those which are uploaded 42920 after the given year. 42921 .PP 42922 Properties: 42923 .IP \[bu] 2 42924 Config: start_year 42925 .IP \[bu] 2 42926 Env Var: RCLONE_GPHOTOS_START_YEAR 42927 .IP \[bu] 2 42928 Type: int 42929 .IP \[bu] 2 42930 Default: 2000 42931 .SS --gphotos-include-archived 42932 .PP 42933 Also view and download archived media. 42934 .PP 42935 By default, rclone does not request archived media. 42936 Thus, when syncing, archived media is not visible in directory listings 42937 or transferred. 42938 .PP 42939 Note that media in albums is always visible and synced, no matter their 42940 archive status. 42941 .PP 42942 With this flag, archived media are always visible in directory listings 42943 and transferred. 42944 .PP 42945 Without this flag, archived media will not be visible in directory 42946 listings and won\[aq]t be transferred. 42947 .PP 42948 Properties: 42949 .IP \[bu] 2 42950 Config: include_archived 42951 .IP \[bu] 2 42952 Env Var: RCLONE_GPHOTOS_INCLUDE_ARCHIVED 42953 .IP \[bu] 2 42954 Type: bool 42955 .IP \[bu] 2 42956 Default: false 42957 .SS --gphotos-encoding 42958 .PP 42959 The encoding for the backend. 42960 .PP 42961 See the encoding section in the 42962 overview (https://rclone.org/overview/#encoding) for more info. 42963 .PP 42964 Properties: 42965 .IP \[bu] 2 42966 Config: encoding 42967 .IP \[bu] 2 42968 Env Var: RCLONE_GPHOTOS_ENCODING 42969 .IP \[bu] 2 42970 Type: MultiEncoder 42971 .IP \[bu] 2 42972 Default: Slash,CrLf,InvalidUtf8,Dot 42973 .SS Limitations 42974 .PP 42975 Only images and videos can be uploaded. 42976 If you attempt to upload non videos or images or formats that Google 42977 Photos doesn\[aq]t understand, rclone will upload the file, then Google 42978 Photos will give an error when it is put turned into a media item. 42979 .PP 42980 Note that all media items uploaded to Google Photos through the API are 42981 stored in full resolution at \[dq]original quality\[dq] and 42982 \f[B]will\f[R] count towards your storage quota in your Google Account. 42983 The API does \f[B]not\f[R] offer a way to upload in \[dq]high 42984 quality\[dq] mode.. 42985 .PP 42986 \f[C]rclone about\f[R] is not supported by the Google Photos backend. 42987 Backends without this capability cannot determine free space for an 42988 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 42989 of an rclone union remote. 42990 .PP 42991 See List of backends that do not support rclone 42992 about (https://rclone.org/overview/#optional-features) See rclone 42993 about (https://rclone.org/commands/rclone_about/) 42994 .SS Downloading Images 42995 .PP 42996 When Images are downloaded this strips EXIF location (according to the 42997 docs and my tests). 42998 This is a limitation of the Google Photos API and is covered by bug 42999 #112096115 (https://issuetracker.google.com/issues/112096115). 43000 .PP 43001 \f[B]The current google API does not allow photos to be downloaded at 43002 original resolution. This is very important if you are, for example, 43003 relying on \[dq]Google Photos\[dq] as a backup of your photos. You will 43004 not be able to use rclone to redownload original images. You could use 43005 \[aq]google takeout\[aq] to recover the original photos as a last 43006 resort\f[R] 43007 .SS Downloading Videos 43008 .PP 43009 When videos are downloaded they are downloaded in a really compressed 43010 version of the video compared to downloading it via the Google Photos 43011 web interface. 43012 This is covered by bug 43013 #113672044 (https://issuetracker.google.com/issues/113672044). 43014 .SS Duplicates 43015 .PP 43016 If a file name is duplicated in a directory then rclone will add the 43017 file ID into its name. 43018 So two files called \f[C]file.jpg\f[R] would then appear as 43019 \f[C]file {123456}.jpg\f[R] and \f[C]file {ABCDEF}.jpg\f[R] (the actual 43020 IDs are a lot longer alas!). 43021 .PP 43022 If you upload the same image (with the same binary data) twice then 43023 Google Photos will deduplicate it. 43024 However it will retain the filename from the first upload which may 43025 confuse rclone. 43026 For example if you uploaded an image to \f[C]upload\f[R] then uploaded 43027 the same image to \f[C]album/my_album\f[R] the filename of the image in 43028 \f[C]album/my_album\f[R] will be what it was uploaded with initially, 43029 not what you uploaded it with to \f[C]album\f[R]. 43030 In practise this shouldn\[aq]t cause too many problems. 43031 .SS Modified time 43032 .PP 43033 The date shown of media in Google Photos is the creation date as 43034 determined by the EXIF information, or the upload date if that is not 43035 known. 43036 .PP 43037 This is not changeable by rclone and is not the modification date of the 43038 media on local disk. 43039 This means that rclone cannot use the dates from Google Photos for 43040 syncing purposes. 43041 .SS Size 43042 .PP 43043 The Google Photos API does not return the size of media. 43044 This means that when syncing to Google Photos, rclone can only do a file 43045 existence check. 43046 .PP 43047 It is possible to read the size of the media, but this needs an extra 43048 HTTP HEAD request per media item so is \f[B]very slow\f[R] and uses up a 43049 lot of transactions. 43050 This can be enabled with the \f[C]--gphotos-read-size\f[R] option or the 43051 \f[C]read_size = true\f[R] config parameter. 43052 .PP 43053 If you want to use the backend with \f[C]rclone mount\f[R] you may need 43054 to enable this flag (depending on your OS and application using the 43055 photos) otherwise you may not be able to read media off the mount. 43056 You\[aq]ll need to experiment to see if it works for you without the 43057 flag. 43058 .SS Albums 43059 .PP 43060 Rclone can only upload files to albums it created. 43061 This is a limitation of the Google Photos 43062 API (https://developers.google.com/photos/library/guides/manage-albums). 43063 .PP 43064 Rclone can remove files it uploaded from albums it created only. 43065 .SS Deleting files 43066 .PP 43067 Rclone can remove files from albums it created, but note that the Google 43068 Photos API does not allow media to be deleted permanently so this media 43069 will still remain. 43070 See bug #109759781 (https://issuetracker.google.com/issues/109759781). 43071 .PP 43072 Rclone cannot delete files anywhere except under \f[C]album\f[R]. 43073 .SS Deleting albums 43074 .PP 43075 The Google Photos API does not support deleting albums - see bug 43076 #135714733 (https://issuetracker.google.com/issues/135714733). 43077 .SH Hasher 43078 .PP 43079 Hasher is a special overlay backend to create remotes which handle 43080 checksums for other remotes. 43081 It\[aq]s main functions include: - Emulate hash types unimplemented by 43082 backends - Cache checksums to help with slow hashing of large local or 43083 (S)FTP files - Warm up checksum cache from external SUM files 43084 .SS Getting started 43085 .PP 43086 To use Hasher, first set up the underlying remote following the 43087 configuration instructions for that remote. 43088 You can also use a local pathname instead of a remote. 43089 Check that your base remote is working. 43090 .PP 43091 Let\[aq]s call the base remote \f[C]myRemote:path\f[R] here. 43092 Note that anything inside \f[C]myRemote:path\f[R] will be handled by 43093 hasher and anything outside won\[aq]t. 43094 This means that if you are using a bucket based remote (S3, B2, Swift) 43095 then you should put the bucket in the remote \f[C]s3:bucket\f[R]. 43096 .PP 43097 Now proceed to interactive or manual configuration. 43098 .SS Interactive configuration 43099 .PP 43100 Run \f[C]rclone config\f[R]: 43101 .IP 43102 .nf 43103 \f[C] 43104 No remotes found, make a new one? 43105 n) New remote 43106 s) Set configuration password 43107 q) Quit config 43108 n/s/q> n 43109 name> Hasher1 43110 Type of storage to configure. 43111 Choose a number from below, or type in your own value 43112 [snip] 43113 XX / Handle checksums for other remotes 43114 \[rs] \[dq]hasher\[dq] 43115 [snip] 43116 Storage> hasher 43117 Remote to cache checksums for, like myremote:mypath. 43118 Enter a string value. Press Enter for the default (\[dq]\[dq]). 43119 remote> myRemote:path 43120 Comma separated list of supported checksum types. 43121 Enter a string value. Press Enter for the default (\[dq]md5,sha1\[dq]). 43122 hashsums> md5 43123 Maximum time to keep checksums in cache. 0 = no cache, off = cache forever. 43124 max_age> off 43125 Edit advanced config? (y/n) 43126 y) Yes 43127 n) No 43128 y/n> n 43129 Remote config 43130 -------------------- 43131 [Hasher1] 43132 type = hasher 43133 remote = myRemote:path 43134 hashsums = md5 43135 max_age = off 43136 -------------------- 43137 y) Yes this is OK 43138 e) Edit this remote 43139 d) Delete this remote 43140 y/e/d> y 43141 \f[R] 43142 .fi 43143 .SS Manual configuration 43144 .PP 43145 Run \f[C]rclone config path\f[R] to see the path of current active 43146 config file, usually \f[C]YOURHOME/.config/divyam234/rclone.conf\f[R]. 43147 Open it in your favorite text editor, find section for the base remote 43148 and create new section for hasher like in the following examples: 43149 .IP 43150 .nf 43151 \f[C] 43152 [Hasher1] 43153 type = hasher 43154 remote = myRemote:path 43155 hashes = md5 43156 max_age = off 43157 43158 [Hasher2] 43159 type = hasher 43160 remote = /local/path 43161 hashes = dropbox,sha1 43162 max_age = 24h 43163 \f[R] 43164 .fi 43165 .PP 43166 Hasher takes basically the following parameters: - \f[C]remote\f[R] is 43167 required, - \f[C]hashes\f[R] is a comma separated list of supported 43168 checksums (by default \f[C]md5,sha1\f[R]), - \f[C]max_age\f[R] - maximum 43169 time to keep a checksum value in the cache, \f[C]0\f[R] will disable 43170 caching completely, \f[C]off\f[R] will cache \[dq]forever\[dq] (that is 43171 until the files get changed). 43172 .PP 43173 Make sure the \f[C]remote\f[R] has \f[C]:\f[R] (colon) in. 43174 If you specify the remote without a colon then rclone will use a local 43175 directory of that name. 43176 So if you use a remote of \f[C]/local/path\f[R] then rclone will handle 43177 hashes for that directory. 43178 If you use \f[C]remote = name\f[R] literally then rclone will put files 43179 \f[B]in a directory called \f[CB]name\f[B] located under current 43180 directory\f[R]. 43181 .SS Usage 43182 .SS Basic operations 43183 .PP 43184 Now you can use it as \f[C]Hasher2:subdir/file\f[R] instead of base 43185 remote. 43186 Hasher will transparently update cache with new checksums when a file is 43187 fully read or overwritten, like: 43188 .IP 43189 .nf 43190 \f[C] 43191 rclone copy External:path/file Hasher:dest/path 43192 43193 rclone cat Hasher:path/to/file > /dev/null 43194 \f[R] 43195 .fi 43196 .PP 43197 The way to refresh \f[B]all\f[R] cached checksums (even unsupported by 43198 the base backend) for a subtree is to \f[B]re-download\f[R] all files in 43199 the subtree. 43200 For example, use \f[C]hashsum --download\f[R] using \f[B]any\f[R] 43201 supported hashsum on the command line (we just care to re-read): 43202 .IP 43203 .nf 43204 \f[C] 43205 rclone hashsum MD5 --download Hasher:path/to/subtree > /dev/null 43206 43207 rclone backend dump Hasher:path/to/subtree 43208 \f[R] 43209 .fi 43210 .PP 43211 You can print or drop hashsum cache using custom backend commands: 43212 .IP 43213 .nf 43214 \f[C] 43215 rclone backend dump Hasher:dir/subdir 43216 43217 rclone backend drop Hasher: 43218 \f[R] 43219 .fi 43220 .SS Pre-Seed from a SUM File 43221 .PP 43222 Hasher supports two backend commands: generic SUM file \f[C]import\f[R] 43223 and faster but less consistent \f[C]stickyimport\f[R]. 43224 .IP 43225 .nf 43226 \f[C] 43227 rclone backend import Hasher:dir/subdir SHA1 /path/to/SHA1SUM [--checkers 4] 43228 \f[R] 43229 .fi 43230 .PP 43231 Instead of SHA1 it can be any hash supported by the remote. 43232 The last argument can point to either a local or an 43233 \f[C]other-remote:path\f[R] text file in SUM format. 43234 The command will parse the SUM file, then walk down the path given by 43235 the first argument, snapshot current fingerprints and fill in the cache 43236 entries correspondingly. 43237 - Paths in the SUM file are treated as relative to 43238 \f[C]hasher:dir/subdir\f[R]. 43239 - The command will \f[B]not\f[R] check that supplied values are correct. 43240 You \f[B]must know\f[R] what you are doing. 43241 - This is a one-time action. 43242 The SUM file will not get \[dq]attached\[dq] to the remote. 43243 Cache entries can still be overwritten later, should the object\[aq]s 43244 fingerprint change. 43245 - The tree walk can take long depending on the tree size. 43246 You can increase \f[C]--checkers\f[R] to make it faster. 43247 Or use \f[C]stickyimport\f[R] if you don\[aq]t care about fingerprints 43248 and consistency. 43249 .IP 43250 .nf 43251 \f[C] 43252 rclone backend stickyimport hasher:path/to/data sha1 remote:/path/to/sum.sha1 43253 \f[R] 43254 .fi 43255 .PP 43256 \f[C]stickyimport\f[R] is similar to \f[C]import\f[R] but works much 43257 faster because it does not need to stat existing files and skips initial 43258 tree walk. 43259 Instead of binding cache entries to file fingerprints it creates 43260 \f[I]sticky\f[R] entries bound to the file name alone ignoring size, 43261 modification time etc. 43262 Such hash entries can be replaced only by \f[C]purge\f[R], 43263 \f[C]delete\f[R], \f[C]backend drop\f[R] or by full re-read/re-write of 43264 the files. 43265 .SS Configuration reference 43266 .SS Standard options 43267 .PP 43268 Here are the Standard options specific to hasher (Better checksums for 43269 other remotes). 43270 .SS --hasher-remote 43271 .PP 43272 Remote to cache checksums for (e.g. 43273 myRemote:path). 43274 .PP 43275 Properties: 43276 .IP \[bu] 2 43277 Config: remote 43278 .IP \[bu] 2 43279 Env Var: RCLONE_HASHER_REMOTE 43280 .IP \[bu] 2 43281 Type: string 43282 .IP \[bu] 2 43283 Required: true 43284 .SS --hasher-hashes 43285 .PP 43286 Comma separated list of supported checksum types. 43287 .PP 43288 Properties: 43289 .IP \[bu] 2 43290 Config: hashes 43291 .IP \[bu] 2 43292 Env Var: RCLONE_HASHER_HASHES 43293 .IP \[bu] 2 43294 Type: CommaSepList 43295 .IP \[bu] 2 43296 Default: md5,sha1 43297 .SS --hasher-max-age 43298 .PP 43299 Maximum time to keep checksums in cache (0 = no cache, off = cache 43300 forever). 43301 .PP 43302 Properties: 43303 .IP \[bu] 2 43304 Config: max_age 43305 .IP \[bu] 2 43306 Env Var: RCLONE_HASHER_MAX_AGE 43307 .IP \[bu] 2 43308 Type: Duration 43309 .IP \[bu] 2 43310 Default: off 43311 .SS Advanced options 43312 .PP 43313 Here are the Advanced options specific to hasher (Better checksums for 43314 other remotes). 43315 .SS --hasher-auto-size 43316 .PP 43317 Auto-update checksum for files smaller than this size (disabled by 43318 default). 43319 .PP 43320 Properties: 43321 .IP \[bu] 2 43322 Config: auto_size 43323 .IP \[bu] 2 43324 Env Var: RCLONE_HASHER_AUTO_SIZE 43325 .IP \[bu] 2 43326 Type: SizeSuffix 43327 .IP \[bu] 2 43328 Default: 0 43329 .SS Metadata 43330 .PP 43331 Any metadata supported by the underlying remote is read and written. 43332 .PP 43333 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 43334 .SS Backend commands 43335 .PP 43336 Here are the commands specific to the hasher backend. 43337 .PP 43338 Run them with 43339 .IP 43340 .nf 43341 \f[C] 43342 rclone backend COMMAND remote: 43343 \f[R] 43344 .fi 43345 .PP 43346 The help below will explain what arguments each command takes. 43347 .PP 43348 See the backend (https://rclone.org/commands/rclone_backend/) command 43349 for more info on how to pass options and arguments. 43350 .PP 43351 These can be run on a running backend using the rc command 43352 backend/command (https://rclone.org/rc/#backend-command). 43353 .SS drop 43354 .PP 43355 Drop cache 43356 .IP 43357 .nf 43358 \f[C] 43359 rclone backend drop remote: [options] [<arguments>+] 43360 \f[R] 43361 .fi 43362 .PP 43363 Completely drop checksum cache. 43364 Usage Example: rclone backend drop hasher: 43365 .SS dump 43366 .PP 43367 Dump the database 43368 .IP 43369 .nf 43370 \f[C] 43371 rclone backend dump remote: [options] [<arguments>+] 43372 \f[R] 43373 .fi 43374 .PP 43375 Dump cache records covered by the current remote 43376 .SS fulldump 43377 .PP 43378 Full dump of the database 43379 .IP 43380 .nf 43381 \f[C] 43382 rclone backend fulldump remote: [options] [<arguments>+] 43383 \f[R] 43384 .fi 43385 .PP 43386 Dump all cache records in the database 43387 .SS import 43388 .PP 43389 Import a SUM file 43390 .IP 43391 .nf 43392 \f[C] 43393 rclone backend import remote: [options] [<arguments>+] 43394 \f[R] 43395 .fi 43396 .PP 43397 Amend hash cache from a SUM file and bind checksums to files by 43398 size/time. 43399 Usage Example: rclone backend import hasher:subdir md5 /path/to/sum.md5 43400 .SS stickyimport 43401 .PP 43402 Perform fast import of a SUM file 43403 .IP 43404 .nf 43405 \f[C] 43406 rclone backend stickyimport remote: [options] [<arguments>+] 43407 \f[R] 43408 .fi 43409 .PP 43410 Fill hash cache from a SUM file without verifying file fingerprints. 43411 Usage Example: rclone backend stickyimport hasher:subdir md5 43412 remote:path/to/sum.md5 43413 .SS Implementation details (advanced) 43414 .PP 43415 This section explains how various rclone operations work on a hasher 43416 remote. 43417 .PP 43418 \f[B]Disclaimer. This section describes current implementation which can 43419 change in future rclone versions!.\f[R] 43420 .SS Hashsum command 43421 .PP 43422 The \f[C]rclone hashsum\f[R] (or \f[C]md5sum\f[R] or \f[C]sha1sum\f[R]) 43423 command will: 43424 .IP "1." 3 43425 if requested hash is supported by lower level, just pass it. 43426 .IP "2." 3 43427 if object size is below \f[C]auto_size\f[R] then download object and 43428 calculate \f[I]requested\f[R] hashes on the fly. 43429 .IP "3." 3 43430 if unsupported and the size is big enough, build object 43431 \f[C]fingerprint\f[R] (including size, modtime if supported, first-found 43432 \f[I]other\f[R] hash if any). 43433 .IP "4." 3 43434 if the strict match is found in cache for the requested remote, return 43435 the stored hash. 43436 .IP "5." 3 43437 if remote found but fingerprint mismatched, then purge the entry and 43438 proceed to step 6. 43439 .IP "6." 3 43440 if remote not found or had no requested hash type or after step 5: 43441 download object, calculate all \f[I]supported\f[R] hashes on the fly and 43442 store in cache; return requested hash. 43443 .SS Other operations 43444 .IP \[bu] 2 43445 whenever a file is uploaded or downloaded \f[B]in full\f[R], capture the 43446 stream to calculate all supported hashes on the fly and update database 43447 .IP \[bu] 2 43448 server-side \f[C]move\f[R] will update keys of existing cache entries 43449 .IP \[bu] 2 43450 \f[C]deletefile\f[R] will remove a single cache entry 43451 .IP \[bu] 2 43452 \f[C]purge\f[R] will remove all cache entries under the purged path 43453 .PP 43454 Note that setting \f[C]max_age = 0\f[R] will disable checksum caching 43455 completely. 43456 .PP 43457 If you set \f[C]max_age = off\f[R], checksums in cache will never age, 43458 unless you fully rewrite or delete the file. 43459 .SS Cache storage 43460 .PP 43461 Cached checksums are stored as \f[C]bolt\f[R] database files under 43462 rclone cache directory, usually \f[C]\[ti]/.cache/rclone/kv/\f[R]. 43463 Databases are maintained one per \f[I]base\f[R] backend, named like 43464 \f[C]BaseRemote\[ti]hasher.bolt\f[R]. 43465 Checksums for multiple \f[C]alias\f[R]-es into a single base backend 43466 will be stored in the single database. 43467 All local paths are treated as aliases into the \f[C]local\f[R] backend 43468 (unless encrypted or chunked) and stored in 43469 \f[C]\[ti]/.cache/rclone/kv/local\[ti]hasher.bolt\f[R]. 43470 Databases can be shared between multiple rclone processes. 43471 .SH HDFS 43472 .PP 43473 HDFS (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) 43474 is a distributed file-system, part of the Apache 43475 Hadoop (https://hadoop.apache.org/) framework. 43476 .PP 43477 Paths are specified as \f[C]remote:\f[R] or 43478 \f[C]remote:path/to/dir\f[R]. 43479 .SS Configuration 43480 .PP 43481 Here is an example of how to make a remote called \f[C]remote\f[R]. 43482 First run: 43483 .IP 43484 .nf 43485 \f[C] 43486 rclone config 43487 \f[R] 43488 .fi 43489 .PP 43490 This will guide you through an interactive setup process: 43491 .IP 43492 .nf 43493 \f[C] 43494 No remotes found, make a new one? 43495 n) New remote 43496 s) Set configuration password 43497 q) Quit config 43498 n/s/q> n 43499 name> remote 43500 Type of storage to configure. 43501 Enter a string value. Press Enter for the default (\[dq]\[dq]). 43502 Choose a number from below, or type in your own value 43503 [skip] 43504 XX / Hadoop distributed file system 43505 \[rs] \[dq]hdfs\[dq] 43506 [skip] 43507 Storage> hdfs 43508 ** See help for hdfs backend at: https://rclone.org/hdfs/ ** 43509 43510 hadoop name node and port 43511 Enter a string value. Press Enter for the default (\[dq]\[dq]). 43512 Choose a number from below, or type in your own value 43513 1 / Connect to host namenode at port 8020 43514 \[rs] \[dq]namenode:8020\[dq] 43515 namenode> namenode.hadoop:8020 43516 hadoop user name 43517 Enter a string value. Press Enter for the default (\[dq]\[dq]). 43518 Choose a number from below, or type in your own value 43519 1 / Connect to hdfs as root 43520 \[rs] \[dq]root\[dq] 43521 username> root 43522 Edit advanced config? (y/n) 43523 y) Yes 43524 n) No (default) 43525 y/n> n 43526 Remote config 43527 -------------------- 43528 [remote] 43529 type = hdfs 43530 namenode = namenode.hadoop:8020 43531 username = root 43532 -------------------- 43533 y) Yes this is OK (default) 43534 e) Edit this remote 43535 d) Delete this remote 43536 y/e/d> y 43537 Current remotes: 43538 43539 Name Type 43540 ==== ==== 43541 hadoop hdfs 43542 43543 e) Edit existing remote 43544 n) New remote 43545 d) Delete remote 43546 r) Rename remote 43547 c) Copy remote 43548 s) Set configuration password 43549 q) Quit config 43550 e/n/d/r/c/s/q> q 43551 \f[R] 43552 .fi 43553 .PP 43554 This remote is called \f[C]remote\f[R] and can now be used like this 43555 .PP 43556 See all the top level directories 43557 .IP 43558 .nf 43559 \f[C] 43560 rclone lsd remote: 43561 \f[R] 43562 .fi 43563 .PP 43564 List the contents of a directory 43565 .IP 43566 .nf 43567 \f[C] 43568 rclone ls remote:directory 43569 \f[R] 43570 .fi 43571 .PP 43572 Sync the remote \f[C]directory\f[R] to \f[C]/home/local/directory\f[R], 43573 deleting any excess files. 43574 .IP 43575 .nf 43576 \f[C] 43577 rclone sync --interactive remote:directory /home/local/directory 43578 \f[R] 43579 .fi 43580 .SS Setting up your own HDFS instance for testing 43581 .PP 43582 You may start with a manual 43583 setup (https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html) 43584 or use the docker image from the tests: 43585 .PP 43586 If you want to build the docker image 43587 .IP 43588 .nf 43589 \f[C] 43590 git clone https://github.com/divyam234/rclone.git 43591 cd rclone/fstest/testserver/images/test-hdfs 43592 docker build --rm -t rclone/test-hdfs . 43593 \f[R] 43594 .fi 43595 .PP 43596 Or you can just use the latest one pushed 43597 .IP 43598 .nf 43599 \f[C] 43600 docker run --rm --name \[dq]rclone-hdfs\[dq] -p 127.0.0.1:9866:9866 -p 127.0.0.1:8020:8020 --hostname \[dq]rclone-hdfs\[dq] rclone/test-hdfs 43601 \f[R] 43602 .fi 43603 .PP 43604 \f[B]NB\f[R] it need few seconds to startup. 43605 .PP 43606 For this docker image the remote needs to be configured like this: 43607 .IP 43608 .nf 43609 \f[C] 43610 [remote] 43611 type = hdfs 43612 namenode = 127.0.0.1:8020 43613 username = root 43614 \f[R] 43615 .fi 43616 .PP 43617 You can stop this image with \f[C]docker kill rclone-hdfs\f[R] 43618 (\f[B]NB\f[R] it does not use volumes, so all data uploaded will be 43619 lost.) 43620 .SS Modified time 43621 .PP 43622 Time accurate to 1 second is stored. 43623 .SS Checksum 43624 .PP 43625 No checksums are implemented. 43626 .SS Usage information 43627 .PP 43628 You can use the \f[C]rclone about remote:\f[R] command which will 43629 display filesystem size and current usage. 43630 .SS Restricted filename characters 43631 .PP 43632 In addition to the default restricted characters 43633 set (https://rclone.org/overview/#restricted-characters) the following 43634 characters are also replaced: 43635 .PP 43636 .TS 43637 tab(@); 43638 l c c. 43639 T{ 43640 Character 43641 T}@T{ 43642 Value 43643 T}@T{ 43644 Replacement 43645 T} 43646 _ 43647 T{ 43648 : 43649 T}@T{ 43650 0x3A 43651 T}@T{ 43652 \[uFF1A] 43653 T} 43654 .TE 43655 .PP 43656 Invalid UTF-8 bytes will also be 43657 replaced (https://rclone.org/overview/#invalid-utf8). 43658 .SS Standard options 43659 .PP 43660 Here are the Standard options specific to hdfs (Hadoop distributed file 43661 system). 43662 .SS --hdfs-namenode 43663 .PP 43664 Hadoop name node and port. 43665 .PP 43666 E.g. 43667 \[dq]namenode:8020\[dq] to connect to host namenode at port 8020. 43668 .PP 43669 Properties: 43670 .IP \[bu] 2 43671 Config: namenode 43672 .IP \[bu] 2 43673 Env Var: RCLONE_HDFS_NAMENODE 43674 .IP \[bu] 2 43675 Type: string 43676 .IP \[bu] 2 43677 Required: true 43678 .SS --hdfs-username 43679 .PP 43680 Hadoop user name. 43681 .PP 43682 Properties: 43683 .IP \[bu] 2 43684 Config: username 43685 .IP \[bu] 2 43686 Env Var: RCLONE_HDFS_USERNAME 43687 .IP \[bu] 2 43688 Type: string 43689 .IP \[bu] 2 43690 Required: false 43691 .IP \[bu] 2 43692 Examples: 43693 .RS 2 43694 .IP \[bu] 2 43695 \[dq]root\[dq] 43696 .RS 2 43697 .IP \[bu] 2 43698 Connect to hdfs as root. 43699 .RE 43700 .RE 43701 .SS Advanced options 43702 .PP 43703 Here are the Advanced options specific to hdfs (Hadoop distributed file 43704 system). 43705 .SS --hdfs-service-principal-name 43706 .PP 43707 Kerberos service principal name for the namenode. 43708 .PP 43709 Enables KERBEROS authentication. 43710 Specifies the Service Principal Name (SERVICE/FQDN) for the namenode. 43711 E.g. 43712 \[dq]hdfs/namenode.hadoop.docker\[dq] for namenode running as service 43713 \[aq]hdfs\[aq] with FQDN \[aq]namenode.hadoop.docker\[aq]. 43714 .PP 43715 Properties: 43716 .IP \[bu] 2 43717 Config: service_principal_name 43718 .IP \[bu] 2 43719 Env Var: RCLONE_HDFS_SERVICE_PRINCIPAL_NAME 43720 .IP \[bu] 2 43721 Type: string 43722 .IP \[bu] 2 43723 Required: false 43724 .SS --hdfs-data-transfer-protection 43725 .PP 43726 Kerberos data transfer protection: authentication|integrity|privacy. 43727 .PP 43728 Specifies whether or not authentication, data signature integrity 43729 checks, and wire encryption are required when communicating with the 43730 datanodes. 43731 Possible values are \[aq]authentication\[aq], \[aq]integrity\[aq] and 43732 \[aq]privacy\[aq]. 43733 Used only with KERBEROS enabled. 43734 .PP 43735 Properties: 43736 .IP \[bu] 2 43737 Config: data_transfer_protection 43738 .IP \[bu] 2 43739 Env Var: RCLONE_HDFS_DATA_TRANSFER_PROTECTION 43740 .IP \[bu] 2 43741 Type: string 43742 .IP \[bu] 2 43743 Required: false 43744 .IP \[bu] 2 43745 Examples: 43746 .RS 2 43747 .IP \[bu] 2 43748 \[dq]privacy\[dq] 43749 .RS 2 43750 .IP \[bu] 2 43751 Ensure authentication, integrity and encryption enabled. 43752 .RE 43753 .RE 43754 .SS --hdfs-encoding 43755 .PP 43756 The encoding for the backend. 43757 .PP 43758 See the encoding section in the 43759 overview (https://rclone.org/overview/#encoding) for more info. 43760 .PP 43761 Properties: 43762 .IP \[bu] 2 43763 Config: encoding 43764 .IP \[bu] 2 43765 Env Var: RCLONE_HDFS_ENCODING 43766 .IP \[bu] 2 43767 Type: MultiEncoder 43768 .IP \[bu] 2 43769 Default: Slash,Colon,Del,Ctl,InvalidUtf8,Dot 43770 .SS Limitations 43771 .IP \[bu] 2 43772 No server-side \f[C]Move\f[R] or \f[C]DirMove\f[R]. 43773 .IP \[bu] 2 43774 Checksums not implemented. 43775 .SH HiDrive 43776 .PP 43777 Paths are specified as \f[C]remote:path\f[R] 43778 .PP 43779 Paths may be as deep as required, e.g. 43780 \f[C]remote:directory/subdirectory\f[R]. 43781 .PP 43782 The initial setup for hidrive involves getting a token from HiDrive 43783 which you need to do in your browser. 43784 \f[C]rclone config\f[R] walks you through it. 43785 .SS Configuration 43786 .PP 43787 Here is an example of how to make a remote called \f[C]remote\f[R]. 43788 First run: 43789 .IP 43790 .nf 43791 \f[C] 43792 rclone config 43793 \f[R] 43794 .fi 43795 .PP 43796 This will guide you through an interactive setup process: 43797 .IP 43798 .nf 43799 \f[C] 43800 No remotes found - make a new one 43801 n) New remote 43802 s) Set configuration password 43803 q) Quit config 43804 n/s/q> n 43805 name> remote 43806 Type of storage to configure. 43807 Choose a number from below, or type in your own value 43808 [snip] 43809 XX / HiDrive 43810 \[rs] \[dq]hidrive\[dq] 43811 [snip] 43812 Storage> hidrive 43813 OAuth Client Id - Leave blank normally. 43814 client_id> 43815 OAuth Client Secret - Leave blank normally. 43816 client_secret> 43817 Access permissions that rclone should use when requesting access from HiDrive. 43818 Leave blank normally. 43819 scope_access> 43820 Edit advanced config? 43821 y/n> n 43822 Use web browser to automatically authenticate rclone with remote? 43823 * Say Y if the machine running rclone has a web browser you can use 43824 * Say N if running rclone on a (remote) machine without web browser access 43825 If not sure try Y. If Y failed, try N. 43826 y/n> y 43827 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth?state=xxxxxxxxxxxxxxxxxxxxxx 43828 Log in and authorize rclone for access 43829 Waiting for code... 43830 Got code 43831 -------------------- 43832 [remote] 43833 type = hidrive 43834 token = {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]expiry\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxx\[dq]} 43835 -------------------- 43836 y) Yes this is OK (default) 43837 e) Edit this remote 43838 d) Delete this remote 43839 y/e/d> y 43840 \f[R] 43841 .fi 43842 .PP 43843 \f[B]You should be aware that OAuth-tokens can be used to access your 43844 account and hence should not be shared with other persons.\f[R] See the 43845 below section for more information. 43846 .PP 43847 See the remote setup docs (https://rclone.org/remote_setup/) for how to 43848 set it up on a machine with no Internet browser available. 43849 .PP 43850 Note that rclone runs a webserver on your local machine to collect the 43851 token as returned from HiDrive. 43852 This only runs from the moment it opens your browser to the moment you 43853 get back the verification code. 43854 The webserver runs on \f[C]http://127.0.0.1:53682/\f[R]. 43855 If local port \f[C]53682\f[R] is protected by a firewall you may need to 43856 temporarily unblock the firewall to complete authorization. 43857 .PP 43858 Once configured you can then use \f[C]rclone\f[R] like this, 43859 .PP 43860 List directories in top level of your HiDrive root folder 43861 .IP 43862 .nf 43863 \f[C] 43864 rclone lsd remote: 43865 \f[R] 43866 .fi 43867 .PP 43868 List all the files in your HiDrive filesystem 43869 .IP 43870 .nf 43871 \f[C] 43872 rclone ls remote: 43873 \f[R] 43874 .fi 43875 .PP 43876 To copy a local directory to a HiDrive directory called backup 43877 .IP 43878 .nf 43879 \f[C] 43880 rclone copy /home/source remote:backup 43881 \f[R] 43882 .fi 43883 .SS Keeping your tokens safe 43884 .PP 43885 Any OAuth-tokens will be stored by rclone in the remote\[aq]s 43886 configuration file as unencrypted text. 43887 Anyone can use a valid refresh-token to access your HiDrive filesystem 43888 without knowing your password. 43889 Therefore you should make sure no one else can access your 43890 configuration. 43891 .PP 43892 It is possible to encrypt rclone\[aq]s configuration file. 43893 You can find information on securing your configuration file by viewing 43894 the configuration encryption 43895 docs (https://rclone.org/docs/#configuration-encryption). 43896 .SS Invalid refresh token 43897 .PP 43898 As can be verified here (https://developer.hidrive.com/basics-flows/), 43899 each \f[C]refresh_token\f[R] (for Native Applications) is valid for 60 43900 days. 43901 If used to access HiDrivei, its validity will be automatically extended. 43902 .PP 43903 This means that if you 43904 .IP \[bu] 2 43905 Don\[aq]t use the HiDrive remote for 60 days 43906 .PP 43907 then rclone will return an error which includes a text that implies the 43908 refresh token is \f[I]invalid\f[R] or \f[I]expired\f[R]. 43909 .PP 43910 To fix this you will need to authorize rclone to access your HiDrive 43911 account again. 43912 .PP 43913 Using 43914 .IP 43915 .nf 43916 \f[C] 43917 rclone config reconnect remote: 43918 \f[R] 43919 .fi 43920 .PP 43921 the process is very similar to the process of initial setup exemplified 43922 before. 43923 .SS Modified time and hashes 43924 .PP 43925 HiDrive allows modification times to be set on objects accurate to 1 43926 second. 43927 .PP 43928 HiDrive supports its own hash type (https://static.hidrive.com/dev/0001) 43929 which is used to verify the integrity of file contents after successful 43930 transfers. 43931 .SS Restricted filename characters 43932 .PP 43933 HiDrive cannot store files or folders that include \f[C]/\f[R] (0x2F) or 43934 null-bytes (0x00) in their name. 43935 Any other characters can be used in the names of files or folders. 43936 Additionally, files or folders cannot be named either of the following: 43937 \f[C].\f[R] or \f[C]..\f[R] 43938 .PP 43939 Therefore rclone will automatically replace these characters, if files 43940 or folders are stored or accessed with such names. 43941 .PP 43942 You can read about how this filename encoding works in general here. 43943 .PP 43944 Keep in mind that HiDrive only supports file or folder names with a 43945 length of 255 characters or less. 43946 .SS Transfers 43947 .PP 43948 HiDrive limits file sizes per single request to a maximum of 2 GiB. 43949 To allow storage of larger files and allow for better upload 43950 performance, the hidrive backend will use a chunked transfer for files 43951 larger than 96 MiB. 43952 Rclone will upload multiple parts/chunks of the file at the same time. 43953 Chunks in the process of being uploaded are buffered in memory, so you 43954 may want to restrict this behaviour on systems with limited resources. 43955 .PP 43956 You can customize this behaviour using the following options: 43957 .IP \[bu] 2 43958 \f[C]chunk_size\f[R]: size of file parts 43959 .IP \[bu] 2 43960 \f[C]upload_cutoff\f[R]: files larger or equal to this in size will use 43961 a chunked transfer 43962 .IP \[bu] 2 43963 \f[C]upload_concurrency\f[R]: number of file-parts to upload at the same 43964 time 43965 .PP 43966 See the below section about configuration options for more details. 43967 .SS Root folder 43968 .PP 43969 You can set the root folder for rclone. 43970 This is the directory that rclone considers to be the root of your 43971 HiDrive. 43972 .PP 43973 Usually, you will leave this blank, and rclone will use the root of the 43974 account. 43975 .PP 43976 However, you can set this to restrict rclone to a specific folder 43977 hierarchy. 43978 .PP 43979 This works by prepending the contents of the \f[C]root_prefix\f[R] 43980 option to any paths accessed by rclone. 43981 For example, the following two ways to access the home directory are 43982 equivalent: 43983 .IP 43984 .nf 43985 \f[C] 43986 rclone lsd --hidrive-root-prefix=\[dq]/users/test/\[dq] remote:path 43987 43988 rclone lsd remote:/users/test/path 43989 \f[R] 43990 .fi 43991 .PP 43992 See the below section about configuration options for more details. 43993 .SS Directory member count 43994 .PP 43995 By default, rclone will know the number of directory members contained 43996 in a directory. 43997 For example, \f[C]rclone lsd\f[R] uses this information. 43998 .PP 43999 The acquisition of this information will result in additional time costs 44000 for HiDrive\[aq]s API. 44001 When dealing with large directory structures, it may be desirable to 44002 circumvent this time cost, especially when this information is not 44003 explicitly needed. 44004 For this, the \f[C]disable_fetching_member_count\f[R] option can be 44005 used. 44006 .PP 44007 See the below section about configuration options for more details. 44008 .SS Standard options 44009 .PP 44010 Here are the Standard options specific to hidrive (HiDrive). 44011 .SS --hidrive-client-id 44012 .PP 44013 OAuth Client Id. 44014 .PP 44015 Leave blank normally. 44016 .PP 44017 Properties: 44018 .IP \[bu] 2 44019 Config: client_id 44020 .IP \[bu] 2 44021 Env Var: RCLONE_HIDRIVE_CLIENT_ID 44022 .IP \[bu] 2 44023 Type: string 44024 .IP \[bu] 2 44025 Required: false 44026 .SS --hidrive-client-secret 44027 .PP 44028 OAuth Client Secret. 44029 .PP 44030 Leave blank normally. 44031 .PP 44032 Properties: 44033 .IP \[bu] 2 44034 Config: client_secret 44035 .IP \[bu] 2 44036 Env Var: RCLONE_HIDRIVE_CLIENT_SECRET 44037 .IP \[bu] 2 44038 Type: string 44039 .IP \[bu] 2 44040 Required: false 44041 .SS --hidrive-scope-access 44042 .PP 44043 Access permissions that rclone should use when requesting access from 44044 HiDrive. 44045 .PP 44046 Properties: 44047 .IP \[bu] 2 44048 Config: scope_access 44049 .IP \[bu] 2 44050 Env Var: RCLONE_HIDRIVE_SCOPE_ACCESS 44051 .IP \[bu] 2 44052 Type: string 44053 .IP \[bu] 2 44054 Default: \[dq]rw\[dq] 44055 .IP \[bu] 2 44056 Examples: 44057 .RS 2 44058 .IP \[bu] 2 44059 \[dq]rw\[dq] 44060 .RS 2 44061 .IP \[bu] 2 44062 Read and write access to resources. 44063 .RE 44064 .IP \[bu] 2 44065 \[dq]ro\[dq] 44066 .RS 2 44067 .IP \[bu] 2 44068 Read-only access to resources. 44069 .RE 44070 .RE 44071 .SS Advanced options 44072 .PP 44073 Here are the Advanced options specific to hidrive (HiDrive). 44074 .SS --hidrive-token 44075 .PP 44076 OAuth Access Token as a JSON blob. 44077 .PP 44078 Properties: 44079 .IP \[bu] 2 44080 Config: token 44081 .IP \[bu] 2 44082 Env Var: RCLONE_HIDRIVE_TOKEN 44083 .IP \[bu] 2 44084 Type: string 44085 .IP \[bu] 2 44086 Required: false 44087 .SS --hidrive-auth-url 44088 .PP 44089 Auth server URL. 44090 .PP 44091 Leave blank to use the provider defaults. 44092 .PP 44093 Properties: 44094 .IP \[bu] 2 44095 Config: auth_url 44096 .IP \[bu] 2 44097 Env Var: RCLONE_HIDRIVE_AUTH_URL 44098 .IP \[bu] 2 44099 Type: string 44100 .IP \[bu] 2 44101 Required: false 44102 .SS --hidrive-token-url 44103 .PP 44104 Token server url. 44105 .PP 44106 Leave blank to use the provider defaults. 44107 .PP 44108 Properties: 44109 .IP \[bu] 2 44110 Config: token_url 44111 .IP \[bu] 2 44112 Env Var: RCLONE_HIDRIVE_TOKEN_URL 44113 .IP \[bu] 2 44114 Type: string 44115 .IP \[bu] 2 44116 Required: false 44117 .SS --hidrive-scope-role 44118 .PP 44119 User-level that rclone should use when requesting access from HiDrive. 44120 .PP 44121 Properties: 44122 .IP \[bu] 2 44123 Config: scope_role 44124 .IP \[bu] 2 44125 Env Var: RCLONE_HIDRIVE_SCOPE_ROLE 44126 .IP \[bu] 2 44127 Type: string 44128 .IP \[bu] 2 44129 Default: \[dq]user\[dq] 44130 .IP \[bu] 2 44131 Examples: 44132 .RS 2 44133 .IP \[bu] 2 44134 \[dq]user\[dq] 44135 .RS 2 44136 .IP \[bu] 2 44137 User-level access to management permissions. 44138 .IP \[bu] 2 44139 This will be sufficient in most cases. 44140 .RE 44141 .IP \[bu] 2 44142 \[dq]admin\[dq] 44143 .RS 2 44144 .IP \[bu] 2 44145 Extensive access to management permissions. 44146 .RE 44147 .IP \[bu] 2 44148 \[dq]owner\[dq] 44149 .RS 2 44150 .IP \[bu] 2 44151 Full access to management permissions. 44152 .RE 44153 .RE 44154 .SS --hidrive-root-prefix 44155 .PP 44156 The root/parent folder for all paths. 44157 .PP 44158 Fill in to use the specified folder as the parent for all paths given to 44159 the remote. 44160 This way rclone can use any folder as its starting point. 44161 .PP 44162 Properties: 44163 .IP \[bu] 2 44164 Config: root_prefix 44165 .IP \[bu] 2 44166 Env Var: RCLONE_HIDRIVE_ROOT_PREFIX 44167 .IP \[bu] 2 44168 Type: string 44169 .IP \[bu] 2 44170 Default: \[dq]/\[dq] 44171 .IP \[bu] 2 44172 Examples: 44173 .RS 2 44174 .IP \[bu] 2 44175 \[dq]/\[dq] 44176 .RS 2 44177 .IP \[bu] 2 44178 The topmost directory accessible by rclone. 44179 .IP \[bu] 2 44180 This will be equivalent with \[dq]root\[dq] if rclone uses a regular 44181 HiDrive user account. 44182 .RE 44183 .IP \[bu] 2 44184 \[dq]root\[dq] 44185 .RS 2 44186 .IP \[bu] 2 44187 The topmost directory of the HiDrive user account 44188 .RE 44189 .IP \[bu] 2 44190 \[dq]\[dq] 44191 .RS 2 44192 .IP \[bu] 2 44193 This specifies that there is no root-prefix for your paths. 44194 .IP \[bu] 2 44195 When using this you will always need to specify paths to this remote 44196 with a valid parent e.g. 44197 \[dq]remote:/path/to/dir\[dq] or \[dq]remote:root/path/to/dir\[dq]. 44198 .RE 44199 .RE 44200 .SS --hidrive-endpoint 44201 .PP 44202 Endpoint for the service. 44203 .PP 44204 This is the URL that API-calls will be made to. 44205 .PP 44206 Properties: 44207 .IP \[bu] 2 44208 Config: endpoint 44209 .IP \[bu] 2 44210 Env Var: RCLONE_HIDRIVE_ENDPOINT 44211 .IP \[bu] 2 44212 Type: string 44213 .IP \[bu] 2 44214 Default: \[dq]https://api.hidrive.strato.com/2.1\[dq] 44215 .SS --hidrive-disable-fetching-member-count 44216 .PP 44217 Do not fetch number of objects in directories unless it is absolutely 44218 necessary. 44219 .PP 44220 Requests may be faster if the number of objects in subdirectories is not 44221 fetched. 44222 .PP 44223 Properties: 44224 .IP \[bu] 2 44225 Config: disable_fetching_member_count 44226 .IP \[bu] 2 44227 Env Var: RCLONE_HIDRIVE_DISABLE_FETCHING_MEMBER_COUNT 44228 .IP \[bu] 2 44229 Type: bool 44230 .IP \[bu] 2 44231 Default: false 44232 .SS --hidrive-chunk-size 44233 .PP 44234 Chunksize for chunked uploads. 44235 .PP 44236 Any files larger than the configured cutoff (or files of unknown size) 44237 will be uploaded in chunks of this size. 44238 .PP 44239 The upper limit for this is 2147483647 bytes (about 2.000Gi). 44240 That is the maximum amount of bytes a single upload-operation will 44241 support. 44242 Setting this above the upper limit or to a negative value will cause 44243 uploads to fail. 44244 .PP 44245 Setting this to larger values may increase the upload speed at the cost 44246 of using more memory. 44247 It can be set to smaller values smaller to save on memory. 44248 .PP 44249 Properties: 44250 .IP \[bu] 2 44251 Config: chunk_size 44252 .IP \[bu] 2 44253 Env Var: RCLONE_HIDRIVE_CHUNK_SIZE 44254 .IP \[bu] 2 44255 Type: SizeSuffix 44256 .IP \[bu] 2 44257 Default: 48Mi 44258 .SS --hidrive-upload-cutoff 44259 .PP 44260 Cutoff/Threshold for chunked uploads. 44261 .PP 44262 Any files larger than this will be uploaded in chunks of the configured 44263 chunksize. 44264 .PP 44265 The upper limit for this is 2147483647 bytes (about 2.000Gi). 44266 That is the maximum amount of bytes a single upload-operation will 44267 support. 44268 Setting this above the upper limit will cause uploads to fail. 44269 .PP 44270 Properties: 44271 .IP \[bu] 2 44272 Config: upload_cutoff 44273 .IP \[bu] 2 44274 Env Var: RCLONE_HIDRIVE_UPLOAD_CUTOFF 44275 .IP \[bu] 2 44276 Type: SizeSuffix 44277 .IP \[bu] 2 44278 Default: 96Mi 44279 .SS --hidrive-upload-concurrency 44280 .PP 44281 Concurrency for chunked uploads. 44282 .PP 44283 This is the upper limit for how many transfers for the same file are 44284 running concurrently. 44285 Setting this above to a value smaller than 1 will cause uploads to 44286 deadlock. 44287 .PP 44288 If you are uploading small numbers of large files over high-speed links 44289 and these uploads do not fully utilize your bandwidth, then increasing 44290 this may help to speed up the transfers. 44291 .PP 44292 Properties: 44293 .IP \[bu] 2 44294 Config: upload_concurrency 44295 .IP \[bu] 2 44296 Env Var: RCLONE_HIDRIVE_UPLOAD_CONCURRENCY 44297 .IP \[bu] 2 44298 Type: int 44299 .IP \[bu] 2 44300 Default: 4 44301 .SS --hidrive-encoding 44302 .PP 44303 The encoding for the backend. 44304 .PP 44305 See the encoding section in the 44306 overview (https://rclone.org/overview/#encoding) for more info. 44307 .PP 44308 Properties: 44309 .IP \[bu] 2 44310 Config: encoding 44311 .IP \[bu] 2 44312 Env Var: RCLONE_HIDRIVE_ENCODING 44313 .IP \[bu] 2 44314 Type: MultiEncoder 44315 .IP \[bu] 2 44316 Default: Slash,Dot 44317 .SS Limitations 44318 .SS Symbolic links 44319 .PP 44320 HiDrive is able to store symbolic links (\f[I]symlinks\f[R]) by design, 44321 for example, when unpacked from a zip archive. 44322 .PP 44323 There exists no direct mechanism to manage native symlinks in remotes. 44324 As such this implementation has chosen to ignore any native symlinks 44325 present in the remote. 44326 rclone will not be able to access or show any symlinks stored in the 44327 hidrive-remote. 44328 This means symlinks cannot be individually removed, copied, or moved, 44329 except when removing, copying, or moving the parent folder. 44330 .PP 44331 \f[I]This does not affect the \f[CI].rclonelink\f[I]-files that rclone 44332 uses to encode and store symbolic links.\f[R] 44333 .SS Sparse files 44334 .PP 44335 It is possible to store sparse files in HiDrive. 44336 .PP 44337 Note that copying a sparse file will expand the holes into null-byte 44338 (0x00) regions that will then consume disk space. 44339 Likewise, when downloading a sparse file, the resulting file will have 44340 null-byte regions in the place of file holes. 44341 .SH HTTP 44342 .PP 44343 The HTTP remote is a read only remote for reading files of a webserver. 44344 The webserver should provide file listings which rclone will read and 44345 turn into a remote. 44346 This has been tested with common webservers such as Apache/Nginx/Caddy 44347 and will likely work with file listings from most web servers. 44348 (If it doesn\[aq]t then please file an issue, or send a pull request!) 44349 .PP 44350 Paths are specified as \f[C]remote:\f[R] or \f[C]remote:path\f[R]. 44351 .PP 44352 The \f[C]remote:\f[R] represents the configured url, and any path 44353 following it will be resolved relative to this url, according to the URL 44354 standard. 44355 This means with remote url \f[C]https://beta.rclone.org/branch\f[R] and 44356 path \f[C]fix\f[R], the resolved URL will be 44357 \f[C]https://beta.rclone.org/branch/fix\f[R], while with path 44358 \f[C]/fix\f[R] the resolved URL will be 44359 \f[C]https://beta.rclone.org/fix\f[R] as the absolute path is resolved 44360 from the root of the domain. 44361 .PP 44362 If the path following the \f[C]remote:\f[R] ends with \f[C]/\f[R] it 44363 will be assumed to point to a directory. 44364 If the path does not end with \f[C]/\f[R], then a HEAD request is sent 44365 and the response used to decide if it it is treated as a file or a 44366 directory (run with \f[C]-vv\f[R] to see details). 44367 When --http-no-head is specified, a path without ending \f[C]/\f[R] is 44368 always assumed to be a file. 44369 If rclone incorrectly assumes the path is a file, the solution is to 44370 specify the path with ending \f[C]/\f[R]. 44371 When you know the path is a directory, ending it with \f[C]/\f[R] is 44372 always better as it avoids the initial HEAD request. 44373 .PP 44374 To just download a single file it is easier to use 44375 copyurl (https://rclone.org/commands/rclone_copyurl/). 44376 .SS Configuration 44377 .PP 44378 Here is an example of how to make a remote called \f[C]remote\f[R]. 44379 First run: 44380 .IP 44381 .nf 44382 \f[C] 44383 rclone config 44384 \f[R] 44385 .fi 44386 .PP 44387 This will guide you through an interactive setup process: 44388 .IP 44389 .nf 44390 \f[C] 44391 No remotes found, make a new one? 44392 n) New remote 44393 s) Set configuration password 44394 q) Quit config 44395 n/s/q> n 44396 name> remote 44397 Type of storage to configure. 44398 Choose a number from below, or type in your own value 44399 [snip] 44400 XX / HTTP 44401 \[rs] \[dq]http\[dq] 44402 [snip] 44403 Storage> http 44404 URL of http host to connect to 44405 Choose a number from below, or type in your own value 44406 1 / Connect to example.com 44407 \[rs] \[dq]https://example.com\[dq] 44408 url> https://beta.rclone.org 44409 Remote config 44410 -------------------- 44411 [remote] 44412 url = https://beta.rclone.org 44413 -------------------- 44414 y) Yes this is OK 44415 e) Edit this remote 44416 d) Delete this remote 44417 y/e/d> y 44418 Current remotes: 44419 44420 Name Type 44421 ==== ==== 44422 remote http 44423 44424 e) Edit existing remote 44425 n) New remote 44426 d) Delete remote 44427 r) Rename remote 44428 c) Copy remote 44429 s) Set configuration password 44430 q) Quit config 44431 e/n/d/r/c/s/q> q 44432 \f[R] 44433 .fi 44434 .PP 44435 This remote is called \f[C]remote\f[R] and can now be used like this 44436 .PP 44437 See all the top level directories 44438 .IP 44439 .nf 44440 \f[C] 44441 rclone lsd remote: 44442 \f[R] 44443 .fi 44444 .PP 44445 List the contents of a directory 44446 .IP 44447 .nf 44448 \f[C] 44449 rclone ls remote:directory 44450 \f[R] 44451 .fi 44452 .PP 44453 Sync the remote \f[C]directory\f[R] to \f[C]/home/local/directory\f[R], 44454 deleting any excess files. 44455 .IP 44456 .nf 44457 \f[C] 44458 rclone sync --interactive remote:directory /home/local/directory 44459 \f[R] 44460 .fi 44461 .SS Read only 44462 .PP 44463 This remote is read only - you can\[aq]t upload files to an HTTP server. 44464 .SS Modified time 44465 .PP 44466 Most HTTP servers store time accurate to 1 second. 44467 .SS Checksum 44468 .PP 44469 No checksums are stored. 44470 .SS Usage without a config file 44471 .PP 44472 Since the http remote only has one config parameter it is easy to use 44473 without a config file: 44474 .IP 44475 .nf 44476 \f[C] 44477 rclone lsd --http-url https://beta.rclone.org :http: 44478 \f[R] 44479 .fi 44480 .PP 44481 or: 44482 .IP 44483 .nf 44484 \f[C] 44485 rclone lsd :http,url=\[aq]https://beta.rclone.org\[aq]: 44486 \f[R] 44487 .fi 44488 .SS Standard options 44489 .PP 44490 Here are the Standard options specific to http (HTTP). 44491 .SS --http-url 44492 .PP 44493 URL of HTTP host to connect to. 44494 .PP 44495 E.g. 44496 \[dq]https://example.com\[dq], or 44497 \[dq]https://user:pass\[at]example.com\[dq] to use a username and 44498 password. 44499 .PP 44500 Properties: 44501 .IP \[bu] 2 44502 Config: url 44503 .IP \[bu] 2 44504 Env Var: RCLONE_HTTP_URL 44505 .IP \[bu] 2 44506 Type: string 44507 .IP \[bu] 2 44508 Required: true 44509 .SS Advanced options 44510 .PP 44511 Here are the Advanced options specific to http (HTTP). 44512 .SS --http-headers 44513 .PP 44514 Set HTTP headers for all transactions. 44515 .PP 44516 Use this to set additional HTTP headers for all transactions. 44517 .PP 44518 The input format is comma separated list of key,value pairs. 44519 Standard CSV encoding (https://godoc.org/encoding/csv) may be used. 44520 .PP 44521 For example, to set a Cookie use \[aq]Cookie,name=value\[aq], or 44522 \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq]\[aq]. 44523 .PP 44524 You can set multiple headers, e.g. 44525 \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq],\[dq]Authorization\[dq],\[dq]xxx\[dq]\[aq]. 44526 .PP 44527 Properties: 44528 .IP \[bu] 2 44529 Config: headers 44530 .IP \[bu] 2 44531 Env Var: RCLONE_HTTP_HEADERS 44532 .IP \[bu] 2 44533 Type: CommaSepList 44534 .IP \[bu] 2 44535 Default: 44536 .SS --http-no-slash 44537 .PP 44538 Set this if the site doesn\[aq]t end directories with /. 44539 .PP 44540 Use this if your target website does not use / on the end of 44541 directories. 44542 .PP 44543 A / on the end of a path is how rclone normally tells the difference 44544 between files and directories. 44545 If this flag is set, then rclone will treat all files with Content-Type: 44546 text/html as directories and read URLs from them rather than downloading 44547 them. 44548 .PP 44549 Note that this may cause rclone to confuse genuine HTML files with 44550 directories. 44551 .PP 44552 Properties: 44553 .IP \[bu] 2 44554 Config: no_slash 44555 .IP \[bu] 2 44556 Env Var: RCLONE_HTTP_NO_SLASH 44557 .IP \[bu] 2 44558 Type: bool 44559 .IP \[bu] 2 44560 Default: false 44561 .SS --http-no-head 44562 .PP 44563 Don\[aq]t use HEAD requests. 44564 .PP 44565 HEAD requests are mainly used to find file sizes in dir listing. 44566 If your site is being very slow to load then you can try this option. 44567 Normally rclone does a HEAD request for each potential file in a 44568 directory listing to: 44569 .IP \[bu] 2 44570 find its size 44571 .IP \[bu] 2 44572 check it really exists 44573 .IP \[bu] 2 44574 check to see if it is a directory 44575 .PP 44576 If you set this option, rclone will not do the HEAD request. 44577 This will mean that directory listings are much quicker, but rclone 44578 won\[aq]t have the times or sizes of any files, and some files that 44579 don\[aq]t exist may be in the listing. 44580 .PP 44581 Properties: 44582 .IP \[bu] 2 44583 Config: no_head 44584 .IP \[bu] 2 44585 Env Var: RCLONE_HTTP_NO_HEAD 44586 .IP \[bu] 2 44587 Type: bool 44588 .IP \[bu] 2 44589 Default: false 44590 .SS Limitations 44591 .PP 44592 \f[C]rclone about\f[R] is not supported by the HTTP backend. 44593 Backends without this capability cannot determine free space for an 44594 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 44595 of an rclone union remote. 44596 .PP 44597 See List of backends that do not support rclone 44598 about (https://rclone.org/overview/#optional-features) and rclone 44599 about (https://rclone.org/commands/rclone_about/) 44600 .SH Internet Archive 44601 .PP 44602 The Internet Archive backend utilizes Items on 44603 archive.org (https://archive.org/) 44604 .PP 44605 Refer to IAS3 API 44606 documentation (https://archive.org/services/docs/api/ias3.html) for the 44607 API this backend uses. 44608 .PP 44609 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 44610 the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 44611 \f[C]remote:item/path/to/dir\f[R]. 44612 .PP 44613 Unlike S3, listing up all items uploaded by you isn\[aq]t supported. 44614 .PP 44615 Once you have made a remote, you can use it like this: 44616 .PP 44617 Make a new item 44618 .IP 44619 .nf 44620 \f[C] 44621 rclone mkdir remote:item 44622 \f[R] 44623 .fi 44624 .PP 44625 List the contents of a item 44626 .IP 44627 .nf 44628 \f[C] 44629 rclone ls remote:item 44630 \f[R] 44631 .fi 44632 .PP 44633 Sync \f[C]/home/local/directory\f[R] to the remote item, deleting any 44634 excess files in the item. 44635 .IP 44636 .nf 44637 \f[C] 44638 rclone sync --interactive /home/local/directory remote:item 44639 \f[R] 44640 .fi 44641 .SS Notes 44642 .PP 44643 Because of Internet Archive\[aq]s architecture, it enqueues write 44644 operations (and extra post-processings) in a per-item queue. 44645 You can check item\[aq]s queue at 44646 https://catalogd.archive.org/history/item-name-here . 44647 Because of that, all uploads/deletes will not show up immediately and 44648 takes some time to be available. 44649 The per-item queue is enqueued to an another queue, Item Deriver Queue. 44650 You can check the status of Item Deriver Queue 44651 here. (https://catalogd.archive.org/catalog.php?whereami=1) This queue 44652 has a limit, and it may block you from uploading, or even deleting. 44653 You should avoid uploading a lot of small files for better behavior. 44654 .PP 44655 You can optionally wait for the server\[aq]s processing to finish, by 44656 setting non-zero value to \f[C]wait_archive\f[R] key. 44657 By making it wait, rclone can do normal file comparison. 44658 Make sure to set a large enough value (e.g. 44659 \f[C]30m0s\f[R] for smaller files) as it can take a long time depending 44660 on server\[aq]s queue. 44661 .SS About metadata 44662 .PP 44663 This backend supports setting, updating and reading metadata of each 44664 file. 44665 The metadata will appear as file metadata on Internet Archive. 44666 However, some fields are reserved by both Internet Archive and rclone. 44667 .PP 44668 The following are reserved by Internet Archive: - \f[C]name\f[R] - 44669 \f[C]source\f[R] - \f[C]size\f[R] - \f[C]md5\f[R] - \f[C]crc32\f[R] - 44670 \f[C]sha1\f[R] - \f[C]format\f[R] - \f[C]old_version\f[R] - 44671 \f[C]viruscheck\f[R] - \f[C]summation\f[R] 44672 .PP 44673 Trying to set values to these keys is ignored with a warning. 44674 Only setting \f[C]mtime\f[R] is an exception. 44675 Doing so make it the identical behavior as setting ModTime. 44676 .PP 44677 rclone reserves all the keys starting with \f[C]rclone-\f[R]. 44678 Setting value for these keys will give you warnings, but values are set 44679 according to request. 44680 .PP 44681 If there are multiple values for a key, only the first one is returned. 44682 This is a limitation of rclone, that supports one value per one key. 44683 It can be triggered when you did a server-side copy. 44684 .PP 44685 Reading metadata will also provide custom (non-standard nor reserved) 44686 ones. 44687 .SS Filtering auto generated files 44688 .PP 44689 The Internet Archive automatically creates metadata files after upload. 44690 These can cause problems when doing an \f[C]rclone sync\f[R] as rclone 44691 will try, and fail, to delete them. 44692 These metadata files are not changeable, as they are created by the 44693 Internet Archive automatically. 44694 .PP 44695 These auto-created files can be excluded from the sync using metadata 44696 filtering (https://rclone.org/filtering/#metadata). 44697 .IP 44698 .nf 44699 \f[C] 44700 rclone sync ... --metadata-exclude \[dq]source=metadata\[dq] --metadata-exclude \[dq]format=Metadata\[dq] 44701 \f[R] 44702 .fi 44703 .PP 44704 Which excludes from the sync any files which have the 44705 \f[C]source=metadata\f[R] or \f[C]format=Metadata\f[R] flags which are 44706 added to Internet Archive auto-created files. 44707 .SS Configuration 44708 .PP 44709 Here is an example of making an internetarchive configuration. 44710 Most applies to the other providers as well, any differences are 44711 described below. 44712 .PP 44713 First run 44714 .IP 44715 .nf 44716 \f[C] 44717 rclone config 44718 \f[R] 44719 .fi 44720 .PP 44721 This will guide you through an interactive setup process. 44722 .IP 44723 .nf 44724 \f[C] 44725 No remotes found, make a new one? 44726 n) New remote 44727 s) Set configuration password 44728 q) Quit config 44729 n/s/q> n 44730 name> remote 44731 Option Storage. 44732 Type of storage to configure. 44733 Choose a number from below, or type in your own value. 44734 XX / InternetArchive Items 44735 \[rs] (internetarchive) 44736 Storage> internetarchive 44737 Option access_key_id. 44738 IAS3 Access Key. 44739 Leave blank for anonymous access. 44740 You can find one here: https://archive.org/account/s3.php 44741 Enter a value. Press Enter to leave empty. 44742 access_key_id> XXXX 44743 Option secret_access_key. 44744 IAS3 Secret Key (password). 44745 Leave blank for anonymous access. 44746 Enter a value. Press Enter to leave empty. 44747 secret_access_key> XXXX 44748 Edit advanced config? 44749 y) Yes 44750 n) No (default) 44751 y/n> y 44752 Option endpoint. 44753 IAS3 Endpoint. 44754 Leave blank for default value. 44755 Enter a string value. Press Enter for the default (https://s3.us.archive.org). 44756 endpoint> 44757 Option front_endpoint. 44758 Host of InternetArchive Frontend. 44759 Leave blank for default value. 44760 Enter a string value. Press Enter for the default (https://archive.org). 44761 front_endpoint> 44762 Option disable_checksum. 44763 Don\[aq]t store MD5 checksum with object metadata. 44764 Normally rclone will calculate the MD5 checksum of the input before 44765 uploading it so it can ask the server to check the object against checksum. 44766 This is great for data integrity checking but can cause long delays for 44767 large files to start uploading. 44768 Enter a boolean value (true or false). Press Enter for the default (true). 44769 disable_checksum> true 44770 Option encoding. 44771 The encoding for the backend. 44772 See the [encoding section in the overview](https://rclone.org/overview/#encoding) for more info. 44773 Enter a encoder.MultiEncoder value. Press Enter for the default (Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot). 44774 encoding> 44775 Edit advanced config? 44776 y) Yes 44777 n) No (default) 44778 y/n> n 44779 -------------------- 44780 [remote] 44781 type = internetarchive 44782 access_key_id = XXXX 44783 secret_access_key = XXXX 44784 -------------------- 44785 y) Yes this is OK (default) 44786 e) Edit this remote 44787 d) Delete this remote 44788 y/e/d> y 44789 \f[R] 44790 .fi 44791 .SS Standard options 44792 .PP 44793 Here are the Standard options specific to internetarchive (Internet 44794 Archive). 44795 .SS --internetarchive-access-key-id 44796 .PP 44797 IAS3 Access Key. 44798 .PP 44799 Leave blank for anonymous access. 44800 You can find one here: https://archive.org/account/s3.php 44801 .PP 44802 Properties: 44803 .IP \[bu] 2 44804 Config: access_key_id 44805 .IP \[bu] 2 44806 Env Var: RCLONE_INTERNETARCHIVE_ACCESS_KEY_ID 44807 .IP \[bu] 2 44808 Type: string 44809 .IP \[bu] 2 44810 Required: false 44811 .SS --internetarchive-secret-access-key 44812 .PP 44813 IAS3 Secret Key (password). 44814 .PP 44815 Leave blank for anonymous access. 44816 .PP 44817 Properties: 44818 .IP \[bu] 2 44819 Config: secret_access_key 44820 .IP \[bu] 2 44821 Env Var: RCLONE_INTERNETARCHIVE_SECRET_ACCESS_KEY 44822 .IP \[bu] 2 44823 Type: string 44824 .IP \[bu] 2 44825 Required: false 44826 .SS Advanced options 44827 .PP 44828 Here are the Advanced options specific to internetarchive (Internet 44829 Archive). 44830 .SS --internetarchive-endpoint 44831 .PP 44832 IAS3 Endpoint. 44833 .PP 44834 Leave blank for default value. 44835 .PP 44836 Properties: 44837 .IP \[bu] 2 44838 Config: endpoint 44839 .IP \[bu] 2 44840 Env Var: RCLONE_INTERNETARCHIVE_ENDPOINT 44841 .IP \[bu] 2 44842 Type: string 44843 .IP \[bu] 2 44844 Default: \[dq]https://s3.us.archive.org\[dq] 44845 .SS --internetarchive-front-endpoint 44846 .PP 44847 Host of InternetArchive Frontend. 44848 .PP 44849 Leave blank for default value. 44850 .PP 44851 Properties: 44852 .IP \[bu] 2 44853 Config: front_endpoint 44854 .IP \[bu] 2 44855 Env Var: RCLONE_INTERNETARCHIVE_FRONT_ENDPOINT 44856 .IP \[bu] 2 44857 Type: string 44858 .IP \[bu] 2 44859 Default: \[dq]https://archive.org\[dq] 44860 .SS --internetarchive-disable-checksum 44861 .PP 44862 Don\[aq]t ask the server to test against MD5 checksum calculated by 44863 rclone. 44864 Normally rclone will calculate the MD5 checksum of the input before 44865 uploading it so it can ask the server to check the object against 44866 checksum. 44867 This is great for data integrity checking but can cause long delays for 44868 large files to start uploading. 44869 .PP 44870 Properties: 44871 .IP \[bu] 2 44872 Config: disable_checksum 44873 .IP \[bu] 2 44874 Env Var: RCLONE_INTERNETARCHIVE_DISABLE_CHECKSUM 44875 .IP \[bu] 2 44876 Type: bool 44877 .IP \[bu] 2 44878 Default: true 44879 .SS --internetarchive-wait-archive 44880 .PP 44881 Timeout for waiting the server\[aq]s processing tasks (specifically 44882 archive and book_op) to finish. 44883 Only enable if you need to be guaranteed to be reflected after write 44884 operations. 44885 0 to disable waiting. 44886 No errors to be thrown in case of timeout. 44887 .PP 44888 Properties: 44889 .IP \[bu] 2 44890 Config: wait_archive 44891 .IP \[bu] 2 44892 Env Var: RCLONE_INTERNETARCHIVE_WAIT_ARCHIVE 44893 .IP \[bu] 2 44894 Type: Duration 44895 .IP \[bu] 2 44896 Default: 0s 44897 .SS --internetarchive-encoding 44898 .PP 44899 The encoding for the backend. 44900 .PP 44901 See the encoding section in the 44902 overview (https://rclone.org/overview/#encoding) for more info. 44903 .PP 44904 Properties: 44905 .IP \[bu] 2 44906 Config: encoding 44907 .IP \[bu] 2 44908 Env Var: RCLONE_INTERNETARCHIVE_ENCODING 44909 .IP \[bu] 2 44910 Type: MultiEncoder 44911 .IP \[bu] 2 44912 Default: Slash,LtGt,CrLf,Del,Ctl,InvalidUtf8,Dot 44913 .SS Metadata 44914 .PP 44915 Metadata fields provided by Internet Archive. 44916 If there are multiple values for a key, only the first one is returned. 44917 This is a limitation of Rclone, that supports one value per one key. 44918 .PP 44919 Owner is able to add custom keys. 44920 Metadata feature grabs all the keys including them. 44921 .PP 44922 Here are the possible system metadata items for the internetarchive 44923 backend. 44924 .PP 44925 .TS 44926 tab(@); 44927 lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n). 44928 T{ 44929 Name 44930 T}@T{ 44931 Help 44932 T}@T{ 44933 Type 44934 T}@T{ 44935 Example 44936 T}@T{ 44937 Read Only 44938 T} 44939 _ 44940 T{ 44941 crc32 44942 T}@T{ 44943 CRC32 calculated by Internet Archive 44944 T}@T{ 44945 string 44946 T}@T{ 44947 01234567 44948 T}@T{ 44949 \f[B]Y\f[R] 44950 T} 44951 T{ 44952 format 44953 T}@T{ 44954 Name of format identified by Internet Archive 44955 T}@T{ 44956 string 44957 T}@T{ 44958 Comma-Separated Values 44959 T}@T{ 44960 \f[B]Y\f[R] 44961 T} 44962 T{ 44963 md5 44964 T}@T{ 44965 MD5 hash calculated by Internet Archive 44966 T}@T{ 44967 string 44968 T}@T{ 44969 01234567012345670123456701234567 44970 T}@T{ 44971 \f[B]Y\f[R] 44972 T} 44973 T{ 44974 mtime 44975 T}@T{ 44976 Time of last modification, managed by Rclone 44977 T}@T{ 44978 RFC 3339 44979 T}@T{ 44980 2006-01-02T15:04:05.999999999Z 44981 T}@T{ 44982 \f[B]Y\f[R] 44983 T} 44984 T{ 44985 name 44986 T}@T{ 44987 Full file path, without the bucket part 44988 T}@T{ 44989 filename 44990 T}@T{ 44991 backend/internetarchive/internetarchive.go 44992 T}@T{ 44993 \f[B]Y\f[R] 44994 T} 44995 T{ 44996 old_version 44997 T}@T{ 44998 Whether the file was replaced and moved by keep-old-version flag 44999 T}@T{ 45000 boolean 45001 T}@T{ 45002 true 45003 T}@T{ 45004 \f[B]Y\f[R] 45005 T} 45006 T{ 45007 rclone-ia-mtime 45008 T}@T{ 45009 Time of last modification, managed by Internet Archive 45010 T}@T{ 45011 RFC 3339 45012 T}@T{ 45013 2006-01-02T15:04:05.999999999Z 45014 T}@T{ 45015 N 45016 T} 45017 T{ 45018 rclone-mtime 45019 T}@T{ 45020 Time of last modification, managed by Rclone 45021 T}@T{ 45022 RFC 3339 45023 T}@T{ 45024 2006-01-02T15:04:05.999999999Z 45025 T}@T{ 45026 N 45027 T} 45028 T{ 45029 rclone-update-track 45030 T}@T{ 45031 Random value used by Rclone for tracking changes inside Internet Archive 45032 T}@T{ 45033 string 45034 T}@T{ 45035 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 45036 T}@T{ 45037 N 45038 T} 45039 T{ 45040 sha1 45041 T}@T{ 45042 SHA1 hash calculated by Internet Archive 45043 T}@T{ 45044 string 45045 T}@T{ 45046 0123456701234567012345670123456701234567 45047 T}@T{ 45048 \f[B]Y\f[R] 45049 T} 45050 T{ 45051 size 45052 T}@T{ 45053 File size in bytes 45054 T}@T{ 45055 decimal number 45056 T}@T{ 45057 123456 45058 T}@T{ 45059 \f[B]Y\f[R] 45060 T} 45061 T{ 45062 source 45063 T}@T{ 45064 The source of the file 45065 T}@T{ 45066 string 45067 T}@T{ 45068 original 45069 T}@T{ 45070 \f[B]Y\f[R] 45071 T} 45072 T{ 45073 summation 45074 T}@T{ 45075 Check https://forum.rclone.org/t/31922 for how it is used 45076 T}@T{ 45077 string 45078 T}@T{ 45079 md5 45080 T}@T{ 45081 \f[B]Y\f[R] 45082 T} 45083 T{ 45084 viruscheck 45085 T}@T{ 45086 The last time viruscheck process was run for the file (?) 45087 T}@T{ 45088 unixtime 45089 T}@T{ 45090 1654191352 45091 T}@T{ 45092 \f[B]Y\f[R] 45093 T} 45094 .TE 45095 .PP 45096 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 45097 .SH Jottacloud 45098 .PP 45099 Jottacloud is a cloud storage service provider from a Norwegian company, 45100 using its own datacenters in Norway. 45101 In addition to the official service at 45102 jottacloud.com (https://www.jottacloud.com/), it also provides 45103 white-label solutions to different companies, such as: * Telia * Telia 45104 Cloud (cloud.telia.se) * Telia Sky (sky.telia.no) * Tele2 * Tele2 Cloud 45105 (mittcloud.tele2.se) * Elkj\[/o]p (with subsidiaries): * Elkj\[/o]p 45106 Cloud (cloud.elkjop.no) * Elgiganten Sweden (cloud.elgiganten.se) * 45107 Elgiganten Denmark (cloud.elgiganten.dk) * Giganti Cloud 45108 (cloud.gigantti.fi) * ELKO Cloud (cloud.elko.is) 45109 .PP 45110 Most of the white-label versions are supported by this backend, although 45111 may require different authentication setup - described below. 45112 .PP 45113 Paths are specified as \f[C]remote:path\f[R] 45114 .PP 45115 Paths may be as deep as required, e.g. 45116 \f[C]remote:directory/subdirectory\f[R]. 45117 .SS Authentication types 45118 .PP 45119 Some of the whitelabel versions uses a different authentication method 45120 than the official service, and you have to choose the correct one when 45121 setting up the remote. 45122 .SS Standard authentication 45123 .PP 45124 The standard authentication method used by the official service 45125 (jottacloud.com), as well as some of the whitelabel services, requires 45126 you to generate a single-use personal login token from the account 45127 security settings in the service\[aq]s web interface. 45128 Log in to your account, go to \[dq]Settings\[dq] and then 45129 \[dq]Security\[dq], or use the direct link presented to you by rclone 45130 when configuring the remote: <https://www.jottacloud.com/web/secure>. 45131 Scroll down to the section \[dq]Personal login token\[dq], and click the 45132 \[dq]Generate\[dq] button. 45133 Note that if you are using a whitelabel service you probably can\[aq]t 45134 use the direct link, you need to find the same page in their dedicated 45135 web interface, and also it may be in a different location than described 45136 above. 45137 .PP 45138 To access your account from multiple instances of rclone, you need to 45139 configure each of them with a separate personal login token. 45140 E.g. 45141 you create a Jottacloud remote with rclone in one location, and copy the 45142 configuration file to a second location where you also want to run 45143 rclone and access the same remote. 45144 Then you need to replace the token for one of them, using the config 45145 reconnect (https://rclone.org/commands/rclone_config_reconnect/) 45146 command, which requires you to generate a new personal login token and 45147 supply as input. 45148 If you do not do this, the token may easily end up being invalidated, 45149 resulting in both instances failing with an error message something 45150 along the lines of: 45151 .IP 45152 .nf 45153 \f[C] 45154 oauth2: cannot fetch token: 400 Bad Request 45155 Response: {\[dq]error\[dq]:\[dq]invalid_grant\[dq],\[dq]error_description\[dq]:\[dq]Stale token\[dq]} 45156 \f[R] 45157 .fi 45158 .PP 45159 When this happens, you need to replace the token as described above to 45160 be able to use your remote again. 45161 .PP 45162 All personal login tokens you have taken into use will be listed in the 45163 web interface under \[dq]My logged in devices\[dq], and from the right 45164 side of that list you can click the \[dq]X\[dq] button to revoke 45165 individual tokens. 45166 .SS Legacy authentication 45167 .PP 45168 If you are using one of the whitelabel versions (e.g. 45169 from Elkj\[/o]p) you may not have the option to generate a CLI token. 45170 In this case you\[aq]ll have to use the legacy authentication. 45171 To do this select yes when the setup asks for legacy authentication and 45172 enter your username and password. 45173 The rest of the setup is identical to the default setup. 45174 .SS Telia Cloud authentication 45175 .PP 45176 Similar to other whitelabel versions Telia Cloud doesn\[aq]t offer the 45177 option of creating a CLI token, and additionally uses a separate 45178 authentication flow where the username is generated internally. 45179 To setup rclone to use Telia Cloud, choose Telia Cloud authentication in 45180 the setup. 45181 The rest of the setup is identical to the default setup. 45182 .SS Tele2 Cloud authentication 45183 .PP 45184 As Tele2-Com Hem merger was completed this authentication can be used 45185 for former Com Hem Cloud and Tele2 Cloud customers as no support for 45186 creating a CLI token exists, and additionally uses a separate 45187 authentication flow where the username is generated internally. 45188 To setup rclone to use Tele2 Cloud, choose Tele2 Cloud authentication in 45189 the setup. 45190 The rest of the setup is identical to the default setup. 45191 .SS Configuration 45192 .PP 45193 Here is an example of how to make a remote called \f[C]remote\f[R] with 45194 the default setup. 45195 First run: 45196 .IP 45197 .nf 45198 \f[C] 45199 rclone config 45200 \f[R] 45201 .fi 45202 .PP 45203 This will guide you through an interactive setup process: 45204 .IP 45205 .nf 45206 \f[C] 45207 No remotes found, make a new one? 45208 n) New remote 45209 s) Set configuration password 45210 q) Quit config 45211 n/s/q> n 45212 name> remote 45213 Option Storage. 45214 Type of storage to configure. 45215 Choose a number from below, or type in your own value. 45216 [snip] 45217 XX / Jottacloud 45218 \[rs] (jottacloud) 45219 [snip] 45220 Storage> jottacloud 45221 Edit advanced config? 45222 y) Yes 45223 n) No (default) 45224 y/n> n 45225 Option config_type. 45226 Select authentication type. 45227 Choose a number from below, or type in an existing string value. 45228 Press Enter for the default (standard). 45229 / Standard authentication. 45230 1 | Use this if you\[aq]re a normal Jottacloud user. 45231 \[rs] (standard) 45232 / Legacy authentication. 45233 2 | This is only required for certain whitelabel versions of Jottacloud and not recommended for normal users. 45234 \[rs] (legacy) 45235 / Telia Cloud authentication. 45236 3 | Use this if you are using Telia Cloud. 45237 \[rs] (telia) 45238 / Tele2 Cloud authentication. 45239 4 | Use this if you are using Tele2 Cloud. 45240 \[rs] (tele2) 45241 config_type> 1 45242 Personal login token. 45243 Generate here: https://www.jottacloud.com/web/secure 45244 Login Token> <your token here> 45245 Use a non-standard device/mountpoint? 45246 Choosing no, the default, will let you access the storage used for the archive 45247 section of the official Jottacloud client. If you instead want to access the 45248 sync or the backup section, for example, you must choose yes. 45249 y) Yes 45250 n) No (default) 45251 y/n> y 45252 Option config_device. 45253 The device to use. In standard setup the built-in Jotta device is used, 45254 which contains predefined mountpoints for archive, sync etc. All other devices 45255 are treated as backup devices by the official Jottacloud client. You may create 45256 a new by entering a unique name. 45257 Choose a number from below, or type in your own string value. 45258 Press Enter for the default (DESKTOP-3H31129). 45259 1 > DESKTOP-3H31129 45260 2 > Jotta 45261 config_device> 2 45262 Option config_mountpoint. 45263 The mountpoint to use for the built-in device Jotta. 45264 The standard setup is to use the Archive mountpoint. Most other mountpoints 45265 have very limited support in rclone and should generally be avoided. 45266 Choose a number from below, or type in an existing string value. 45267 Press Enter for the default (Archive). 45268 1 > Archive 45269 2 > Shared 45270 3 > Sync 45271 config_mountpoint> 1 45272 -------------------- 45273 [remote] 45274 type = jottacloud 45275 configVersion = 1 45276 client_id = jottacli 45277 client_secret = 45278 tokenURL = https://id.jottacloud.com/auth/realms/jottacloud/protocol/openid-connect/token 45279 token = {........} 45280 username = 2940e57271a93d987d6f8a21 45281 device = Jotta 45282 mountpoint = Archive 45283 -------------------- 45284 y) Yes this is OK (default) 45285 e) Edit this remote 45286 d) Delete this remote 45287 y/e/d> y 45288 \f[R] 45289 .fi 45290 .PP 45291 Once configured you can then use \f[C]rclone\f[R] like this, 45292 .PP 45293 List directories in top level of your Jottacloud 45294 .IP 45295 .nf 45296 \f[C] 45297 rclone lsd remote: 45298 \f[R] 45299 .fi 45300 .PP 45301 List all the files in your Jottacloud 45302 .IP 45303 .nf 45304 \f[C] 45305 rclone ls remote: 45306 \f[R] 45307 .fi 45308 .PP 45309 To copy a local directory to an Jottacloud directory called backup 45310 .IP 45311 .nf 45312 \f[C] 45313 rclone copy /home/source remote:backup 45314 \f[R] 45315 .fi 45316 .SS Devices and Mountpoints 45317 .PP 45318 The official Jottacloud client registers a device for each computer you 45319 install it on, and shows them in the backup section of the user 45320 interface. 45321 For each folder you select for backup it will create a mountpoint within 45322 this device. 45323 A built-in device called Jotta is special, and contains mountpoints 45324 Archive, Sync and some others, used for corresponding features in 45325 official clients. 45326 .PP 45327 With rclone you\[aq]ll want to use the standard Jotta/Archive 45328 device/mountpoint in most cases. 45329 However, you may for example want to access files from the sync or 45330 backup functionality provided by the official clients, and rclone 45331 therefore provides the option to select other devices and mountpoints 45332 during config. 45333 .PP 45334 You are allowed to create new devices and mountpoints. 45335 All devices except the built-in Jotta device are treated as backup 45336 devices by official Jottacloud clients, and the mountpoints on them are 45337 individual backup sets. 45338 .PP 45339 With the built-in Jotta device, only existing, built-in, mountpoints can 45340 be selected. 45341 In addition to the mentioned Archive and Sync, it may contain several 45342 other mountpoints such as: Latest, Links, Shared and Trash. 45343 All of these are special mountpoints with a different internal 45344 representation than the \[dq]regular\[dq] mountpoints. 45345 Rclone will only to a very limited degree support them. 45346 Generally you should avoid these, unless you know what you are doing. 45347 .SS --fast-list 45348 .PP 45349 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 45350 transactions in exchange for more memory. 45351 See the rclone docs (https://rclone.org/docs/#fast-list) for more 45352 details. 45353 .PP 45354 Note that the implementation in Jottacloud always uses only a single API 45355 request to get the entire list, so for large folders this could lead to 45356 long wait time before the first results are shown. 45357 .PP 45358 Note also that with rclone version 1.58 and newer information about MIME 45359 types (https://rclone.org/overview/#mime-type) are not available when 45360 using \f[C]--fast-list\f[R]. 45361 .SS Modified time and hashes 45362 .PP 45363 Jottacloud allows modification times to be set on objects accurate to 1 45364 second. 45365 These will be used to detect whether objects need syncing or not. 45366 .PP 45367 Jottacloud supports MD5 type hashes, so you can use the 45368 \f[C]--checksum\f[R] flag. 45369 .PP 45370 Note that Jottacloud requires the MD5 hash before upload so if the 45371 source does not have an MD5 checksum then the file will be cached 45372 temporarily on disk (in location given by 45373 --temp-dir (https://rclone.org/docs/#temp-dir-dir)) before it is 45374 uploaded. 45375 Small files will be cached in memory - see the 45376 --jottacloud-md5-memory-limit flag. 45377 When uploading from local disk the source checksum is always available, 45378 so this does not apply. 45379 Starting with rclone version 1.52 the same is true for encrypted remotes 45380 (in older versions the crypt backend would not calculate hashes for 45381 uploads from local disk, so the Jottacloud backend had to do it as 45382 described above). 45383 .SS Restricted filename characters 45384 .PP 45385 In addition to the default restricted characters 45386 set (https://rclone.org/overview/#restricted-characters) the following 45387 characters are also replaced: 45388 .PP 45389 .TS 45390 tab(@); 45391 l c c. 45392 T{ 45393 Character 45394 T}@T{ 45395 Value 45396 T}@T{ 45397 Replacement 45398 T} 45399 _ 45400 T{ 45401 \[dq] 45402 T}@T{ 45403 0x22 45404 T}@T{ 45405 \[uFF02] 45406 T} 45407 T{ 45408 * 45409 T}@T{ 45410 0x2A 45411 T}@T{ 45412 \[uFF0A] 45413 T} 45414 T{ 45415 : 45416 T}@T{ 45417 0x3A 45418 T}@T{ 45419 \[uFF1A] 45420 T} 45421 T{ 45422 < 45423 T}@T{ 45424 0x3C 45425 T}@T{ 45426 \[uFF1C] 45427 T} 45428 T{ 45429 > 45430 T}@T{ 45431 0x3E 45432 T}@T{ 45433 \[uFF1E] 45434 T} 45435 T{ 45436 ? 45437 T}@T{ 45438 0x3F 45439 T}@T{ 45440 \[uFF1F] 45441 T} 45442 T{ 45443 | 45444 T}@T{ 45445 0x7C 45446 T}@T{ 45447 \[uFF5C] 45448 T} 45449 .TE 45450 .PP 45451 Invalid UTF-8 bytes will also be 45452 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 45453 be used in XML strings. 45454 .SS Deleting files 45455 .PP 45456 By default, rclone will send all files to the trash when deleting files. 45457 They will be permanently deleted automatically after 30 days. 45458 You may bypass the trash and permanently delete files immediately by 45459 using the --jottacloud-hard-delete flag, or set the equivalent 45460 environment variable. 45461 Emptying the trash is supported by the 45462 cleanup (https://rclone.org/commands/rclone_cleanup/) command. 45463 .SS Versions 45464 .PP 45465 Jottacloud supports file versioning. 45466 When rclone uploads a new version of a file it creates a new version of 45467 it. 45468 Currently rclone only supports retrieving the current version but older 45469 versions can be accessed via the Jottacloud Website. 45470 .PP 45471 Versioning can be disabled by \f[C]--jottacloud-no-versions\f[R] option. 45472 This is achieved by deleting the remote file prior to uploading a new 45473 version. 45474 If the upload the fails no version of the file will be available in the 45475 remote. 45476 .SS Quota information 45477 .PP 45478 To view your current quota you can use the 45479 \f[C]rclone about remote:\f[R] command which will display your usage 45480 limit (unless it is unlimited) and the current usage. 45481 .SS Advanced options 45482 .PP 45483 Here are the Advanced options specific to jottacloud (Jottacloud). 45484 .SS --jottacloud-md5-memory-limit 45485 .PP 45486 Files bigger than this will be cached on disk to calculate the MD5 if 45487 required. 45488 .PP 45489 Properties: 45490 .IP \[bu] 2 45491 Config: md5_memory_limit 45492 .IP \[bu] 2 45493 Env Var: RCLONE_JOTTACLOUD_MD5_MEMORY_LIMIT 45494 .IP \[bu] 2 45495 Type: SizeSuffix 45496 .IP \[bu] 2 45497 Default: 10Mi 45498 .SS --jottacloud-trashed-only 45499 .PP 45500 Only show files that are in the trash. 45501 .PP 45502 This will show trashed files in their original directory structure. 45503 .PP 45504 Properties: 45505 .IP \[bu] 2 45506 Config: trashed_only 45507 .IP \[bu] 2 45508 Env Var: RCLONE_JOTTACLOUD_TRASHED_ONLY 45509 .IP \[bu] 2 45510 Type: bool 45511 .IP \[bu] 2 45512 Default: false 45513 .SS --jottacloud-hard-delete 45514 .PP 45515 Delete files permanently rather than putting them into the trash. 45516 .PP 45517 Properties: 45518 .IP \[bu] 2 45519 Config: hard_delete 45520 .IP \[bu] 2 45521 Env Var: RCLONE_JOTTACLOUD_HARD_DELETE 45522 .IP \[bu] 2 45523 Type: bool 45524 .IP \[bu] 2 45525 Default: false 45526 .SS --jottacloud-upload-resume-limit 45527 .PP 45528 Files bigger than this can be resumed if the upload fail\[aq]s. 45529 .PP 45530 Properties: 45531 .IP \[bu] 2 45532 Config: upload_resume_limit 45533 .IP \[bu] 2 45534 Env Var: RCLONE_JOTTACLOUD_UPLOAD_RESUME_LIMIT 45535 .IP \[bu] 2 45536 Type: SizeSuffix 45537 .IP \[bu] 2 45538 Default: 10Mi 45539 .SS --jottacloud-no-versions 45540 .PP 45541 Avoid server side versioning by deleting files and recreating files 45542 instead of overwriting them. 45543 .PP 45544 Properties: 45545 .IP \[bu] 2 45546 Config: no_versions 45547 .IP \[bu] 2 45548 Env Var: RCLONE_JOTTACLOUD_NO_VERSIONS 45549 .IP \[bu] 2 45550 Type: bool 45551 .IP \[bu] 2 45552 Default: false 45553 .SS --jottacloud-encoding 45554 .PP 45555 The encoding for the backend. 45556 .PP 45557 See the encoding section in the 45558 overview (https://rclone.org/overview/#encoding) for more info. 45559 .PP 45560 Properties: 45561 .IP \[bu] 2 45562 Config: encoding 45563 .IP \[bu] 2 45564 Env Var: RCLONE_JOTTACLOUD_ENCODING 45565 .IP \[bu] 2 45566 Type: MultiEncoder 45567 .IP \[bu] 2 45568 Default: 45569 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Del,Ctl,InvalidUtf8,Dot 45570 .SS Limitations 45571 .PP 45572 Note that Jottacloud is case insensitive so you can\[aq]t have a file 45573 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 45574 .PP 45575 There are quite a few characters that can\[aq]t be in Jottacloud file 45576 names. 45577 Rclone will map these names to and from an identical looking unicode 45578 equivalent. 45579 For example if a file has a ? 45580 in it will be mapped to \[uFF1F] instead. 45581 .PP 45582 Jottacloud only supports filenames up to 255 characters in length. 45583 .SS Troubleshooting 45584 .PP 45585 Jottacloud exhibits some inconsistent behaviours regarding deleted files 45586 and folders which may cause Copy, Move and DirMove operations to 45587 previously deleted paths to fail. 45588 Emptying the trash should help in such cases. 45589 .SH Koofr 45590 .PP 45591 Paths are specified as \f[C]remote:path\f[R] 45592 .PP 45593 Paths may be as deep as required, e.g. 45594 \f[C]remote:directory/subdirectory\f[R]. 45595 .SS Configuration 45596 .PP 45597 The initial setup for Koofr involves creating an application password 45598 for rclone. 45599 You can do that by opening the Koofr web 45600 application (https://app.koofr.net/app/admin/preferences/password), 45601 giving the password a nice name like \f[C]rclone\f[R] and clicking on 45602 generate. 45603 .PP 45604 Here is an example of how to make a remote called \f[C]koofr\f[R]. 45605 First run: 45606 .IP 45607 .nf 45608 \f[C] 45609 rclone config 45610 \f[R] 45611 .fi 45612 .PP 45613 This will guide you through an interactive setup process: 45614 .IP 45615 .nf 45616 \f[C] 45617 No remotes found, make a new one? 45618 n) New remote 45619 s) Set configuration password 45620 q) Quit config 45621 n/s/q> n 45622 name> koofr 45623 Option Storage. 45624 Type of storage to configure. 45625 Choose a number from below, or type in your own value. 45626 [snip] 45627 22 / Koofr, Digi Storage and other Koofr-compatible storage providers 45628 \[rs] (koofr) 45629 [snip] 45630 Storage> koofr 45631 Option provider. 45632 Choose your storage provider. 45633 Choose a number from below, or type in your own value. 45634 Press Enter to leave empty. 45635 1 / Koofr, https://app.koofr.net/ 45636 \[rs] (koofr) 45637 2 / Digi Storage, https://storage.rcs-rds.ro/ 45638 \[rs] (digistorage) 45639 3 / Any other Koofr API compatible storage service 45640 \[rs] (other) 45641 provider> 1 45642 Option user. 45643 Your user name. 45644 Enter a value. 45645 user> USERNAME 45646 Option password. 45647 Your password for rclone (generate one at https://app.koofr.net/app/admin/preferences/password). 45648 Choose an alternative below. 45649 y) Yes, type in my own password 45650 g) Generate random password 45651 y/g> y 45652 Enter the password: 45653 password: 45654 Confirm the password: 45655 password: 45656 Edit advanced config? 45657 y) Yes 45658 n) No (default) 45659 y/n> n 45660 Remote config 45661 -------------------- 45662 [koofr] 45663 type = koofr 45664 provider = koofr 45665 user = USERNAME 45666 password = *** ENCRYPTED *** 45667 -------------------- 45668 y) Yes this is OK (default) 45669 e) Edit this remote 45670 d) Delete this remote 45671 y/e/d> y 45672 \f[R] 45673 .fi 45674 .PP 45675 You can choose to edit advanced config in order to enter your own 45676 service URL if you use an on-premise or white label Koofr instance, or 45677 choose an alternative mount instead of your primary storage. 45678 .PP 45679 Once configured you can then use \f[C]rclone\f[R] like this, 45680 .PP 45681 List directories in top level of your Koofr 45682 .IP 45683 .nf 45684 \f[C] 45685 rclone lsd koofr: 45686 \f[R] 45687 .fi 45688 .PP 45689 List all the files in your Koofr 45690 .IP 45691 .nf 45692 \f[C] 45693 rclone ls koofr: 45694 \f[R] 45695 .fi 45696 .PP 45697 To copy a local directory to an Koofr directory called backup 45698 .IP 45699 .nf 45700 \f[C] 45701 rclone copy /home/source koofr:backup 45702 \f[R] 45703 .fi 45704 .SS Restricted filename characters 45705 .PP 45706 In addition to the default restricted characters 45707 set (https://rclone.org/overview/#restricted-characters) the following 45708 characters are also replaced: 45709 .PP 45710 .TS 45711 tab(@); 45712 l c c. 45713 T{ 45714 Character 45715 T}@T{ 45716 Value 45717 T}@T{ 45718 Replacement 45719 T} 45720 _ 45721 T{ 45722 \[rs] 45723 T}@T{ 45724 0x5C 45725 T}@T{ 45726 \[uFF3C] 45727 T} 45728 .TE 45729 .PP 45730 Invalid UTF-8 bytes will also be 45731 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 45732 be used in XML strings. 45733 .SS Standard options 45734 .PP 45735 Here are the Standard options specific to koofr (Koofr, Digi Storage and 45736 other Koofr-compatible storage providers). 45737 .SS --koofr-provider 45738 .PP 45739 Choose your storage provider. 45740 .PP 45741 Properties: 45742 .IP \[bu] 2 45743 Config: provider 45744 .IP \[bu] 2 45745 Env Var: RCLONE_KOOFR_PROVIDER 45746 .IP \[bu] 2 45747 Type: string 45748 .IP \[bu] 2 45749 Required: false 45750 .IP \[bu] 2 45751 Examples: 45752 .RS 2 45753 .IP \[bu] 2 45754 \[dq]koofr\[dq] 45755 .RS 2 45756 .IP \[bu] 2 45757 Koofr, https://app.koofr.net/ 45758 .RE 45759 .IP \[bu] 2 45760 \[dq]digistorage\[dq] 45761 .RS 2 45762 .IP \[bu] 2 45763 Digi Storage, https://storage.rcs-rds.ro/ 45764 .RE 45765 .IP \[bu] 2 45766 \[dq]other\[dq] 45767 .RS 2 45768 .IP \[bu] 2 45769 Any other Koofr API compatible storage service 45770 .RE 45771 .RE 45772 .SS --koofr-endpoint 45773 .PP 45774 The Koofr API endpoint to use. 45775 .PP 45776 Properties: 45777 .IP \[bu] 2 45778 Config: endpoint 45779 .IP \[bu] 2 45780 Env Var: RCLONE_KOOFR_ENDPOINT 45781 .IP \[bu] 2 45782 Provider: other 45783 .IP \[bu] 2 45784 Type: string 45785 .IP \[bu] 2 45786 Required: true 45787 .SS --koofr-user 45788 .PP 45789 Your user name. 45790 .PP 45791 Properties: 45792 .IP \[bu] 2 45793 Config: user 45794 .IP \[bu] 2 45795 Env Var: RCLONE_KOOFR_USER 45796 .IP \[bu] 2 45797 Type: string 45798 .IP \[bu] 2 45799 Required: true 45800 .SS --koofr-password 45801 .PP 45802 Your password for rclone (generate one at 45803 https://app.koofr.net/app/admin/preferences/password). 45804 .PP 45805 \f[B]NB\f[R] Input to this must be obscured - see rclone 45806 obscure (https://rclone.org/commands/rclone_obscure/). 45807 .PP 45808 Properties: 45809 .IP \[bu] 2 45810 Config: password 45811 .IP \[bu] 2 45812 Env Var: RCLONE_KOOFR_PASSWORD 45813 .IP \[bu] 2 45814 Provider: koofr 45815 .IP \[bu] 2 45816 Type: string 45817 .IP \[bu] 2 45818 Required: true 45819 .SS --koofr-password 45820 .PP 45821 Your password for rclone (generate one at 45822 https://storage.rcs-rds.ro/app/admin/preferences/password). 45823 .PP 45824 \f[B]NB\f[R] Input to this must be obscured - see rclone 45825 obscure (https://rclone.org/commands/rclone_obscure/). 45826 .PP 45827 Properties: 45828 .IP \[bu] 2 45829 Config: password 45830 .IP \[bu] 2 45831 Env Var: RCLONE_KOOFR_PASSWORD 45832 .IP \[bu] 2 45833 Provider: digistorage 45834 .IP \[bu] 2 45835 Type: string 45836 .IP \[bu] 2 45837 Required: true 45838 .SS --koofr-password 45839 .PP 45840 Your password for rclone (generate one at your service\[aq]s settings 45841 page). 45842 .PP 45843 \f[B]NB\f[R] Input to this must be obscured - see rclone 45844 obscure (https://rclone.org/commands/rclone_obscure/). 45845 .PP 45846 Properties: 45847 .IP \[bu] 2 45848 Config: password 45849 .IP \[bu] 2 45850 Env Var: RCLONE_KOOFR_PASSWORD 45851 .IP \[bu] 2 45852 Provider: other 45853 .IP \[bu] 2 45854 Type: string 45855 .IP \[bu] 2 45856 Required: true 45857 .SS Advanced options 45858 .PP 45859 Here are the Advanced options specific to koofr (Koofr, Digi Storage and 45860 other Koofr-compatible storage providers). 45861 .SS --koofr-mountid 45862 .PP 45863 Mount ID of the mount to use. 45864 .PP 45865 If omitted, the primary mount is used. 45866 .PP 45867 Properties: 45868 .IP \[bu] 2 45869 Config: mountid 45870 .IP \[bu] 2 45871 Env Var: RCLONE_KOOFR_MOUNTID 45872 .IP \[bu] 2 45873 Type: string 45874 .IP \[bu] 2 45875 Required: false 45876 .SS --koofr-setmtime 45877 .PP 45878 Does the backend support setting modification time. 45879 .PP 45880 Set this to false if you use a mount ID that points to a Dropbox or 45881 Amazon Drive backend. 45882 .PP 45883 Properties: 45884 .IP \[bu] 2 45885 Config: setmtime 45886 .IP \[bu] 2 45887 Env Var: RCLONE_KOOFR_SETMTIME 45888 .IP \[bu] 2 45889 Type: bool 45890 .IP \[bu] 2 45891 Default: true 45892 .SS --koofr-encoding 45893 .PP 45894 The encoding for the backend. 45895 .PP 45896 See the encoding section in the 45897 overview (https://rclone.org/overview/#encoding) for more info. 45898 .PP 45899 Properties: 45900 .IP \[bu] 2 45901 Config: encoding 45902 .IP \[bu] 2 45903 Env Var: RCLONE_KOOFR_ENCODING 45904 .IP \[bu] 2 45905 Type: MultiEncoder 45906 .IP \[bu] 2 45907 Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot 45908 .SS Limitations 45909 .PP 45910 Note that Koofr is case insensitive so you can\[aq]t have a file called 45911 \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 45912 .SS Providers 45913 .SS Koofr 45914 .PP 45915 This is the original Koofr (https://koofr.eu) storage provider used as 45916 main example and described in the configuration section above. 45917 .SS Digi Storage 45918 .PP 45919 Digi Storage (https://www.digi.ro/servicii/online/digi-storage) is a 45920 cloud storage service run by Digi.ro (https://www.digi.ro/) that 45921 provides a Koofr API. 45922 .PP 45923 Here is an example of how to make a remote called \f[C]ds\f[R]. 45924 First run: 45925 .IP 45926 .nf 45927 \f[C] 45928 rclone config 45929 \f[R] 45930 .fi 45931 .PP 45932 This will guide you through an interactive setup process: 45933 .IP 45934 .nf 45935 \f[C] 45936 No remotes found, make a new one? 45937 n) New remote 45938 s) Set configuration password 45939 q) Quit config 45940 n/s/q> n 45941 name> ds 45942 Option Storage. 45943 Type of storage to configure. 45944 Choose a number from below, or type in your own value. 45945 [snip] 45946 22 / Koofr, Digi Storage and other Koofr-compatible storage providers 45947 \[rs] (koofr) 45948 [snip] 45949 Storage> koofr 45950 Option provider. 45951 Choose your storage provider. 45952 Choose a number from below, or type in your own value. 45953 Press Enter to leave empty. 45954 1 / Koofr, https://app.koofr.net/ 45955 \[rs] (koofr) 45956 2 / Digi Storage, https://storage.rcs-rds.ro/ 45957 \[rs] (digistorage) 45958 3 / Any other Koofr API compatible storage service 45959 \[rs] (other) 45960 provider> 2 45961 Option user. 45962 Your user name. 45963 Enter a value. 45964 user> USERNAME 45965 Option password. 45966 Your password for rclone (generate one at https://storage.rcs-rds.ro/app/admin/preferences/password). 45967 Choose an alternative below. 45968 y) Yes, type in my own password 45969 g) Generate random password 45970 y/g> y 45971 Enter the password: 45972 password: 45973 Confirm the password: 45974 password: 45975 Edit advanced config? 45976 y) Yes 45977 n) No (default) 45978 y/n> n 45979 -------------------- 45980 [ds] 45981 type = koofr 45982 provider = digistorage 45983 user = USERNAME 45984 password = *** ENCRYPTED *** 45985 -------------------- 45986 y) Yes this is OK (default) 45987 e) Edit this remote 45988 d) Delete this remote 45989 y/e/d> y 45990 \f[R] 45991 .fi 45992 .SS Other 45993 .PP 45994 You may also want to use another, public or private storage provider 45995 that runs a Koofr API compatible service, by simply providing the base 45996 URL to connect to. 45997 .PP 45998 Here is an example of how to make a remote called \f[C]other\f[R]. 45999 First run: 46000 .IP 46001 .nf 46002 \f[C] 46003 rclone config 46004 \f[R] 46005 .fi 46006 .PP 46007 This will guide you through an interactive setup process: 46008 .IP 46009 .nf 46010 \f[C] 46011 No remotes found, make a new one? 46012 n) New remote 46013 s) Set configuration password 46014 q) Quit config 46015 n/s/q> n 46016 name> other 46017 Option Storage. 46018 Type of storage to configure. 46019 Choose a number from below, or type in your own value. 46020 [snip] 46021 22 / Koofr, Digi Storage and other Koofr-compatible storage providers 46022 \[rs] (koofr) 46023 [snip] 46024 Storage> koofr 46025 Option provider. 46026 Choose your storage provider. 46027 Choose a number from below, or type in your own value. 46028 Press Enter to leave empty. 46029 1 / Koofr, https://app.koofr.net/ 46030 \[rs] (koofr) 46031 2 / Digi Storage, https://storage.rcs-rds.ro/ 46032 \[rs] (digistorage) 46033 3 / Any other Koofr API compatible storage service 46034 \[rs] (other) 46035 provider> 3 46036 Option endpoint. 46037 The Koofr API endpoint to use. 46038 Enter a value. 46039 endpoint> https://koofr.other.org 46040 Option user. 46041 Your user name. 46042 Enter a value. 46043 user> USERNAME 46044 Option password. 46045 Your password for rclone (generate one at your service\[aq]s settings page). 46046 Choose an alternative below. 46047 y) Yes, type in my own password 46048 g) Generate random password 46049 y/g> y 46050 Enter the password: 46051 password: 46052 Confirm the password: 46053 password: 46054 Edit advanced config? 46055 y) Yes 46056 n) No (default) 46057 y/n> n 46058 -------------------- 46059 [other] 46060 type = koofr 46061 provider = other 46062 endpoint = https://koofr.other.org 46063 user = USERNAME 46064 password = *** ENCRYPTED *** 46065 -------------------- 46066 y) Yes this is OK (default) 46067 e) Edit this remote 46068 d) Delete this remote 46069 y/e/d> y 46070 \f[R] 46071 .fi 46072 .SH Mail.ru Cloud 46073 .PP 46074 Mail.ru Cloud (https://cloud.mail.ru/) is a cloud storage provided by a 46075 Russian internet company Mail.Ru Group (https://mail.ru). 46076 The official desktop client is Disk-O: (https://disk-o.cloud/en), 46077 available on Windows and Mac OS. 46078 .PP 46079 Currently it is recommended to disable 2FA on Mail.ru accounts intended 46080 for rclone until it gets eventually implemented. 46081 .SS Features highlights 46082 .IP \[bu] 2 46083 Paths may be as deep as required, e.g. 46084 \f[C]remote:directory/subdirectory\f[R] 46085 .IP \[bu] 2 46086 Files have a \f[C]last modified time\f[R] property, directories 46087 don\[aq]t 46088 .IP \[bu] 2 46089 Deleted files are by default moved to the trash 46090 .IP \[bu] 2 46091 Files and directories can be shared via public links 46092 .IP \[bu] 2 46093 Partial uploads or streaming are not supported, file size must be known 46094 before upload 46095 .IP \[bu] 2 46096 Maximum file size is limited to 2G for a free account, unlimited for 46097 paid accounts 46098 .IP \[bu] 2 46099 Storage keeps hash for all files and performs transparent deduplication, 46100 the hash algorithm is a modified SHA1 46101 .IP \[bu] 2 46102 If a particular file is already present in storage, one can quickly 46103 submit file hash instead of long file upload (this optimization is 46104 supported by rclone) 46105 .SS Configuration 46106 .PP 46107 Here is an example of making a mailru configuration. 46108 .PP 46109 First create a Mail.ru Cloud account and choose a tariff. 46110 .PP 46111 You will need to log in and create an app password for rclone. 46112 Rclone \f[B]will not work\f[R] with your normal username and password - 46113 it will give an error like 46114 \f[C]oauth2: server response missing access_token\f[R]. 46115 .IP \[bu] 2 46116 Click on your user icon in the top right 46117 .IP \[bu] 2 46118 Go to Security / \[dq]\[u041F]\[u0430]\[u0440]\[u043E]\[u043B]\[u044C] 46119 \[u0438] 46120 \[u0431]\[u0435]\[u0437]\[u043E]\[u043F]\[u0430]\[u0441]\[u043D]\[u043E]\[u0441]\[u0442]\[u044C]\[dq] 46121 .IP \[bu] 2 46122 Click password for apps / 46123 \[dq]\[u041F]\[u0430]\[u0440]\[u043E]\[u043B]\[u0438] 46124 \[u0434]\[u043B]\[u044F] 46125 \[u0432]\[u043D]\[u0435]\[u0448]\[u043D]\[u0438]\[u0445] 46126 \[u043F]\[u0440]\[u0438]\[u043B]\[u043E]\[u0436]\[u0435]\[u043D]\[u0438]\[u0439]\[dq] 46127 .IP \[bu] 2 46128 Add the password - give it a name - eg \[dq]rclone\[dq] 46129 .IP \[bu] 2 46130 Copy the password and use this password below - your normal login 46131 password won\[aq]t work. 46132 .PP 46133 Now run 46134 .IP 46135 .nf 46136 \f[C] 46137 rclone config 46138 \f[R] 46139 .fi 46140 .PP 46141 This will guide you through an interactive setup process: 46142 .IP 46143 .nf 46144 \f[C] 46145 No remotes found, make a new one? 46146 n) New remote 46147 s) Set configuration password 46148 q) Quit config 46149 n/s/q> n 46150 name> remote 46151 Type of storage to configure. 46152 Type of storage to configure. 46153 Enter a string value. Press Enter for the default (\[dq]\[dq]). 46154 Choose a number from below, or type in your own value 46155 [snip] 46156 XX / Mail.ru Cloud 46157 \[rs] \[dq]mailru\[dq] 46158 [snip] 46159 Storage> mailru 46160 User name (usually email) 46161 Enter a string value. Press Enter for the default (\[dq]\[dq]). 46162 user> username\[at]mail.ru 46163 Password 46164 46165 This must be an app password - rclone will not work with your normal 46166 password. See the Configuration section in the docs for how to make an 46167 app password. 46168 y) Yes type in my own password 46169 g) Generate random password 46170 y/g> y 46171 Enter the password: 46172 password: 46173 Confirm the password: 46174 password: 46175 Skip full upload if there is another file with same data hash. 46176 This feature is called \[dq]speedup\[dq] or \[dq]put by hash\[dq]. It is especially efficient 46177 in case of generally available files like popular books, video or audio clips 46178 [snip] 46179 Enter a boolean value (true or false). Press Enter for the default (\[dq]true\[dq]). 46180 Choose a number from below, or type in your own value 46181 1 / Enable 46182 \[rs] \[dq]true\[dq] 46183 2 / Disable 46184 \[rs] \[dq]false\[dq] 46185 speedup_enable> 1 46186 Edit advanced config? (y/n) 46187 y) Yes 46188 n) No 46189 y/n> n 46190 Remote config 46191 -------------------- 46192 [remote] 46193 type = mailru 46194 user = username\[at]mail.ru 46195 pass = *** ENCRYPTED *** 46196 speedup_enable = true 46197 -------------------- 46198 y) Yes this is OK 46199 e) Edit this remote 46200 d) Delete this remote 46201 y/e/d> y 46202 \f[R] 46203 .fi 46204 .PP 46205 Configuration of this backend does not require a local web browser. 46206 You can use the configured backend as shown below: 46207 .PP 46208 See top level directories 46209 .IP 46210 .nf 46211 \f[C] 46212 rclone lsd remote: 46213 \f[R] 46214 .fi 46215 .PP 46216 Make a new directory 46217 .IP 46218 .nf 46219 \f[C] 46220 rclone mkdir remote:directory 46221 \f[R] 46222 .fi 46223 .PP 46224 List the contents of a directory 46225 .IP 46226 .nf 46227 \f[C] 46228 rclone ls remote:directory 46229 \f[R] 46230 .fi 46231 .PP 46232 Sync \f[C]/home/local/directory\f[R] to the remote path, deleting any 46233 excess files in the path. 46234 .IP 46235 .nf 46236 \f[C] 46237 rclone sync --interactive /home/local/directory remote:directory 46238 \f[R] 46239 .fi 46240 .SS Modified time 46241 .PP 46242 Files support a modification time attribute with up to 1 second 46243 precision. 46244 Directories do not have a modification time, which is shown as \[dq]Jan 46245 1 1970\[dq]. 46246 .SS Hash checksums 46247 .PP 46248 Hash sums use a custom Mail.ru algorithm based on SHA1. 46249 If file size is less than or equal to the SHA1 block size (20 bytes), 46250 its hash is simply its data right-padded with zero bytes. 46251 Hash sum of a larger file is computed as a SHA1 sum of the file data 46252 bytes concatenated with a decimal representation of the data length. 46253 .SS Emptying Trash 46254 .PP 46255 Removing a file or directory actually moves it to the trash, which is 46256 not visible to rclone but can be seen in a web browser. 46257 The trashed file still occupies part of total quota. 46258 If you wish to empty your trash and free some quota, you can use the 46259 \f[C]rclone cleanup remote:\f[R] command, which will permanently delete 46260 all your trashed files. 46261 This command does not take any path arguments. 46262 .SS Quota information 46263 .PP 46264 To view your current quota you can use the 46265 \f[C]rclone about remote:\f[R] command which will display your usage 46266 limit (quota) and the current usage. 46267 .SS Restricted filename characters 46268 .PP 46269 In addition to the default restricted characters 46270 set (https://rclone.org/overview/#restricted-characters) the following 46271 characters are also replaced: 46272 .PP 46273 .TS 46274 tab(@); 46275 l c c. 46276 T{ 46277 Character 46278 T}@T{ 46279 Value 46280 T}@T{ 46281 Replacement 46282 T} 46283 _ 46284 T{ 46285 \[dq] 46286 T}@T{ 46287 0x22 46288 T}@T{ 46289 \[uFF02] 46290 T} 46291 T{ 46292 * 46293 T}@T{ 46294 0x2A 46295 T}@T{ 46296 \[uFF0A] 46297 T} 46298 T{ 46299 : 46300 T}@T{ 46301 0x3A 46302 T}@T{ 46303 \[uFF1A] 46304 T} 46305 T{ 46306 < 46307 T}@T{ 46308 0x3C 46309 T}@T{ 46310 \[uFF1C] 46311 T} 46312 T{ 46313 > 46314 T}@T{ 46315 0x3E 46316 T}@T{ 46317 \[uFF1E] 46318 T} 46319 T{ 46320 ? 46321 T}@T{ 46322 0x3F 46323 T}@T{ 46324 \[uFF1F] 46325 T} 46326 T{ 46327 \[rs] 46328 T}@T{ 46329 0x5C 46330 T}@T{ 46331 \[uFF3C] 46332 T} 46333 T{ 46334 | 46335 T}@T{ 46336 0x7C 46337 T}@T{ 46338 \[uFF5C] 46339 T} 46340 .TE 46341 .PP 46342 Invalid UTF-8 bytes will also be 46343 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 46344 be used in JSON strings. 46345 .SS Standard options 46346 .PP 46347 Here are the Standard options specific to mailru (Mail.ru Cloud). 46348 .SS --mailru-user 46349 .PP 46350 User name (usually email). 46351 .PP 46352 Properties: 46353 .IP \[bu] 2 46354 Config: user 46355 .IP \[bu] 2 46356 Env Var: RCLONE_MAILRU_USER 46357 .IP \[bu] 2 46358 Type: string 46359 .IP \[bu] 2 46360 Required: true 46361 .SS --mailru-pass 46362 .PP 46363 Password. 46364 .PP 46365 This must be an app password - rclone will not work with your normal 46366 password. 46367 See the Configuration section in the docs for how to make an app 46368 password. 46369 .PP 46370 \f[B]NB\f[R] Input to this must be obscured - see rclone 46371 obscure (https://rclone.org/commands/rclone_obscure/). 46372 .PP 46373 Properties: 46374 .IP \[bu] 2 46375 Config: pass 46376 .IP \[bu] 2 46377 Env Var: RCLONE_MAILRU_PASS 46378 .IP \[bu] 2 46379 Type: string 46380 .IP \[bu] 2 46381 Required: true 46382 .SS --mailru-speedup-enable 46383 .PP 46384 Skip full upload if there is another file with same data hash. 46385 .PP 46386 This feature is called \[dq]speedup\[dq] or \[dq]put by hash\[dq]. 46387 It is especially efficient in case of generally available files like 46388 popular books, video or audio clips, because files are searched by hash 46389 in all accounts of all mailru users. 46390 It is meaningless and ineffective if source file is unique or encrypted. 46391 Please note that rclone may need local memory and disk space to 46392 calculate content hash in advance and decide whether full upload is 46393 required. 46394 Also, if rclone does not know file size in advance (e.g. 46395 in case of streaming or partial uploads), it will not even try this 46396 optimization. 46397 .PP 46398 Properties: 46399 .IP \[bu] 2 46400 Config: speedup_enable 46401 .IP \[bu] 2 46402 Env Var: RCLONE_MAILRU_SPEEDUP_ENABLE 46403 .IP \[bu] 2 46404 Type: bool 46405 .IP \[bu] 2 46406 Default: true 46407 .IP \[bu] 2 46408 Examples: 46409 .RS 2 46410 .IP \[bu] 2 46411 \[dq]true\[dq] 46412 .RS 2 46413 .IP \[bu] 2 46414 Enable 46415 .RE 46416 .IP \[bu] 2 46417 \[dq]false\[dq] 46418 .RS 2 46419 .IP \[bu] 2 46420 Disable 46421 .RE 46422 .RE 46423 .SS Advanced options 46424 .PP 46425 Here are the Advanced options specific to mailru (Mail.ru Cloud). 46426 .SS --mailru-speedup-file-patterns 46427 .PP 46428 Comma separated list of file name patterns eligible for speedup (put by 46429 hash). 46430 .PP 46431 Patterns are case insensitive and can contain \[aq]*\[aq] or \[aq]?\[aq] 46432 meta characters. 46433 .PP 46434 Properties: 46435 .IP \[bu] 2 46436 Config: speedup_file_patterns 46437 .IP \[bu] 2 46438 Env Var: RCLONE_MAILRU_SPEEDUP_FILE_PATTERNS 46439 .IP \[bu] 2 46440 Type: string 46441 .IP \[bu] 2 46442 Default: 46443 \[dq]\f[I].mkv,\f[R].avi,\f[I].mp4,\f[R].mp3,\f[I].zip,\f[R].gz,\f[I].rar,\f[R].pdf\[dq] 46444 .IP \[bu] 2 46445 Examples: 46446 .RS 2 46447 .IP \[bu] 2 46448 \[dq]\[dq] 46449 .RS 2 46450 .IP \[bu] 2 46451 Empty list completely disables speedup (put by hash). 46452 .RE 46453 .IP \[bu] 2 46454 \[dq]*\[dq] 46455 .RS 2 46456 .IP \[bu] 2 46457 All files will be attempted for speedup. 46458 .RE 46459 .IP \[bu] 2 46460 \[dq]\f[I].mkv,\f[R].avi,\f[I].mp4,\f[R].mp3\[dq] 46461 .RS 2 46462 .IP \[bu] 2 46463 Only common audio/video files will be tried for put by hash. 46464 .RE 46465 .IP \[bu] 2 46466 \[dq]\f[I].zip,\f[R].gz,\f[I].rar,\f[R].pdf\[dq] 46467 .RS 2 46468 .IP \[bu] 2 46469 Only common archives or PDF books will be tried for speedup. 46470 .RE 46471 .RE 46472 .SS --mailru-speedup-max-disk 46473 .PP 46474 This option allows you to disable speedup (put by hash) for large files. 46475 .PP 46476 Reason is that preliminary hashing can exhaust your RAM or disk space. 46477 .PP 46478 Properties: 46479 .IP \[bu] 2 46480 Config: speedup_max_disk 46481 .IP \[bu] 2 46482 Env Var: RCLONE_MAILRU_SPEEDUP_MAX_DISK 46483 .IP \[bu] 2 46484 Type: SizeSuffix 46485 .IP \[bu] 2 46486 Default: 3Gi 46487 .IP \[bu] 2 46488 Examples: 46489 .RS 2 46490 .IP \[bu] 2 46491 \[dq]0\[dq] 46492 .RS 2 46493 .IP \[bu] 2 46494 Completely disable speedup (put by hash). 46495 .RE 46496 .IP \[bu] 2 46497 \[dq]1G\[dq] 46498 .RS 2 46499 .IP \[bu] 2 46500 Files larger than 1Gb will be uploaded directly. 46501 .RE 46502 .IP \[bu] 2 46503 \[dq]3G\[dq] 46504 .RS 2 46505 .IP \[bu] 2 46506 Choose this option if you have less than 3Gb free on local disk. 46507 .RE 46508 .RE 46509 .SS --mailru-speedup-max-memory 46510 .PP 46511 Files larger than the size given below will always be hashed on disk. 46512 .PP 46513 Properties: 46514 .IP \[bu] 2 46515 Config: speedup_max_memory 46516 .IP \[bu] 2 46517 Env Var: RCLONE_MAILRU_SPEEDUP_MAX_MEMORY 46518 .IP \[bu] 2 46519 Type: SizeSuffix 46520 .IP \[bu] 2 46521 Default: 32Mi 46522 .IP \[bu] 2 46523 Examples: 46524 .RS 2 46525 .IP \[bu] 2 46526 \[dq]0\[dq] 46527 .RS 2 46528 .IP \[bu] 2 46529 Preliminary hashing will always be done in a temporary disk location. 46530 .RE 46531 .IP \[bu] 2 46532 \[dq]32M\[dq] 46533 .RS 2 46534 .IP \[bu] 2 46535 Do not dedicate more than 32Mb RAM for preliminary hashing. 46536 .RE 46537 .IP \[bu] 2 46538 \[dq]256M\[dq] 46539 .RS 2 46540 .IP \[bu] 2 46541 You have at most 256Mb RAM free for hash calculations. 46542 .RE 46543 .RE 46544 .SS --mailru-check-hash 46545 .PP 46546 What should copy do if file checksum is mismatched or invalid. 46547 .PP 46548 Properties: 46549 .IP \[bu] 2 46550 Config: check_hash 46551 .IP \[bu] 2 46552 Env Var: RCLONE_MAILRU_CHECK_HASH 46553 .IP \[bu] 2 46554 Type: bool 46555 .IP \[bu] 2 46556 Default: true 46557 .IP \[bu] 2 46558 Examples: 46559 .RS 2 46560 .IP \[bu] 2 46561 \[dq]true\[dq] 46562 .RS 2 46563 .IP \[bu] 2 46564 Fail with error. 46565 .RE 46566 .IP \[bu] 2 46567 \[dq]false\[dq] 46568 .RS 2 46569 .IP \[bu] 2 46570 Ignore and continue. 46571 .RE 46572 .RE 46573 .SS --mailru-user-agent 46574 .PP 46575 HTTP user agent used internally by client. 46576 .PP 46577 Defaults to \[dq]rclone/VERSION\[dq] or \[dq]--user-agent\[dq] provided 46578 on command line. 46579 .PP 46580 Properties: 46581 .IP \[bu] 2 46582 Config: user_agent 46583 .IP \[bu] 2 46584 Env Var: RCLONE_MAILRU_USER_AGENT 46585 .IP \[bu] 2 46586 Type: string 46587 .IP \[bu] 2 46588 Required: false 46589 .SS --mailru-quirks 46590 .PP 46591 Comma separated list of internal maintenance flags. 46592 .PP 46593 This option must not be used by an ordinary user. 46594 It is intended only to facilitate remote troubleshooting of backend 46595 issues. 46596 Strict meaning of flags is not documented and not guaranteed to persist 46597 between releases. 46598 Quirks will be removed when the backend grows stable. 46599 Supported quirks: atomicmkdir binlist unknowndirs 46600 .PP 46601 Properties: 46602 .IP \[bu] 2 46603 Config: quirks 46604 .IP \[bu] 2 46605 Env Var: RCLONE_MAILRU_QUIRKS 46606 .IP \[bu] 2 46607 Type: string 46608 .IP \[bu] 2 46609 Required: false 46610 .SS --mailru-encoding 46611 .PP 46612 The encoding for the backend. 46613 .PP 46614 See the encoding section in the 46615 overview (https://rclone.org/overview/#encoding) for more info. 46616 .PP 46617 Properties: 46618 .IP \[bu] 2 46619 Config: encoding 46620 .IP \[bu] 2 46621 Env Var: RCLONE_MAILRU_ENCODING 46622 .IP \[bu] 2 46623 Type: MultiEncoder 46624 .IP \[bu] 2 46625 Default: 46626 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,InvalidUtf8,Dot 46627 .SS Limitations 46628 .PP 46629 File size limits depend on your account. 46630 A single file size is limited by 2G for a free account and unlimited for 46631 paid tariffs. 46632 Please refer to the Mail.ru site for the total uploaded size limits. 46633 .PP 46634 Note that Mailru is case insensitive so you can\[aq]t have a file called 46635 \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 46636 .SH Mega 46637 .PP 46638 Mega (https://mega.nz/) is a cloud storage and file hosting service 46639 known for its security feature where all files are encrypted locally 46640 before they are uploaded. 46641 This prevents anyone (including employees of Mega) from accessing the 46642 files without knowledge of the key used for encryption. 46643 .PP 46644 This is an rclone backend for Mega which supports the file transfer 46645 features of Mega using the same client side encryption. 46646 .PP 46647 Paths are specified as \f[C]remote:path\f[R] 46648 .PP 46649 Paths may be as deep as required, e.g. 46650 \f[C]remote:directory/subdirectory\f[R]. 46651 .SS Configuration 46652 .PP 46653 Here is an example of how to make a remote called \f[C]remote\f[R]. 46654 First run: 46655 .IP 46656 .nf 46657 \f[C] 46658 rclone config 46659 \f[R] 46660 .fi 46661 .PP 46662 This will guide you through an interactive setup process: 46663 .IP 46664 .nf 46665 \f[C] 46666 No remotes found, make a new one? 46667 n) New remote 46668 s) Set configuration password 46669 q) Quit config 46670 n/s/q> n 46671 name> remote 46672 Type of storage to configure. 46673 Choose a number from below, or type in your own value 46674 [snip] 46675 XX / Mega 46676 \[rs] \[dq]mega\[dq] 46677 [snip] 46678 Storage> mega 46679 User name 46680 user> you\[at]example.com 46681 Password. 46682 y) Yes type in my own password 46683 g) Generate random password 46684 n) No leave this optional password blank 46685 y/g/n> y 46686 Enter the password: 46687 password: 46688 Confirm the password: 46689 password: 46690 Remote config 46691 -------------------- 46692 [remote] 46693 type = mega 46694 user = you\[at]example.com 46695 pass = *** ENCRYPTED *** 46696 -------------------- 46697 y) Yes this is OK 46698 e) Edit this remote 46699 d) Delete this remote 46700 y/e/d> y 46701 \f[R] 46702 .fi 46703 .PP 46704 \f[B]NOTE:\f[R] The encryption keys need to have been already generated 46705 after a regular login via the browser, otherwise attempting to use the 46706 credentials in \f[C]rclone\f[R] will fail. 46707 .PP 46708 Once configured you can then use \f[C]rclone\f[R] like this, 46709 .PP 46710 List directories in top level of your Mega 46711 .IP 46712 .nf 46713 \f[C] 46714 rclone lsd remote: 46715 \f[R] 46716 .fi 46717 .PP 46718 List all the files in your Mega 46719 .IP 46720 .nf 46721 \f[C] 46722 rclone ls remote: 46723 \f[R] 46724 .fi 46725 .PP 46726 To copy a local directory to an Mega directory called backup 46727 .IP 46728 .nf 46729 \f[C] 46730 rclone copy /home/source remote:backup 46731 \f[R] 46732 .fi 46733 .SS Modified time and hashes 46734 .PP 46735 Mega does not support modification times or hashes yet. 46736 .SS Restricted filename characters 46737 .PP 46738 .TS 46739 tab(@); 46740 l c c. 46741 T{ 46742 Character 46743 T}@T{ 46744 Value 46745 T}@T{ 46746 Replacement 46747 T} 46748 _ 46749 T{ 46750 NUL 46751 T}@T{ 46752 0x00 46753 T}@T{ 46754 \[u2400] 46755 T} 46756 T{ 46757 / 46758 T}@T{ 46759 0x2F 46760 T}@T{ 46761 \[uFF0F] 46762 T} 46763 .TE 46764 .PP 46765 Invalid UTF-8 bytes will also be 46766 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 46767 be used in JSON strings. 46768 .SS Duplicated files 46769 .PP 46770 Mega can have two files with exactly the same name and path (unlike a 46771 normal file system). 46772 .PP 46773 Duplicated files cause problems with the syncing and you will see 46774 messages in the log about duplicates. 46775 .PP 46776 Use \f[C]rclone dedupe\f[R] to fix duplicated files. 46777 .SS Failure to log-in 46778 .SS Object not found 46779 .PP 46780 If you are connecting to your Mega remote for the first time, to test 46781 access and synchronization, you may receive an error such as 46782 .IP 46783 .nf 46784 \f[C] 46785 Failed to create file system for \[dq]my-mega-remote:\[dq]: 46786 couldn\[aq]t login: Object (typically, node or user) not found 46787 \f[R] 46788 .fi 46789 .PP 46790 The diagnostic steps often recommended in the rclone 46791 forum (https://forum.rclone.org/search?q=mega) start with the 46792 \f[B]MEGAcmd\f[R] utility. 46793 Note that this refers to the official C++ command from 46794 https://github.com/meganz/MEGAcmd and not the go language built command 46795 from t3rm1n4l/megacmd that is no longer maintained. 46796 .PP 46797 Follow the instructions for installing MEGAcmd and try accessing your 46798 remote as they recommend. 46799 You can establish whether or not you can log in using MEGAcmd, and 46800 obtain diagnostic information to help you, and search or work with 46801 others in the forum. 46802 .IP 46803 .nf 46804 \f[C] 46805 MEGA CMD> login me\[at]example.com 46806 Password: 46807 Fetching nodes ... 46808 Loading transfers from local cache 46809 Login complete as me\[at]example.com 46810 me\[at]example.com:/$ 46811 \f[R] 46812 .fi 46813 .PP 46814 Note that some have found issues with passwords containing special 46815 characters. 46816 If you can not log on with rclone, but MEGAcmd logs on just fine, then 46817 consider changing your password temporarily to pure alphanumeric 46818 characters, in case that helps. 46819 .SS Repeated commands blocks access 46820 .PP 46821 Mega remotes seem to get blocked (reject logins) under \[dq]heavy 46822 use\[dq]. 46823 We haven\[aq]t worked out the exact blocking rules but it seems to be 46824 related to fast paced, successive rclone commands. 46825 .PP 46826 For example, executing this command 90 times in a row 46827 \f[C]rclone link remote:file\f[R] will cause the remote to become 46828 \[dq]blocked\[dq]. 46829 This is not an abnormal situation, for example if you wish to get the 46830 public links of a directory with hundred of files... 46831 After more or less a week, the remote will remote accept rclone logins 46832 normally again. 46833 .PP 46834 You can mitigate this issue by mounting the remote it with 46835 \f[C]rclone mount\f[R]. 46836 This will log-in when mounting and a log-out when unmounting only. 46837 You can also run \f[C]rclone rcd\f[R] and then use \f[C]rclone rc\f[R] 46838 to run the commands over the API to avoid logging in each time. 46839 .PP 46840 Rclone does not currently close mega sessions (you can see them in the 46841 web interface), however closing the sessions does not solve the issue. 46842 .PP 46843 If you space rclone commands by 3 seconds it will avoid blocking the 46844 remote. 46845 We haven\[aq]t identified the exact blocking rules, so perhaps one could 46846 execute the command 80 times without waiting and avoid blocking by 46847 waiting 3 seconds, then continuing... 46848 .PP 46849 Note that this has been observed by trial and error and might not be set 46850 in stone. 46851 .PP 46852 Other tools seem not to produce this blocking effect, as they use a 46853 different working approach (state-based, using sessionIDs instead of 46854 log-in) which isn\[aq]t compatible with the current stateless rclone 46855 approach. 46856 .PP 46857 Note that once blocked, the use of other tools (such as megacmd) is not 46858 a sure workaround: following megacmd login times have been observed in 46859 succession for blocked remote: 7 minutes, 20 min, 30min, 30 min, 30min. 46860 Web access looks unaffected though. 46861 .PP 46862 Investigation is continuing in relation to workarounds based on 46863 timeouts, pacers, retrials and tpslimits - if you discover something 46864 relevant, please post on the forum. 46865 .PP 46866 So, if rclone was working nicely and suddenly you are unable to log-in 46867 and you are sure the user and the password are correct, likely you have 46868 got the remote blocked for a while. 46869 .SS Standard options 46870 .PP 46871 Here are the Standard options specific to mega (Mega). 46872 .SS --mega-user 46873 .PP 46874 User name. 46875 .PP 46876 Properties: 46877 .IP \[bu] 2 46878 Config: user 46879 .IP \[bu] 2 46880 Env Var: RCLONE_MEGA_USER 46881 .IP \[bu] 2 46882 Type: string 46883 .IP \[bu] 2 46884 Required: true 46885 .SS --mega-pass 46886 .PP 46887 Password. 46888 .PP 46889 \f[B]NB\f[R] Input to this must be obscured - see rclone 46890 obscure (https://rclone.org/commands/rclone_obscure/). 46891 .PP 46892 Properties: 46893 .IP \[bu] 2 46894 Config: pass 46895 .IP \[bu] 2 46896 Env Var: RCLONE_MEGA_PASS 46897 .IP \[bu] 2 46898 Type: string 46899 .IP \[bu] 2 46900 Required: true 46901 .SS Advanced options 46902 .PP 46903 Here are the Advanced options specific to mega (Mega). 46904 .SS --mega-debug 46905 .PP 46906 Output more debug from Mega. 46907 .PP 46908 If this flag is set (along with -vv) it will print further debugging 46909 information from the mega backend. 46910 .PP 46911 Properties: 46912 .IP \[bu] 2 46913 Config: debug 46914 .IP \[bu] 2 46915 Env Var: RCLONE_MEGA_DEBUG 46916 .IP \[bu] 2 46917 Type: bool 46918 .IP \[bu] 2 46919 Default: false 46920 .SS --mega-hard-delete 46921 .PP 46922 Delete files permanently rather than putting them into the trash. 46923 .PP 46924 Normally the mega backend will put all deletions into the trash rather 46925 than permanently deleting them. 46926 If you specify this then rclone will permanently delete objects instead. 46927 .PP 46928 Properties: 46929 .IP \[bu] 2 46930 Config: hard_delete 46931 .IP \[bu] 2 46932 Env Var: RCLONE_MEGA_HARD_DELETE 46933 .IP \[bu] 2 46934 Type: bool 46935 .IP \[bu] 2 46936 Default: false 46937 .SS --mega-use-https 46938 .PP 46939 Use HTTPS for transfers. 46940 .PP 46941 MEGA uses plain text HTTP connections by default. 46942 Some ISPs throttle HTTP connections, this causes transfers to become 46943 very slow. 46944 Enabling this will force MEGA to use HTTPS for all transfers. 46945 HTTPS is normally not necessary since all data is already encrypted 46946 anyway. 46947 Enabling it will increase CPU usage and add network overhead. 46948 .PP 46949 Properties: 46950 .IP \[bu] 2 46951 Config: use_https 46952 .IP \[bu] 2 46953 Env Var: RCLONE_MEGA_USE_HTTPS 46954 .IP \[bu] 2 46955 Type: bool 46956 .IP \[bu] 2 46957 Default: false 46958 .SS --mega-encoding 46959 .PP 46960 The encoding for the backend. 46961 .PP 46962 See the encoding section in the 46963 overview (https://rclone.org/overview/#encoding) for more info. 46964 .PP 46965 Properties: 46966 .IP \[bu] 2 46967 Config: encoding 46968 .IP \[bu] 2 46969 Env Var: RCLONE_MEGA_ENCODING 46970 .IP \[bu] 2 46971 Type: MultiEncoder 46972 .IP \[bu] 2 46973 Default: Slash,InvalidUtf8,Dot 46974 .SS Limitations 46975 .PP 46976 This backend uses the go-mega go 46977 library (https://github.com/t3rm1n4l/go-mega) which is an opensource go 46978 library implementing the Mega API. 46979 There doesn\[aq]t appear to be any documentation for the mega protocol 46980 beyond the mega C++ SDK (https://github.com/meganz/sdk) source code so 46981 there are likely quite a few errors still remaining in this library. 46982 .PP 46983 Mega allows duplicate files which may confuse rclone. 46984 .SH Memory 46985 .PP 46986 The memory backend is an in RAM backend. 46987 It does not persist its data - use the local backend for that. 46988 .PP 46989 The memory backend behaves like a bucket-based remote (e.g. 46990 like s3). 46991 Because it has no parameters you can just use it with the 46992 \f[C]:memory:\f[R] remote name. 46993 .SS Configuration 46994 .PP 46995 You can configure it as a remote like this with \f[C]rclone config\f[R] 46996 too if you want to: 46997 .IP 46998 .nf 46999 \f[C] 47000 No remotes found, make a new one? 47001 n) New remote 47002 s) Set configuration password 47003 q) Quit config 47004 n/s/q> n 47005 name> remote 47006 Type of storage to configure. 47007 Enter a string value. Press Enter for the default (\[dq]\[dq]). 47008 Choose a number from below, or type in your own value 47009 [snip] 47010 XX / Memory 47011 \[rs] \[dq]memory\[dq] 47012 [snip] 47013 Storage> memory 47014 ** See help for memory backend at: https://rclone.org/memory/ ** 47015 47016 Remote config 47017 47018 -------------------- 47019 [remote] 47020 type = memory 47021 -------------------- 47022 y) Yes this is OK (default) 47023 e) Edit this remote 47024 d) Delete this remote 47025 y/e/d> y 47026 \f[R] 47027 .fi 47028 .PP 47029 Because the memory backend isn\[aq]t persistent it is most useful for 47030 testing or with an rclone server or rclone mount, e.g. 47031 .IP 47032 .nf 47033 \f[C] 47034 rclone mount :memory: /mnt/tmp 47035 rclone serve webdav :memory: 47036 rclone serve sftp :memory: 47037 \f[R] 47038 .fi 47039 .SS Modified time and hashes 47040 .PP 47041 The memory backend supports MD5 hashes and modification times accurate 47042 to 1 nS. 47043 .SS Restricted filename characters 47044 .PP 47045 The memory backend replaces the default restricted characters 47046 set (https://rclone.org/overview/#restricted-characters). 47047 .SH Akamai NetStorage 47048 .PP 47049 Paths are specified as \f[C]remote:\f[R] You may put subdirectories in 47050 too, e.g. 47051 \f[C]remote:/path/to/dir\f[R]. 47052 If you have a CP code you can use that as the folder after the domain 47053 such as <domain>/<cpcode>/<internal directories within cpcode>. 47054 .PP 47055 For example, this is commonly configured with or without a CP code: * 47056 \f[B]With a CP code\f[R]. 47057 \f[C][your-domain-prefix]-nsu.akamaihd.net/123456/subdirectory/\f[R] * 47058 \f[B]Without a CP code\f[R]. 47059 \f[C][your-domain-prefix]-nsu.akamaihd.net\f[R] 47060 .PP 47061 See all buckets rclone lsd remote: The initial setup for Netstorage 47062 involves getting an account and secret. 47063 Use \f[C]rclone config\f[R] to walk you through the setup process. 47064 .SS Configuration 47065 .PP 47066 Here\[aq]s an example of how to make a remote called \f[C]ns1\f[R]. 47067 .IP "1." 3 47068 To begin the interactive configuration process, enter this command: 47069 .IP 47070 .nf 47071 \f[C] 47072 rclone config 47073 \f[R] 47074 .fi 47075 .IP "2." 3 47076 Type \f[C]n\f[R] to create a new remote. 47077 .IP 47078 .nf 47079 \f[C] 47080 n) New remote 47081 d) Delete remote 47082 q) Quit config 47083 e/n/d/q> n 47084 \f[R] 47085 .fi 47086 .IP "3." 3 47087 For this example, enter \f[C]ns1\f[R] when you reach the name> prompt. 47088 .IP 47089 .nf 47090 \f[C] 47091 name> ns1 47092 \f[R] 47093 .fi 47094 .IP "4." 3 47095 Enter \f[C]netstorage\f[R] as the type of storage to configure. 47096 .IP 47097 .nf 47098 \f[C] 47099 Type of storage to configure. 47100 Enter a string value. Press Enter for the default (\[dq]\[dq]). 47101 Choose a number from below, or type in your own value 47102 XX / NetStorage 47103 \[rs] \[dq]netstorage\[dq] 47104 Storage> netstorage 47105 \f[R] 47106 .fi 47107 .IP "5." 3 47108 Select between the HTTP or HTTPS protocol. 47109 Most users should choose HTTPS, which is the default. 47110 HTTP is provided primarily for debugging purposes. 47111 .IP 47112 .nf 47113 \f[C] 47114 Enter a string value. Press Enter for the default (\[dq]\[dq]). 47115 Choose a number from below, or type in your own value 47116 1 / HTTP protocol 47117 \[rs] \[dq]http\[dq] 47118 2 / HTTPS protocol 47119 \[rs] \[dq]https\[dq] 47120 protocol> 1 47121 \f[R] 47122 .fi 47123 .IP "6." 3 47124 Specify your NetStorage host, CP code, and any necessary content paths 47125 using this format: \f[C]<domain>/<cpcode>/<content>/\f[R] 47126 .IP 47127 .nf 47128 \f[C] 47129 Enter a string value. Press Enter for the default (\[dq]\[dq]). 47130 host> baseball-nsu.akamaihd.net/123456/content/ 47131 \f[R] 47132 .fi 47133 .IP "7." 3 47134 Set the netstorage account name 47135 .IP 47136 .nf 47137 \f[C] 47138 Enter a string value. Press Enter for the default (\[dq]\[dq]). 47139 account> username 47140 \f[R] 47141 .fi 47142 .IP "8." 3 47143 Set the Netstorage account secret/G2O key which will be used for 47144 authentication purposes. 47145 Select the \f[C]y\f[R] option to set your own password then enter your 47146 secret. 47147 Note: The secret is stored in the \f[C]rclone.conf\f[R] file with 47148 hex-encoded encryption. 47149 .IP 47150 .nf 47151 \f[C] 47152 y) Yes type in my own password 47153 g) Generate random password 47154 y/g> y 47155 Enter the password: 47156 password: 47157 Confirm the password: 47158 password: 47159 \f[R] 47160 .fi 47161 .IP "9." 3 47162 View the summary and confirm your remote configuration. 47163 .IP 47164 .nf 47165 \f[C] 47166 [ns1] 47167 type = netstorage 47168 protocol = http 47169 host = baseball-nsu.akamaihd.net/123456/content/ 47170 account = username 47171 secret = *** ENCRYPTED *** 47172 -------------------- 47173 y) Yes this is OK (default) 47174 e) Edit this remote 47175 d) Delete this remote 47176 y/e/d> y 47177 \f[R] 47178 .fi 47179 .PP 47180 This remote is called \f[C]ns1\f[R] and can now be used. 47181 .SS Example operations 47182 .PP 47183 Get started with rclone and NetStorage with these examples. 47184 For additional rclone commands, visit https://rclone.org/commands/. 47185 .SS See contents of a directory in your project 47186 .IP 47187 .nf 47188 \f[C] 47189 rclone lsd ns1:/974012/testing/ 47190 \f[R] 47191 .fi 47192 .SS Sync the contents local with remote 47193 .IP 47194 .nf 47195 \f[C] 47196 rclone sync . ns1:/974012/testing/ 47197 \f[R] 47198 .fi 47199 .SS Upload local content to remote 47200 .IP 47201 .nf 47202 \f[C] 47203 rclone copy notes.txt ns1:/974012/testing/ 47204 \f[R] 47205 .fi 47206 .SS Delete content on remote 47207 .IP 47208 .nf 47209 \f[C] 47210 rclone delete ns1:/974012/testing/notes.txt 47211 \f[R] 47212 .fi 47213 .SS Move or copy content between CP codes. 47214 .PP 47215 Your credentials must have access to two CP codes on the same remote. 47216 You can\[aq]t perform operations between different remotes. 47217 .IP 47218 .nf 47219 \f[C] 47220 rclone move ns1:/974012/testing/notes.txt ns1:/974450/testing2/ 47221 \f[R] 47222 .fi 47223 .SS Features 47224 .SS Symlink Support 47225 .PP 47226 The Netstorage backend changes the rclone \f[C]--links, -l\f[R] 47227 behavior. 47228 When uploading, instead of creating the .rclonelink file, use the 47229 \[dq]symlink\[dq] API in order to create the corresponding symlink on 47230 the remote. 47231 The .rclonelink file will not be created, the upload will be intercepted 47232 and only the symlink file that matches the source file name with no 47233 suffix will be created on the remote. 47234 .PP 47235 This will effectively allow commands like copy/copyto, move/moveto and 47236 sync to upload from local to remote and download from remote to local 47237 directories with symlinks. 47238 Due to internal rclone limitations, it is not possible to upload an 47239 individual symlink file to any remote backend. 47240 You can always use the \[dq]backend symlink\[dq] command to create a 47241 symlink on the NetStorage server, refer to \[dq]symlink\[dq] section 47242 below. 47243 .PP 47244 Individual symlink files on the remote can be used with the commands 47245 like \[dq]cat\[dq] to print the destination name, or \[dq]delete\[dq] to 47246 delete symlink, or copy, copy/to and move/moveto to download from the 47247 remote to local. 47248 Note: individual symlink files on the remote should be specified 47249 including the suffix .rclonelink. 47250 .PP 47251 \f[B]Note\f[R]: No file with the suffix .rclonelink should ever exist on 47252 the server since it is not possible to actually upload/create a file 47253 with .rclonelink suffix with rclone, it can only exist if it is manually 47254 created through a non-rclone method on the remote. 47255 .SS Implicit vs. Explicit Directories 47256 .PP 47257 With NetStorage, directories can exist in one of two forms: 47258 .IP "1." 3 47259 \f[B]Explicit Directory\f[R]. 47260 This is an actual, physical directory that you have created in a storage 47261 group. 47262 .IP "2." 3 47263 \f[B]Implicit Directory\f[R]. 47264 This refers to a directory within a path that has not been physically 47265 created. 47266 For example, during upload of a file, nonexistent subdirectories can be 47267 specified in the target path. 47268 NetStorage creates these as \[dq]implicit.\[dq] While the directories 47269 aren\[aq]t physically created, they exist implicitly and the noted path 47270 is connected with the uploaded file. 47271 .PP 47272 Rclone will intercept all file uploads and mkdir commands for the 47273 NetStorage remote and will explicitly issue the mkdir command for each 47274 directory in the uploading path. 47275 This will help with the interoperability with the other Akamai services 47276 such as SFTP and the Content Management Shell (CMShell). 47277 Rclone will not guarantee correctness of operations with implicit 47278 directories which might have been created as a result of using an upload 47279 API directly. 47280 .SS \f[C]--fast-list\f[R] / ListR support 47281 .PP 47282 NetStorage remote supports the ListR feature by using the \[dq]list\[dq] 47283 NetStorage API action to return a lexicographical list of all objects 47284 within the specified CP code, recursing into subdirectories as 47285 they\[aq]re encountered. 47286 .IP \[bu] 2 47287 \f[B]Rclone will use the ListR method for some commands by default\f[R]. 47288 Commands such as \f[C]lsf -R\f[R] will use ListR by default. 47289 To disable this, include the \f[C]--disable listR\f[R] option to use the 47290 non-recursive method of listing objects. 47291 .IP \[bu] 2 47292 \f[B]Rclone will not use the ListR method for some commands\f[R]. 47293 Commands such as \f[C]sync\f[R] don\[aq]t use ListR by default. 47294 To force using the ListR method, include the \f[C]--fast-list\f[R] 47295 option. 47296 .PP 47297 There are pros and cons of using the ListR method, refer to rclone 47298 documentation (https://rclone.org/docs/#fast-list). 47299 In general, the sync command over an existing deep tree on the remote 47300 will run faster with the \[dq]--fast-list\[dq] flag but with extra 47301 memory usage as a side effect. 47302 It might also result in higher CPU utilization but the whole task can be 47303 completed faster. 47304 .PP 47305 \f[B]Note\f[R]: There is a known limitation that \[dq]lsf -R\[dq] will 47306 display number of files in the directory and directory size as -1 when 47307 ListR method is used. 47308 The workaround is to pass \[dq]--disable listR\[dq] flag if these 47309 numbers are important in the output. 47310 .SS Purge 47311 .PP 47312 NetStorage remote supports the purge feature by using the 47313 \[dq]quick-delete\[dq] NetStorage API action. 47314 The quick-delete action is disabled by default for security reasons and 47315 can be enabled for the account through the Akamai portal. 47316 Rclone will first try to use quick-delete action for the purge command 47317 and if this functionality is disabled then will fall back to a standard 47318 delete method. 47319 .PP 47320 \f[B]Note\f[R]: Read the NetStorage Usage 47321 API (https://learn.akamai.com/en-us/webhelp/netstorage/netstorage-http-api-developer-guide/GUID-15836617-9F50-405A-833C-EA2556756A30.html) 47322 for considerations when using \[dq]quick-delete\[dq]. 47323 In general, using quick-delete method will not delete the tree 47324 immediately and objects targeted for quick-delete may still be 47325 accessible. 47326 .SS Standard options 47327 .PP 47328 Here are the Standard options specific to netstorage (Akamai 47329 NetStorage). 47330 .SS --netstorage-host 47331 .PP 47332 Domain+path of NetStorage host to connect to. 47333 .PP 47334 Format should be \f[C]<domain>/<internal folders>\f[R] 47335 .PP 47336 Properties: 47337 .IP \[bu] 2 47338 Config: host 47339 .IP \[bu] 2 47340 Env Var: RCLONE_NETSTORAGE_HOST 47341 .IP \[bu] 2 47342 Type: string 47343 .IP \[bu] 2 47344 Required: true 47345 .SS --netstorage-account 47346 .PP 47347 Set the NetStorage account name 47348 .PP 47349 Properties: 47350 .IP \[bu] 2 47351 Config: account 47352 .IP \[bu] 2 47353 Env Var: RCLONE_NETSTORAGE_ACCOUNT 47354 .IP \[bu] 2 47355 Type: string 47356 .IP \[bu] 2 47357 Required: true 47358 .SS --netstorage-secret 47359 .PP 47360 Set the NetStorage account secret/G2O key for authentication. 47361 .PP 47362 Please choose the \[aq]y\[aq] option to set your own password then enter 47363 your secret. 47364 .PP 47365 \f[B]NB\f[R] Input to this must be obscured - see rclone 47366 obscure (https://rclone.org/commands/rclone_obscure/). 47367 .PP 47368 Properties: 47369 .IP \[bu] 2 47370 Config: secret 47371 .IP \[bu] 2 47372 Env Var: RCLONE_NETSTORAGE_SECRET 47373 .IP \[bu] 2 47374 Type: string 47375 .IP \[bu] 2 47376 Required: true 47377 .SS Advanced options 47378 .PP 47379 Here are the Advanced options specific to netstorage (Akamai 47380 NetStorage). 47381 .SS --netstorage-protocol 47382 .PP 47383 Select between HTTP or HTTPS protocol. 47384 .PP 47385 Most users should choose HTTPS, which is the default. 47386 HTTP is provided primarily for debugging purposes. 47387 .PP 47388 Properties: 47389 .IP \[bu] 2 47390 Config: protocol 47391 .IP \[bu] 2 47392 Env Var: RCLONE_NETSTORAGE_PROTOCOL 47393 .IP \[bu] 2 47394 Type: string 47395 .IP \[bu] 2 47396 Default: \[dq]https\[dq] 47397 .IP \[bu] 2 47398 Examples: 47399 .RS 2 47400 .IP \[bu] 2 47401 \[dq]http\[dq] 47402 .RS 2 47403 .IP \[bu] 2 47404 HTTP protocol 47405 .RE 47406 .IP \[bu] 2 47407 \[dq]https\[dq] 47408 .RS 2 47409 .IP \[bu] 2 47410 HTTPS protocol 47411 .RE 47412 .RE 47413 .SS Backend commands 47414 .PP 47415 Here are the commands specific to the netstorage backend. 47416 .PP 47417 Run them with 47418 .IP 47419 .nf 47420 \f[C] 47421 rclone backend COMMAND remote: 47422 \f[R] 47423 .fi 47424 .PP 47425 The help below will explain what arguments each command takes. 47426 .PP 47427 See the backend (https://rclone.org/commands/rclone_backend/) command 47428 for more info on how to pass options and arguments. 47429 .PP 47430 These can be run on a running backend using the rc command 47431 backend/command (https://rclone.org/rc/#backend-command). 47432 .SS du 47433 .PP 47434 Return disk usage information for a specified directory 47435 .IP 47436 .nf 47437 \f[C] 47438 rclone backend du remote: [options] [<arguments>+] 47439 \f[R] 47440 .fi 47441 .PP 47442 The usage information returned, includes the targeted directory as well 47443 as all files stored in any sub-directories that may exist. 47444 .SS symlink 47445 .PP 47446 You can create a symbolic link in ObjectStore with the symlink action. 47447 .IP 47448 .nf 47449 \f[C] 47450 rclone backend symlink remote: [options] [<arguments>+] 47451 \f[R] 47452 .fi 47453 .PP 47454 The desired path location (including applicable sub-directories) ending 47455 in the object that will be the target of the symlink (for example, 47456 /links/mylink). 47457 Include the file extension for the object, if applicable. 47458 \f[C]rclone backend symlink <src> <path>\f[R] 47459 .SH Microsoft Azure Blob Storage 47460 .PP 47461 Paths are specified as \f[C]remote:container\f[R] (or \f[C]remote:\f[R] 47462 for the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 47463 \f[C]remote:container/path/to/dir\f[R]. 47464 .SS Configuration 47465 .PP 47466 Here is an example of making a Microsoft Azure Blob Storage 47467 configuration. 47468 For a remote called \f[C]remote\f[R]. 47469 First run: 47470 .IP 47471 .nf 47472 \f[C] 47473 rclone config 47474 \f[R] 47475 .fi 47476 .PP 47477 This will guide you through an interactive setup process: 47478 .IP 47479 .nf 47480 \f[C] 47481 No remotes found, make a new one? 47482 n) New remote 47483 s) Set configuration password 47484 q) Quit config 47485 n/s/q> n 47486 name> remote 47487 Type of storage to configure. 47488 Choose a number from below, or type in your own value 47489 [snip] 47490 XX / Microsoft Azure Blob Storage 47491 \[rs] \[dq]azureblob\[dq] 47492 [snip] 47493 Storage> azureblob 47494 Storage Account Name 47495 account> account_name 47496 Storage Account Key 47497 key> base64encodedkey== 47498 Endpoint for the service - leave blank normally. 47499 endpoint> 47500 Remote config 47501 -------------------- 47502 [remote] 47503 account = account_name 47504 key = base64encodedkey== 47505 endpoint = 47506 -------------------- 47507 y) Yes this is OK 47508 e) Edit this remote 47509 d) Delete this remote 47510 y/e/d> y 47511 \f[R] 47512 .fi 47513 .PP 47514 See all containers 47515 .IP 47516 .nf 47517 \f[C] 47518 rclone lsd remote: 47519 \f[R] 47520 .fi 47521 .PP 47522 Make a new container 47523 .IP 47524 .nf 47525 \f[C] 47526 rclone mkdir remote:container 47527 \f[R] 47528 .fi 47529 .PP 47530 List the contents of a container 47531 .IP 47532 .nf 47533 \f[C] 47534 rclone ls remote:container 47535 \f[R] 47536 .fi 47537 .PP 47538 Sync \f[C]/home/local/directory\f[R] to the remote container, deleting 47539 any excess files in the container. 47540 .IP 47541 .nf 47542 \f[C] 47543 rclone sync --interactive /home/local/directory remote:container 47544 \f[R] 47545 .fi 47546 .SS --fast-list 47547 .PP 47548 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 47549 transactions in exchange for more memory. 47550 See the rclone docs (https://rclone.org/docs/#fast-list) for more 47551 details. 47552 .SS Modified time 47553 .PP 47554 The modified time is stored as metadata on the object with the 47555 \f[C]mtime\f[R] key. 47556 It is stored using RFC3339 Format time with nanosecond precision. 47557 The metadata is supplied during directory listings so there is no 47558 performance overhead to using it. 47559 .PP 47560 If you wish to use the Azure standard \f[C]LastModified\f[R] time stored 47561 on the object as the modified time, then use the 47562 \f[C]--use-server-modtime\f[R] flag. 47563 Note that rclone can\[aq]t set \f[C]LastModified\f[R], so using the 47564 \f[C]--update\f[R] flag when syncing is recommended if using 47565 \f[C]--use-server-modtime\f[R]. 47566 .SS Performance 47567 .PP 47568 When uploading large files, increasing the value of 47569 \f[C]--azureblob-upload-concurrency\f[R] will increase performance at 47570 the cost of using more memory. 47571 The default of 16 is set quite conservatively to use less memory. 47572 It maybe be necessary raise it to 64 or higher to fully utilize a 1 47573 GBit/s link with a single file transfer. 47574 .SS Restricted filename characters 47575 .PP 47576 In addition to the default restricted characters 47577 set (https://rclone.org/overview/#restricted-characters) the following 47578 characters are also replaced: 47579 .PP 47580 .TS 47581 tab(@); 47582 l c c. 47583 T{ 47584 Character 47585 T}@T{ 47586 Value 47587 T}@T{ 47588 Replacement 47589 T} 47590 _ 47591 T{ 47592 / 47593 T}@T{ 47594 0x2F 47595 T}@T{ 47596 \[uFF0F] 47597 T} 47598 T{ 47599 \[rs] 47600 T}@T{ 47601 0x5C 47602 T}@T{ 47603 \[uFF3C] 47604 T} 47605 .TE 47606 .PP 47607 File names can also not end with the following characters. 47608 These only get replaced if they are the last character in the name: 47609 .PP 47610 .TS 47611 tab(@); 47612 l c c. 47613 T{ 47614 Character 47615 T}@T{ 47616 Value 47617 T}@T{ 47618 Replacement 47619 T} 47620 _ 47621 T{ 47622 \&. 47623 T}@T{ 47624 0x2E 47625 T}@T{ 47626 \[uFF0E] 47627 T} 47628 .TE 47629 .PP 47630 Invalid UTF-8 bytes will also be 47631 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 47632 be used in JSON strings. 47633 .SS Hashes 47634 .PP 47635 MD5 hashes are stored with blobs. 47636 However blobs that were uploaded in chunks only have an MD5 if the 47637 source remote was capable of MD5 hashes, e.g. 47638 the local disk. 47639 .SS Authentication 47640 .PP 47641 There are a number of ways of supplying credentials for Azure Blob 47642 Storage. 47643 Rclone tries them in the order of the sections below. 47644 .SS Env Auth 47645 .PP 47646 If the \f[C]env_auth\f[R] config parameter is \f[C]true\f[R] then rclone 47647 will pull credentials from the environment or runtime. 47648 .PP 47649 It tries these authentication methods in this order: 47650 .IP "1." 3 47651 Environment Variables 47652 .IP "2." 3 47653 Managed Service Identity Credentials 47654 .IP "3." 3 47655 Azure CLI credentials (as used by the az tool) 47656 .PP 47657 These are described in the following sections 47658 .SS Env Auth: 1. Environment Variables 47659 .PP 47660 If \f[C]env_auth\f[R] is set and environment variables are present 47661 rclone authenticates a service principal with a secret or certificate, 47662 or a user with a password, depending on which environment variable are 47663 set. 47664 It reads configuration from these variables, in the following order: 47665 .IP "1." 3 47666 Service principal with client secret 47667 .RS 4 47668 .IP \[bu] 2 47669 \f[C]AZURE_TENANT_ID\f[R]: ID of the service principal\[aq]s tenant. 47670 Also called its \[dq]directory\[dq] ID. 47671 .IP \[bu] 2 47672 \f[C]AZURE_CLIENT_ID\f[R]: the service principal\[aq]s client ID 47673 .IP \[bu] 2 47674 \f[C]AZURE_CLIENT_SECRET\f[R]: one of the service principal\[aq]s client 47675 secrets 47676 .RE 47677 .IP "2." 3 47678 Service principal with certificate 47679 .RS 4 47680 .IP \[bu] 2 47681 \f[C]AZURE_TENANT_ID\f[R]: ID of the service principal\[aq]s tenant. 47682 Also called its \[dq]directory\[dq] ID. 47683 .IP \[bu] 2 47684 \f[C]AZURE_CLIENT_ID\f[R]: the service principal\[aq]s client ID 47685 .IP \[bu] 2 47686 \f[C]AZURE_CLIENT_CERTIFICATE_PATH\f[R]: path to a PEM or PKCS12 47687 certificate file including the private key. 47688 .IP \[bu] 2 47689 \f[C]AZURE_CLIENT_CERTIFICATE_PASSWORD\f[R]: (optional) password for the 47690 certificate file. 47691 .IP \[bu] 2 47692 \f[C]AZURE_CLIENT_SEND_CERTIFICATE_CHAIN\f[R]: (optional) Specifies 47693 whether an authentication request will include an x5c header to support 47694 subject name / issuer based authentication. 47695 When set to \[dq]true\[dq] or \[dq]1\[dq], authentication requests 47696 include the x5c header. 47697 .RE 47698 .IP "3." 3 47699 User with username and password 47700 .RS 4 47701 .IP \[bu] 2 47702 \f[C]AZURE_TENANT_ID\f[R]: (optional) tenant to authenticate in. 47703 Defaults to \[dq]organizations\[dq]. 47704 .IP \[bu] 2 47705 \f[C]AZURE_CLIENT_ID\f[R]: client ID of the application the user will 47706 authenticate to 47707 .IP \[bu] 2 47708 \f[C]AZURE_USERNAME\f[R]: a username (usually an email address) 47709 .IP \[bu] 2 47710 \f[C]AZURE_PASSWORD\f[R]: the user\[aq]s password 47711 .RE 47712 .IP "4." 3 47713 Workload Identity 47714 .RS 4 47715 .IP \[bu] 2 47716 \f[C]AZURE_TENANT_ID\f[R]: Tenant to authenticate in. 47717 .IP \[bu] 2 47718 \f[C]AZURE_CLIENT_ID\f[R]: Client ID of the application the user will 47719 authenticate to. 47720 .IP \[bu] 2 47721 \f[C]AZURE_FEDERATED_TOKEN_FILE\f[R]: Path to projected service account 47722 token file. 47723 .IP \[bu] 2 47724 \f[C]AZURE_AUTHORITY_HOST\f[R]: Authority of an Azure Active Directory 47725 endpoint (default: login.microsoftonline.com). 47726 .RE 47727 .SS Env Auth: 2. Managed Service Identity Credentials 47728 .PP 47729 When using Managed Service Identity if the VM(SS) on which this program 47730 is running has a system-assigned identity, it will be used by default. 47731 If the resource has no system-assigned but exactly one user-assigned 47732 identity, the user-assigned identity will be used by default. 47733 .PP 47734 If the resource has multiple user-assigned identities you will need to 47735 unset \f[C]env_auth\f[R] and set \f[C]use_msi\f[R] instead. 47736 See the \f[C]use_msi\f[R] section. 47737 .SS Env Auth: 3. Azure CLI credentials (as used by the az tool) 47738 .PP 47739 Credentials created with the \f[C]az\f[R] tool can be picked up using 47740 \f[C]env_auth\f[R]. 47741 .PP 47742 For example if you were to login with a service principal like this: 47743 .IP 47744 .nf 47745 \f[C] 47746 az login --service-principal -u XXX -p XXX --tenant XXX 47747 \f[R] 47748 .fi 47749 .PP 47750 Then you could access rclone resources like this: 47751 .IP 47752 .nf 47753 \f[C] 47754 rclone lsf :azureblob,env_auth,account=ACCOUNT:CONTAINER 47755 \f[R] 47756 .fi 47757 .PP 47758 Or 47759 .IP 47760 .nf 47761 \f[C] 47762 rclone lsf --azureblob-env-auth --azureblob-account=ACCOUNT :azureblob:CONTAINER 47763 \f[R] 47764 .fi 47765 .PP 47766 Which is analogous to using the \f[C]az\f[R] tool: 47767 .IP 47768 .nf 47769 \f[C] 47770 az storage blob list --container-name CONTAINER --account-name ACCOUNT --auth-mode login 47771 \f[R] 47772 .fi 47773 .SS Account and Shared Key 47774 .PP 47775 This is the most straight forward and least flexible way. 47776 Just fill in the \f[C]account\f[R] and \f[C]key\f[R] lines and leave the 47777 rest blank. 47778 .SS SAS URL 47779 .PP 47780 This can be an account level SAS URL or container level SAS URL. 47781 .PP 47782 To use it leave \f[C]account\f[R] and \f[C]key\f[R] blank and fill in 47783 \f[C]sas_url\f[R]. 47784 .PP 47785 An account level SAS URL or container level SAS URL can be obtained from 47786 the Azure portal or the Azure Storage Explorer. 47787 To get a container level SAS URL right click on a container in the Azure 47788 Blob explorer in the Azure portal. 47789 .PP 47790 If you use a container level SAS URL, rclone operations are permitted 47791 only on a particular container, e.g. 47792 .IP 47793 .nf 47794 \f[C] 47795 rclone ls azureblob:container 47796 \f[R] 47797 .fi 47798 .PP 47799 You can also list the single container from the root. 47800 This will only show the container specified by the SAS URL. 47801 .IP 47802 .nf 47803 \f[C] 47804 $ rclone lsd azureblob: 47805 container/ 47806 \f[R] 47807 .fi 47808 .PP 47809 Note that you can\[aq]t see or access any other containers - this will 47810 fail 47811 .IP 47812 .nf 47813 \f[C] 47814 rclone ls azureblob:othercontainer 47815 \f[R] 47816 .fi 47817 .PP 47818 Container level SAS URLs are useful for temporarily allowing third 47819 parties access to a single container or putting credentials into an 47820 untrusted environment such as a CI build server. 47821 .SS Service principal with client secret 47822 .PP 47823 If these variables are set, rclone will authenticate with a service 47824 principal with a client secret. 47825 .IP \[bu] 2 47826 \f[C]tenant\f[R]: ID of the service principal\[aq]s tenant. 47827 Also called its \[dq]directory\[dq] ID. 47828 .IP \[bu] 2 47829 \f[C]client_id\f[R]: the service principal\[aq]s client ID 47830 .IP \[bu] 2 47831 \f[C]client_secret\f[R]: one of the service principal\[aq]s client 47832 secrets 47833 .PP 47834 The credentials can also be placed in a file using the 47835 \f[C]service_principal_file\f[R] configuration option. 47836 .SS Service principal with certificate 47837 .PP 47838 If these variables are set, rclone will authenticate with a service 47839 principal with certificate. 47840 .IP \[bu] 2 47841 \f[C]tenant\f[R]: ID of the service principal\[aq]s tenant. 47842 Also called its \[dq]directory\[dq] ID. 47843 .IP \[bu] 2 47844 \f[C]client_id\f[R]: the service principal\[aq]s client ID 47845 .IP \[bu] 2 47846 \f[C]client_certificate_path\f[R]: path to a PEM or PKCS12 certificate 47847 file including the private key. 47848 .IP \[bu] 2 47849 \f[C]client_certificate_password\f[R]: (optional) password for the 47850 certificate file. 47851 .IP \[bu] 2 47852 \f[C]client_send_certificate_chain\f[R]: (optional) Specifies whether an 47853 authentication request will include an x5c header to support subject 47854 name / issuer based authentication. 47855 When set to \[dq]true\[dq] or \[dq]1\[dq], authentication requests 47856 include the x5c header. 47857 .PP 47858 \f[B]NB\f[R] \f[C]client_certificate_password\f[R] must be obscured - 47859 see rclone obscure (https://rclone.org/commands/rclone_obscure/). 47860 .SS User with username and password 47861 .PP 47862 If these variables are set, rclone will authenticate with username and 47863 password. 47864 .IP \[bu] 2 47865 \f[C]tenant\f[R]: (optional) tenant to authenticate in. 47866 Defaults to \[dq]organizations\[dq]. 47867 .IP \[bu] 2 47868 \f[C]client_id\f[R]: client ID of the application the user will 47869 authenticate to 47870 .IP \[bu] 2 47871 \f[C]username\f[R]: a username (usually an email address) 47872 .IP \[bu] 2 47873 \f[C]password\f[R]: the user\[aq]s password 47874 .PP 47875 Microsoft doesn\[aq]t recommend this kind of authentication, because 47876 it\[aq]s less secure than other authentication flows. 47877 This method is not interactive, so it isn\[aq]t compatible with any form 47878 of multi-factor authentication, and the application must already have 47879 user or admin consent. 47880 This credential can only authenticate work and school accounts; it 47881 can\[aq]t authenticate Microsoft accounts. 47882 .PP 47883 \f[B]NB\f[R] \f[C]password\f[R] must be obscured - see rclone 47884 obscure (https://rclone.org/commands/rclone_obscure/). 47885 .SS Managed Service Identity Credentials 47886 .PP 47887 If \f[C]use_msi\f[R] is set then managed service identity credentials 47888 are used. 47889 This authentication only works when running in an Azure service. 47890 \f[C]env_auth\f[R] needs to be unset to use this. 47891 .PP 47892 However if you have multiple user identities to choose from these must 47893 be explicitly specified using exactly one of the 47894 \f[C]msi_object_id\f[R], \f[C]msi_client_id\f[R], or 47895 \f[C]msi_mi_res_id\f[R] parameters. 47896 .PP 47897 If none of \f[C]msi_object_id\f[R], \f[C]msi_client_id\f[R], or 47898 \f[C]msi_mi_res_id\f[R] is set, this is is equivalent to using 47899 \f[C]env_auth\f[R]. 47900 .SS Standard options 47901 .PP 47902 Here are the Standard options specific to azureblob (Microsoft Azure 47903 Blob Storage). 47904 .SS --azureblob-account 47905 .PP 47906 Azure Storage Account Name. 47907 .PP 47908 Set this to the Azure Storage Account Name in use. 47909 .PP 47910 Leave blank to use SAS URL or Emulator, otherwise it needs to be set. 47911 .PP 47912 If this is blank and if env_auth is set it will be read from the 47913 environment variable \f[C]AZURE_STORAGE_ACCOUNT_NAME\f[R] if possible. 47914 .PP 47915 Properties: 47916 .IP \[bu] 2 47917 Config: account 47918 .IP \[bu] 2 47919 Env Var: RCLONE_AZUREBLOB_ACCOUNT 47920 .IP \[bu] 2 47921 Type: string 47922 .IP \[bu] 2 47923 Required: false 47924 .SS --azureblob-env-auth 47925 .PP 47926 Read credentials from runtime (environment variables, CLI or MSI). 47927 .PP 47928 See the authentication docs for full info. 47929 .PP 47930 Properties: 47931 .IP \[bu] 2 47932 Config: env_auth 47933 .IP \[bu] 2 47934 Env Var: RCLONE_AZUREBLOB_ENV_AUTH 47935 .IP \[bu] 2 47936 Type: bool 47937 .IP \[bu] 2 47938 Default: false 47939 .SS --azureblob-key 47940 .PP 47941 Storage Account Shared Key. 47942 .PP 47943 Leave blank to use SAS URL or Emulator. 47944 .PP 47945 Properties: 47946 .IP \[bu] 2 47947 Config: key 47948 .IP \[bu] 2 47949 Env Var: RCLONE_AZUREBLOB_KEY 47950 .IP \[bu] 2 47951 Type: string 47952 .IP \[bu] 2 47953 Required: false 47954 .SS --azureblob-sas-url 47955 .PP 47956 SAS URL for container level access only. 47957 .PP 47958 Leave blank if using account/key or Emulator. 47959 .PP 47960 Properties: 47961 .IP \[bu] 2 47962 Config: sas_url 47963 .IP \[bu] 2 47964 Env Var: RCLONE_AZUREBLOB_SAS_URL 47965 .IP \[bu] 2 47966 Type: string 47967 .IP \[bu] 2 47968 Required: false 47969 .SS --azureblob-tenant 47970 .PP 47971 ID of the service principal\[aq]s tenant. 47972 Also called its directory ID. 47973 .PP 47974 Set this if using - Service principal with client secret - Service 47975 principal with certificate - User with username and password 47976 .PP 47977 Properties: 47978 .IP \[bu] 2 47979 Config: tenant 47980 .IP \[bu] 2 47981 Env Var: RCLONE_AZUREBLOB_TENANT 47982 .IP \[bu] 2 47983 Type: string 47984 .IP \[bu] 2 47985 Required: false 47986 .SS --azureblob-client-id 47987 .PP 47988 The ID of the client in use. 47989 .PP 47990 Set this if using - Service principal with client secret - Service 47991 principal with certificate - User with username and password 47992 .PP 47993 Properties: 47994 .IP \[bu] 2 47995 Config: client_id 47996 .IP \[bu] 2 47997 Env Var: RCLONE_AZUREBLOB_CLIENT_ID 47998 .IP \[bu] 2 47999 Type: string 48000 .IP \[bu] 2 48001 Required: false 48002 .SS --azureblob-client-secret 48003 .PP 48004 One of the service principal\[aq]s client secrets 48005 .PP 48006 Set this if using - Service principal with client secret 48007 .PP 48008 Properties: 48009 .IP \[bu] 2 48010 Config: client_secret 48011 .IP \[bu] 2 48012 Env Var: RCLONE_AZUREBLOB_CLIENT_SECRET 48013 .IP \[bu] 2 48014 Type: string 48015 .IP \[bu] 2 48016 Required: false 48017 .SS --azureblob-client-certificate-path 48018 .PP 48019 Path to a PEM or PKCS12 certificate file including the private key. 48020 .PP 48021 Set this if using - Service principal with certificate 48022 .PP 48023 Properties: 48024 .IP \[bu] 2 48025 Config: client_certificate_path 48026 .IP \[bu] 2 48027 Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PATH 48028 .IP \[bu] 2 48029 Type: string 48030 .IP \[bu] 2 48031 Required: false 48032 .SS --azureblob-client-certificate-password 48033 .PP 48034 Password for the certificate file (optional). 48035 .PP 48036 Optionally set this if using - Service principal with certificate 48037 .PP 48038 And the certificate has a password. 48039 .PP 48040 \f[B]NB\f[R] Input to this must be obscured - see rclone 48041 obscure (https://rclone.org/commands/rclone_obscure/). 48042 .PP 48043 Properties: 48044 .IP \[bu] 2 48045 Config: client_certificate_password 48046 .IP \[bu] 2 48047 Env Var: RCLONE_AZUREBLOB_CLIENT_CERTIFICATE_PASSWORD 48048 .IP \[bu] 2 48049 Type: string 48050 .IP \[bu] 2 48051 Required: false 48052 .SS Advanced options 48053 .PP 48054 Here are the Advanced options specific to azureblob (Microsoft Azure 48055 Blob Storage). 48056 .SS --azureblob-client-send-certificate-chain 48057 .PP 48058 Send the certificate chain when using certificate auth. 48059 .PP 48060 Specifies whether an authentication request will include an x5c header 48061 to support subject name / issuer based authentication. 48062 When set to true, authentication requests include the x5c header. 48063 .PP 48064 Optionally set this if using - Service principal with certificate 48065 .PP 48066 Properties: 48067 .IP \[bu] 2 48068 Config: client_send_certificate_chain 48069 .IP \[bu] 2 48070 Env Var: RCLONE_AZUREBLOB_CLIENT_SEND_CERTIFICATE_CHAIN 48071 .IP \[bu] 2 48072 Type: bool 48073 .IP \[bu] 2 48074 Default: false 48075 .SS --azureblob-username 48076 .PP 48077 User name (usually an email address) 48078 .PP 48079 Set this if using - User with username and password 48080 .PP 48081 Properties: 48082 .IP \[bu] 2 48083 Config: username 48084 .IP \[bu] 2 48085 Env Var: RCLONE_AZUREBLOB_USERNAME 48086 .IP \[bu] 2 48087 Type: string 48088 .IP \[bu] 2 48089 Required: false 48090 .SS --azureblob-password 48091 .PP 48092 The user\[aq]s password 48093 .PP 48094 Set this if using - User with username and password 48095 .PP 48096 \f[B]NB\f[R] Input to this must be obscured - see rclone 48097 obscure (https://rclone.org/commands/rclone_obscure/). 48098 .PP 48099 Properties: 48100 .IP \[bu] 2 48101 Config: password 48102 .IP \[bu] 2 48103 Env Var: RCLONE_AZUREBLOB_PASSWORD 48104 .IP \[bu] 2 48105 Type: string 48106 .IP \[bu] 2 48107 Required: false 48108 .SS --azureblob-service-principal-file 48109 .PP 48110 Path to file containing credentials for use with a service principal. 48111 .PP 48112 Leave blank normally. 48113 Needed only if you want to use a service principal instead of 48114 interactive login. 48115 .IP 48116 .nf 48117 \f[C] 48118 $ az ad sp create-for-rbac --name \[dq]<name>\[dq] \[rs] 48119 --role \[dq]Storage Blob Data Owner\[dq] \[rs] 48120 --scopes \[dq]/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>\[dq] \[rs] 48121 > azure-principal.json 48122 \f[R] 48123 .fi 48124 .PP 48125 See \[dq]Create an Azure service 48126 principal\[dq] (https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli) 48127 and \[dq]Assign an Azure role for access to blob 48128 data\[dq] (https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-cli) 48129 pages for more details. 48130 .PP 48131 It may be more convenient to put the credentials directly into the 48132 rclone config file under the \f[C]client_id\f[R], \f[C]tenant\f[R] and 48133 \f[C]client_secret\f[R] keys instead of setting 48134 \f[C]service_principal_file\f[R]. 48135 .PP 48136 Properties: 48137 .IP \[bu] 2 48138 Config: service_principal_file 48139 .IP \[bu] 2 48140 Env Var: RCLONE_AZUREBLOB_SERVICE_PRINCIPAL_FILE 48141 .IP \[bu] 2 48142 Type: string 48143 .IP \[bu] 2 48144 Required: false 48145 .SS --azureblob-use-msi 48146 .PP 48147 Use a managed service identity to authenticate (only works in Azure). 48148 .PP 48149 When true, use a managed service 48150 identity (https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/) 48151 to authenticate to Azure Storage instead of a SAS token or account key. 48152 .PP 48153 If the VM(SS) on which this program is running has a system-assigned 48154 identity, it will be used by default. 48155 If the resource has no system-assigned but exactly one user-assigned 48156 identity, the user-assigned identity will be used by default. 48157 If the resource has multiple user-assigned identities, the identity to 48158 use must be explicitly specified using exactly one of the msi_object_id, 48159 msi_client_id, or msi_mi_res_id parameters. 48160 .PP 48161 Properties: 48162 .IP \[bu] 2 48163 Config: use_msi 48164 .IP \[bu] 2 48165 Env Var: RCLONE_AZUREBLOB_USE_MSI 48166 .IP \[bu] 2 48167 Type: bool 48168 .IP \[bu] 2 48169 Default: false 48170 .SS --azureblob-msi-object-id 48171 .PP 48172 Object ID of the user-assigned MSI to use, if any. 48173 .PP 48174 Leave blank if msi_client_id or msi_mi_res_id specified. 48175 .PP 48176 Properties: 48177 .IP \[bu] 2 48178 Config: msi_object_id 48179 .IP \[bu] 2 48180 Env Var: RCLONE_AZUREBLOB_MSI_OBJECT_ID 48181 .IP \[bu] 2 48182 Type: string 48183 .IP \[bu] 2 48184 Required: false 48185 .SS --azureblob-msi-client-id 48186 .PP 48187 Object ID of the user-assigned MSI to use, if any. 48188 .PP 48189 Leave blank if msi_object_id or msi_mi_res_id specified. 48190 .PP 48191 Properties: 48192 .IP \[bu] 2 48193 Config: msi_client_id 48194 .IP \[bu] 2 48195 Env Var: RCLONE_AZUREBLOB_MSI_CLIENT_ID 48196 .IP \[bu] 2 48197 Type: string 48198 .IP \[bu] 2 48199 Required: false 48200 .SS --azureblob-msi-mi-res-id 48201 .PP 48202 Azure resource ID of the user-assigned MSI to use, if any. 48203 .PP 48204 Leave blank if msi_client_id or msi_object_id specified. 48205 .PP 48206 Properties: 48207 .IP \[bu] 2 48208 Config: msi_mi_res_id 48209 .IP \[bu] 2 48210 Env Var: RCLONE_AZUREBLOB_MSI_MI_RES_ID 48211 .IP \[bu] 2 48212 Type: string 48213 .IP \[bu] 2 48214 Required: false 48215 .SS --azureblob-use-emulator 48216 .PP 48217 Uses local storage emulator if provided as \[aq]true\[aq]. 48218 .PP 48219 Leave blank if using real azure storage endpoint. 48220 .PP 48221 Properties: 48222 .IP \[bu] 2 48223 Config: use_emulator 48224 .IP \[bu] 2 48225 Env Var: RCLONE_AZUREBLOB_USE_EMULATOR 48226 .IP \[bu] 2 48227 Type: bool 48228 .IP \[bu] 2 48229 Default: false 48230 .SS --azureblob-endpoint 48231 .PP 48232 Endpoint for the service. 48233 .PP 48234 Leave blank normally. 48235 .PP 48236 Properties: 48237 .IP \[bu] 2 48238 Config: endpoint 48239 .IP \[bu] 2 48240 Env Var: RCLONE_AZUREBLOB_ENDPOINT 48241 .IP \[bu] 2 48242 Type: string 48243 .IP \[bu] 2 48244 Required: false 48245 .SS --azureblob-upload-cutoff 48246 .PP 48247 Cutoff for switching to chunked upload (<= 256 MiB) (deprecated). 48248 .PP 48249 Properties: 48250 .IP \[bu] 2 48251 Config: upload_cutoff 48252 .IP \[bu] 2 48253 Env Var: RCLONE_AZUREBLOB_UPLOAD_CUTOFF 48254 .IP \[bu] 2 48255 Type: string 48256 .IP \[bu] 2 48257 Required: false 48258 .SS --azureblob-chunk-size 48259 .PP 48260 Upload chunk size. 48261 .PP 48262 Note that this is stored in memory and there may be up to 48263 \[dq]--transfers\[dq] * \[dq]--azureblob-upload-concurrency\[dq] chunks 48264 stored at once in memory. 48265 .PP 48266 Properties: 48267 .IP \[bu] 2 48268 Config: chunk_size 48269 .IP \[bu] 2 48270 Env Var: RCLONE_AZUREBLOB_CHUNK_SIZE 48271 .IP \[bu] 2 48272 Type: SizeSuffix 48273 .IP \[bu] 2 48274 Default: 4Mi 48275 .SS --azureblob-upload-concurrency 48276 .PP 48277 Concurrency for multipart uploads. 48278 .PP 48279 This is the number of chunks of the same file that are uploaded 48280 concurrently. 48281 .PP 48282 If you are uploading small numbers of large files over high-speed links 48283 and these uploads do not fully utilize your bandwidth, then increasing 48284 this may help to speed up the transfers. 48285 .PP 48286 In tests, upload speed increases almost linearly with upload 48287 concurrency. 48288 For example to fill a gigabit pipe it may be necessary to raise this to 48289 64. 48290 Note that this will use more memory. 48291 .PP 48292 Note that chunks are stored in memory and there may be up to 48293 \[dq]--transfers\[dq] * \[dq]--azureblob-upload-concurrency\[dq] chunks 48294 stored at once in memory. 48295 .PP 48296 Properties: 48297 .IP \[bu] 2 48298 Config: upload_concurrency 48299 .IP \[bu] 2 48300 Env Var: RCLONE_AZUREBLOB_UPLOAD_CONCURRENCY 48301 .IP \[bu] 2 48302 Type: int 48303 .IP \[bu] 2 48304 Default: 16 48305 .SS --azureblob-list-chunk 48306 .PP 48307 Size of blob list. 48308 .PP 48309 This sets the number of blobs requested in each listing chunk. 48310 Default is the maximum, 5000. 48311 \[dq]List blobs\[dq] requests are permitted 2 minutes per megabyte to 48312 complete. 48313 If an operation is taking longer than 2 minutes per megabyte on average, 48314 it will time out ( 48315 source (https://docs.microsoft.com/en-us/rest/api/storageservices/setting-timeouts-for-blob-service-operations#exceptions-to-default-timeout-interval) 48316 ). 48317 This can be used to limit the number of blobs items to return, to avoid 48318 the time out. 48319 .PP 48320 Properties: 48321 .IP \[bu] 2 48322 Config: list_chunk 48323 .IP \[bu] 2 48324 Env Var: RCLONE_AZUREBLOB_LIST_CHUNK 48325 .IP \[bu] 2 48326 Type: int 48327 .IP \[bu] 2 48328 Default: 5000 48329 .SS --azureblob-access-tier 48330 .PP 48331 Access tier of blob: hot, cool or archive. 48332 .PP 48333 Archived blobs can be restored by setting access tier to hot or cool. 48334 Leave blank if you intend to use default access tier, which is set at 48335 account level 48336 .PP 48337 If there is no \[dq]access tier\[dq] specified, rclone doesn\[aq]t apply 48338 any tier. 48339 rclone performs \[dq]Set Tier\[dq] operation on blobs while uploading, 48340 if objects are not modified, specifying \[dq]access tier\[dq] to new one 48341 will have no effect. 48342 If blobs are in \[dq]archive tier\[dq] at remote, trying to perform data 48343 transfer operations from remote will not be allowed. 48344 User should first restore by tiering blob to \[dq]Hot\[dq] or 48345 \[dq]Cool\[dq]. 48346 .PP 48347 Properties: 48348 .IP \[bu] 2 48349 Config: access_tier 48350 .IP \[bu] 2 48351 Env Var: RCLONE_AZUREBLOB_ACCESS_TIER 48352 .IP \[bu] 2 48353 Type: string 48354 .IP \[bu] 2 48355 Required: false 48356 .SS --azureblob-archive-tier-delete 48357 .PP 48358 Delete archive tier blobs before overwriting. 48359 .PP 48360 Archive tier blobs cannot be updated. 48361 So without this flag, if you attempt to update an archive tier blob, 48362 then rclone will produce the error: 48363 .IP 48364 .nf 48365 \f[C] 48366 can\[aq]t update archive tier blob without --azureblob-archive-tier-delete 48367 \f[R] 48368 .fi 48369 .PP 48370 With this flag set then before rclone attempts to overwrite an archive 48371 tier blob, it will delete the existing blob before uploading its 48372 replacement. 48373 This has the potential for data loss if the upload fails (unlike 48374 updating a normal blob) and also may cost more since deleting archive 48375 tier blobs early may be chargable. 48376 .PP 48377 Properties: 48378 .IP \[bu] 2 48379 Config: archive_tier_delete 48380 .IP \[bu] 2 48381 Env Var: RCLONE_AZUREBLOB_ARCHIVE_TIER_DELETE 48382 .IP \[bu] 2 48383 Type: bool 48384 .IP \[bu] 2 48385 Default: false 48386 .SS --azureblob-disable-checksum 48387 .PP 48388 Don\[aq]t store MD5 checksum with object metadata. 48389 .PP 48390 Normally rclone will calculate the MD5 checksum of the input before 48391 uploading it so it can add it to metadata on the object. 48392 This is great for data integrity checking but can cause long delays for 48393 large files to start uploading. 48394 .PP 48395 Properties: 48396 .IP \[bu] 2 48397 Config: disable_checksum 48398 .IP \[bu] 2 48399 Env Var: RCLONE_AZUREBLOB_DISABLE_CHECKSUM 48400 .IP \[bu] 2 48401 Type: bool 48402 .IP \[bu] 2 48403 Default: false 48404 .SS --azureblob-memory-pool-flush-time 48405 .PP 48406 How often internal memory buffer pools will be flushed. 48407 .PP 48408 Uploads which requires additional buffers (f.e multipart) will use 48409 memory pool for allocations. 48410 This option controls how often unused buffers will be removed from the 48411 pool. 48412 .PP 48413 Properties: 48414 .IP \[bu] 2 48415 Config: memory_pool_flush_time 48416 .IP \[bu] 2 48417 Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_FLUSH_TIME 48418 .IP \[bu] 2 48419 Type: Duration 48420 .IP \[bu] 2 48421 Default: 1m0s 48422 .SS --azureblob-memory-pool-use-mmap 48423 .PP 48424 Whether to use mmap buffers in internal memory pool. 48425 .PP 48426 Properties: 48427 .IP \[bu] 2 48428 Config: memory_pool_use_mmap 48429 .IP \[bu] 2 48430 Env Var: RCLONE_AZUREBLOB_MEMORY_POOL_USE_MMAP 48431 .IP \[bu] 2 48432 Type: bool 48433 .IP \[bu] 2 48434 Default: false 48435 .SS --azureblob-encoding 48436 .PP 48437 The encoding for the backend. 48438 .PP 48439 See the encoding section in the 48440 overview (https://rclone.org/overview/#encoding) for more info. 48441 .PP 48442 Properties: 48443 .IP \[bu] 2 48444 Config: encoding 48445 .IP \[bu] 2 48446 Env Var: RCLONE_AZUREBLOB_ENCODING 48447 .IP \[bu] 2 48448 Type: MultiEncoder 48449 .IP \[bu] 2 48450 Default: Slash,BackSlash,Del,Ctl,RightPeriod,InvalidUtf8 48451 .SS --azureblob-public-access 48452 .PP 48453 Public access level of a container: blob or container. 48454 .PP 48455 Properties: 48456 .IP \[bu] 2 48457 Config: public_access 48458 .IP \[bu] 2 48459 Env Var: RCLONE_AZUREBLOB_PUBLIC_ACCESS 48460 .IP \[bu] 2 48461 Type: string 48462 .IP \[bu] 2 48463 Required: false 48464 .IP \[bu] 2 48465 Examples: 48466 .RS 2 48467 .IP \[bu] 2 48468 \[dq]\[dq] 48469 .RS 2 48470 .IP \[bu] 2 48471 The container and its blobs can be accessed only with an authorized 48472 request. 48473 .IP \[bu] 2 48474 It\[aq]s a default value. 48475 .RE 48476 .IP \[bu] 2 48477 \[dq]blob\[dq] 48478 .RS 2 48479 .IP \[bu] 2 48480 Blob data within this container can be read via anonymous request. 48481 .RE 48482 .IP \[bu] 2 48483 \[dq]container\[dq] 48484 .RS 2 48485 .IP \[bu] 2 48486 Allow full public read access for container and blob data. 48487 .RE 48488 .RE 48489 .SS --azureblob-directory-markers 48490 .PP 48491 Upload an empty object with a trailing slash when a new directory is 48492 created 48493 .PP 48494 Empty folders are unsupported for bucket based remotes, this option 48495 creates an empty object ending with \[dq]/\[dq], to persist the folder. 48496 .PP 48497 This object also has the metadata \[dq]hdi_isfolder = true\[dq] to 48498 conform to the Microsoft standard. 48499 .PP 48500 Properties: 48501 .IP \[bu] 2 48502 Config: directory_markers 48503 .IP \[bu] 2 48504 Env Var: RCLONE_AZUREBLOB_DIRECTORY_MARKERS 48505 .IP \[bu] 2 48506 Type: bool 48507 .IP \[bu] 2 48508 Default: false 48509 .SS --azureblob-no-check-container 48510 .PP 48511 If set, don\[aq]t attempt to check the container exists or create it. 48512 .PP 48513 This can be useful when trying to minimise the number of transactions 48514 rclone does if you know the container exists already. 48515 .PP 48516 Properties: 48517 .IP \[bu] 2 48518 Config: no_check_container 48519 .IP \[bu] 2 48520 Env Var: RCLONE_AZUREBLOB_NO_CHECK_CONTAINER 48521 .IP \[bu] 2 48522 Type: bool 48523 .IP \[bu] 2 48524 Default: false 48525 .SS --azureblob-no-head-object 48526 .PP 48527 If set, do not do HEAD before GET when getting objects. 48528 .PP 48529 Properties: 48530 .IP \[bu] 2 48531 Config: no_head_object 48532 .IP \[bu] 2 48533 Env Var: RCLONE_AZUREBLOB_NO_HEAD_OBJECT 48534 .IP \[bu] 2 48535 Type: bool 48536 .IP \[bu] 2 48537 Default: false 48538 .SS Custom upload headers 48539 .PP 48540 You can set custom upload headers with the \f[C]--header-upload\f[R] 48541 flag. 48542 .IP \[bu] 2 48543 Cache-Control 48544 .IP \[bu] 2 48545 Content-Disposition 48546 .IP \[bu] 2 48547 Content-Encoding 48548 .IP \[bu] 2 48549 Content-Language 48550 .IP \[bu] 2 48551 Content-Type 48552 .PP 48553 Eg \f[C]--header-upload \[dq]Content-Type: text/potato\[dq]\f[R] 48554 .SS Limitations 48555 .PP 48556 MD5 sums are only uploaded with chunked files if the source has an MD5 48557 sum. 48558 This will always be the case for a local to azure copy. 48559 .PP 48560 \f[C]rclone about\f[R] is not supported by the Microsoft Azure Blob 48561 storage backend. 48562 Backends without this capability cannot determine free space for an 48563 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 48564 of an rclone union remote. 48565 .PP 48566 See List of backends that do not support rclone 48567 about (https://rclone.org/overview/#optional-features) and rclone 48568 about (https://rclone.org/commands/rclone_about/) 48569 .SS Azure Storage Emulator Support 48570 .PP 48571 You can run rclone with the storage emulator (usually 48572 \f[I]azurite\f[R]). 48573 .PP 48574 To do this, just set up a new remote with \f[C]rclone config\f[R] 48575 following the instructions in the introduction and set 48576 \f[C]use_emulator\f[R] in the advanced settings as \f[C]true\f[R]. 48577 You do not need to provide a default account name nor an account key. 48578 But you can override them in the \f[C]account\f[R] and \f[C]key\f[R] 48579 options. 48580 (Prior to v1.61 they were hard coded to \f[I]azurite\f[R]\[aq]s 48581 \f[C]devstoreaccount1\f[R].) 48582 .PP 48583 Also, if you want to access a storage emulator instance running on a 48584 different machine, you can override the \f[C]endpoint\f[R] parameter in 48585 the advanced settings, setting it to 48586 \f[C]http(s)://<host>:<port>/devstoreaccount1\f[R] (e.g. 48587 \f[C]http://10.254.2.5:10000/devstoreaccount1\f[R]). 48588 .SH Microsoft OneDrive 48589 .PP 48590 Paths are specified as \f[C]remote:path\f[R] 48591 .PP 48592 Paths may be as deep as required, e.g. 48593 \f[C]remote:directory/subdirectory\f[R]. 48594 .SS Configuration 48595 .PP 48596 The initial setup for OneDrive involves getting a token from Microsoft 48597 which you need to do in your browser. 48598 \f[C]rclone config\f[R] walks you through it. 48599 .PP 48600 Here is an example of how to make a remote called \f[C]remote\f[R]. 48601 First run: 48602 .IP 48603 .nf 48604 \f[C] 48605 rclone config 48606 \f[R] 48607 .fi 48608 .PP 48609 This will guide you through an interactive setup process: 48610 .IP 48611 .nf 48612 \f[C] 48613 e) Edit existing remote 48614 n) New remote 48615 d) Delete remote 48616 r) Rename remote 48617 c) Copy remote 48618 s) Set configuration password 48619 q) Quit config 48620 e/n/d/r/c/s/q> n 48621 name> remote 48622 Type of storage to configure. 48623 Enter a string value. Press Enter for the default (\[dq]\[dq]). 48624 Choose a number from below, or type in your own value 48625 [snip] 48626 XX / Microsoft OneDrive 48627 \[rs] \[dq]onedrive\[dq] 48628 [snip] 48629 Storage> onedrive 48630 Microsoft App Client Id 48631 Leave blank normally. 48632 Enter a string value. Press Enter for the default (\[dq]\[dq]). 48633 client_id> 48634 Microsoft App Client Secret 48635 Leave blank normally. 48636 Enter a string value. Press Enter for the default (\[dq]\[dq]). 48637 client_secret> 48638 Edit advanced config? (y/n) 48639 y) Yes 48640 n) No 48641 y/n> n 48642 Remote config 48643 Use web browser to automatically authenticate rclone with remote? 48644 * Say Y if the machine running rclone has a web browser you can use 48645 * Say N if running rclone on a (remote) machine without web browser access 48646 If not sure try Y. If Y failed, try N. 48647 y) Yes 48648 n) No 48649 y/n> y 48650 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 48651 Log in and authorize rclone for access 48652 Waiting for code... 48653 Got code 48654 Choose a number from below, or type in an existing value 48655 1 / OneDrive Personal or Business 48656 \[rs] \[dq]onedrive\[dq] 48657 2 / Sharepoint site 48658 \[rs] \[dq]sharepoint\[dq] 48659 3 / Type in driveID 48660 \[rs] \[dq]driveid\[dq] 48661 4 / Type in SiteID 48662 \[rs] \[dq]siteid\[dq] 48663 5 / Search a Sharepoint site 48664 \[rs] \[dq]search\[dq] 48665 Your choice> 1 48666 Found 1 drives, please select the one you want to use: 48667 0: OneDrive (business) id=b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk 48668 Chose drive to use:> 0 48669 Found drive \[aq]root\[aq] of type \[aq]business\[aq], URL: https://org-my.sharepoint.com/personal/you/Documents 48670 Is that okay? 48671 y) Yes 48672 n) No 48673 y/n> y 48674 -------------------- 48675 [remote] 48676 type = onedrive 48677 token = {\[dq]access_token\[dq]:\[dq]youraccesstoken\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]yourrefreshtoken\[dq],\[dq]expiry\[dq]:\[dq]2018-08-26T22:39:52.486512262+08:00\[dq]} 48678 drive_id = b!Eqwertyuiopasdfghjklzxcvbnm-7mnbvcxzlkjhgfdsapoiuytrewqk 48679 drive_type = business 48680 -------------------- 48681 y) Yes this is OK 48682 e) Edit this remote 48683 d) Delete this remote 48684 y/e/d> y 48685 \f[R] 48686 .fi 48687 .PP 48688 See the remote setup docs (https://rclone.org/remote_setup/) for how to 48689 set it up on a machine with no Internet browser available. 48690 .PP 48691 Note that rclone runs a webserver on your local machine to collect the 48692 token as returned from Microsoft. 48693 This only runs from the moment it opens your browser to the moment you 48694 get back the verification code. 48695 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 48696 to unblock it temporarily if you are running a host firewall. 48697 .PP 48698 Once configured you can then use \f[C]rclone\f[R] like this, 48699 .PP 48700 List directories in top level of your OneDrive 48701 .IP 48702 .nf 48703 \f[C] 48704 rclone lsd remote: 48705 \f[R] 48706 .fi 48707 .PP 48708 List all the files in your OneDrive 48709 .IP 48710 .nf 48711 \f[C] 48712 rclone ls remote: 48713 \f[R] 48714 .fi 48715 .PP 48716 To copy a local directory to an OneDrive directory called backup 48717 .IP 48718 .nf 48719 \f[C] 48720 rclone copy /home/source remote:backup 48721 \f[R] 48722 .fi 48723 .SS Getting your own Client ID and Key 48724 .PP 48725 rclone uses a default Client ID when talking to OneDrive, unless a 48726 custom \f[C]client_id\f[R] is specified in the config. 48727 The default Client ID and Key are shared by all rclone users when 48728 performing requests. 48729 .PP 48730 You may choose to create and use your own Client ID, in case the default 48731 one does not work well for you. 48732 For example, you might see throttling. 48733 .SS Creating Client ID for OneDrive Personal 48734 .PP 48735 To create your own Client ID, please follow these steps: 48736 .IP "1." 3 48737 Open 48738 https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade 48739 and then click \f[C]New registration\f[R]. 48740 .IP "2." 3 48741 Enter a name for your app, choose account type 48742 \f[C]Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)\f[R], 48743 select \f[C]Web\f[R] in \f[C]Redirect URI\f[R], then type (do not copy 48744 and paste) \f[C]http://localhost:53682/\f[R] and click Register. 48745 Copy and keep the \f[C]Application (client) ID\f[R] under the app name 48746 for later use. 48747 .IP "3." 3 48748 Under \f[C]manage\f[R] select \f[C]Certificates & secrets\f[R], click 48749 \f[C]New client secret\f[R]. 48750 Enter a description (can be anything) and set \f[C]Expires\f[R] to 24 48751 months. 48752 Copy and keep that secret \f[I]Value\f[R] for later use (you 48753 \f[I]won\[aq]t\f[R] be able to see this value afterwards). 48754 .IP "4." 3 48755 Under \f[C]manage\f[R] select \f[C]API permissions\f[R], click 48756 \f[C]Add a permission\f[R] and select \f[C]Microsoft Graph\f[R] then 48757 select \f[C]delegated permissions\f[R]. 48758 .IP "5." 3 48759 Search and select the following permissions: \f[C]Files.Read\f[R], 48760 \f[C]Files.ReadWrite\f[R], \f[C]Files.Read.All\f[R], 48761 \f[C]Files.ReadWrite.All\f[R], \f[C]offline_access\f[R], 48762 \f[C]User.Read\f[R] and \f[C]Sites.Read.All\f[R] (if custom access 48763 scopes are configured, select the permissions accordingly). 48764 Once selected click \f[C]Add permissions\f[R] at the bottom. 48765 .PP 48766 Now the application is complete. 48767 Run \f[C]rclone config\f[R] to create or edit a OneDrive remote. 48768 Supply the app ID and password as Client ID and Secret, respectively. 48769 rclone will walk you through the remaining steps. 48770 .PP 48771 The access_scopes option allows you to configure the permissions 48772 requested by rclone. 48773 See Microsoft 48774 Docs (https://docs.microsoft.com/en-us/graph/permissions-reference#files-permissions) 48775 for more information about the different scopes. 48776 .PP 48777 The \f[C]Sites.Read.All\f[R] permission is required if you need to 48778 search SharePoint sites when configuring the 48779 remote (https://github.com/divyam234/rclone/pull/5883). 48780 However, if that permission is not assigned, you need to exclude 48781 \f[C]Sites.Read.All\f[R] from your access scopes or set 48782 \f[C]disable_site_permission\f[R] option to true in the advanced 48783 options. 48784 .SS Creating Client ID for OneDrive Business 48785 .PP 48786 The steps for OneDrive Personal may or may not work for OneDrive 48787 Business, depending on the security settings of the organization. 48788 A common error is that the publisher of the App is not verified. 48789 .PP 48790 You may try to verify you 48791 account (https://docs.microsoft.com/en-us/azure/active-directory/develop/publisher-verification-overview), 48792 or try to limit the App to your organization only, as shown below. 48793 .IP "1." 3 48794 Make sure to create the App with your business account. 48795 .IP "2." 3 48796 Follow the steps above to create an App. 48797 However, we need a different account type here: 48798 \f[C]Accounts in this organizational directory only (*** - Single tenant)\f[R]. 48799 Note that you can also change the account type after creating the App. 48800 .IP "3." 3 48801 Find the tenant 48802 ID (https://docs.microsoft.com/en-us/azure/active-directory/fundamentals/active-directory-how-to-find-tenant) 48803 of your organization. 48804 .IP "4." 3 48805 In the rclone config, set \f[C]auth_url\f[R] to 48806 \f[C]https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/authorize\f[R]. 48807 .IP "5." 3 48808 In the rclone config, set \f[C]token_url\f[R] to 48809 \f[C]https://login.microsoftonline.com/YOUR_TENANT_ID/oauth2/v2.0/token\f[R]. 48810 .PP 48811 Note: If you have a special region, you may need a different host in 48812 step 4 and 5. 48813 Here are some 48814 hints (https://github.com/divyam234/rclone/blob/bc23bf11db1c78c6ebbf8ea538fbebf7058b4176/backend/onedrive/onedrive.go#L86). 48815 .SS Modification time and hashes 48816 .PP 48817 OneDrive allows modification times to be set on objects accurate to 1 48818 second. 48819 These will be used to detect whether objects need syncing or not. 48820 .PP 48821 OneDrive Personal, OneDrive for Business and Sharepoint Server support 48822 QuickXorHash (https://docs.microsoft.com/en-us/onedrive/developer/code-snippets/quickxorhash). 48823 .PP 48824 Before rclone 1.62 the default hash for Onedrive Personal was 48825 \f[C]SHA1\f[R]. 48826 For rclone 1.62 and above the default for all Onedrive backends is 48827 \f[C]QuickXorHash\f[R]. 48828 .PP 48829 Starting from July 2023 \f[C]SHA1\f[R] support is being phased out in 48830 Onedrive Personal in favour of \f[C]QuickXorHash\f[R]. 48831 If necessary the \f[C]--onedrive-hash-type\f[R] flag (or 48832 \f[C]hash_type\f[R] config option) can be used to select \f[C]SHA1\f[R] 48833 during the transition period if this is important your workflow. 48834 .PP 48835 For all types of OneDrive you can use the \f[C]--checksum\f[R] flag. 48836 .SS Restricted filename characters 48837 .PP 48838 In addition to the default restricted characters 48839 set (https://rclone.org/overview/#restricted-characters) the following 48840 characters are also replaced: 48841 .PP 48842 .TS 48843 tab(@); 48844 l c c. 48845 T{ 48846 Character 48847 T}@T{ 48848 Value 48849 T}@T{ 48850 Replacement 48851 T} 48852 _ 48853 T{ 48854 \[dq] 48855 T}@T{ 48856 0x22 48857 T}@T{ 48858 \[uFF02] 48859 T} 48860 T{ 48861 * 48862 T}@T{ 48863 0x2A 48864 T}@T{ 48865 \[uFF0A] 48866 T} 48867 T{ 48868 : 48869 T}@T{ 48870 0x3A 48871 T}@T{ 48872 \[uFF1A] 48873 T} 48874 T{ 48875 < 48876 T}@T{ 48877 0x3C 48878 T}@T{ 48879 \[uFF1C] 48880 T} 48881 T{ 48882 > 48883 T}@T{ 48884 0x3E 48885 T}@T{ 48886 \[uFF1E] 48887 T} 48888 T{ 48889 ? 48890 T}@T{ 48891 0x3F 48892 T}@T{ 48893 \[uFF1F] 48894 T} 48895 T{ 48896 \[rs] 48897 T}@T{ 48898 0x5C 48899 T}@T{ 48900 \[uFF3C] 48901 T} 48902 T{ 48903 | 48904 T}@T{ 48905 0x7C 48906 T}@T{ 48907 \[uFF5C] 48908 T} 48909 .TE 48910 .PP 48911 File names can also not end with the following characters. 48912 These only get replaced if they are the last character in the name: 48913 .PP 48914 .TS 48915 tab(@); 48916 l c c. 48917 T{ 48918 Character 48919 T}@T{ 48920 Value 48921 T}@T{ 48922 Replacement 48923 T} 48924 _ 48925 T{ 48926 SP 48927 T}@T{ 48928 0x20 48929 T}@T{ 48930 \[u2420] 48931 T} 48932 T{ 48933 \&. 48934 T}@T{ 48935 0x2E 48936 T}@T{ 48937 \[uFF0E] 48938 T} 48939 .TE 48940 .PP 48941 File names can also not begin with the following characters. 48942 These only get replaced if they are the first character in the name: 48943 .PP 48944 .TS 48945 tab(@); 48946 l c c. 48947 T{ 48948 Character 48949 T}@T{ 48950 Value 48951 T}@T{ 48952 Replacement 48953 T} 48954 _ 48955 T{ 48956 SP 48957 T}@T{ 48958 0x20 48959 T}@T{ 48960 \[u2420] 48961 T} 48962 T{ 48963 \[ti] 48964 T}@T{ 48965 0x7E 48966 T}@T{ 48967 \[uFF5E] 48968 T} 48969 .TE 48970 .PP 48971 Invalid UTF-8 bytes will also be 48972 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 48973 be used in JSON strings. 48974 .SS Deleting files 48975 .PP 48976 Any files you delete with rclone will end up in the trash. 48977 Microsoft doesn\[aq]t provide an API to permanently delete files, nor to 48978 empty the trash, so you will have to do that with one of Microsoft\[aq]s 48979 apps or via the OneDrive website. 48980 .SS Standard options 48981 .PP 48982 Here are the Standard options specific to onedrive (Microsoft OneDrive). 48983 .SS --onedrive-client-id 48984 .PP 48985 OAuth Client Id. 48986 .PP 48987 Leave blank normally. 48988 .PP 48989 Properties: 48990 .IP \[bu] 2 48991 Config: client_id 48992 .IP \[bu] 2 48993 Env Var: RCLONE_ONEDRIVE_CLIENT_ID 48994 .IP \[bu] 2 48995 Type: string 48996 .IP \[bu] 2 48997 Required: false 48998 .SS --onedrive-client-secret 48999 .PP 49000 OAuth Client Secret. 49001 .PP 49002 Leave blank normally. 49003 .PP 49004 Properties: 49005 .IP \[bu] 2 49006 Config: client_secret 49007 .IP \[bu] 2 49008 Env Var: RCLONE_ONEDRIVE_CLIENT_SECRET 49009 .IP \[bu] 2 49010 Type: string 49011 .IP \[bu] 2 49012 Required: false 49013 .SS --onedrive-region 49014 .PP 49015 Choose national cloud region for OneDrive. 49016 .PP 49017 Properties: 49018 .IP \[bu] 2 49019 Config: region 49020 .IP \[bu] 2 49021 Env Var: RCLONE_ONEDRIVE_REGION 49022 .IP \[bu] 2 49023 Type: string 49024 .IP \[bu] 2 49025 Default: \[dq]global\[dq] 49026 .IP \[bu] 2 49027 Examples: 49028 .RS 2 49029 .IP \[bu] 2 49030 \[dq]global\[dq] 49031 .RS 2 49032 .IP \[bu] 2 49033 Microsoft Cloud Global 49034 .RE 49035 .IP \[bu] 2 49036 \[dq]us\[dq] 49037 .RS 2 49038 .IP \[bu] 2 49039 Microsoft Cloud for US Government 49040 .RE 49041 .IP \[bu] 2 49042 \[dq]de\[dq] 49043 .RS 2 49044 .IP \[bu] 2 49045 Microsoft Cloud Germany 49046 .RE 49047 .IP \[bu] 2 49048 \[dq]cn\[dq] 49049 .RS 2 49050 .IP \[bu] 2 49051 Azure and Office 365 operated by Vnet Group in China 49052 .RE 49053 .RE 49054 .SS Advanced options 49055 .PP 49056 Here are the Advanced options specific to onedrive (Microsoft OneDrive). 49057 .SS --onedrive-token 49058 .PP 49059 OAuth Access Token as a JSON blob. 49060 .PP 49061 Properties: 49062 .IP \[bu] 2 49063 Config: token 49064 .IP \[bu] 2 49065 Env Var: RCLONE_ONEDRIVE_TOKEN 49066 .IP \[bu] 2 49067 Type: string 49068 .IP \[bu] 2 49069 Required: false 49070 .SS --onedrive-auth-url 49071 .PP 49072 Auth server URL. 49073 .PP 49074 Leave blank to use the provider defaults. 49075 .PP 49076 Properties: 49077 .IP \[bu] 2 49078 Config: auth_url 49079 .IP \[bu] 2 49080 Env Var: RCLONE_ONEDRIVE_AUTH_URL 49081 .IP \[bu] 2 49082 Type: string 49083 .IP \[bu] 2 49084 Required: false 49085 .SS --onedrive-token-url 49086 .PP 49087 Token server url. 49088 .PP 49089 Leave blank to use the provider defaults. 49090 .PP 49091 Properties: 49092 .IP \[bu] 2 49093 Config: token_url 49094 .IP \[bu] 2 49095 Env Var: RCLONE_ONEDRIVE_TOKEN_URL 49096 .IP \[bu] 2 49097 Type: string 49098 .IP \[bu] 2 49099 Required: false 49100 .SS --onedrive-chunk-size 49101 .PP 49102 Chunk size to upload files with - must be multiple of 320k (327,680 49103 bytes). 49104 .PP 49105 Above this size files will be chunked - must be multiple of 320k 49106 (327,680 bytes) and should not exceed 250M (262,144,000 bytes) else you 49107 may encounter 49108 \[dq]Microsoft.SharePoint.Client.InvalidClientQueryException: The 49109 request message is too big.\[dq] Note that the chunks will be buffered 49110 into memory. 49111 .PP 49112 Properties: 49113 .IP \[bu] 2 49114 Config: chunk_size 49115 .IP \[bu] 2 49116 Env Var: RCLONE_ONEDRIVE_CHUNK_SIZE 49117 .IP \[bu] 2 49118 Type: SizeSuffix 49119 .IP \[bu] 2 49120 Default: 10Mi 49121 .SS --onedrive-drive-id 49122 .PP 49123 The ID of the drive to use. 49124 .PP 49125 Properties: 49126 .IP \[bu] 2 49127 Config: drive_id 49128 .IP \[bu] 2 49129 Env Var: RCLONE_ONEDRIVE_DRIVE_ID 49130 .IP \[bu] 2 49131 Type: string 49132 .IP \[bu] 2 49133 Required: false 49134 .SS --onedrive-drive-type 49135 .PP 49136 The type of the drive (personal | business | documentLibrary). 49137 .PP 49138 Properties: 49139 .IP \[bu] 2 49140 Config: drive_type 49141 .IP \[bu] 2 49142 Env Var: RCLONE_ONEDRIVE_DRIVE_TYPE 49143 .IP \[bu] 2 49144 Type: string 49145 .IP \[bu] 2 49146 Required: false 49147 .SS --onedrive-root-folder-id 49148 .PP 49149 ID of the root folder. 49150 .PP 49151 This isn\[aq]t normally needed, but in special circumstances you might 49152 know the folder ID that you wish to access but not be able to get there 49153 through a path traversal. 49154 .PP 49155 Properties: 49156 .IP \[bu] 2 49157 Config: root_folder_id 49158 .IP \[bu] 2 49159 Env Var: RCLONE_ONEDRIVE_ROOT_FOLDER_ID 49160 .IP \[bu] 2 49161 Type: string 49162 .IP \[bu] 2 49163 Required: false 49164 .SS --onedrive-access-scopes 49165 .PP 49166 Set scopes to be requested by rclone. 49167 .PP 49168 Choose or manually enter a custom space separated list with all scopes, 49169 that rclone should request. 49170 .PP 49171 Properties: 49172 .IP \[bu] 2 49173 Config: access_scopes 49174 .IP \[bu] 2 49175 Env Var: RCLONE_ONEDRIVE_ACCESS_SCOPES 49176 .IP \[bu] 2 49177 Type: SpaceSepList 49178 .IP \[bu] 2 49179 Default: Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All 49180 Sites.Read.All offline_access 49181 .IP \[bu] 2 49182 Examples: 49183 .RS 2 49184 .IP \[bu] 2 49185 \[dq]Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All 49186 Sites.Read.All offline_access\[dq] 49187 .RS 2 49188 .IP \[bu] 2 49189 Read and write access to all resources 49190 .RE 49191 .IP \[bu] 2 49192 \[dq]Files.Read Files.Read.All Sites.Read.All offline_access\[dq] 49193 .RS 2 49194 .IP \[bu] 2 49195 Read only access to all resources 49196 .RE 49197 .IP \[bu] 2 49198 \[dq]Files.Read Files.ReadWrite Files.Read.All Files.ReadWrite.All 49199 offline_access\[dq] 49200 .RS 2 49201 .IP \[bu] 2 49202 Read and write access to all resources, without the ability to browse 49203 SharePoint sites. 49204 .IP \[bu] 2 49205 Same as if disable_site_permission was set to true 49206 .RE 49207 .RE 49208 .SS --onedrive-disable-site-permission 49209 .PP 49210 Disable the request for Sites.Read.All permission. 49211 .PP 49212 If set to true, you will no longer be able to search for a SharePoint 49213 site when configuring drive ID, because rclone will not request 49214 Sites.Read.All permission. 49215 Set it to true if your organization didn\[aq]t assign Sites.Read.All 49216 permission to the application, and your organization disallows users to 49217 consent app permission request on their own. 49218 .PP 49219 Properties: 49220 .IP \[bu] 2 49221 Config: disable_site_permission 49222 .IP \[bu] 2 49223 Env Var: RCLONE_ONEDRIVE_DISABLE_SITE_PERMISSION 49224 .IP \[bu] 2 49225 Type: bool 49226 .IP \[bu] 2 49227 Default: false 49228 .SS --onedrive-expose-onenote-files 49229 .PP 49230 Set to make OneNote files show up in directory listings. 49231 .PP 49232 By default, rclone will hide OneNote files in directory listings because 49233 operations like \[dq]Open\[dq] and \[dq]Update\[dq] won\[aq]t work on 49234 them. 49235 But this behaviour may also prevent you from deleting them. 49236 If you want to delete OneNote files or otherwise want them to show up in 49237 directory listing, set this option. 49238 .PP 49239 Properties: 49240 .IP \[bu] 2 49241 Config: expose_onenote_files 49242 .IP \[bu] 2 49243 Env Var: RCLONE_ONEDRIVE_EXPOSE_ONENOTE_FILES 49244 .IP \[bu] 2 49245 Type: bool 49246 .IP \[bu] 2 49247 Default: false 49248 .SS --onedrive-server-side-across-configs 49249 .PP 49250 Deprecated: use --server-side-across-configs instead. 49251 .PP 49252 Allow server-side operations (e.g. 49253 copy) to work across different onedrive configs. 49254 .PP 49255 This will only work if you are copying between two OneDrive 49256 \f[I]Personal\f[R] drives AND the files to copy are already shared 49257 between them. 49258 In other cases, rclone will fall back to normal copy (which will be 49259 slightly slower). 49260 .PP 49261 Properties: 49262 .IP \[bu] 2 49263 Config: server_side_across_configs 49264 .IP \[bu] 2 49265 Env Var: RCLONE_ONEDRIVE_SERVER_SIDE_ACROSS_CONFIGS 49266 .IP \[bu] 2 49267 Type: bool 49268 .IP \[bu] 2 49269 Default: false 49270 .SS --onedrive-list-chunk 49271 .PP 49272 Size of listing chunk. 49273 .PP 49274 Properties: 49275 .IP \[bu] 2 49276 Config: list_chunk 49277 .IP \[bu] 2 49278 Env Var: RCLONE_ONEDRIVE_LIST_CHUNK 49279 .IP \[bu] 2 49280 Type: int 49281 .IP \[bu] 2 49282 Default: 1000 49283 .SS --onedrive-no-versions 49284 .PP 49285 Remove all versions on modifying operations. 49286 .PP 49287 Onedrive for business creates versions when rclone uploads new files 49288 overwriting an existing one and when it sets the modification time. 49289 .PP 49290 These versions take up space out of the quota. 49291 .PP 49292 This flag checks for versions after file upload and setting modification 49293 time and removes all but the last version. 49294 .PP 49295 \f[B]NB\f[R] Onedrive personal can\[aq]t currently delete versions so 49296 don\[aq]t use this flag there. 49297 .PP 49298 Properties: 49299 .IP \[bu] 2 49300 Config: no_versions 49301 .IP \[bu] 2 49302 Env Var: RCLONE_ONEDRIVE_NO_VERSIONS 49303 .IP \[bu] 2 49304 Type: bool 49305 .IP \[bu] 2 49306 Default: false 49307 .SS --onedrive-link-scope 49308 .PP 49309 Set the scope of the links created by the link command. 49310 .PP 49311 Properties: 49312 .IP \[bu] 2 49313 Config: link_scope 49314 .IP \[bu] 2 49315 Env Var: RCLONE_ONEDRIVE_LINK_SCOPE 49316 .IP \[bu] 2 49317 Type: string 49318 .IP \[bu] 2 49319 Default: \[dq]anonymous\[dq] 49320 .IP \[bu] 2 49321 Examples: 49322 .RS 2 49323 .IP \[bu] 2 49324 \[dq]anonymous\[dq] 49325 .RS 2 49326 .IP \[bu] 2 49327 Anyone with the link has access, without needing to sign in. 49328 .IP \[bu] 2 49329 This may include people outside of your organization. 49330 .IP \[bu] 2 49331 Anonymous link support may be disabled by an administrator. 49332 .RE 49333 .IP \[bu] 2 49334 \[dq]organization\[dq] 49335 .RS 2 49336 .IP \[bu] 2 49337 Anyone signed into your organization (tenant) can use the link to get 49338 access. 49339 .IP \[bu] 2 49340 Only available in OneDrive for Business and SharePoint. 49341 .RE 49342 .RE 49343 .SS --onedrive-link-type 49344 .PP 49345 Set the type of the links created by the link command. 49346 .PP 49347 Properties: 49348 .IP \[bu] 2 49349 Config: link_type 49350 .IP \[bu] 2 49351 Env Var: RCLONE_ONEDRIVE_LINK_TYPE 49352 .IP \[bu] 2 49353 Type: string 49354 .IP \[bu] 2 49355 Default: \[dq]view\[dq] 49356 .IP \[bu] 2 49357 Examples: 49358 .RS 2 49359 .IP \[bu] 2 49360 \[dq]view\[dq] 49361 .RS 2 49362 .IP \[bu] 2 49363 Creates a read-only link to the item. 49364 .RE 49365 .IP \[bu] 2 49366 \[dq]edit\[dq] 49367 .RS 2 49368 .IP \[bu] 2 49369 Creates a read-write link to the item. 49370 .RE 49371 .IP \[bu] 2 49372 \[dq]embed\[dq] 49373 .RS 2 49374 .IP \[bu] 2 49375 Creates an embeddable link to the item. 49376 .RE 49377 .RE 49378 .SS --onedrive-link-password 49379 .PP 49380 Set the password for links created by the link command. 49381 .PP 49382 At the time of writing this only works with OneDrive personal paid 49383 accounts. 49384 .PP 49385 Properties: 49386 .IP \[bu] 2 49387 Config: link_password 49388 .IP \[bu] 2 49389 Env Var: RCLONE_ONEDRIVE_LINK_PASSWORD 49390 .IP \[bu] 2 49391 Type: string 49392 .IP \[bu] 2 49393 Required: false 49394 .SS --onedrive-hash-type 49395 .PP 49396 Specify the hash in use for the backend. 49397 .PP 49398 This specifies the hash type in use. 49399 If set to \[dq]auto\[dq] it will use the default hash which is 49400 QuickXorHash. 49401 .PP 49402 Before rclone 1.62 an SHA1 hash was used by default for Onedrive 49403 Personal. 49404 For 1.62 and later the default is to use a QuickXorHash for all onedrive 49405 types. 49406 If an SHA1 hash is desired then set this option accordingly. 49407 .PP 49408 From July 2023 QuickXorHash will be the only available hash for both 49409 OneDrive for Business and OneDriver Personal. 49410 .PP 49411 This can be set to \[dq]none\[dq] to not use any hashes. 49412 .PP 49413 If the hash requested does not exist on the object, it will be returned 49414 as an empty string which is treated as a missing hash by rclone. 49415 .PP 49416 Properties: 49417 .IP \[bu] 2 49418 Config: hash_type 49419 .IP \[bu] 2 49420 Env Var: RCLONE_ONEDRIVE_HASH_TYPE 49421 .IP \[bu] 2 49422 Type: string 49423 .IP \[bu] 2 49424 Default: \[dq]auto\[dq] 49425 .IP \[bu] 2 49426 Examples: 49427 .RS 2 49428 .IP \[bu] 2 49429 \[dq]auto\[dq] 49430 .RS 2 49431 .IP \[bu] 2 49432 Rclone chooses the best hash 49433 .RE 49434 .IP \[bu] 2 49435 \[dq]quickxor\[dq] 49436 .RS 2 49437 .IP \[bu] 2 49438 QuickXor 49439 .RE 49440 .IP \[bu] 2 49441 \[dq]sha1\[dq] 49442 .RS 2 49443 .IP \[bu] 2 49444 SHA1 49445 .RE 49446 .IP \[bu] 2 49447 \[dq]sha256\[dq] 49448 .RS 2 49449 .IP \[bu] 2 49450 SHA256 49451 .RE 49452 .IP \[bu] 2 49453 \[dq]crc32\[dq] 49454 .RS 2 49455 .IP \[bu] 2 49456 CRC32 49457 .RE 49458 .IP \[bu] 2 49459 \[dq]none\[dq] 49460 .RS 2 49461 .IP \[bu] 2 49462 None - don\[aq]t use any hashes 49463 .RE 49464 .RE 49465 .SS --onedrive-av-override 49466 .PP 49467 Allows download of files the server thinks has a virus. 49468 .PP 49469 The onedrive/sharepoint server may check files uploaded with an Anti 49470 Virus checker. 49471 If it detects any potential viruses or malware it will block download of 49472 the file. 49473 .PP 49474 In this case you will see a message like this 49475 .IP 49476 .nf 49477 \f[C] 49478 server reports this file is infected with a virus - use --onedrive-av-override to download anyway: Infected (name of virus): 403 Forbidden: 49479 \f[R] 49480 .fi 49481 .PP 49482 If you are 100% sure you want to download this file anyway then use the 49483 --onedrive-av-override flag, or av_override = true in the config file. 49484 .PP 49485 Properties: 49486 .IP \[bu] 2 49487 Config: av_override 49488 .IP \[bu] 2 49489 Env Var: RCLONE_ONEDRIVE_AV_OVERRIDE 49490 .IP \[bu] 2 49491 Type: bool 49492 .IP \[bu] 2 49493 Default: false 49494 .SS --onedrive-encoding 49495 .PP 49496 The encoding for the backend. 49497 .PP 49498 See the encoding section in the 49499 overview (https://rclone.org/overview/#encoding) for more info. 49500 .PP 49501 Properties: 49502 .IP \[bu] 2 49503 Config: encoding 49504 .IP \[bu] 2 49505 Env Var: RCLONE_ONEDRIVE_ENCODING 49506 .IP \[bu] 2 49507 Type: MultiEncoder 49508 .IP \[bu] 2 49509 Default: 49510 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8,Dot 49511 .SS Limitations 49512 .PP 49513 If you don\[aq]t use rclone for 90 days the refresh token will expire. 49514 This will result in authorization problems. 49515 This is easy to fix by running the 49516 \f[C]rclone config reconnect remote:\f[R] command to get a new token and 49517 refresh token. 49518 .SS Naming 49519 .PP 49520 Note that OneDrive is case insensitive so you can\[aq]t have a file 49521 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 49522 .PP 49523 There are quite a few characters that can\[aq]t be in OneDrive file 49524 names. 49525 These can\[aq]t occur on Windows platforms, but on non-Windows platforms 49526 they are common. 49527 Rclone will map these names to and from an identical looking unicode 49528 equivalent. 49529 For example if a file has a \f[C]?\f[R] in it will be mapped to 49530 \f[C]\[uFF1F]\f[R] instead. 49531 .SS File sizes 49532 .PP 49533 The largest allowed file size is 250 GiB for both OneDrive Personal and 49534 OneDrive for Business (Updated 13 Jan 49535 2021) (https://support.microsoft.com/en-us/office/invalid-file-names-and-file-types-in-onedrive-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa?ui=en-us&rs=en-us&ad=us#individualfilesize). 49536 .SS Path length 49537 .PP 49538 The entire path, including the file name, must contain fewer than 400 49539 characters for OneDrive, OneDrive for Business and SharePoint Online. 49540 If you are encrypting file and folder names with rclone, you may want to 49541 pay attention to this limitation because the encrypted names are 49542 typically longer than the original ones. 49543 .SS Number of files 49544 .PP 49545 OneDrive seems to be OK with at least 50,000 files in a folder, but at 49546 100,000 rclone will get errors listing the directory like 49547 \f[C]couldn\[cq]t list files: UnknownError:\f[R]. 49548 See #2707 (https://github.com/divyam234/rclone/issues/2707) for more info. 49549 .PP 49550 An official document about the limitations for different types of 49551 OneDrive can be found 49552 here (https://support.office.com/en-us/article/invalid-file-names-and-file-types-in-onedrive-onedrive-for-business-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa). 49553 .SS Versions 49554 .PP 49555 Every change in a file OneDrive causes the service to create a new 49556 version of the file. 49557 This counts against a users quota. 49558 For example changing the modification time of a file creates a second 49559 version, so the file apparently uses twice the space. 49560 .PP 49561 For example the \f[C]copy\f[R] command is affected by this as rclone 49562 copies the file and then afterwards sets the modification time to match 49563 the source file which uses another version. 49564 .PP 49565 You can use the \f[C]rclone cleanup\f[R] command (see below) to remove 49566 all old versions. 49567 .PP 49568 Or you can set the \f[C]no_versions\f[R] parameter to \f[C]true\f[R] and 49569 rclone will remove versions after operations which create new versions. 49570 This takes extra transactions so only enable it if you need it. 49571 .PP 49572 \f[B]Note\f[R] At the time of writing Onedrive Personal creates versions 49573 (but not for setting the modification time) but the API for removing 49574 them returns \[dq]API not found\[dq] so cleanup and 49575 \f[C]no_versions\f[R] should not be used on Onedrive Personal. 49576 .SS Disabling versioning 49577 .PP 49578 Starting October 2018, users will no longer be able to disable 49579 versioning by default. 49580 This is because Microsoft has brought an 49581 update (https://techcommunity.microsoft.com/t5/Microsoft-OneDrive-Blog/New-Updates-to-OneDrive-and-SharePoint-Team-Site-Versioning/ba-p/204390) 49582 to the mechanism. 49583 To change this new default setting, a PowerShell command is required to 49584 be run by a SharePoint admin. 49585 If you are an admin, you can run these commands in PowerShell to change 49586 that setting: 49587 .IP "1." 3 49588 \f[C]Install-Module -Name Microsoft.Online.SharePoint.PowerShell\f[R] 49589 (in case you haven\[aq]t installed this already) 49590 .IP "2." 3 49591 \f[C]Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking\f[R] 49592 .IP "3." 3 49593 \f[C]Connect-SPOService -Url https://YOURSITE-admin.sharepoint.com -Credential YOU\[at]YOURSITE.COM\f[R] 49594 (replacing \f[C]YOURSITE\f[R], \f[C]YOU\f[R], \f[C]YOURSITE.COM\f[R] 49595 with the actual values; this will prompt for your credentials) 49596 .IP "4." 3 49597 \f[C]Set-SPOTenant -EnableMinimumVersionRequirement $False\f[R] 49598 .IP "5." 3 49599 \f[C]Disconnect-SPOService\f[R] (to disconnect from the server) 49600 .PP 49601 \f[I]Below are the steps for normal users to disable versioning. If you 49602 don\[aq]t see the \[dq]No Versioning\[dq] option, make sure the above 49603 requirements are met.\f[R] 49604 .PP 49605 User Weropol (https://github.com/Weropol) has found a method to disable 49606 versioning on OneDrive 49607 .IP "1." 3 49608 Open the settings menu by clicking on the gear symbol at the top of the 49609 OneDrive Business page. 49610 .IP "2." 3 49611 Click Site settings. 49612 .IP "3." 3 49613 Once on the Site settings page, navigate to Site Administration > Site 49614 libraries and lists. 49615 .IP "4." 3 49616 Click Customize \[dq]Documents\[dq]. 49617 .IP "5." 3 49618 Click General Settings > Versioning Settings. 49619 .IP "6." 3 49620 Under Document Version History select the option No versioning. 49621 Note: This will disable the creation of new file versions, but will not 49622 remove any previous versions. 49623 Your documents are safe. 49624 .IP "7." 3 49625 Apply the changes by clicking OK. 49626 .IP "8." 3 49627 Use rclone to upload or modify files. 49628 (I also use the --no-update-modtime flag) 49629 .IP "9." 3 49630 Restore the versioning settings after using rclone. 49631 (Optional) 49632 .SS Cleanup 49633 .PP 49634 OneDrive supports \f[C]rclone cleanup\f[R] which causes rclone to look 49635 through every file under the path supplied and delete all version but 49636 the current version. 49637 Because this involves traversing all the files, then querying each file 49638 for versions it can be quite slow. 49639 Rclone does \f[C]--checkers\f[R] tests in parallel. 49640 The command also supports \f[C]--interactive\f[R]/\f[C]i\f[R] or 49641 \f[C]--dry-run\f[R] which is a great way to see what it would do. 49642 .IP 49643 .nf 49644 \f[C] 49645 rclone cleanup --interactive remote:path/subdir # interactively remove all old version for path/subdir 49646 rclone cleanup remote:path/subdir # unconditionally remove all old version for path/subdir 49647 \f[R] 49648 .fi 49649 .PP 49650 \f[B]NB\f[R] Onedrive personal can\[aq]t currently delete versions 49651 .SS Troubleshooting 49652 .SS Excessive throttling or blocked on SharePoint 49653 .PP 49654 If you experience excessive throttling or is being blocked on SharePoint 49655 then it may help to set the user agent explicitly with a flag like this: 49656 \f[C]--user-agent \[dq]ISV|rclone.org|rclone/v1.55.1\[dq]\f[R] 49657 .PP 49658 The specific details can be found in the Microsoft document: Avoid 49659 getting throttled or blocked in SharePoint 49660 Online (https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online#how-to-decorate-your-http-traffic-to-avoid-throttling) 49661 .SS Unexpected file size/hash differences on Sharepoint 49662 .PP 49663 It is a 49664 known (https://github.com/OneDrive/onedrive-api-docs/issues/935#issuecomment-441741631) 49665 issue that Sharepoint (not OneDrive or OneDrive for Business) silently 49666 modifies uploaded files, mainly Office files (.docx, .xlsx, etc.), 49667 causing file size and hash checks to fail. 49668 There are also other situations that will cause OneDrive to report 49669 inconsistent file sizes. 49670 To use rclone with such affected files on Sharepoint, you may disable 49671 these checks with the following command line arguments: 49672 .IP 49673 .nf 49674 \f[C] 49675 --ignore-checksum --ignore-size 49676 \f[R] 49677 .fi 49678 .PP 49679 Alternatively, if you have write access to the OneDrive files, it may be 49680 possible to fix this problem for certain files, by attempting the steps 49681 below. 49682 Open the web interface for OneDrive (https://onedrive.live.com) and find 49683 the affected files (which will be in the error messages/log for rclone). 49684 Simply click on each of these files, causing OneDrive to open them on 49685 the web. 49686 This will cause each file to be converted in place to a format that is 49687 functionally equivalent but which will no longer trigger the size 49688 discrepancy. 49689 Once all problematic files are converted you will no longer need the 49690 ignore options above. 49691 .SS Replacing/deleting existing files on Sharepoint gets \[dq]item not found\[dq] 49692 .PP 49693 It is a 49694 known (https://github.com/OneDrive/onedrive-api-docs/issues/1068) issue 49695 that Sharepoint (not OneDrive or OneDrive for Business) may return 49696 \[dq]item not found\[dq] errors when users try to replace or delete 49697 uploaded files; this seems to mainly affect Office files (.docx, .xlsx, 49698 etc.) and web files (.html, .aspx, etc.). 49699 As a workaround, you may use the \f[C]--backup-dir <BACKUP_DIR>\f[R] 49700 command line argument so rclone moves the files to be replaced/deleted 49701 into a given backup directory (instead of directly replacing/deleting 49702 them). 49703 For example, to instruct rclone to move the files into the directory 49704 \f[C]rclone-backup-dir\f[R] on backend \f[C]mysharepoint\f[R], you may 49705 use: 49706 .IP 49707 .nf 49708 \f[C] 49709 --backup-dir mysharepoint:rclone-backup-dir 49710 \f[R] 49711 .fi 49712 .SS access_denied (AADSTS65005) 49713 .IP 49714 .nf 49715 \f[C] 49716 Error: access_denied 49717 Code: AADSTS65005 49718 Description: Using application \[aq]rclone\[aq] 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. 49719 \f[R] 49720 .fi 49721 .PP 49722 This means that rclone can\[aq]t use the OneDrive for Business API with 49723 your account. 49724 You can\[aq]t do much about it, maybe write an email to your admins. 49725 .PP 49726 However, there are other ways to interact with your OneDrive account. 49727 Have a look at the WebDAV backend: https://rclone.org/webdav/#sharepoint 49728 .SS invalid_grant (AADSTS50076) 49729 .IP 49730 .nf 49731 \f[C] 49732 Error: invalid_grant 49733 Code: AADSTS50076 49734 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 \[aq]...\[aq]. 49735 \f[R] 49736 .fi 49737 .PP 49738 If you see the error above after enabling multi-factor authentication 49739 for your account, you can fix it by refreshing your OAuth refresh token. 49740 To do that, run \f[C]rclone config\f[R], and choose to edit your 49741 OneDrive backend. 49742 Then, you don\[aq]t need to actually make any changes until you reach 49743 this question: \f[C]Already have a token - refresh?\f[R]. 49744 For this question, answer \f[C]y\f[R] and go through the process to 49745 refresh your token, just like the first time the backend is configured. 49746 After this, rclone should work again for this backend. 49747 .SS Invalid request when making public links 49748 .PP 49749 On Sharepoint and OneDrive for Business, \f[C]rclone link\f[R] may 49750 return an \[dq]Invalid request\[dq] error. 49751 A possible cause is that the organisation admin didn\[aq]t allow public 49752 links to be made for the organisation/sharepoint library. 49753 To fix the permissions as an admin, take a look at the docs: 49754 1 (https://docs.microsoft.com/en-us/sharepoint/turn-external-sharing-on-or-off), 49755 2 (https://support.microsoft.com/en-us/office/set-up-and-manage-access-requests-94b26e0b-2822-49d4-929a-8455698654b3). 49756 .SS Can not access \f[C]Shared\f[R] with me files 49757 .PP 49758 Shared with me files is not supported by rclone 49759 currently (https://github.com/divyam234/rclone/issues/4062), but there is a 49760 workaround: 49761 .IP "1." 3 49762 Visit https://onedrive.live.com (https://onedrive.live.com/) 49763 .IP "2." 3 49764 Right click a item in \f[C]Shared\f[R], then click 49765 \f[C]Add shortcut to My files\f[R] in the context 49766 [IMAGE: make_shortcut (https://user-images.githubusercontent.com/60313789/206118040-7e762b3b-aa61-41a1-8649-cc18889f3572.png)] 49767 .IP "3." 3 49768 The shortcut will appear in \f[C]My files\f[R], you can access it with 49769 rclone, it behaves like a normal folder/file. 49770 [IMAGE: in_my_files (https://i.imgur.com/0S8H3li.png)] 49771 [IMAGE: rclone_mount (https://i.imgur.com/2Iq66sW.png)] 49772 .SS Live Photos uploaded from iOS (small video clips in .heic files) 49773 .PP 49774 The iOS OneDrive app introduced upload and 49775 storage (https://techcommunity.microsoft.com/t5/microsoft-onedrive-blog/live-photos-come-to-onedrive/ba-p/1953452) 49776 of Live Photos (https://support.apple.com/en-gb/HT207310) in 2020. 49777 The usage and download of these uploaded Live Photos is unfortunately 49778 still work-in-progress and this introduces several issues when copying, 49779 synchronising and mounting \[en] both in rclone and in the native 49780 OneDrive client on Windows. 49781 .PP 49782 The root cause can easily be seen if you locate one of your Live Photos 49783 in the OneDrive web interface. 49784 Then download the photo from the web interface. 49785 You will then see that the size of downloaded .heic file is smaller than 49786 the size displayed in the web interface. 49787 The downloaded file is smaller because it only contains a single frame 49788 (still photo) extracted from the Live Photo (movie) stored in OneDrive. 49789 .PP 49790 The different sizes will cause \f[C]rclone copy/sync\f[R] to repeatedly 49791 recopy unmodified photos something like this: 49792 .IP 49793 .nf 49794 \f[C] 49795 DEBUG : 20230203_123826234_iOS.heic: Sizes differ (src 4470314 vs dst 1298667) 49796 DEBUG : 20230203_123826234_iOS.heic: sha1 = fc2edde7863b7a7c93ca6771498ac797f8460750 OK 49797 INFO : 20230203_123826234_iOS.heic: Copied (replaced existing) 49798 \f[R] 49799 .fi 49800 .PP 49801 These recopies can be worked around by adding \f[C]--ignore-size\f[R]. 49802 Please note that this workaround only syncs the still-picture not the 49803 movie clip, and relies on modification dates being correctly updated on 49804 all files in all situations. 49805 .PP 49806 The different sizes will also cause \f[C]rclone check\f[R] to report 49807 size errors something like this: 49808 .IP 49809 .nf 49810 \f[C] 49811 ERROR : 20230203_123826234_iOS.heic: sizes differ 49812 \f[R] 49813 .fi 49814 .PP 49815 These check errors can be suppressed by adding \f[C]--ignore-size\f[R]. 49816 .PP 49817 The different sizes will also cause \f[C]rclone mount\f[R] to fail 49818 downloading with an error something like this: 49819 .IP 49820 .nf 49821 \f[C] 49822 ERROR : 20230203_123826234_iOS.heic: ReadFileHandle.Read error: low level retry 1/10: unexpected EOF 49823 \f[R] 49824 .fi 49825 .PP 49826 or like this when using \f[C]--cache-mode=full\f[R]: 49827 .IP 49828 .nf 49829 \f[C] 49830 INFO : 20230203_123826234_iOS.heic: vfs cache: downloader: error count now 1: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable: 49831 ERROR : 20230203_123826234_iOS.heic: vfs cache: failed to download: vfs reader: failed to write to cache file: 416 Requested Range Not Satisfiable: 49832 \f[R] 49833 .fi 49834 .SH OpenDrive 49835 .PP 49836 Paths are specified as \f[C]remote:path\f[R] 49837 .PP 49838 Paths may be as deep as required, e.g. 49839 \f[C]remote:directory/subdirectory\f[R]. 49840 .SS Configuration 49841 .PP 49842 Here is an example of how to make a remote called \f[C]remote\f[R]. 49843 First run: 49844 .IP 49845 .nf 49846 \f[C] 49847 rclone config 49848 \f[R] 49849 .fi 49850 .PP 49851 This will guide you through an interactive setup process: 49852 .IP 49853 .nf 49854 \f[C] 49855 n) New remote 49856 d) Delete remote 49857 q) Quit config 49858 e/n/d/q> n 49859 name> remote 49860 Type of storage to configure. 49861 Choose a number from below, or type in your own value 49862 [snip] 49863 XX / OpenDrive 49864 \[rs] \[dq]opendrive\[dq] 49865 [snip] 49866 Storage> opendrive 49867 Username 49868 username> 49869 Password 49870 y) Yes type in my own password 49871 g) Generate random password 49872 y/g> y 49873 Enter the password: 49874 password: 49875 Confirm the password: 49876 password: 49877 -------------------- 49878 [remote] 49879 username = 49880 password = *** ENCRYPTED *** 49881 -------------------- 49882 y) Yes this is OK 49883 e) Edit this remote 49884 d) Delete this remote 49885 y/e/d> y 49886 \f[R] 49887 .fi 49888 .PP 49889 List directories in top level of your OpenDrive 49890 .IP 49891 .nf 49892 \f[C] 49893 rclone lsd remote: 49894 \f[R] 49895 .fi 49896 .PP 49897 List all the files in your OpenDrive 49898 .IP 49899 .nf 49900 \f[C] 49901 rclone ls remote: 49902 \f[R] 49903 .fi 49904 .PP 49905 To copy a local directory to an OpenDrive directory called backup 49906 .IP 49907 .nf 49908 \f[C] 49909 rclone copy /home/source remote:backup 49910 \f[R] 49911 .fi 49912 .SS Modified time and MD5SUMs 49913 .PP 49914 OpenDrive allows modification times to be set on objects accurate to 1 49915 second. 49916 These will be used to detect whether objects need syncing or not. 49917 .SS Restricted filename characters 49918 .PP 49919 .TS 49920 tab(@); 49921 l c c. 49922 T{ 49923 Character 49924 T}@T{ 49925 Value 49926 T}@T{ 49927 Replacement 49928 T} 49929 _ 49930 T{ 49931 NUL 49932 T}@T{ 49933 0x00 49934 T}@T{ 49935 \[u2400] 49936 T} 49937 T{ 49938 / 49939 T}@T{ 49940 0x2F 49941 T}@T{ 49942 \[uFF0F] 49943 T} 49944 T{ 49945 \[dq] 49946 T}@T{ 49947 0x22 49948 T}@T{ 49949 \[uFF02] 49950 T} 49951 T{ 49952 * 49953 T}@T{ 49954 0x2A 49955 T}@T{ 49956 \[uFF0A] 49957 T} 49958 T{ 49959 : 49960 T}@T{ 49961 0x3A 49962 T}@T{ 49963 \[uFF1A] 49964 T} 49965 T{ 49966 < 49967 T}@T{ 49968 0x3C 49969 T}@T{ 49970 \[uFF1C] 49971 T} 49972 T{ 49973 > 49974 T}@T{ 49975 0x3E 49976 T}@T{ 49977 \[uFF1E] 49978 T} 49979 T{ 49980 ? 49981 T}@T{ 49982 0x3F 49983 T}@T{ 49984 \[uFF1F] 49985 T} 49986 T{ 49987 \[rs] 49988 T}@T{ 49989 0x5C 49990 T}@T{ 49991 \[uFF3C] 49992 T} 49993 T{ 49994 | 49995 T}@T{ 49996 0x7C 49997 T}@T{ 49998 \[uFF5C] 49999 T} 50000 .TE 50001 .PP 50002 File names can also not begin or end with the following characters. 50003 These only get replaced if they are the first or last character in the 50004 name: 50005 .PP 50006 .TS 50007 tab(@); 50008 l c c. 50009 T{ 50010 Character 50011 T}@T{ 50012 Value 50013 T}@T{ 50014 Replacement 50015 T} 50016 _ 50017 T{ 50018 SP 50019 T}@T{ 50020 0x20 50021 T}@T{ 50022 \[u2420] 50023 T} 50024 T{ 50025 HT 50026 T}@T{ 50027 0x09 50028 T}@T{ 50029 \[u2409] 50030 T} 50031 T{ 50032 LF 50033 T}@T{ 50034 0x0A 50035 T}@T{ 50036 \[u240A] 50037 T} 50038 T{ 50039 VT 50040 T}@T{ 50041 0x0B 50042 T}@T{ 50043 \[u240B] 50044 T} 50045 T{ 50046 CR 50047 T}@T{ 50048 0x0D 50049 T}@T{ 50050 \[u240D] 50051 T} 50052 .TE 50053 .PP 50054 Invalid UTF-8 bytes will also be 50055 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 50056 be used in JSON strings. 50057 .SS Standard options 50058 .PP 50059 Here are the Standard options specific to opendrive (OpenDrive). 50060 .SS --opendrive-username 50061 .PP 50062 Username. 50063 .PP 50064 Properties: 50065 .IP \[bu] 2 50066 Config: username 50067 .IP \[bu] 2 50068 Env Var: RCLONE_OPENDRIVE_USERNAME 50069 .IP \[bu] 2 50070 Type: string 50071 .IP \[bu] 2 50072 Required: true 50073 .SS --opendrive-password 50074 .PP 50075 Password. 50076 .PP 50077 \f[B]NB\f[R] Input to this must be obscured - see rclone 50078 obscure (https://rclone.org/commands/rclone_obscure/). 50079 .PP 50080 Properties: 50081 .IP \[bu] 2 50082 Config: password 50083 .IP \[bu] 2 50084 Env Var: RCLONE_OPENDRIVE_PASSWORD 50085 .IP \[bu] 2 50086 Type: string 50087 .IP \[bu] 2 50088 Required: true 50089 .SS Advanced options 50090 .PP 50091 Here are the Advanced options specific to opendrive (OpenDrive). 50092 .SS --opendrive-encoding 50093 .PP 50094 The encoding for the backend. 50095 .PP 50096 See the encoding section in the 50097 overview (https://rclone.org/overview/#encoding) for more info. 50098 .PP 50099 Properties: 50100 .IP \[bu] 2 50101 Config: encoding 50102 .IP \[bu] 2 50103 Env Var: RCLONE_OPENDRIVE_ENCODING 50104 .IP \[bu] 2 50105 Type: MultiEncoder 50106 .IP \[bu] 2 50107 Default: 50108 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,LeftSpace,LeftCrLfHtVt,RightSpace,RightCrLfHtVt,InvalidUtf8,Dot 50109 .SS --opendrive-chunk-size 50110 .PP 50111 Files will be uploaded in chunks this size. 50112 .PP 50113 Note that these chunks are buffered in memory so increasing them will 50114 increase memory use. 50115 .PP 50116 Properties: 50117 .IP \[bu] 2 50118 Config: chunk_size 50119 .IP \[bu] 2 50120 Env Var: RCLONE_OPENDRIVE_CHUNK_SIZE 50121 .IP \[bu] 2 50122 Type: SizeSuffix 50123 .IP \[bu] 2 50124 Default: 10Mi 50125 .SS Limitations 50126 .PP 50127 Note that OpenDrive is case insensitive so you can\[aq]t have a file 50128 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 50129 .PP 50130 There are quite a few characters that can\[aq]t be in OpenDrive file 50131 names. 50132 These can\[aq]t occur on Windows platforms, but on non-Windows platforms 50133 they are common. 50134 Rclone will map these names to and from an identical looking unicode 50135 equivalent. 50136 For example if a file has a \f[C]?\f[R] in it will be mapped to 50137 \f[C]\[uFF1F]\f[R] instead. 50138 .PP 50139 \f[C]rclone about\f[R] is not supported by the OpenDrive backend. 50140 Backends without this capability cannot determine free space for an 50141 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 50142 of an rclone union remote. 50143 .PP 50144 See List of backends that do not support rclone 50145 about (https://rclone.org/overview/#optional-features) and rclone 50146 about (https://rclone.org/commands/rclone_about/) 50147 .SH Oracle Object Storage 50148 .PP 50149 Oracle Object Storage 50150 Overview (https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/objectstorageoverview.htm) 50151 .PP 50152 Oracle Object Storage 50153 FAQ (https://www.oracle.com/cloud/storage/object-storage/faq/) 50154 .PP 50155 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 50156 the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 50157 \f[C]remote:bucket/path/to/dir\f[R]. 50158 .SS Configuration 50159 .PP 50160 Here is an example of making an oracle object storage configuration. 50161 \f[C]rclone config\f[R] walks you through it. 50162 .PP 50163 Here is an example of how to make a remote called \f[C]remote\f[R]. 50164 First run: 50165 .IP 50166 .nf 50167 \f[C] 50168 rclone config 50169 \f[R] 50170 .fi 50171 .PP 50172 This will guide you through an interactive setup process: 50173 .IP 50174 .nf 50175 \f[C] 50176 n) New remote 50177 d) Delete remote 50178 r) Rename remote 50179 c) Copy remote 50180 s) Set configuration password 50181 q) Quit config 50182 e/n/d/r/c/s/q> n 50183 50184 Enter name for new remote. 50185 name> remote 50186 50187 Option Storage. 50188 Type of storage to configure. 50189 Choose a number from below, or type in your own value. 50190 [snip] 50191 XX / Oracle Cloud Infrastructure Object Storage 50192 \[rs] (oracleobjectstorage) 50193 Storage> oracleobjectstorage 50194 50195 Option provider. 50196 Choose your Auth Provider 50197 Choose a number from below, or type in your own string value. 50198 Press Enter for the default (env_auth). 50199 1 / automatically pickup the credentials from runtime(env), first one to provide auth wins 50200 \[rs] (env_auth) 50201 / use an OCI user and an API key for authentication. 50202 2 | you\[cq]ll need to put in a config file your tenancy OCID, user OCID, region, the path, fingerprint to an API key. 50203 | https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm 50204 \[rs] (user_principal_auth) 50205 / use instance principals to authorize an instance to make API calls. 50206 3 | each instance has its own identity, and authenticates using the certificates that are read from instance metadata. 50207 | https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm 50208 \[rs] (instance_principal_auth) 50209 4 / use resource principals to make API calls 50210 \[rs] (resource_principal_auth) 50211 5 / no credentials needed, this is typically for reading public buckets 50212 \[rs] (no_auth) 50213 provider> 2 50214 50215 Option namespace. 50216 Object storage namespace 50217 Enter a value. 50218 namespace> idbamagbg734 50219 50220 Option compartment. 50221 Object storage compartment OCID 50222 Enter a value. 50223 compartment> ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba 50224 50225 Option region. 50226 Object storage Region 50227 Enter a value. 50228 region> us-ashburn-1 50229 50230 Option endpoint. 50231 Endpoint for Object storage API. 50232 Leave blank to use the default endpoint for the region. 50233 Enter a value. Press Enter to leave empty. 50234 endpoint> 50235 50236 Option config_file. 50237 Full Path to OCI config file 50238 Choose a number from below, or type in your own string value. 50239 Press Enter for the default (\[ti]/.oci/config). 50240 1 / oci configuration file location 50241 \[rs] (\[ti]/.oci/config) 50242 config_file> /etc/oci/dev.conf 50243 50244 Option config_profile. 50245 Profile name inside OCI config file 50246 Choose a number from below, or type in your own string value. 50247 Press Enter for the default (Default). 50248 1 / Use the default profile 50249 \[rs] (Default) 50250 config_profile> Test 50251 50252 Edit advanced config? 50253 y) Yes 50254 n) No (default) 50255 y/n> n 50256 50257 Configuration complete. 50258 Options: 50259 - type: oracleobjectstorage 50260 - namespace: idbamagbg734 50261 - compartment: ocid1.compartment.oc1..aaaaaaaapufkxc7ame3sthry5i7ujrwfc7ejnthhu6bhanm5oqfjpyasjkba 50262 - region: us-ashburn-1 50263 - provider: user_principal_auth 50264 - config_file: /etc/oci/dev.conf 50265 - config_profile: Test 50266 Keep this \[dq]remote\[dq] remote? 50267 y) Yes this is OK (default) 50268 e) Edit this remote 50269 d) Delete this remote 50270 y/e/d> y 50271 \f[R] 50272 .fi 50273 .PP 50274 See all buckets 50275 .IP 50276 .nf 50277 \f[C] 50278 rclone lsd remote: 50279 \f[R] 50280 .fi 50281 .PP 50282 Create a new bucket 50283 .IP 50284 .nf 50285 \f[C] 50286 rclone mkdir remote:bucket 50287 \f[R] 50288 .fi 50289 .PP 50290 List the contents of a bucket 50291 .IP 50292 .nf 50293 \f[C] 50294 rclone ls remote:bucket 50295 rclone ls remote:bucket --max-depth 1 50296 \f[R] 50297 .fi 50298 .SS OCI Authentication Provider 50299 .PP 50300 OCI has various authentication methods. 50301 To learn more about authentication methods please refer oci 50302 authentication 50303 methods (https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdk_authentication_methods.htm) 50304 These choices can be specified in the rclone config file. 50305 .PP 50306 Rclone supports the following OCI authentication provider. 50307 .IP 50308 .nf 50309 \f[C] 50310 User Principal 50311 Instance Principal 50312 Resource Principal 50313 No authentication 50314 \f[R] 50315 .fi 50316 .SS Authentication provider choice: User Principal 50317 .PP 50318 Sample rclone config file for Authentication Provider User Principal: 50319 .IP 50320 .nf 50321 \f[C] 50322 [oos] 50323 type = oracleobjectstorage 50324 namespace = id<redacted>34 50325 compartment = ocid1.compartment.oc1..aa<redacted>ba 50326 region = us-ashburn-1 50327 provider = user_principal_auth 50328 config_file = /home/opc/.oci/config 50329 config_profile = Default 50330 \f[R] 50331 .fi 50332 .PP 50333 Advantages: - One can use this method from any server within OCI or 50334 on-premises or from other cloud provider. 50335 .PP 50336 Considerations: - you need to configure user\[cq]s privileges / policy 50337 to allow access to object storage - Overhead of managing users and keys. 50338 - If the user is deleted, the config file will no longer work and may 50339 cause automation regressions that use the user\[aq]s credentials. 50340 .SS Authentication provider choice: Instance Principal 50341 .PP 50342 An OCI compute instance can be authorized to use rclone by using 50343 it\[aq]s identity and certificates as an instance principal. 50344 With this approach no credentials have to be stored and managed. 50345 .PP 50346 Sample rclone configuration file for Authentication Provider Instance 50347 Principal: 50348 .IP 50349 .nf 50350 \f[C] 50351 [opc\[at]rclone \[ti]]$ cat \[ti]/.config/divyam234/rclone.conf 50352 [oos] 50353 type = oracleobjectstorage 50354 namespace = id<redacted>fn 50355 compartment = ocid1.compartment.oc1..aa<redacted>k7a 50356 region = us-ashburn-1 50357 provider = instance_principal_auth 50358 \f[R] 50359 .fi 50360 .PP 50361 Advantages: 50362 .IP \[bu] 2 50363 With instance principals, you don\[aq]t need to configure user 50364 credentials and transfer/ save it to disk in your compute instances or 50365 rotate the credentials. 50366 .IP \[bu] 2 50367 You don\[cq]t need to deal with users and keys. 50368 .IP \[bu] 2 50369 Greatly helps in automation as you don\[aq]t have to manage access keys, 50370 user private keys, storing them in vault, using kms etc. 50371 .PP 50372 Considerations: 50373 .IP \[bu] 2 50374 You need to configure a dynamic group having this instance as member and 50375 add policy to read object storage to that dynamic group. 50376 .IP \[bu] 2 50377 Everyone who has access to this machine can execute the CLI commands. 50378 .IP \[bu] 2 50379 It is applicable for oci compute instances only. 50380 It cannot be used on external instance or resources. 50381 .SS Authentication provider choice: Resource Principal 50382 .PP 50383 Resource principal auth is very similar to instance principal auth but 50384 used for resources that are not compute instances such as serverless 50385 functions (https://docs.oracle.com/en-us/iaas/Content/Functions/Concepts/functionsoverview.htm). 50386 To use resource principal ensure Rclone process is started with these 50387 environment variables set in its process. 50388 .IP 50389 .nf 50390 \f[C] 50391 export OCI_RESOURCE_PRINCIPAL_VERSION=2.2 50392 export OCI_RESOURCE_PRINCIPAL_REGION=us-ashburn-1 50393 export OCI_RESOURCE_PRINCIPAL_PRIVATE_PEM=/usr/share/model-server/key.pem 50394 export OCI_RESOURCE_PRINCIPAL_RPST=/usr/share/model-server/security_token 50395 \f[R] 50396 .fi 50397 .PP 50398 Sample rclone configuration file for Authentication Provider Resource 50399 Principal: 50400 .IP 50401 .nf 50402 \f[C] 50403 [oos] 50404 type = oracleobjectstorage 50405 namespace = id<redacted>34 50406 compartment = ocid1.compartment.oc1..aa<redacted>ba 50407 region = us-ashburn-1 50408 provider = resource_principal_auth 50409 \f[R] 50410 .fi 50411 .SS Authentication provider choice: No authentication 50412 .PP 50413 Public buckets do not require any authentication mechanism to read 50414 objects. 50415 Sample rclone configuration file for No authentication: 50416 .IP 50417 .nf 50418 \f[C] 50419 [oos] 50420 type = oracleobjectstorage 50421 namespace = id<redacted>34 50422 compartment = ocid1.compartment.oc1..aa<redacted>ba 50423 region = us-ashburn-1 50424 provider = no_auth 50425 \f[R] 50426 .fi 50427 .SS Options 50428 .SS Modified time 50429 .PP 50430 The modified time is stored as metadata on the object as 50431 \f[C]opc-meta-mtime\f[R] as floating point since the epoch, accurate to 50432 1 ns. 50433 .PP 50434 If the modification time needs to be updated rclone will attempt to 50435 perform a server side copy to update the modification if the object can 50436 be copied in a single part. 50437 In the case the object is larger than 5Gb, the object will be uploaded 50438 rather than copied. 50439 .PP 50440 Note that reading this from the object takes an additional 50441 \f[C]HEAD\f[R] request as the metadata isn\[aq]t returned in object 50442 listings. 50443 .SS Multipart uploads 50444 .PP 50445 rclone supports multipart uploads with OOS which means that it can 50446 upload files bigger than 5 GiB. 50447 .PP 50448 Note that files uploaded \f[I]both\f[R] with multipart upload 50449 \f[I]and\f[R] through crypt remotes do not have MD5 sums. 50450 .PP 50451 rclone switches from single part uploads to multipart uploads at the 50452 point specified by \f[C]--oos-upload-cutoff\f[R]. 50453 This can be a maximum of 5 GiB and a minimum of 0 (ie always upload 50454 multipart files). 50455 .PP 50456 The chunk sizes used in the multipart upload are specified by 50457 \f[C]--oos-chunk-size\f[R] and the number of chunks uploaded 50458 concurrently is specified by \f[C]--oos-upload-concurrency\f[R]. 50459 .PP 50460 Multipart uploads will use \f[C]--transfers\f[R] * 50461 \f[C]--oos-upload-concurrency\f[R] * \f[C]--oos-chunk-size\f[R] extra 50462 memory. 50463 Single part uploads to not use extra memory. 50464 .PP 50465 Single part transfers can be faster than multipart transfers or slower 50466 depending on your latency from oos - the more latency, the more likely 50467 single part transfers will be faster. 50468 .PP 50469 Increasing \f[C]--oos-upload-concurrency\f[R] will increase throughput 50470 (8 would be a sensible value) and increasing \f[C]--oos-chunk-size\f[R] 50471 also increases throughput (16M would be sensible). 50472 Increasing either of these will use more memory. 50473 The default values are high enough to gain most of the possible 50474 performance without using too much memory. 50475 .SS Standard options 50476 .PP 50477 Here are the Standard options specific to oracleobjectstorage (Oracle 50478 Cloud Infrastructure Object Storage). 50479 .SS --oos-provider 50480 .PP 50481 Choose your Auth Provider 50482 .PP 50483 Properties: 50484 .IP \[bu] 2 50485 Config: provider 50486 .IP \[bu] 2 50487 Env Var: RCLONE_OOS_PROVIDER 50488 .IP \[bu] 2 50489 Type: string 50490 .IP \[bu] 2 50491 Default: \[dq]env_auth\[dq] 50492 .IP \[bu] 2 50493 Examples: 50494 .RS 2 50495 .IP \[bu] 2 50496 \[dq]env_auth\[dq] 50497 .RS 2 50498 .IP \[bu] 2 50499 automatically pickup the credentials from runtime(env), first one to 50500 provide auth wins 50501 .RE 50502 .IP \[bu] 2 50503 \[dq]user_principal_auth\[dq] 50504 .RS 2 50505 .IP \[bu] 2 50506 use an OCI user and an API key for authentication. 50507 .IP \[bu] 2 50508 you\[cq]ll need to put in a config file your tenancy OCID, user OCID, 50509 region, the path, fingerprint to an API key. 50510 .IP \[bu] 2 50511 https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm 50512 .RE 50513 .IP \[bu] 2 50514 \[dq]instance_principal_auth\[dq] 50515 .RS 2 50516 .IP \[bu] 2 50517 use instance principals to authorize an instance to make API calls. 50518 .IP \[bu] 2 50519 each instance has its own identity, and authenticates using the 50520 certificates that are read from instance metadata. 50521 .IP \[bu] 2 50522 https://docs.oracle.com/en-us/iaas/Content/Identity/Tasks/callingservicesfrominstances.htm 50523 .RE 50524 .IP \[bu] 2 50525 \[dq]resource_principal_auth\[dq] 50526 .RS 2 50527 .IP \[bu] 2 50528 use resource principals to make API calls 50529 .RE 50530 .IP \[bu] 2 50531 \[dq]no_auth\[dq] 50532 .RS 2 50533 .IP \[bu] 2 50534 no credentials needed, this is typically for reading public buckets 50535 .RE 50536 .RE 50537 .SS --oos-namespace 50538 .PP 50539 Object storage namespace 50540 .PP 50541 Properties: 50542 .IP \[bu] 2 50543 Config: namespace 50544 .IP \[bu] 2 50545 Env Var: RCLONE_OOS_NAMESPACE 50546 .IP \[bu] 2 50547 Type: string 50548 .IP \[bu] 2 50549 Required: true 50550 .SS --oos-compartment 50551 .PP 50552 Object storage compartment OCID 50553 .PP 50554 Properties: 50555 .IP \[bu] 2 50556 Config: compartment 50557 .IP \[bu] 2 50558 Env Var: RCLONE_OOS_COMPARTMENT 50559 .IP \[bu] 2 50560 Provider: !no_auth 50561 .IP \[bu] 2 50562 Type: string 50563 .IP \[bu] 2 50564 Required: true 50565 .SS --oos-region 50566 .PP 50567 Object storage Region 50568 .PP 50569 Properties: 50570 .IP \[bu] 2 50571 Config: region 50572 .IP \[bu] 2 50573 Env Var: RCLONE_OOS_REGION 50574 .IP \[bu] 2 50575 Type: string 50576 .IP \[bu] 2 50577 Required: true 50578 .SS --oos-endpoint 50579 .PP 50580 Endpoint for Object storage API. 50581 .PP 50582 Leave blank to use the default endpoint for the region. 50583 .PP 50584 Properties: 50585 .IP \[bu] 2 50586 Config: endpoint 50587 .IP \[bu] 2 50588 Env Var: RCLONE_OOS_ENDPOINT 50589 .IP \[bu] 2 50590 Type: string 50591 .IP \[bu] 2 50592 Required: false 50593 .SS --oos-config-file 50594 .PP 50595 Path to OCI config file 50596 .PP 50597 Properties: 50598 .IP \[bu] 2 50599 Config: config_file 50600 .IP \[bu] 2 50601 Env Var: RCLONE_OOS_CONFIG_FILE 50602 .IP \[bu] 2 50603 Provider: user_principal_auth 50604 .IP \[bu] 2 50605 Type: string 50606 .IP \[bu] 2 50607 Default: \[dq]\[ti]/.oci/config\[dq] 50608 .IP \[bu] 2 50609 Examples: 50610 .RS 2 50611 .IP \[bu] 2 50612 \[dq]\[ti]/.oci/config\[dq] 50613 .RS 2 50614 .IP \[bu] 2 50615 oci configuration file location 50616 .RE 50617 .RE 50618 .SS --oos-config-profile 50619 .PP 50620 Profile name inside the oci config file 50621 .PP 50622 Properties: 50623 .IP \[bu] 2 50624 Config: config_profile 50625 .IP \[bu] 2 50626 Env Var: RCLONE_OOS_CONFIG_PROFILE 50627 .IP \[bu] 2 50628 Provider: user_principal_auth 50629 .IP \[bu] 2 50630 Type: string 50631 .IP \[bu] 2 50632 Default: \[dq]Default\[dq] 50633 .IP \[bu] 2 50634 Examples: 50635 .RS 2 50636 .IP \[bu] 2 50637 \[dq]Default\[dq] 50638 .RS 2 50639 .IP \[bu] 2 50640 Use the default profile 50641 .RE 50642 .RE 50643 .SS Advanced options 50644 .PP 50645 Here are the Advanced options specific to oracleobjectstorage (Oracle 50646 Cloud Infrastructure Object Storage). 50647 .SS --oos-storage-tier 50648 .PP 50649 The storage class to use when storing new objects in storage. 50650 https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm 50651 .PP 50652 Properties: 50653 .IP \[bu] 2 50654 Config: storage_tier 50655 .IP \[bu] 2 50656 Env Var: RCLONE_OOS_STORAGE_TIER 50657 .IP \[bu] 2 50658 Type: string 50659 .IP \[bu] 2 50660 Default: \[dq]Standard\[dq] 50661 .IP \[bu] 2 50662 Examples: 50663 .RS 2 50664 .IP \[bu] 2 50665 \[dq]Standard\[dq] 50666 .RS 2 50667 .IP \[bu] 2 50668 Standard storage tier, this is the default tier 50669 .RE 50670 .IP \[bu] 2 50671 \[dq]InfrequentAccess\[dq] 50672 .RS 2 50673 .IP \[bu] 2 50674 InfrequentAccess storage tier 50675 .RE 50676 .IP \[bu] 2 50677 \[dq]Archive\[dq] 50678 .RS 2 50679 .IP \[bu] 2 50680 Archive storage tier 50681 .RE 50682 .RE 50683 .SS --oos-upload-cutoff 50684 .PP 50685 Cutoff for switching to chunked upload. 50686 .PP 50687 Any files larger than this will be uploaded in chunks of chunk_size. 50688 The minimum is 0 and the maximum is 5 GiB. 50689 .PP 50690 Properties: 50691 .IP \[bu] 2 50692 Config: upload_cutoff 50693 .IP \[bu] 2 50694 Env Var: RCLONE_OOS_UPLOAD_CUTOFF 50695 .IP \[bu] 2 50696 Type: SizeSuffix 50697 .IP \[bu] 2 50698 Default: 200Mi 50699 .SS --oos-chunk-size 50700 .PP 50701 Chunk size to use for uploading. 50702 .PP 50703 When uploading files larger than upload_cutoff or files with unknown 50704 size (e.g. 50705 from \[dq]rclone rcat\[dq] or uploaded with \[dq]rclone mount\[dq] or 50706 google photos or google docs) they will be uploaded as multipart uploads 50707 using this chunk size. 50708 .PP 50709 Note that \[dq]upload_concurrency\[dq] chunks of this size are buffered 50710 in memory per transfer. 50711 .PP 50712 If you are transferring large files over high-speed links and you have 50713 enough memory, then increasing this will speed up the transfers. 50714 .PP 50715 Rclone will automatically increase the chunk size when uploading a large 50716 file of known size to stay below the 10,000 chunks limit. 50717 .PP 50718 Files of unknown size are uploaded with the configured chunk_size. 50719 Since the default chunk size is 5 MiB and there can be at most 10,000 50720 chunks, this means that by default the maximum size of a file you can 50721 stream upload is 48 GiB. 50722 If you wish to stream upload larger files then you will need to increase 50723 chunk_size. 50724 .PP 50725 Increasing the chunk size decreases the accuracy of the progress 50726 statistics displayed with \[dq]-P\[dq] flag. 50727 .PP 50728 Properties: 50729 .IP \[bu] 2 50730 Config: chunk_size 50731 .IP \[bu] 2 50732 Env Var: RCLONE_OOS_CHUNK_SIZE 50733 .IP \[bu] 2 50734 Type: SizeSuffix 50735 .IP \[bu] 2 50736 Default: 5Mi 50737 .SS --oos-upload-concurrency 50738 .PP 50739 Concurrency for multipart uploads. 50740 .PP 50741 This is the number of chunks of the same file that are uploaded 50742 concurrently. 50743 .PP 50744 If you are uploading small numbers of large files over high-speed links 50745 and these uploads do not fully utilize your bandwidth, then increasing 50746 this may help to speed up the transfers. 50747 .PP 50748 Properties: 50749 .IP \[bu] 2 50750 Config: upload_concurrency 50751 .IP \[bu] 2 50752 Env Var: RCLONE_OOS_UPLOAD_CONCURRENCY 50753 .IP \[bu] 2 50754 Type: int 50755 .IP \[bu] 2 50756 Default: 10 50757 .SS --oos-copy-cutoff 50758 .PP 50759 Cutoff for switching to multipart copy. 50760 .PP 50761 Any files larger than this that need to be server-side copied will be 50762 copied in chunks of this size. 50763 .PP 50764 The minimum is 0 and the maximum is 5 GiB. 50765 .PP 50766 Properties: 50767 .IP \[bu] 2 50768 Config: copy_cutoff 50769 .IP \[bu] 2 50770 Env Var: RCLONE_OOS_COPY_CUTOFF 50771 .IP \[bu] 2 50772 Type: SizeSuffix 50773 .IP \[bu] 2 50774 Default: 4.656Gi 50775 .SS --oos-copy-timeout 50776 .PP 50777 Timeout for copy. 50778 .PP 50779 Copy is an asynchronous operation, specify timeout to wait for copy to 50780 succeed 50781 .PP 50782 Properties: 50783 .IP \[bu] 2 50784 Config: copy_timeout 50785 .IP \[bu] 2 50786 Env Var: RCLONE_OOS_COPY_TIMEOUT 50787 .IP \[bu] 2 50788 Type: Duration 50789 .IP \[bu] 2 50790 Default: 1m0s 50791 .SS --oos-disable-checksum 50792 .PP 50793 Don\[aq]t store MD5 checksum with object metadata. 50794 .PP 50795 Normally rclone will calculate the MD5 checksum of the input before 50796 uploading it so it can add it to metadata on the object. 50797 This is great for data integrity checking but can cause long delays for 50798 large files to start uploading. 50799 .PP 50800 Properties: 50801 .IP \[bu] 2 50802 Config: disable_checksum 50803 .IP \[bu] 2 50804 Env Var: RCLONE_OOS_DISABLE_CHECKSUM 50805 .IP \[bu] 2 50806 Type: bool 50807 .IP \[bu] 2 50808 Default: false 50809 .SS --oos-encoding 50810 .PP 50811 The encoding for the backend. 50812 .PP 50813 See the encoding section in the 50814 overview (https://rclone.org/overview/#encoding) for more info. 50815 .PP 50816 Properties: 50817 .IP \[bu] 2 50818 Config: encoding 50819 .IP \[bu] 2 50820 Env Var: RCLONE_OOS_ENCODING 50821 .IP \[bu] 2 50822 Type: MultiEncoder 50823 .IP \[bu] 2 50824 Default: Slash,InvalidUtf8,Dot 50825 .SS --oos-leave-parts-on-error 50826 .PP 50827 If true avoid calling abort upload on a failure, leaving all 50828 successfully uploaded parts on S3 for manual recovery. 50829 .PP 50830 It should be set to true for resuming uploads across different sessions. 50831 .PP 50832 WARNING: Storing parts of an incomplete multipart upload counts towards 50833 space usage on object storage and will add additional costs if not 50834 cleaned up. 50835 .PP 50836 Properties: 50837 .IP \[bu] 2 50838 Config: leave_parts_on_error 50839 .IP \[bu] 2 50840 Env Var: RCLONE_OOS_LEAVE_PARTS_ON_ERROR 50841 .IP \[bu] 2 50842 Type: bool 50843 .IP \[bu] 2 50844 Default: false 50845 .SS --oos-no-check-bucket 50846 .PP 50847 If set, don\[aq]t attempt to check the bucket exists or create it. 50848 .PP 50849 This can be useful when trying to minimise the number of transactions 50850 rclone does if you know the bucket exists already. 50851 .PP 50852 It can also be needed if the user you are using does not have bucket 50853 creation permissions. 50854 .PP 50855 Properties: 50856 .IP \[bu] 2 50857 Config: no_check_bucket 50858 .IP \[bu] 2 50859 Env Var: RCLONE_OOS_NO_CHECK_BUCKET 50860 .IP \[bu] 2 50861 Type: bool 50862 .IP \[bu] 2 50863 Default: false 50864 .SS --oos-sse-customer-key-file 50865 .PP 50866 To use SSE-C, a file containing the base64-encoded string of the AES-256 50867 encryption key associated with the object. 50868 Please note only one of 50869 sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed.\[aq] 50870 .PP 50871 Properties: 50872 .IP \[bu] 2 50873 Config: sse_customer_key_file 50874 .IP \[bu] 2 50875 Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY_FILE 50876 .IP \[bu] 2 50877 Type: string 50878 .IP \[bu] 2 50879 Required: false 50880 .IP \[bu] 2 50881 Examples: 50882 .RS 2 50883 .IP \[bu] 2 50884 \[dq]\[dq] 50885 .RS 2 50886 .IP \[bu] 2 50887 None 50888 .RE 50889 .RE 50890 .SS --oos-sse-customer-key 50891 .PP 50892 To use SSE-C, the optional header that specifies the base64-encoded 50893 256-bit encryption key to use to encrypt or decrypt the data. 50894 Please note only one of 50895 sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed. 50896 For more information, see Using Your Own Keys for Server-Side Encryption 50897 (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm) 50898 .PP 50899 Properties: 50900 .IP \[bu] 2 50901 Config: sse_customer_key 50902 .IP \[bu] 2 50903 Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY 50904 .IP \[bu] 2 50905 Type: string 50906 .IP \[bu] 2 50907 Required: false 50908 .IP \[bu] 2 50909 Examples: 50910 .RS 2 50911 .IP \[bu] 2 50912 \[dq]\[dq] 50913 .RS 2 50914 .IP \[bu] 2 50915 None 50916 .RE 50917 .RE 50918 .SS --oos-sse-customer-key-sha256 50919 .PP 50920 If using SSE-C, The optional header that specifies the base64-encoded 50921 SHA256 hash of the encryption key. 50922 This value is used to check the integrity of the encryption key. 50923 see Using Your Own Keys for Server-Side Encryption 50924 (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm). 50925 .PP 50926 Properties: 50927 .IP \[bu] 2 50928 Config: sse_customer_key_sha256 50929 .IP \[bu] 2 50930 Env Var: RCLONE_OOS_SSE_CUSTOMER_KEY_SHA256 50931 .IP \[bu] 2 50932 Type: string 50933 .IP \[bu] 2 50934 Required: false 50935 .IP \[bu] 2 50936 Examples: 50937 .RS 2 50938 .IP \[bu] 2 50939 \[dq]\[dq] 50940 .RS 2 50941 .IP \[bu] 2 50942 None 50943 .RE 50944 .RE 50945 .SS --oos-sse-kms-key-id 50946 .PP 50947 if using your own master key in vault, this header specifies the OCID 50948 (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) 50949 of a master encryption key used to call the Key Management service to 50950 generate a data encryption key or to encrypt or decrypt a data 50951 encryption key. 50952 Please note only one of 50953 sse_customer_key_file|sse_customer_key|sse_kms_key_id is needed. 50954 .PP 50955 Properties: 50956 .IP \[bu] 2 50957 Config: sse_kms_key_id 50958 .IP \[bu] 2 50959 Env Var: RCLONE_OOS_SSE_KMS_KEY_ID 50960 .IP \[bu] 2 50961 Type: string 50962 .IP \[bu] 2 50963 Required: false 50964 .IP \[bu] 2 50965 Examples: 50966 .RS 2 50967 .IP \[bu] 2 50968 \[dq]\[dq] 50969 .RS 2 50970 .IP \[bu] 2 50971 None 50972 .RE 50973 .RE 50974 .SS --oos-sse-customer-algorithm 50975 .PP 50976 If using SSE-C, the optional header that specifies \[dq]AES256\[dq] as 50977 the encryption algorithm. 50978 Object Storage supports \[dq]AES256\[dq] as the encryption algorithm. 50979 For more information, see Using Your Own Keys for Server-Side Encryption 50980 (https://docs.cloud.oracle.com/Content/Object/Tasks/usingyourencryptionkeys.htm). 50981 .PP 50982 Properties: 50983 .IP \[bu] 2 50984 Config: sse_customer_algorithm 50985 .IP \[bu] 2 50986 Env Var: RCLONE_OOS_SSE_CUSTOMER_ALGORITHM 50987 .IP \[bu] 2 50988 Type: string 50989 .IP \[bu] 2 50990 Required: false 50991 .IP \[bu] 2 50992 Examples: 50993 .RS 2 50994 .IP \[bu] 2 50995 \[dq]\[dq] 50996 .RS 2 50997 .IP \[bu] 2 50998 None 50999 .RE 51000 .IP \[bu] 2 51001 \[dq]AES256\[dq] 51002 .RS 2 51003 .IP \[bu] 2 51004 AES256 51005 .RE 51006 .RE 51007 .SS Backend commands 51008 .PP 51009 Here are the commands specific to the oracleobjectstorage backend. 51010 .PP 51011 Run them with 51012 .IP 51013 .nf 51014 \f[C] 51015 rclone backend COMMAND remote: 51016 \f[R] 51017 .fi 51018 .PP 51019 The help below will explain what arguments each command takes. 51020 .PP 51021 See the backend (https://rclone.org/commands/rclone_backend/) command 51022 for more info on how to pass options and arguments. 51023 .PP 51024 These can be run on a running backend using the rc command 51025 backend/command (https://rclone.org/rc/#backend-command). 51026 .SS rename 51027 .PP 51028 change the name of an object 51029 .IP 51030 .nf 51031 \f[C] 51032 rclone backend rename remote: [options] [<arguments>+] 51033 \f[R] 51034 .fi 51035 .PP 51036 This command can be used to rename a object. 51037 .PP 51038 Usage Examples: 51039 .IP 51040 .nf 51041 \f[C] 51042 rclone backend rename oos:bucket relative-object-path-under-bucket object-new-name 51043 \f[R] 51044 .fi 51045 .SS list-multipart-uploads 51046 .PP 51047 List the unfinished multipart uploads 51048 .IP 51049 .nf 51050 \f[C] 51051 rclone backend list-multipart-uploads remote: [options] [<arguments>+] 51052 \f[R] 51053 .fi 51054 .PP 51055 This command lists the unfinished multipart uploads in JSON format. 51056 .IP 51057 .nf 51058 \f[C] 51059 rclone backend list-multipart-uploads oos:bucket/path/to/object 51060 \f[R] 51061 .fi 51062 .PP 51063 It returns a dictionary of buckets with values as lists of unfinished 51064 multipart uploads. 51065 .PP 51066 You can call it with no bucket in which case it lists all bucket, with a 51067 bucket or with a bucket and path. 51068 .IP 51069 .nf 51070 \f[C] 51071 { 51072 \[dq]test-bucket\[dq]: [ 51073 { 51074 \[dq]namespace\[dq]: \[dq]test-namespace\[dq], 51075 \[dq]bucket\[dq]: \[dq]test-bucket\[dq], 51076 \[dq]object\[dq]: \[dq]600m.bin\[dq], 51077 \[dq]uploadId\[dq]: \[dq]51dd8114-52a4-b2f2-c42f-5291f05eb3c8\[dq], 51078 \[dq]timeCreated\[dq]: \[dq]2022-07-29T06:21:16.595Z\[dq], 51079 \[dq]storageTier\[dq]: \[dq]Standard\[dq] 51080 } 51081 ] 51082 \f[R] 51083 .fi 51084 .SS cleanup 51085 .PP 51086 Remove unfinished multipart uploads. 51087 .IP 51088 .nf 51089 \f[C] 51090 rclone backend cleanup remote: [options] [<arguments>+] 51091 \f[R] 51092 .fi 51093 .PP 51094 This command removes unfinished multipart uploads of age greater than 51095 max-age which defaults to 24 hours. 51096 .PP 51097 Note that you can use --interactive/-i or --dry-run with this command to 51098 see what it would do. 51099 .IP 51100 .nf 51101 \f[C] 51102 rclone backend cleanup oos:bucket/path/to/object 51103 rclone backend cleanup -o max-age=7w oos:bucket/path/to/object 51104 \f[R] 51105 .fi 51106 .PP 51107 Durations are parsed as per the rest of rclone, 2h, 7d, 7w etc. 51108 .PP 51109 Options: 51110 .IP \[bu] 2 51111 \[dq]max-age\[dq]: Max age of upload to delete 51112 .SH QingStor 51113 .PP 51114 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 51115 the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 51116 \f[C]remote:bucket/path/to/dir\f[R]. 51117 .SS Configuration 51118 .PP 51119 Here is an example of making an QingStor configuration. 51120 First run 51121 .IP 51122 .nf 51123 \f[C] 51124 rclone config 51125 \f[R] 51126 .fi 51127 .PP 51128 This will guide you through an interactive setup process. 51129 .IP 51130 .nf 51131 \f[C] 51132 No remotes found, make a new one? 51133 n) New remote 51134 r) Rename remote 51135 c) Copy remote 51136 s) Set configuration password 51137 q) Quit config 51138 n/r/c/s/q> n 51139 name> remote 51140 Type of storage to configure. 51141 Choose a number from below, or type in your own value 51142 [snip] 51143 XX / QingStor Object Storage 51144 \[rs] \[dq]qingstor\[dq] 51145 [snip] 51146 Storage> qingstor 51147 Get QingStor credentials from runtime. Only applies if access_key_id and secret_access_key is blank. 51148 Choose a number from below, or type in your own value 51149 1 / Enter QingStor credentials in the next step 51150 \[rs] \[dq]false\[dq] 51151 2 / Get QingStor credentials from the environment (env vars or IAM) 51152 \[rs] \[dq]true\[dq] 51153 env_auth> 1 51154 QingStor Access Key ID - leave blank for anonymous access or runtime credentials. 51155 access_key_id> access_key 51156 QingStor Secret Access Key (password) - leave blank for anonymous access or runtime credentials. 51157 secret_access_key> secret_key 51158 Enter an endpoint URL to connection QingStor API. 51159 Leave blank will use the default value \[dq]https://qingstor.com:443\[dq] 51160 endpoint> 51161 Zone connect to. Default is \[dq]pek3a\[dq]. 51162 Choose a number from below, or type in your own value 51163 / The Beijing (China) Three Zone 51164 1 | Needs location constraint pek3a. 51165 \[rs] \[dq]pek3a\[dq] 51166 / The Shanghai (China) First Zone 51167 2 | Needs location constraint sh1a. 51168 \[rs] \[dq]sh1a\[dq] 51169 zone> 1 51170 Number of connection retry. 51171 Leave blank will use the default value \[dq]3\[dq]. 51172 connection_retries> 51173 Remote config 51174 -------------------- 51175 [remote] 51176 env_auth = false 51177 access_key_id = access_key 51178 secret_access_key = secret_key 51179 endpoint = 51180 zone = pek3a 51181 connection_retries = 51182 -------------------- 51183 y) Yes this is OK 51184 e) Edit this remote 51185 d) Delete this remote 51186 y/e/d> y 51187 \f[R] 51188 .fi 51189 .PP 51190 This remote is called \f[C]remote\f[R] and can now be used like this 51191 .PP 51192 See all buckets 51193 .IP 51194 .nf 51195 \f[C] 51196 rclone lsd remote: 51197 \f[R] 51198 .fi 51199 .PP 51200 Make a new bucket 51201 .IP 51202 .nf 51203 \f[C] 51204 rclone mkdir remote:bucket 51205 \f[R] 51206 .fi 51207 .PP 51208 List the contents of a bucket 51209 .IP 51210 .nf 51211 \f[C] 51212 rclone ls remote:bucket 51213 \f[R] 51214 .fi 51215 .PP 51216 Sync \f[C]/home/local/directory\f[R] to the remote bucket, deleting any 51217 excess files in the bucket. 51218 .IP 51219 .nf 51220 \f[C] 51221 rclone sync --interactive /home/local/directory remote:bucket 51222 \f[R] 51223 .fi 51224 .SS --fast-list 51225 .PP 51226 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 51227 transactions in exchange for more memory. 51228 See the rclone docs (https://rclone.org/docs/#fast-list) for more 51229 details. 51230 .SS Multipart uploads 51231 .PP 51232 rclone supports multipart uploads with QingStor which means that it can 51233 upload files bigger than 5 GiB. 51234 Note that files uploaded with multipart upload don\[aq]t have an MD5SUM. 51235 .PP 51236 Note that incomplete multipart uploads older than 24 hours can be 51237 removed with \f[C]rclone cleanup remote:bucket\f[R] just for one bucket 51238 \f[C]rclone cleanup remote:\f[R] for all buckets. 51239 QingStor does not ever remove incomplete multipart uploads so it may be 51240 necessary to run this from time to time. 51241 .SS Buckets and Zone 51242 .PP 51243 With QingStor you can list buckets (\f[C]rclone lsd\f[R]) using any 51244 zone, but you can only access the content of a bucket from the zone it 51245 was created in. 51246 If you attempt to access a bucket from the wrong zone, you will get an 51247 error, 51248 \f[C]incorrect zone, the bucket is not in \[aq]XXX\[aq] zone\f[R]. 51249 .SS Authentication 51250 .PP 51251 There are two ways to supply \f[C]rclone\f[R] with a set of QingStor 51252 credentials. 51253 In order of precedence: 51254 .IP \[bu] 2 51255 Directly in the rclone configuration file (as configured by 51256 \f[C]rclone config\f[R]) 51257 .RS 2 51258 .IP \[bu] 2 51259 set \f[C]access_key_id\f[R] and \f[C]secret_access_key\f[R] 51260 .RE 51261 .IP \[bu] 2 51262 Runtime configuration: 51263 .RS 2 51264 .IP \[bu] 2 51265 set \f[C]env_auth\f[R] to \f[C]true\f[R] in the config file 51266 .IP \[bu] 2 51267 Exporting the following environment variables before running 51268 \f[C]rclone\f[R] 51269 .RS 2 51270 .IP \[bu] 2 51271 Access Key ID: \f[C]QS_ACCESS_KEY_ID\f[R] or \f[C]QS_ACCESS_KEY\f[R] 51272 .IP \[bu] 2 51273 Secret Access Key: \f[C]QS_SECRET_ACCESS_KEY\f[R] or 51274 \f[C]QS_SECRET_KEY\f[R] 51275 .RE 51276 .RE 51277 .SS Restricted filename characters 51278 .PP 51279 The control characters 0x00-0x1F and / are replaced as in the default 51280 restricted characters 51281 set (https://rclone.org/overview/#restricted-characters). 51282 Note that 0x7F is not replaced. 51283 .PP 51284 Invalid UTF-8 bytes will also be 51285 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 51286 be used in JSON strings. 51287 .SS Standard options 51288 .PP 51289 Here are the Standard options specific to qingstor (QingCloud Object 51290 Storage). 51291 .SS --qingstor-env-auth 51292 .PP 51293 Get QingStor credentials from runtime. 51294 .PP 51295 Only applies if access_key_id and secret_access_key is blank. 51296 .PP 51297 Properties: 51298 .IP \[bu] 2 51299 Config: env_auth 51300 .IP \[bu] 2 51301 Env Var: RCLONE_QINGSTOR_ENV_AUTH 51302 .IP \[bu] 2 51303 Type: bool 51304 .IP \[bu] 2 51305 Default: false 51306 .IP \[bu] 2 51307 Examples: 51308 .RS 2 51309 .IP \[bu] 2 51310 \[dq]false\[dq] 51311 .RS 2 51312 .IP \[bu] 2 51313 Enter QingStor credentials in the next step. 51314 .RE 51315 .IP \[bu] 2 51316 \[dq]true\[dq] 51317 .RS 2 51318 .IP \[bu] 2 51319 Get QingStor credentials from the environment (env vars or IAM). 51320 .RE 51321 .RE 51322 .SS --qingstor-access-key-id 51323 .PP 51324 QingStor Access Key ID. 51325 .PP 51326 Leave blank for anonymous access or runtime credentials. 51327 .PP 51328 Properties: 51329 .IP \[bu] 2 51330 Config: access_key_id 51331 .IP \[bu] 2 51332 Env Var: RCLONE_QINGSTOR_ACCESS_KEY_ID 51333 .IP \[bu] 2 51334 Type: string 51335 .IP \[bu] 2 51336 Required: false 51337 .SS --qingstor-secret-access-key 51338 .PP 51339 QingStor Secret Access Key (password). 51340 .PP 51341 Leave blank for anonymous access or runtime credentials. 51342 .PP 51343 Properties: 51344 .IP \[bu] 2 51345 Config: secret_access_key 51346 .IP \[bu] 2 51347 Env Var: RCLONE_QINGSTOR_SECRET_ACCESS_KEY 51348 .IP \[bu] 2 51349 Type: string 51350 .IP \[bu] 2 51351 Required: false 51352 .SS --qingstor-endpoint 51353 .PP 51354 Enter an endpoint URL to connection QingStor API. 51355 .PP 51356 Leave blank will use the default value 51357 \[dq]https://qingstor.com:443\[dq]. 51358 .PP 51359 Properties: 51360 .IP \[bu] 2 51361 Config: endpoint 51362 .IP \[bu] 2 51363 Env Var: RCLONE_QINGSTOR_ENDPOINT 51364 .IP \[bu] 2 51365 Type: string 51366 .IP \[bu] 2 51367 Required: false 51368 .SS --qingstor-zone 51369 .PP 51370 Zone to connect to. 51371 .PP 51372 Default is \[dq]pek3a\[dq]. 51373 .PP 51374 Properties: 51375 .IP \[bu] 2 51376 Config: zone 51377 .IP \[bu] 2 51378 Env Var: RCLONE_QINGSTOR_ZONE 51379 .IP \[bu] 2 51380 Type: string 51381 .IP \[bu] 2 51382 Required: false 51383 .IP \[bu] 2 51384 Examples: 51385 .RS 2 51386 .IP \[bu] 2 51387 \[dq]pek3a\[dq] 51388 .RS 2 51389 .IP \[bu] 2 51390 The Beijing (China) Three Zone. 51391 .IP \[bu] 2 51392 Needs location constraint pek3a. 51393 .RE 51394 .IP \[bu] 2 51395 \[dq]sh1a\[dq] 51396 .RS 2 51397 .IP \[bu] 2 51398 The Shanghai (China) First Zone. 51399 .IP \[bu] 2 51400 Needs location constraint sh1a. 51401 .RE 51402 .IP \[bu] 2 51403 \[dq]gd2a\[dq] 51404 .RS 2 51405 .IP \[bu] 2 51406 The Guangdong (China) Second Zone. 51407 .IP \[bu] 2 51408 Needs location constraint gd2a. 51409 .RE 51410 .RE 51411 .SS Advanced options 51412 .PP 51413 Here are the Advanced options specific to qingstor (QingCloud Object 51414 Storage). 51415 .SS --qingstor-connection-retries 51416 .PP 51417 Number of connection retries. 51418 .PP 51419 Properties: 51420 .IP \[bu] 2 51421 Config: connection_retries 51422 .IP \[bu] 2 51423 Env Var: RCLONE_QINGSTOR_CONNECTION_RETRIES 51424 .IP \[bu] 2 51425 Type: int 51426 .IP \[bu] 2 51427 Default: 3 51428 .SS --qingstor-upload-cutoff 51429 .PP 51430 Cutoff for switching to chunked upload. 51431 .PP 51432 Any files larger than this will be uploaded in chunks of chunk_size. 51433 The minimum is 0 and the maximum is 5 GiB. 51434 .PP 51435 Properties: 51436 .IP \[bu] 2 51437 Config: upload_cutoff 51438 .IP \[bu] 2 51439 Env Var: RCLONE_QINGSTOR_UPLOAD_CUTOFF 51440 .IP \[bu] 2 51441 Type: SizeSuffix 51442 .IP \[bu] 2 51443 Default: 200Mi 51444 .SS --qingstor-chunk-size 51445 .PP 51446 Chunk size to use for uploading. 51447 .PP 51448 When uploading files larger than upload_cutoff they will be uploaded as 51449 multipart uploads using this chunk size. 51450 .PP 51451 Note that \[dq]--qingstor-upload-concurrency\[dq] chunks of this size 51452 are buffered in memory per transfer. 51453 .PP 51454 If you are transferring large files over high-speed links and you have 51455 enough memory, then increasing this will speed up the transfers. 51456 .PP 51457 Properties: 51458 .IP \[bu] 2 51459 Config: chunk_size 51460 .IP \[bu] 2 51461 Env Var: RCLONE_QINGSTOR_CHUNK_SIZE 51462 .IP \[bu] 2 51463 Type: SizeSuffix 51464 .IP \[bu] 2 51465 Default: 4Mi 51466 .SS --qingstor-upload-concurrency 51467 .PP 51468 Concurrency for multipart uploads. 51469 .PP 51470 This is the number of chunks of the same file that are uploaded 51471 concurrently. 51472 .PP 51473 NB if you set this to > 1 then the checksums of multipart uploads become 51474 corrupted (the uploads themselves are not corrupted though). 51475 .PP 51476 If you are uploading small numbers of large files over high-speed links 51477 and these uploads do not fully utilize your bandwidth, then increasing 51478 this may help to speed up the transfers. 51479 .PP 51480 Properties: 51481 .IP \[bu] 2 51482 Config: upload_concurrency 51483 .IP \[bu] 2 51484 Env Var: RCLONE_QINGSTOR_UPLOAD_CONCURRENCY 51485 .IP \[bu] 2 51486 Type: int 51487 .IP \[bu] 2 51488 Default: 1 51489 .SS --qingstor-encoding 51490 .PP 51491 The encoding for the backend. 51492 .PP 51493 See the encoding section in the 51494 overview (https://rclone.org/overview/#encoding) for more info. 51495 .PP 51496 Properties: 51497 .IP \[bu] 2 51498 Config: encoding 51499 .IP \[bu] 2 51500 Env Var: RCLONE_QINGSTOR_ENCODING 51501 .IP \[bu] 2 51502 Type: MultiEncoder 51503 .IP \[bu] 2 51504 Default: Slash,Ctl,InvalidUtf8 51505 .SS Limitations 51506 .PP 51507 \f[C]rclone about\f[R] is not supported by the qingstor backend. 51508 Backends without this capability cannot determine free space for an 51509 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 51510 of an rclone union remote. 51511 .PP 51512 See List of backends that do not support rclone 51513 about (https://rclone.org/overview/#optional-features) and rclone 51514 about (https://rclone.org/commands/rclone_about/) 51515 .SH Sia 51516 .PP 51517 Sia (sia.tech (https://sia.tech/)) is a decentralized cloud storage 51518 platform based on the blockchain (https://wikipedia.org/wiki/Blockchain) 51519 technology. 51520 With rclone you can use it like any other remote filesystem or mount Sia 51521 folders locally. 51522 The technology behind it involves a number of new concepts such as 51523 Siacoins and Wallet, Blockchain and Consensus, Renting and Hosting, and 51524 so on. 51525 If you are new to it, you\[aq]d better first familiarize yourself using 51526 their excellent support documentation (https://support.sia.tech/). 51527 .SS Introduction 51528 .PP 51529 Before you can use rclone with Sia, you will need to have a running copy 51530 of \f[C]Sia-UI\f[R] or \f[C]siad\f[R] (the Sia daemon) locally on your 51531 computer or on local network (e.g. 51532 a NAS). 51533 Please follow the Get started (https://sia.tech/get-started) guide and 51534 install one. 51535 .PP 51536 rclone interacts with Sia network by talking to the Sia daemon via HTTP 51537 API (https://sia.tech/docs/) which is usually available on port 51538 \f[I]9980\f[R]. 51539 By default you will run the daemon locally on the same computer so 51540 it\[aq]s safe to leave the API password blank (the API URL will be 51541 \f[C]http://127.0.0.1:9980\f[R] making external access impossible). 51542 .PP 51543 However, if you want to access Sia daemon running on another node, for 51544 example due to memory constraints or because you want to share single 51545 daemon between several rclone and Sia-UI instances, you\[aq]ll need to 51546 make a few more provisions: - Ensure you have \f[I]Sia daemon\f[R] 51547 installed directly or in a docker 51548 container (https://github.com/SiaFoundation/siad/pkgs/container/siad) 51549 because Sia-UI does not support this mode natively. 51550 - Run it on externally accessible port, for example provide 51551 \f[C]--api-addr :9980\f[R] and \f[C]--disable-api-security\f[R] 51552 arguments on the daemon command line. 51553 - Enforce API password for the \f[C]siad\f[R] daemon via environment 51554 variable \f[C]SIA_API_PASSWORD\f[R] or text file named 51555 \f[C]apipassword\f[R] in the daemon directory. 51556 - Set rclone backend option \f[C]api_password\f[R] taking it from above 51557 locations. 51558 .PP 51559 Notes: 1. 51560 If your wallet is locked, rclone cannot unlock it automatically. 51561 You should either unlock it in advance by using Sia-UI or via command 51562 line \f[C]siac wallet unlock\f[R]. 51563 Alternatively you can make \f[C]siad\f[R] unlock your wallet 51564 automatically upon startup by running it with environment variable 51565 \f[C]SIA_WALLET_PASSWORD\f[R]. 51566 2. 51567 If \f[C]siad\f[R] cannot find the \f[C]SIA_API_PASSWORD\f[R] variable or 51568 the \f[C]apipassword\f[R] file in the \f[C]SIA_DIR\f[R] directory, it 51569 will generate a random password and store in the text file named 51570 \f[C]apipassword\f[R] under \f[C]YOUR_HOME/.sia/\f[R] directory on Unix 51571 or 51572 \f[C]C:\[rs]Users\[rs]YOUR_HOME\[rs]AppData\[rs]Local\[rs]Sia\[rs]apipassword\f[R] 51573 on Windows. 51574 Remember this when you configure password in rclone. 51575 3. 51576 The only way to use \f[C]siad\f[R] without API password is to run it 51577 \f[B]on localhost\f[R] with command line argument 51578 \f[C]--authorize-api=false\f[R], but this is insecure and \f[B]strongly 51579 discouraged\f[R]. 51580 .SS Configuration 51581 .PP 51582 Here is an example of how to make a \f[C]sia\f[R] remote called 51583 \f[C]mySia\f[R]. 51584 First, run: 51585 .IP 51586 .nf 51587 \f[C] 51588 rclone config 51589 \f[R] 51590 .fi 51591 .PP 51592 This will guide you through an interactive setup process: 51593 .IP 51594 .nf 51595 \f[C] 51596 No remotes found, make a new one? 51597 n) New remote 51598 s) Set configuration password 51599 q) Quit config 51600 n/s/q> n 51601 name> mySia 51602 Type of storage to configure. 51603 Enter a string value. Press Enter for the default (\[dq]\[dq]). 51604 Choose a number from below, or type in your own value 51605 \&... 51606 29 / Sia Decentralized Cloud 51607 \[rs] \[dq]sia\[dq] 51608 \&... 51609 Storage> sia 51610 Sia daemon API URL, like http://sia.daemon.host:9980. 51611 Note that siad must run with --disable-api-security to open API port for other hosts (not recommended). 51612 Keep default if Sia daemon runs on localhost. 51613 Enter a string value. Press Enter for the default (\[dq]http://127.0.0.1:9980\[dq]). 51614 api_url> http://127.0.0.1:9980 51615 Sia Daemon API Password. 51616 Can be found in the apipassword file located in HOME/.sia/ or in the daemon directory. 51617 y) Yes type in my own password 51618 g) Generate random password 51619 n) No leave this optional password blank (default) 51620 y/g/n> y 51621 Enter the password: 51622 password: 51623 Confirm the password: 51624 password: 51625 Edit advanced config? 51626 y) Yes 51627 n) No (default) 51628 y/n> n 51629 -------------------- 51630 [mySia] 51631 type = sia 51632 api_url = http://127.0.0.1:9980 51633 api_password = *** ENCRYPTED *** 51634 -------------------- 51635 y) Yes this is OK (default) 51636 e) Edit this remote 51637 d) Delete this remote 51638 y/e/d> y 51639 \f[R] 51640 .fi 51641 .PP 51642 Once configured, you can then use \f[C]rclone\f[R] like this: 51643 .IP \[bu] 2 51644 List directories in top level of your Sia storage 51645 .IP 51646 .nf 51647 \f[C] 51648 rclone lsd mySia: 51649 \f[R] 51650 .fi 51651 .IP \[bu] 2 51652 List all the files in your Sia storage 51653 .IP 51654 .nf 51655 \f[C] 51656 rclone ls mySia: 51657 \f[R] 51658 .fi 51659 .IP \[bu] 2 51660 Upload a local directory to the Sia directory called \f[I]backup\f[R] 51661 .IP 51662 .nf 51663 \f[C] 51664 rclone copy /home/source mySia:backup 51665 \f[R] 51666 .fi 51667 .SS Standard options 51668 .PP 51669 Here are the Standard options specific to sia (Sia Decentralized Cloud). 51670 .SS --sia-api-url 51671 .PP 51672 Sia daemon API URL, like http://sia.daemon.host:9980. 51673 .PP 51674 Note that siad must run with --disable-api-security to open API port for 51675 other hosts (not recommended). 51676 Keep default if Sia daemon runs on localhost. 51677 .PP 51678 Properties: 51679 .IP \[bu] 2 51680 Config: api_url 51681 .IP \[bu] 2 51682 Env Var: RCLONE_SIA_API_URL 51683 .IP \[bu] 2 51684 Type: string 51685 .IP \[bu] 2 51686 Default: \[dq]http://127.0.0.1:9980\[dq] 51687 .SS --sia-api-password 51688 .PP 51689 Sia Daemon API Password. 51690 .PP 51691 Can be found in the apipassword file located in HOME/.sia/ or in the 51692 daemon directory. 51693 .PP 51694 \f[B]NB\f[R] Input to this must be obscured - see rclone 51695 obscure (https://rclone.org/commands/rclone_obscure/). 51696 .PP 51697 Properties: 51698 .IP \[bu] 2 51699 Config: api_password 51700 .IP \[bu] 2 51701 Env Var: RCLONE_SIA_API_PASSWORD 51702 .IP \[bu] 2 51703 Type: string 51704 .IP \[bu] 2 51705 Required: false 51706 .SS Advanced options 51707 .PP 51708 Here are the Advanced options specific to sia (Sia Decentralized Cloud). 51709 .SS --sia-user-agent 51710 .PP 51711 Siad User Agent 51712 .PP 51713 Sia daemon requires the \[aq]Sia-Agent\[aq] user agent by default for 51714 security 51715 .PP 51716 Properties: 51717 .IP \[bu] 2 51718 Config: user_agent 51719 .IP \[bu] 2 51720 Env Var: RCLONE_SIA_USER_AGENT 51721 .IP \[bu] 2 51722 Type: string 51723 .IP \[bu] 2 51724 Default: \[dq]Sia-Agent\[dq] 51725 .SS --sia-encoding 51726 .PP 51727 The encoding for the backend. 51728 .PP 51729 See the encoding section in the 51730 overview (https://rclone.org/overview/#encoding) for more info. 51731 .PP 51732 Properties: 51733 .IP \[bu] 2 51734 Config: encoding 51735 .IP \[bu] 2 51736 Env Var: RCLONE_SIA_ENCODING 51737 .IP \[bu] 2 51738 Type: MultiEncoder 51739 .IP \[bu] 2 51740 Default: Slash,Question,Hash,Percent,Del,Ctl,InvalidUtf8,Dot 51741 .SS Limitations 51742 .IP \[bu] 2 51743 Modification times not supported 51744 .IP \[bu] 2 51745 Checksums not supported 51746 .IP \[bu] 2 51747 \f[C]rclone about\f[R] not supported 51748 .IP \[bu] 2 51749 rclone can work only with \f[I]Siad\f[R] or \f[I]Sia-UI\f[R] at the 51750 moment, the \f[B]SkyNet daemon is not supported yet.\f[R] 51751 .IP \[bu] 2 51752 Sia does not allow control characters or symbols like question and pound 51753 signs in file names. 51754 rclone will transparently encode (https://rclone.org/overview/#encoding) 51755 them for you, but you\[aq]d better be aware 51756 .SH Swift 51757 .PP 51758 Swift refers to OpenStack Object 51759 Storage (https://docs.openstack.org/swift/latest/). 51760 Commercial implementations of that being: 51761 .IP \[bu] 2 51762 Rackspace Cloud Files (https://www.rackspace.com/cloud/files/) 51763 .IP \[bu] 2 51764 Memset Memstore (https://www.memset.com/cloud/storage/) 51765 .IP \[bu] 2 51766 OVH Object 51767 Storage (https://www.ovh.co.uk/public-cloud/storage/object-storage/) 51768 .IP \[bu] 2 51769 Oracle Cloud 51770 Storage (https://docs.oracle.com/en-us/iaas/integration/doc/configure-object-storage.html) 51771 .IP \[bu] 2 51772 Blomp Cloud Storage (https://www.blomp.com/cloud-storage/) 51773 .IP \[bu] 2 51774 IBM Bluemix Cloud ObjectStorage 51775 Swift (https://console.bluemix.net/docs/infrastructure/objectstorage-swift/index.html) 51776 .PP 51777 Paths are specified as \f[C]remote:container\f[R] (or \f[C]remote:\f[R] 51778 for the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 51779 \f[C]remote:container/path/to/dir\f[R]. 51780 .SS Configuration 51781 .PP 51782 Here is an example of making a swift configuration. 51783 First run 51784 .IP 51785 .nf 51786 \f[C] 51787 rclone config 51788 \f[R] 51789 .fi 51790 .PP 51791 This will guide you through an interactive setup process. 51792 .IP 51793 .nf 51794 \f[C] 51795 No remotes found, make a new one? 51796 n) New remote 51797 s) Set configuration password 51798 q) Quit config 51799 n/s/q> n 51800 name> remote 51801 Type of storage to configure. 51802 Choose a number from below, or type in your own value 51803 [snip] 51804 XX / OpenStack Swift (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH) 51805 \[rs] \[dq]swift\[dq] 51806 [snip] 51807 Storage> swift 51808 Get swift credentials from environment variables in standard OpenStack form. 51809 Choose a number from below, or type in your own value 51810 1 / Enter swift credentials in the next step 51811 \[rs] \[dq]false\[dq] 51812 2 / Get swift credentials from environment vars. Leave other fields blank if using this. 51813 \[rs] \[dq]true\[dq] 51814 env_auth> true 51815 User name to log in (OS_USERNAME). 51816 user> 51817 API key or password (OS_PASSWORD). 51818 key> 51819 Authentication URL for server (OS_AUTH_URL). 51820 Choose a number from below, or type in your own value 51821 1 / Rackspace US 51822 \[rs] \[dq]https://auth.api.rackspacecloud.com/v1.0\[dq] 51823 2 / Rackspace UK 51824 \[rs] \[dq]https://lon.auth.api.rackspacecloud.com/v1.0\[dq] 51825 3 / Rackspace v2 51826 \[rs] \[dq]https://identity.api.rackspacecloud.com/v2.0\[dq] 51827 4 / Memset Memstore UK 51828 \[rs] \[dq]https://auth.storage.memset.com/v1.0\[dq] 51829 5 / Memset Memstore UK v2 51830 \[rs] \[dq]https://auth.storage.memset.com/v2.0\[dq] 51831 6 / OVH 51832 \[rs] \[dq]https://auth.cloud.ovh.net/v3\[dq] 51833 7 / Blomp Cloud Storage 51834 \[rs] \[dq]https://authenticate.ain.net\[dq] 51835 auth> 51836 User ID to log in - optional - most swift systems use user and leave this blank (v3 auth) (OS_USER_ID). 51837 user_id> 51838 User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) 51839 domain> 51840 Tenant name - optional for v1 auth, this or tenant_id required otherwise (OS_TENANT_NAME or OS_PROJECT_NAME) 51841 tenant> 51842 Tenant ID - optional for v1 auth, this or tenant required otherwise (OS_TENANT_ID) 51843 tenant_id> 51844 Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME) 51845 tenant_domain> 51846 Region name - optional (OS_REGION_NAME) 51847 region> 51848 Storage URL - optional (OS_STORAGE_URL) 51849 storage_url> 51850 Auth Token from alternate authentication - optional (OS_AUTH_TOKEN) 51851 auth_token> 51852 AuthVersion - optional - set to (1,2,3) if your auth URL has no version (ST_AUTH_VERSION) 51853 auth_version> 51854 Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE) 51855 Choose a number from below, or type in your own value 51856 1 / Public (default, choose this if not sure) 51857 \[rs] \[dq]public\[dq] 51858 2 / Internal (use internal service net) 51859 \[rs] \[dq]internal\[dq] 51860 3 / Admin 51861 \[rs] \[dq]admin\[dq] 51862 endpoint_type> 51863 Remote config 51864 -------------------- 51865 [test] 51866 env_auth = true 51867 user = 51868 key = 51869 auth = 51870 user_id = 51871 domain = 51872 tenant = 51873 tenant_id = 51874 tenant_domain = 51875 region = 51876 storage_url = 51877 auth_token = 51878 auth_version = 51879 endpoint_type = 51880 -------------------- 51881 y) Yes this is OK 51882 e) Edit this remote 51883 d) Delete this remote 51884 y/e/d> y 51885 \f[R] 51886 .fi 51887 .PP 51888 This remote is called \f[C]remote\f[R] and can now be used like this 51889 .PP 51890 See all containers 51891 .IP 51892 .nf 51893 \f[C] 51894 rclone lsd remote: 51895 \f[R] 51896 .fi 51897 .PP 51898 Make a new container 51899 .IP 51900 .nf 51901 \f[C] 51902 rclone mkdir remote:container 51903 \f[R] 51904 .fi 51905 .PP 51906 List the contents of a container 51907 .IP 51908 .nf 51909 \f[C] 51910 rclone ls remote:container 51911 \f[R] 51912 .fi 51913 .PP 51914 Sync \f[C]/home/local/directory\f[R] to the remote container, deleting 51915 any excess files in the container. 51916 .IP 51917 .nf 51918 \f[C] 51919 rclone sync --interactive /home/local/directory remote:container 51920 \f[R] 51921 .fi 51922 .SS Configuration from an OpenStack credentials file 51923 .PP 51924 An OpenStack credentials file typically looks something something like 51925 this (without the comments) 51926 .IP 51927 .nf 51928 \f[C] 51929 export OS_AUTH_URL=https://a.provider.net/v2.0 51930 export OS_TENANT_ID=ffffffffffffffffffffffffffffffff 51931 export OS_TENANT_NAME=\[dq]1234567890123456\[dq] 51932 export OS_USERNAME=\[dq]123abc567xy\[dq] 51933 echo \[dq]Please enter your OpenStack Password: \[dq] 51934 read -sr OS_PASSWORD_INPUT 51935 export OS_PASSWORD=$OS_PASSWORD_INPUT 51936 export OS_REGION_NAME=\[dq]SBG1\[dq] 51937 if [ -z \[dq]$OS_REGION_NAME\[dq] ]; then unset OS_REGION_NAME; fi 51938 \f[R] 51939 .fi 51940 .PP 51941 The config file needs to look something like this where 51942 \f[C]$OS_USERNAME\f[R] represents the value of the \f[C]OS_USERNAME\f[R] 51943 variable - \f[C]123abc567xy\f[R] in the example above. 51944 .IP 51945 .nf 51946 \f[C] 51947 [remote] 51948 type = swift 51949 user = $OS_USERNAME 51950 key = $OS_PASSWORD 51951 auth = $OS_AUTH_URL 51952 tenant = $OS_TENANT_NAME 51953 \f[R] 51954 .fi 51955 .PP 51956 Note that you may (or may not) need to set \f[C]region\f[R] too - try 51957 without first. 51958 .SS Configuration from the environment 51959 .PP 51960 If you prefer you can configure rclone to use swift using a standard set 51961 of OpenStack environment variables. 51962 .PP 51963 When you run through the config, make sure you choose \f[C]true\f[R] for 51964 \f[C]env_auth\f[R] and leave everything else blank. 51965 .PP 51966 rclone will then set any empty config parameters from the environment 51967 using standard OpenStack environment variables. 51968 There is a list of the 51969 variables (https://godoc.org/github.com/ncw/swift#Connection.ApplyEnvironment) 51970 in the docs for the swift library. 51971 .SS Using an alternate authentication method 51972 .PP 51973 If your OpenStack installation uses a non-standard authentication method 51974 that might not be yet supported by rclone or the underlying swift 51975 library, you can authenticate externally (e.g. 51976 calling manually the \f[C]openstack\f[R] commands to get a token). 51977 Then, you just need to pass the two configuration variables 51978 \f[C]auth_token\f[R] and \f[C]storage_url\f[R]. 51979 If they are both provided, the other variables are ignored. 51980 rclone will not try to authenticate but instead assume it is already 51981 authenticated and use these two variables to access the OpenStack 51982 installation. 51983 .SS Using rclone without a config file 51984 .PP 51985 You can use rclone with swift without a config file, if desired, like 51986 this: 51987 .IP 51988 .nf 51989 \f[C] 51990 source openstack-credentials-file 51991 export RCLONE_CONFIG_MYREMOTE_TYPE=swift 51992 export RCLONE_CONFIG_MYREMOTE_ENV_AUTH=true 51993 rclone lsd myremote: 51994 \f[R] 51995 .fi 51996 .SS --fast-list 51997 .PP 51998 This remote supports \f[C]--fast-list\f[R] which allows you to use fewer 51999 transactions in exchange for more memory. 52000 See the rclone docs (https://rclone.org/docs/#fast-list) for more 52001 details. 52002 .SS --update and --use-server-modtime 52003 .PP 52004 As noted below, the modified time is stored on metadata on the object. 52005 It is used by default for all operations that require checking the time 52006 a file was last updated. 52007 It allows rclone to treat the remote more like a true filesystem, but it 52008 is inefficient because it requires an extra API call to retrieve the 52009 metadata. 52010 .PP 52011 For many operations, the time the object was last uploaded to the remote 52012 is sufficient to determine if it is \[dq]dirty\[dq]. 52013 By using \f[C]--update\f[R] along with \f[C]--use-server-modtime\f[R], 52014 you can avoid the extra API call and simply upload files whose local 52015 modtime is newer than the time it was last uploaded. 52016 .SS Modified time 52017 .PP 52018 The modified time is stored as metadata on the object as 52019 \f[C]X-Object-Meta-Mtime\f[R] as floating point since the epoch accurate 52020 to 1 ns. 52021 .PP 52022 This is a de facto standard (used in the official python-swiftclient 52023 amongst others) for storing the modification time for an object. 52024 .SS Restricted filename characters 52025 .PP 52026 .TS 52027 tab(@); 52028 l c c. 52029 T{ 52030 Character 52031 T}@T{ 52032 Value 52033 T}@T{ 52034 Replacement 52035 T} 52036 _ 52037 T{ 52038 NUL 52039 T}@T{ 52040 0x00 52041 T}@T{ 52042 \[u2400] 52043 T} 52044 T{ 52045 / 52046 T}@T{ 52047 0x2F 52048 T}@T{ 52049 \[uFF0F] 52050 T} 52051 .TE 52052 .PP 52053 Invalid UTF-8 bytes will also be 52054 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 52055 be used in JSON strings. 52056 .SS Standard options 52057 .PP 52058 Here are the Standard options specific to swift (OpenStack Swift 52059 (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)). 52060 .SS --swift-env-auth 52061 .PP 52062 Get swift credentials from environment variables in standard OpenStack 52063 form. 52064 .PP 52065 Properties: 52066 .IP \[bu] 2 52067 Config: env_auth 52068 .IP \[bu] 2 52069 Env Var: RCLONE_SWIFT_ENV_AUTH 52070 .IP \[bu] 2 52071 Type: bool 52072 .IP \[bu] 2 52073 Default: false 52074 .IP \[bu] 2 52075 Examples: 52076 .RS 2 52077 .IP \[bu] 2 52078 \[dq]false\[dq] 52079 .RS 2 52080 .IP \[bu] 2 52081 Enter swift credentials in the next step. 52082 .RE 52083 .IP \[bu] 2 52084 \[dq]true\[dq] 52085 .RS 2 52086 .IP \[bu] 2 52087 Get swift credentials from environment vars. 52088 .IP \[bu] 2 52089 Leave other fields blank if using this. 52090 .RE 52091 .RE 52092 .SS --swift-user 52093 .PP 52094 User name to log in (OS_USERNAME). 52095 .PP 52096 Properties: 52097 .IP \[bu] 2 52098 Config: user 52099 .IP \[bu] 2 52100 Env Var: RCLONE_SWIFT_USER 52101 .IP \[bu] 2 52102 Type: string 52103 .IP \[bu] 2 52104 Required: false 52105 .SS --swift-key 52106 .PP 52107 API key or password (OS_PASSWORD). 52108 .PP 52109 Properties: 52110 .IP \[bu] 2 52111 Config: key 52112 .IP \[bu] 2 52113 Env Var: RCLONE_SWIFT_KEY 52114 .IP \[bu] 2 52115 Type: string 52116 .IP \[bu] 2 52117 Required: false 52118 .SS --swift-auth 52119 .PP 52120 Authentication URL for server (OS_AUTH_URL). 52121 .PP 52122 Properties: 52123 .IP \[bu] 2 52124 Config: auth 52125 .IP \[bu] 2 52126 Env Var: RCLONE_SWIFT_AUTH 52127 .IP \[bu] 2 52128 Type: string 52129 .IP \[bu] 2 52130 Required: false 52131 .IP \[bu] 2 52132 Examples: 52133 .RS 2 52134 .IP \[bu] 2 52135 \[dq]https://auth.api.rackspacecloud.com/v1.0\[dq] 52136 .RS 2 52137 .IP \[bu] 2 52138 Rackspace US 52139 .RE 52140 .IP \[bu] 2 52141 \[dq]https://lon.auth.api.rackspacecloud.com/v1.0\[dq] 52142 .RS 2 52143 .IP \[bu] 2 52144 Rackspace UK 52145 .RE 52146 .IP \[bu] 2 52147 \[dq]https://identity.api.rackspacecloud.com/v2.0\[dq] 52148 .RS 2 52149 .IP \[bu] 2 52150 Rackspace v2 52151 .RE 52152 .IP \[bu] 2 52153 \[dq]https://auth.storage.memset.com/v1.0\[dq] 52154 .RS 2 52155 .IP \[bu] 2 52156 Memset Memstore UK 52157 .RE 52158 .IP \[bu] 2 52159 \[dq]https://auth.storage.memset.com/v2.0\[dq] 52160 .RS 2 52161 .IP \[bu] 2 52162 Memset Memstore UK v2 52163 .RE 52164 .IP \[bu] 2 52165 \[dq]https://auth.cloud.ovh.net/v3\[dq] 52166 .RS 2 52167 .IP \[bu] 2 52168 OVH 52169 .RE 52170 .IP \[bu] 2 52171 \[dq]https://authenticate.ain.net\[dq] 52172 .RS 2 52173 .IP \[bu] 2 52174 Blomp Cloud Storage 52175 .RE 52176 .RE 52177 .SS --swift-user-id 52178 .PP 52179 User ID to log in - optional - most swift systems use user and leave 52180 this blank (v3 auth) (OS_USER_ID). 52181 .PP 52182 Properties: 52183 .IP \[bu] 2 52184 Config: user_id 52185 .IP \[bu] 2 52186 Env Var: RCLONE_SWIFT_USER_ID 52187 .IP \[bu] 2 52188 Type: string 52189 .IP \[bu] 2 52190 Required: false 52191 .SS --swift-domain 52192 .PP 52193 User domain - optional (v3 auth) (OS_USER_DOMAIN_NAME) 52194 .PP 52195 Properties: 52196 .IP \[bu] 2 52197 Config: domain 52198 .IP \[bu] 2 52199 Env Var: RCLONE_SWIFT_DOMAIN 52200 .IP \[bu] 2 52201 Type: string 52202 .IP \[bu] 2 52203 Required: false 52204 .SS --swift-tenant 52205 .PP 52206 Tenant name - optional for v1 auth, this or tenant_id required otherwise 52207 (OS_TENANT_NAME or OS_PROJECT_NAME). 52208 .PP 52209 Properties: 52210 .IP \[bu] 2 52211 Config: tenant 52212 .IP \[bu] 2 52213 Env Var: RCLONE_SWIFT_TENANT 52214 .IP \[bu] 2 52215 Type: string 52216 .IP \[bu] 2 52217 Required: false 52218 .SS --swift-tenant-id 52219 .PP 52220 Tenant ID - optional for v1 auth, this or tenant required otherwise 52221 (OS_TENANT_ID). 52222 .PP 52223 Properties: 52224 .IP \[bu] 2 52225 Config: tenant_id 52226 .IP \[bu] 2 52227 Env Var: RCLONE_SWIFT_TENANT_ID 52228 .IP \[bu] 2 52229 Type: string 52230 .IP \[bu] 2 52231 Required: false 52232 .SS --swift-tenant-domain 52233 .PP 52234 Tenant domain - optional (v3 auth) (OS_PROJECT_DOMAIN_NAME). 52235 .PP 52236 Properties: 52237 .IP \[bu] 2 52238 Config: tenant_domain 52239 .IP \[bu] 2 52240 Env Var: RCLONE_SWIFT_TENANT_DOMAIN 52241 .IP \[bu] 2 52242 Type: string 52243 .IP \[bu] 2 52244 Required: false 52245 .SS --swift-region 52246 .PP 52247 Region name - optional (OS_REGION_NAME). 52248 .PP 52249 Properties: 52250 .IP \[bu] 2 52251 Config: region 52252 .IP \[bu] 2 52253 Env Var: RCLONE_SWIFT_REGION 52254 .IP \[bu] 2 52255 Type: string 52256 .IP \[bu] 2 52257 Required: false 52258 .SS --swift-storage-url 52259 .PP 52260 Storage URL - optional (OS_STORAGE_URL). 52261 .PP 52262 Properties: 52263 .IP \[bu] 2 52264 Config: storage_url 52265 .IP \[bu] 2 52266 Env Var: RCLONE_SWIFT_STORAGE_URL 52267 .IP \[bu] 2 52268 Type: string 52269 .IP \[bu] 2 52270 Required: false 52271 .SS --swift-auth-token 52272 .PP 52273 Auth Token from alternate authentication - optional (OS_AUTH_TOKEN). 52274 .PP 52275 Properties: 52276 .IP \[bu] 2 52277 Config: auth_token 52278 .IP \[bu] 2 52279 Env Var: RCLONE_SWIFT_AUTH_TOKEN 52280 .IP \[bu] 2 52281 Type: string 52282 .IP \[bu] 2 52283 Required: false 52284 .SS --swift-application-credential-id 52285 .PP 52286 Application Credential ID (OS_APPLICATION_CREDENTIAL_ID). 52287 .PP 52288 Properties: 52289 .IP \[bu] 2 52290 Config: application_credential_id 52291 .IP \[bu] 2 52292 Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_ID 52293 .IP \[bu] 2 52294 Type: string 52295 .IP \[bu] 2 52296 Required: false 52297 .SS --swift-application-credential-name 52298 .PP 52299 Application Credential Name (OS_APPLICATION_CREDENTIAL_NAME). 52300 .PP 52301 Properties: 52302 .IP \[bu] 2 52303 Config: application_credential_name 52304 .IP \[bu] 2 52305 Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_NAME 52306 .IP \[bu] 2 52307 Type: string 52308 .IP \[bu] 2 52309 Required: false 52310 .SS --swift-application-credential-secret 52311 .PP 52312 Application Credential Secret (OS_APPLICATION_CREDENTIAL_SECRET). 52313 .PP 52314 Properties: 52315 .IP \[bu] 2 52316 Config: application_credential_secret 52317 .IP \[bu] 2 52318 Env Var: RCLONE_SWIFT_APPLICATION_CREDENTIAL_SECRET 52319 .IP \[bu] 2 52320 Type: string 52321 .IP \[bu] 2 52322 Required: false 52323 .SS --swift-auth-version 52324 .PP 52325 AuthVersion - optional - set to (1,2,3) if your auth URL has no version 52326 (ST_AUTH_VERSION). 52327 .PP 52328 Properties: 52329 .IP \[bu] 2 52330 Config: auth_version 52331 .IP \[bu] 2 52332 Env Var: RCLONE_SWIFT_AUTH_VERSION 52333 .IP \[bu] 2 52334 Type: int 52335 .IP \[bu] 2 52336 Default: 0 52337 .SS --swift-endpoint-type 52338 .PP 52339 Endpoint type to choose from the service catalogue (OS_ENDPOINT_TYPE). 52340 .PP 52341 Properties: 52342 .IP \[bu] 2 52343 Config: endpoint_type 52344 .IP \[bu] 2 52345 Env Var: RCLONE_SWIFT_ENDPOINT_TYPE 52346 .IP \[bu] 2 52347 Type: string 52348 .IP \[bu] 2 52349 Default: \[dq]public\[dq] 52350 .IP \[bu] 2 52351 Examples: 52352 .RS 2 52353 .IP \[bu] 2 52354 \[dq]public\[dq] 52355 .RS 2 52356 .IP \[bu] 2 52357 Public (default, choose this if not sure) 52358 .RE 52359 .IP \[bu] 2 52360 \[dq]internal\[dq] 52361 .RS 2 52362 .IP \[bu] 2 52363 Internal (use internal service net) 52364 .RE 52365 .IP \[bu] 2 52366 \[dq]admin\[dq] 52367 .RS 2 52368 .IP \[bu] 2 52369 Admin 52370 .RE 52371 .RE 52372 .SS --swift-storage-policy 52373 .PP 52374 The storage policy to use when creating a new container. 52375 .PP 52376 This applies the specified storage policy when creating a new container. 52377 The policy cannot be changed afterwards. 52378 The allowed configuration values and their meaning depend on your Swift 52379 storage provider. 52380 .PP 52381 Properties: 52382 .IP \[bu] 2 52383 Config: storage_policy 52384 .IP \[bu] 2 52385 Env Var: RCLONE_SWIFT_STORAGE_POLICY 52386 .IP \[bu] 2 52387 Type: string 52388 .IP \[bu] 2 52389 Required: false 52390 .IP \[bu] 2 52391 Examples: 52392 .RS 2 52393 .IP \[bu] 2 52394 \[dq]\[dq] 52395 .RS 2 52396 .IP \[bu] 2 52397 Default 52398 .RE 52399 .IP \[bu] 2 52400 \[dq]pcs\[dq] 52401 .RS 2 52402 .IP \[bu] 2 52403 OVH Public Cloud Storage 52404 .RE 52405 .IP \[bu] 2 52406 \[dq]pca\[dq] 52407 .RS 2 52408 .IP \[bu] 2 52409 OVH Public Cloud Archive 52410 .RE 52411 .RE 52412 .SS Advanced options 52413 .PP 52414 Here are the Advanced options specific to swift (OpenStack Swift 52415 (Rackspace Cloud Files, Blomp Cloud Storage, Memset Memstore, OVH)). 52416 .SS --swift-leave-parts-on-error 52417 .PP 52418 If true avoid calling abort upload on a failure. 52419 .PP 52420 It should be set to true for resuming uploads across different sessions. 52421 .PP 52422 Properties: 52423 .IP \[bu] 2 52424 Config: leave_parts_on_error 52425 .IP \[bu] 2 52426 Env Var: RCLONE_SWIFT_LEAVE_PARTS_ON_ERROR 52427 .IP \[bu] 2 52428 Type: bool 52429 .IP \[bu] 2 52430 Default: false 52431 .SS --swift-chunk-size 52432 .PP 52433 Above this size files will be chunked into a _segments container. 52434 .PP 52435 Above this size files will be chunked into a _segments container. 52436 The default for this is 5 GiB which is its maximum value. 52437 .PP 52438 Properties: 52439 .IP \[bu] 2 52440 Config: chunk_size 52441 .IP \[bu] 2 52442 Env Var: RCLONE_SWIFT_CHUNK_SIZE 52443 .IP \[bu] 2 52444 Type: SizeSuffix 52445 .IP \[bu] 2 52446 Default: 5Gi 52447 .SS --swift-no-chunk 52448 .PP 52449 Don\[aq]t chunk files during streaming upload. 52450 .PP 52451 When doing streaming uploads (e.g. 52452 using rcat or mount) setting this flag will cause the swift backend to 52453 not upload chunked files. 52454 .PP 52455 This will limit the maximum upload size to 5 GiB. 52456 However non chunked files are easier to deal with and have an MD5SUM. 52457 .PP 52458 Rclone will still chunk files bigger than chunk_size when doing normal 52459 copy operations. 52460 .PP 52461 Properties: 52462 .IP \[bu] 2 52463 Config: no_chunk 52464 .IP \[bu] 2 52465 Env Var: RCLONE_SWIFT_NO_CHUNK 52466 .IP \[bu] 2 52467 Type: bool 52468 .IP \[bu] 2 52469 Default: false 52470 .SS --swift-no-large-objects 52471 .PP 52472 Disable support for static and dynamic large objects 52473 .PP 52474 Swift cannot transparently store files bigger than 5 GiB. 52475 There are two schemes for doing that, static or dynamic large objects, 52476 and the API does not allow rclone to determine whether a file is a 52477 static or dynamic large object without doing a HEAD on the object. 52478 Since these need to be treated differently, this means rclone has to 52479 issue HEAD requests for objects for example when reading checksums. 52480 .PP 52481 When \f[C]no_large_objects\f[R] is set, rclone will assume that there 52482 are no static or dynamic large objects stored. 52483 This means it can stop doing the extra HEAD calls which in turn 52484 increases performance greatly especially when doing a swift to swift 52485 transfer with \f[C]--checksum\f[R] set. 52486 .PP 52487 Setting this option implies \f[C]no_chunk\f[R] and also that no files 52488 will be uploaded in chunks, so files bigger than 5 GiB will just fail on 52489 upload. 52490 .PP 52491 If you set this option and there \f[I]are\f[R] static or dynamic large 52492 objects, then this will give incorrect hashes for them. 52493 Downloads will succeed, but other operations such as Remove and Copy 52494 will fail. 52495 .PP 52496 Properties: 52497 .IP \[bu] 2 52498 Config: no_large_objects 52499 .IP \[bu] 2 52500 Env Var: RCLONE_SWIFT_NO_LARGE_OBJECTS 52501 .IP \[bu] 2 52502 Type: bool 52503 .IP \[bu] 2 52504 Default: false 52505 .SS --swift-encoding 52506 .PP 52507 The encoding for the backend. 52508 .PP 52509 See the encoding section in the 52510 overview (https://rclone.org/overview/#encoding) for more info. 52511 .PP 52512 Properties: 52513 .IP \[bu] 2 52514 Config: encoding 52515 .IP \[bu] 2 52516 Env Var: RCLONE_SWIFT_ENCODING 52517 .IP \[bu] 2 52518 Type: MultiEncoder 52519 .IP \[bu] 2 52520 Default: Slash,InvalidUtf8 52521 .SS Limitations 52522 .PP 52523 The Swift API doesn\[aq]t return a correct MD5SUM for segmented files 52524 (Dynamic or Static Large Objects) so rclone won\[aq]t check or use the 52525 MD5SUM for these. 52526 .SS Troubleshooting 52527 .SS Rclone gives Failed to create file system for \[dq]remote:\[dq]: Bad Request 52528 .PP 52529 Due to an oddity of the underlying swift library, it gives a \[dq]Bad 52530 Request\[dq] error rather than a more sensible error when the 52531 authentication fails for Swift. 52532 .PP 52533 So this most likely means your username / password is wrong. 52534 You can investigate further with the \f[C]--dump-bodies\f[R] flag. 52535 .PP 52536 This may also be caused by specifying the region when you shouldn\[aq]t 52537 have (e.g. 52538 OVH). 52539 .SS Rclone gives Failed to create file system: Response didn\[aq]t have storage url and auth token 52540 .PP 52541 This is most likely caused by forgetting to specify your tenant when 52542 setting up a swift remote. 52543 .SS OVH Cloud Archive 52544 .PP 52545 To use rclone with OVH cloud archive, first use \f[C]rclone config\f[R] 52546 to set up a \f[C]swift\f[R] backend with OVH, choosing \f[C]pca\f[R] as 52547 the \f[C]storage_policy\f[R]. 52548 .SS Uploading Objects 52549 .PP 52550 Uploading objects to OVH cloud archive is no different to object 52551 storage, you just simply run the command you like (move, copy or sync) 52552 to upload the objects. 52553 Once uploaded the objects will show in a \[dq]Frozen\[dq] state within 52554 the OVH control panel. 52555 .SS Retrieving Objects 52556 .PP 52557 To retrieve objects use \f[C]rclone copy\f[R] as normal. 52558 If the objects are in a frozen state then rclone will ask for them all 52559 to be unfrozen and it will wait at the end of the output with a message 52560 like the following: 52561 .PP 52562 \f[C]2019/03/23 13:06:33 NOTICE: Received retry after error - sleeping until 2019-03-23T13:16:33.481657164+01:00 (9m59.99985121s)\f[R] 52563 .PP 52564 Rclone will wait for the time specified then retry the copy. 52565 .SH pCloud 52566 .PP 52567 Paths are specified as \f[C]remote:path\f[R] 52568 .PP 52569 Paths may be as deep as required, e.g. 52570 \f[C]remote:directory/subdirectory\f[R]. 52571 .SS Configuration 52572 .PP 52573 The initial setup for pCloud involves getting a token from pCloud which 52574 you need to do in your browser. 52575 \f[C]rclone config\f[R] walks you through it. 52576 .PP 52577 Here is an example of how to make a remote called \f[C]remote\f[R]. 52578 First run: 52579 .IP 52580 .nf 52581 \f[C] 52582 rclone config 52583 \f[R] 52584 .fi 52585 .PP 52586 This will guide you through an interactive setup process: 52587 .IP 52588 .nf 52589 \f[C] 52590 No remotes found, make a new one? 52591 n) New remote 52592 s) Set configuration password 52593 q) Quit config 52594 n/s/q> n 52595 name> remote 52596 Type of storage to configure. 52597 Choose a number from below, or type in your own value 52598 [snip] 52599 XX / Pcloud 52600 \[rs] \[dq]pcloud\[dq] 52601 [snip] 52602 Storage> pcloud 52603 Pcloud App Client Id - leave blank normally. 52604 client_id> 52605 Pcloud App Client Secret - leave blank normally. 52606 client_secret> 52607 Remote config 52608 Use web browser to automatically authenticate rclone with remote? 52609 * Say Y if the machine running rclone has a web browser you can use 52610 * Say N if running rclone on a (remote) machine without web browser access 52611 If not sure try Y. If Y failed, try N. 52612 y) Yes 52613 n) No 52614 y/n> y 52615 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 52616 Log in and authorize rclone for access 52617 Waiting for code... 52618 Got code 52619 -------------------- 52620 [remote] 52621 client_id = 52622 client_secret = 52623 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]bearer\[dq],\[dq]expiry\[dq]:\[dq]0001-01-01T00:00:00Z\[dq]} 52624 -------------------- 52625 y) Yes this is OK 52626 e) Edit this remote 52627 d) Delete this remote 52628 y/e/d> y 52629 \f[R] 52630 .fi 52631 .PP 52632 See the remote setup docs (https://rclone.org/remote_setup/) for how to 52633 set it up on a machine with no Internet browser available. 52634 .PP 52635 Note that rclone runs a webserver on your local machine to collect the 52636 token as returned from pCloud. 52637 This only runs from the moment it opens your browser to the moment you 52638 get back the verification code. 52639 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 52640 to unblock it temporarily if you are running a host firewall. 52641 .PP 52642 Once configured you can then use \f[C]rclone\f[R] like this, 52643 .PP 52644 List directories in top level of your pCloud 52645 .IP 52646 .nf 52647 \f[C] 52648 rclone lsd remote: 52649 \f[R] 52650 .fi 52651 .PP 52652 List all the files in your pCloud 52653 .IP 52654 .nf 52655 \f[C] 52656 rclone ls remote: 52657 \f[R] 52658 .fi 52659 .PP 52660 To copy a local directory to a pCloud directory called backup 52661 .IP 52662 .nf 52663 \f[C] 52664 rclone copy /home/source remote:backup 52665 \f[R] 52666 .fi 52667 .SS Modified time and hashes 52668 .PP 52669 pCloud allows modification times to be set on objects accurate to 1 52670 second. 52671 These will be used to detect whether objects need syncing or not. 52672 In order to set a Modification time pCloud requires the object be 52673 re-uploaded. 52674 .PP 52675 pCloud supports MD5 and SHA1 hashes in the US region, and SHA1 and 52676 SHA256 hashes in the EU region, so you can use the \f[C]--checksum\f[R] 52677 flag. 52678 .SS Restricted filename characters 52679 .PP 52680 In addition to the default restricted characters 52681 set (https://rclone.org/overview/#restricted-characters) the following 52682 characters are also replaced: 52683 .PP 52684 .TS 52685 tab(@); 52686 l c c. 52687 T{ 52688 Character 52689 T}@T{ 52690 Value 52691 T}@T{ 52692 Replacement 52693 T} 52694 _ 52695 T{ 52696 \[rs] 52697 T}@T{ 52698 0x5C 52699 T}@T{ 52700 \[uFF3C] 52701 T} 52702 .TE 52703 .PP 52704 Invalid UTF-8 bytes will also be 52705 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 52706 be used in JSON strings. 52707 .SS Deleting files 52708 .PP 52709 Deleted files will be moved to the trash. 52710 Your subscription level will determine how long items stay in the trash. 52711 \f[C]rclone cleanup\f[R] can be used to empty the trash. 52712 .SS Emptying the trash 52713 .PP 52714 Due to an API limitation, the \f[C]rclone cleanup\f[R] command will only 52715 work if you set your username and password in the advanced options for 52716 this backend. 52717 Since we generally want to avoid storing user passwords in the rclone 52718 config file, we advise you to only set this up if you need the 52719 \f[C]rclone cleanup\f[R] command to work. 52720 .SS Root folder ID 52721 .PP 52722 You can set the \f[C]root_folder_id\f[R] for rclone. 52723 This is the directory (identified by its \f[C]Folder ID\f[R]) that 52724 rclone considers to be the root of your pCloud drive. 52725 .PP 52726 Normally you will leave this blank and rclone will determine the correct 52727 root to use itself. 52728 .PP 52729 However you can set this to restrict rclone to a specific folder 52730 hierarchy. 52731 .PP 52732 In order to do this you will have to find the \f[C]Folder ID\f[R] of the 52733 directory you wish rclone to display. 52734 This will be the \f[C]folder\f[R] field of the URL when you open the 52735 relevant folder in the pCloud web interface. 52736 .PP 52737 So if the folder you want rclone to use has a URL which looks like 52738 \f[C]https://my.pcloud.com/#page=filemanager&folder=5xxxxxxxx8&tpl=foldergrid\f[R] 52739 in the browser, then you use \f[C]5xxxxxxxx8\f[R] as the 52740 \f[C]root_folder_id\f[R] in the config. 52741 .SS Standard options 52742 .PP 52743 Here are the Standard options specific to pcloud (Pcloud). 52744 .SS --pcloud-client-id 52745 .PP 52746 OAuth Client Id. 52747 .PP 52748 Leave blank normally. 52749 .PP 52750 Properties: 52751 .IP \[bu] 2 52752 Config: client_id 52753 .IP \[bu] 2 52754 Env Var: RCLONE_PCLOUD_CLIENT_ID 52755 .IP \[bu] 2 52756 Type: string 52757 .IP \[bu] 2 52758 Required: false 52759 .SS --pcloud-client-secret 52760 .PP 52761 OAuth Client Secret. 52762 .PP 52763 Leave blank normally. 52764 .PP 52765 Properties: 52766 .IP \[bu] 2 52767 Config: client_secret 52768 .IP \[bu] 2 52769 Env Var: RCLONE_PCLOUD_CLIENT_SECRET 52770 .IP \[bu] 2 52771 Type: string 52772 .IP \[bu] 2 52773 Required: false 52774 .SS Advanced options 52775 .PP 52776 Here are the Advanced options specific to pcloud (Pcloud). 52777 .SS --pcloud-token 52778 .PP 52779 OAuth Access Token as a JSON blob. 52780 .PP 52781 Properties: 52782 .IP \[bu] 2 52783 Config: token 52784 .IP \[bu] 2 52785 Env Var: RCLONE_PCLOUD_TOKEN 52786 .IP \[bu] 2 52787 Type: string 52788 .IP \[bu] 2 52789 Required: false 52790 .SS --pcloud-auth-url 52791 .PP 52792 Auth server URL. 52793 .PP 52794 Leave blank to use the provider defaults. 52795 .PP 52796 Properties: 52797 .IP \[bu] 2 52798 Config: auth_url 52799 .IP \[bu] 2 52800 Env Var: RCLONE_PCLOUD_AUTH_URL 52801 .IP \[bu] 2 52802 Type: string 52803 .IP \[bu] 2 52804 Required: false 52805 .SS --pcloud-token-url 52806 .PP 52807 Token server url. 52808 .PP 52809 Leave blank to use the provider defaults. 52810 .PP 52811 Properties: 52812 .IP \[bu] 2 52813 Config: token_url 52814 .IP \[bu] 2 52815 Env Var: RCLONE_PCLOUD_TOKEN_URL 52816 .IP \[bu] 2 52817 Type: string 52818 .IP \[bu] 2 52819 Required: false 52820 .SS --pcloud-encoding 52821 .PP 52822 The encoding for the backend. 52823 .PP 52824 See the encoding section in the 52825 overview (https://rclone.org/overview/#encoding) for more info. 52826 .PP 52827 Properties: 52828 .IP \[bu] 2 52829 Config: encoding 52830 .IP \[bu] 2 52831 Env Var: RCLONE_PCLOUD_ENCODING 52832 .IP \[bu] 2 52833 Type: MultiEncoder 52834 .IP \[bu] 2 52835 Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot 52836 .SS --pcloud-root-folder-id 52837 .PP 52838 Fill in for rclone to use a non root folder as its starting point. 52839 .PP 52840 Properties: 52841 .IP \[bu] 2 52842 Config: root_folder_id 52843 .IP \[bu] 2 52844 Env Var: RCLONE_PCLOUD_ROOT_FOLDER_ID 52845 .IP \[bu] 2 52846 Type: string 52847 .IP \[bu] 2 52848 Default: \[dq]d0\[dq] 52849 .SS --pcloud-hostname 52850 .PP 52851 Hostname to connect to. 52852 .PP 52853 This is normally set when rclone initially does the oauth connection, 52854 however you will need to set it by hand if you are using remote config 52855 with rclone authorize. 52856 .PP 52857 Properties: 52858 .IP \[bu] 2 52859 Config: hostname 52860 .IP \[bu] 2 52861 Env Var: RCLONE_PCLOUD_HOSTNAME 52862 .IP \[bu] 2 52863 Type: string 52864 .IP \[bu] 2 52865 Default: \[dq]api.pcloud.com\[dq] 52866 .IP \[bu] 2 52867 Examples: 52868 .RS 2 52869 .IP \[bu] 2 52870 \[dq]api.pcloud.com\[dq] 52871 .RS 2 52872 .IP \[bu] 2 52873 Original/US region 52874 .RE 52875 .IP \[bu] 2 52876 \[dq]eapi.pcloud.com\[dq] 52877 .RS 2 52878 .IP \[bu] 2 52879 EU region 52880 .RE 52881 .RE 52882 .SS --pcloud-username 52883 .PP 52884 Your pcloud username. 52885 .PP 52886 This is only required when you want to use the cleanup command. 52887 Due to a bug in the pcloud API the required API does not support OAuth 52888 authentication so we have to rely on user password authentication for 52889 it. 52890 .PP 52891 Properties: 52892 .IP \[bu] 2 52893 Config: username 52894 .IP \[bu] 2 52895 Env Var: RCLONE_PCLOUD_USERNAME 52896 .IP \[bu] 2 52897 Type: string 52898 .IP \[bu] 2 52899 Required: false 52900 .SS --pcloud-password 52901 .PP 52902 Your pcloud password. 52903 .PP 52904 \f[B]NB\f[R] Input to this must be obscured - see rclone 52905 obscure (https://rclone.org/commands/rclone_obscure/). 52906 .PP 52907 Properties: 52908 .IP \[bu] 2 52909 Config: password 52910 .IP \[bu] 2 52911 Env Var: RCLONE_PCLOUD_PASSWORD 52912 .IP \[bu] 2 52913 Type: string 52914 .IP \[bu] 2 52915 Required: false 52916 .SH PikPak 52917 .PP 52918 PikPak is a private cloud drive (https://mypikpak.com/). 52919 .PP 52920 Paths are specified as \f[C]remote:path\f[R], and may be as deep as 52921 required, e.g. 52922 \f[C]remote:directory/subdirectory\f[R]. 52923 .SS Configuration 52924 .PP 52925 Here is an example of making a remote for PikPak. 52926 .PP 52927 First run: 52928 .IP 52929 .nf 52930 \f[C] 52931 rclone config 52932 \f[R] 52933 .fi 52934 .PP 52935 This will guide you through an interactive setup process: 52936 .IP 52937 .nf 52938 \f[C] 52939 No remotes found, make a new one? 52940 n) New remote 52941 s) Set configuration password 52942 q) Quit config 52943 n/s/q> n 52944 52945 Enter name for new remote. 52946 name> remote 52947 52948 Option Storage. 52949 Type of storage to configure. 52950 Choose a number from below, or type in your own value. 52951 XX / PikPak 52952 \[rs] (pikpak) 52953 Storage> XX 52954 52955 Option user. 52956 Pikpak username. 52957 Enter a value. 52958 user> USERNAME 52959 52960 Option pass. 52961 Pikpak password. 52962 Choose an alternative below. 52963 y) Yes, type in my own password 52964 g) Generate random password 52965 y/g> y 52966 Enter the password: 52967 password: 52968 Confirm the password: 52969 password: 52970 52971 Edit advanced config? 52972 y) Yes 52973 n) No (default) 52974 y/n> 52975 52976 Configuration complete. 52977 Options: 52978 - type: pikpak 52979 - user: USERNAME 52980 - pass: *** ENCRYPTED *** 52981 - token: {\[dq]access_token\[dq]:\[dq]eyJ...\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]os...\[dq],\[dq]expiry\[dq]:\[dq]2023-01-26T18:54:32.170582647+09:00\[dq]} 52982 Keep this \[dq]remote\[dq] remote? 52983 y) Yes this is OK (default) 52984 e) Edit this remote 52985 d) Delete this remote 52986 y/e/d> y 52987 \f[R] 52988 .fi 52989 .SS Standard options 52990 .PP 52991 Here are the Standard options specific to pikpak (PikPak). 52992 .SS --pikpak-user 52993 .PP 52994 Pikpak username. 52995 .PP 52996 Properties: 52997 .IP \[bu] 2 52998 Config: user 52999 .IP \[bu] 2 53000 Env Var: RCLONE_PIKPAK_USER 53001 .IP \[bu] 2 53002 Type: string 53003 .IP \[bu] 2 53004 Required: true 53005 .SS --pikpak-pass 53006 .PP 53007 Pikpak password. 53008 .PP 53009 \f[B]NB\f[R] Input to this must be obscured - see rclone 53010 obscure (https://rclone.org/commands/rclone_obscure/). 53011 .PP 53012 Properties: 53013 .IP \[bu] 2 53014 Config: pass 53015 .IP \[bu] 2 53016 Env Var: RCLONE_PIKPAK_PASS 53017 .IP \[bu] 2 53018 Type: string 53019 .IP \[bu] 2 53020 Required: true 53021 .SS Advanced options 53022 .PP 53023 Here are the Advanced options specific to pikpak (PikPak). 53024 .SS --pikpak-client-id 53025 .PP 53026 OAuth Client Id. 53027 .PP 53028 Leave blank normally. 53029 .PP 53030 Properties: 53031 .IP \[bu] 2 53032 Config: client_id 53033 .IP \[bu] 2 53034 Env Var: RCLONE_PIKPAK_CLIENT_ID 53035 .IP \[bu] 2 53036 Type: string 53037 .IP \[bu] 2 53038 Required: false 53039 .SS --pikpak-client-secret 53040 .PP 53041 OAuth Client Secret. 53042 .PP 53043 Leave blank normally. 53044 .PP 53045 Properties: 53046 .IP \[bu] 2 53047 Config: client_secret 53048 .IP \[bu] 2 53049 Env Var: RCLONE_PIKPAK_CLIENT_SECRET 53050 .IP \[bu] 2 53051 Type: string 53052 .IP \[bu] 2 53053 Required: false 53054 .SS --pikpak-token 53055 .PP 53056 OAuth Access Token as a JSON blob. 53057 .PP 53058 Properties: 53059 .IP \[bu] 2 53060 Config: token 53061 .IP \[bu] 2 53062 Env Var: RCLONE_PIKPAK_TOKEN 53063 .IP \[bu] 2 53064 Type: string 53065 .IP \[bu] 2 53066 Required: false 53067 .SS --pikpak-auth-url 53068 .PP 53069 Auth server URL. 53070 .PP 53071 Leave blank to use the provider defaults. 53072 .PP 53073 Properties: 53074 .IP \[bu] 2 53075 Config: auth_url 53076 .IP \[bu] 2 53077 Env Var: RCLONE_PIKPAK_AUTH_URL 53078 .IP \[bu] 2 53079 Type: string 53080 .IP \[bu] 2 53081 Required: false 53082 .SS --pikpak-token-url 53083 .PP 53084 Token server url. 53085 .PP 53086 Leave blank to use the provider defaults. 53087 .PP 53088 Properties: 53089 .IP \[bu] 2 53090 Config: token_url 53091 .IP \[bu] 2 53092 Env Var: RCLONE_PIKPAK_TOKEN_URL 53093 .IP \[bu] 2 53094 Type: string 53095 .IP \[bu] 2 53096 Required: false 53097 .SS --pikpak-root-folder-id 53098 .PP 53099 ID of the root folder. 53100 Leave blank normally. 53101 .PP 53102 Fill in for rclone to use a non root folder as its starting point. 53103 .PP 53104 Properties: 53105 .IP \[bu] 2 53106 Config: root_folder_id 53107 .IP \[bu] 2 53108 Env Var: RCLONE_PIKPAK_ROOT_FOLDER_ID 53109 .IP \[bu] 2 53110 Type: string 53111 .IP \[bu] 2 53112 Required: false 53113 .SS --pikpak-use-trash 53114 .PP 53115 Send files to the trash instead of deleting permanently. 53116 .PP 53117 Defaults to true, namely sending files to the trash. 53118 Use \f[C]--pikpak-use-trash=false\f[R] to delete files permanently 53119 instead. 53120 .PP 53121 Properties: 53122 .IP \[bu] 2 53123 Config: use_trash 53124 .IP \[bu] 2 53125 Env Var: RCLONE_PIKPAK_USE_TRASH 53126 .IP \[bu] 2 53127 Type: bool 53128 .IP \[bu] 2 53129 Default: true 53130 .SS --pikpak-trashed-only 53131 .PP 53132 Only show files that are in the trash. 53133 .PP 53134 This will show trashed files in their original directory structure. 53135 .PP 53136 Properties: 53137 .IP \[bu] 2 53138 Config: trashed_only 53139 .IP \[bu] 2 53140 Env Var: RCLONE_PIKPAK_TRASHED_ONLY 53141 .IP \[bu] 2 53142 Type: bool 53143 .IP \[bu] 2 53144 Default: false 53145 .SS --pikpak-hash-memory-limit 53146 .PP 53147 Files bigger than this will be cached on disk to calculate hash if 53148 required. 53149 .PP 53150 Properties: 53151 .IP \[bu] 2 53152 Config: hash_memory_limit 53153 .IP \[bu] 2 53154 Env Var: RCLONE_PIKPAK_HASH_MEMORY_LIMIT 53155 .IP \[bu] 2 53156 Type: SizeSuffix 53157 .IP \[bu] 2 53158 Default: 10Mi 53159 .SS --pikpak-encoding 53160 .PP 53161 The encoding for the backend. 53162 .PP 53163 See the encoding section in the 53164 overview (https://rclone.org/overview/#encoding) for more info. 53165 .PP 53166 Properties: 53167 .IP \[bu] 2 53168 Config: encoding 53169 .IP \[bu] 2 53170 Env Var: RCLONE_PIKPAK_ENCODING 53171 .IP \[bu] 2 53172 Type: MultiEncoder 53173 .IP \[bu] 2 53174 Default: 53175 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,LeftSpace,RightSpace,RightPeriod,InvalidUtf8,Dot 53176 .SS Backend commands 53177 .PP 53178 Here are the commands specific to the pikpak backend. 53179 .PP 53180 Run them with 53181 .IP 53182 .nf 53183 \f[C] 53184 rclone backend COMMAND remote: 53185 \f[R] 53186 .fi 53187 .PP 53188 The help below will explain what arguments each command takes. 53189 .PP 53190 See the backend (https://rclone.org/commands/rclone_backend/) command 53191 for more info on how to pass options and arguments. 53192 .PP 53193 These can be run on a running backend using the rc command 53194 backend/command (https://rclone.org/rc/#backend-command). 53195 .SS addurl 53196 .PP 53197 Add offline download task for url 53198 .IP 53199 .nf 53200 \f[C] 53201 rclone backend addurl remote: [options] [<arguments>+] 53202 \f[R] 53203 .fi 53204 .PP 53205 This command adds offline download task for url. 53206 .PP 53207 Usage: 53208 .IP 53209 .nf 53210 \f[C] 53211 rclone backend addurl pikpak:dirpath url 53212 \f[R] 53213 .fi 53214 .PP 53215 Downloads will be stored in \[aq]dirpath\[aq]. 53216 If \[aq]dirpath\[aq] is invalid, download will fallback to default 53217 \[aq]My Pack\[aq] folder. 53218 .SS decompress 53219 .PP 53220 Request decompress of a file/files in a folder 53221 .IP 53222 .nf 53223 \f[C] 53224 rclone backend decompress remote: [options] [<arguments>+] 53225 \f[R] 53226 .fi 53227 .PP 53228 This command requests decompress of file/files in a folder. 53229 .PP 53230 Usage: 53231 .IP 53232 .nf 53233 \f[C] 53234 rclone backend decompress pikpak:dirpath {filename} -o password=password 53235 rclone backend decompress pikpak:dirpath {filename} -o delete-src-file 53236 \f[R] 53237 .fi 53238 .PP 53239 An optional argument \[aq]filename\[aq] can be specified for a file 53240 located in \[aq]pikpak:dirpath\[aq]. 53241 You may want to pass \[aq]-o password=password\[aq] for a 53242 password-protected files. 53243 Also, pass \[aq]-o delete-src-file\[aq] to delete source files after 53244 decompression finished. 53245 .PP 53246 Result: 53247 .IP 53248 .nf 53249 \f[C] 53250 { 53251 \[dq]Decompressed\[dq]: 17, 53252 \[dq]SourceDeleted\[dq]: 0, 53253 \[dq]Errors\[dq]: 0 53254 } 53255 \f[R] 53256 .fi 53257 .SS Limitations 53258 .SS Hashes 53259 .PP 53260 PikPak supports MD5 hash, but sometimes given empty especially for 53261 user-uploaded files. 53262 .SS Deleted files 53263 .PP 53264 Deleted files will still be visible with \f[C]--pikpak-trashed-only\f[R] 53265 even after the trash emptied. 53266 This goes away after few days. 53267 .SH premiumize.me 53268 .PP 53269 Paths are specified as \f[C]remote:path\f[R] 53270 .PP 53271 Paths may be as deep as required, e.g. 53272 \f[C]remote:directory/subdirectory\f[R]. 53273 .SS Configuration 53274 .PP 53275 The initial setup for premiumize.me (https://premiumize.me/) involves 53276 getting a token from premiumize.me which you need to do in your browser. 53277 \f[C]rclone config\f[R] walks you through it. 53278 .PP 53279 Here is an example of how to make a remote called \f[C]remote\f[R]. 53280 First run: 53281 .IP 53282 .nf 53283 \f[C] 53284 rclone config 53285 \f[R] 53286 .fi 53287 .PP 53288 This will guide you through an interactive setup process: 53289 .IP 53290 .nf 53291 \f[C] 53292 No remotes found, make a new one? 53293 n) New remote 53294 s) Set configuration password 53295 q) Quit config 53296 n/s/q> n 53297 name> remote 53298 Type of storage to configure. 53299 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53300 Choose a number from below, or type in your own value 53301 [snip] 53302 XX / premiumize.me 53303 \[rs] \[dq]premiumizeme\[dq] 53304 [snip] 53305 Storage> premiumizeme 53306 ** See help for premiumizeme backend at: https://rclone.org/premiumizeme/ ** 53307 53308 Remote config 53309 Use web browser to automatically authenticate rclone with remote? 53310 * Say Y if the machine running rclone has a web browser you can use 53311 * Say N if running rclone on a (remote) machine without web browser access 53312 If not sure try Y. If Y failed, try N. 53313 y) Yes 53314 n) No 53315 y/n> y 53316 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 53317 Log in and authorize rclone for access 53318 Waiting for code... 53319 Got code 53320 -------------------- 53321 [remote] 53322 type = premiumizeme 53323 token = {\[dq]access_token\[dq]:\[dq]XXX\[dq],\[dq]token_type\[dq]:\[dq]Bearer\[dq],\[dq]refresh_token\[dq]:\[dq]XXX\[dq],\[dq]expiry\[dq]:\[dq]2029-08-07T18:44:15.548915378+01:00\[dq]} 53324 -------------------- 53325 y) Yes this is OK 53326 e) Edit this remote 53327 d) Delete this remote 53328 y/e/d> 53329 \f[R] 53330 .fi 53331 .PP 53332 See the remote setup docs (https://rclone.org/remote_setup/) for how to 53333 set it up on a machine with no Internet browser available. 53334 .PP 53335 Note that rclone runs a webserver on your local machine to collect the 53336 token as returned from premiumize.me. 53337 This only runs from the moment it opens your browser to the moment you 53338 get back the verification code. 53339 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 53340 to unblock it temporarily if you are running a host firewall. 53341 .PP 53342 Once configured you can then use \f[C]rclone\f[R] like this, 53343 .PP 53344 List directories in top level of your premiumize.me 53345 .IP 53346 .nf 53347 \f[C] 53348 rclone lsd remote: 53349 \f[R] 53350 .fi 53351 .PP 53352 List all the files in your premiumize.me 53353 .IP 53354 .nf 53355 \f[C] 53356 rclone ls remote: 53357 \f[R] 53358 .fi 53359 .PP 53360 To copy a local directory to an premiumize.me directory called backup 53361 .IP 53362 .nf 53363 \f[C] 53364 rclone copy /home/source remote:backup 53365 \f[R] 53366 .fi 53367 .SS Modified time and hashes 53368 .PP 53369 premiumize.me does not support modification times or hashes, therefore 53370 syncing will default to \f[C]--size-only\f[R] checking. 53371 Note that using \f[C]--update\f[R] will work. 53372 .SS Restricted filename characters 53373 .PP 53374 In addition to the default restricted characters 53375 set (https://rclone.org/overview/#restricted-characters) the following 53376 characters are also replaced: 53377 .PP 53378 .TS 53379 tab(@); 53380 l c c. 53381 T{ 53382 Character 53383 T}@T{ 53384 Value 53385 T}@T{ 53386 Replacement 53387 T} 53388 _ 53389 T{ 53390 \[rs] 53391 T}@T{ 53392 0x5C 53393 T}@T{ 53394 \[uFF3C] 53395 T} 53396 T{ 53397 \[dq] 53398 T}@T{ 53399 0x22 53400 T}@T{ 53401 \[uFF02] 53402 T} 53403 .TE 53404 .PP 53405 Invalid UTF-8 bytes will also be 53406 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 53407 be used in JSON strings. 53408 .SS Standard options 53409 .PP 53410 Here are the Standard options specific to premiumizeme (premiumize.me). 53411 .SS --premiumizeme-api-key 53412 .PP 53413 API Key. 53414 .PP 53415 This is not normally used - use oauth instead. 53416 .PP 53417 Properties: 53418 .IP \[bu] 2 53419 Config: api_key 53420 .IP \[bu] 2 53421 Env Var: RCLONE_PREMIUMIZEME_API_KEY 53422 .IP \[bu] 2 53423 Type: string 53424 .IP \[bu] 2 53425 Required: false 53426 .SS Advanced options 53427 .PP 53428 Here are the Advanced options specific to premiumizeme (premiumize.me). 53429 .SS --premiumizeme-encoding 53430 .PP 53431 The encoding for the backend. 53432 .PP 53433 See the encoding section in the 53434 overview (https://rclone.org/overview/#encoding) for more info. 53435 .PP 53436 Properties: 53437 .IP \[bu] 2 53438 Config: encoding 53439 .IP \[bu] 2 53440 Env Var: RCLONE_PREMIUMIZEME_ENCODING 53441 .IP \[bu] 2 53442 Type: MultiEncoder 53443 .IP \[bu] 2 53444 Default: Slash,DoubleQuote,BackSlash,Del,Ctl,InvalidUtf8,Dot 53445 .SS Limitations 53446 .PP 53447 Note that premiumize.me is case insensitive so you can\[aq]t have a file 53448 called \[dq]Hello.doc\[dq] and one called \[dq]hello.doc\[dq]. 53449 .PP 53450 premiumize.me file names can\[aq]t have the \f[C]\[rs]\f[R] or 53451 \f[C]\[dq]\f[R] characters in. 53452 rclone maps these to and from an identical looking unicode equivalents 53453 \f[C]\[uFF3C]\f[R] and \f[C]\[uFF02]\f[R] 53454 .PP 53455 premiumize.me only supports filenames up to 255 characters in length. 53456 .SH put.io 53457 .PP 53458 Paths are specified as \f[C]remote:path\f[R] 53459 .PP 53460 put.io paths may be as deep as required, e.g. 53461 \f[C]remote:directory/subdirectory\f[R]. 53462 .SS Configuration 53463 .PP 53464 The initial setup for put.io involves getting a token from put.io which 53465 you need to do in your browser. 53466 \f[C]rclone config\f[R] walks you through it. 53467 .PP 53468 Here is an example of how to make a remote called \f[C]remote\f[R]. 53469 First run: 53470 .IP 53471 .nf 53472 \f[C] 53473 rclone config 53474 \f[R] 53475 .fi 53476 .PP 53477 This will guide you through an interactive setup process: 53478 .IP 53479 .nf 53480 \f[C] 53481 No remotes found, make a new one? 53482 n) New remote 53483 s) Set configuration password 53484 q) Quit config 53485 n/s/q> n 53486 name> putio 53487 Type of storage to configure. 53488 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53489 Choose a number from below, or type in your own value 53490 [snip] 53491 XX / Put.io 53492 \[rs] \[dq]putio\[dq] 53493 [snip] 53494 Storage> putio 53495 ** See help for putio backend at: https://rclone.org/putio/ ** 53496 53497 Remote config 53498 Use web browser to automatically authenticate rclone with remote? 53499 * Say Y if the machine running rclone has a web browser you can use 53500 * Say N if running rclone on a (remote) machine without web browser access 53501 If not sure try Y. If Y failed, try N. 53502 y) Yes 53503 n) No 53504 y/n> y 53505 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 53506 Log in and authorize rclone for access 53507 Waiting for code... 53508 Got code 53509 -------------------- 53510 [putio] 53511 type = putio 53512 token = {\[dq]access_token\[dq]:\[dq]XXXXXXXX\[dq],\[dq]expiry\[dq]:\[dq]0001-01-01T00:00:00Z\[dq]} 53513 -------------------- 53514 y) Yes this is OK 53515 e) Edit this remote 53516 d) Delete this remote 53517 y/e/d> y 53518 Current remotes: 53519 53520 Name Type 53521 ==== ==== 53522 putio putio 53523 53524 e) Edit existing remote 53525 n) New remote 53526 d) Delete remote 53527 r) Rename remote 53528 c) Copy remote 53529 s) Set configuration password 53530 q) Quit config 53531 e/n/d/r/c/s/q> q 53532 \f[R] 53533 .fi 53534 .PP 53535 See the remote setup docs (https://rclone.org/remote_setup/) for how to 53536 set it up on a machine with no Internet browser available. 53537 .PP 53538 Note that rclone runs a webserver on your local machine to collect the 53539 token as returned from put.io if using web browser to automatically 53540 authenticate. 53541 This only runs from the moment it opens your browser to the moment you 53542 get back the verification code. 53543 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 53544 to unblock it temporarily if you are running a host firewall, or use 53545 manual mode. 53546 .PP 53547 You can then use it like this, 53548 .PP 53549 List directories in top level of your put.io 53550 .IP 53551 .nf 53552 \f[C] 53553 rclone lsd remote: 53554 \f[R] 53555 .fi 53556 .PP 53557 List all the files in your put.io 53558 .IP 53559 .nf 53560 \f[C] 53561 rclone ls remote: 53562 \f[R] 53563 .fi 53564 .PP 53565 To copy a local directory to a put.io directory called backup 53566 .IP 53567 .nf 53568 \f[C] 53569 rclone copy /home/source remote:backup 53570 \f[R] 53571 .fi 53572 .SS Restricted filename characters 53573 .PP 53574 In addition to the default restricted characters 53575 set (https://rclone.org/overview/#restricted-characters) the following 53576 characters are also replaced: 53577 .PP 53578 .TS 53579 tab(@); 53580 l c c. 53581 T{ 53582 Character 53583 T}@T{ 53584 Value 53585 T}@T{ 53586 Replacement 53587 T} 53588 _ 53589 T{ 53590 \[rs] 53591 T}@T{ 53592 0x5C 53593 T}@T{ 53594 \[uFF3C] 53595 T} 53596 .TE 53597 .PP 53598 Invalid UTF-8 bytes will also be 53599 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 53600 be used in JSON strings. 53601 .SS Advanced options 53602 .PP 53603 Here are the Advanced options specific to putio (Put.io). 53604 .SS --putio-encoding 53605 .PP 53606 The encoding for the backend. 53607 .PP 53608 See the encoding section in the 53609 overview (https://rclone.org/overview/#encoding) for more info. 53610 .PP 53611 Properties: 53612 .IP \[bu] 2 53613 Config: encoding 53614 .IP \[bu] 2 53615 Env Var: RCLONE_PUTIO_ENCODING 53616 .IP \[bu] 2 53617 Type: MultiEncoder 53618 .IP \[bu] 2 53619 Default: Slash,BackSlash,Del,Ctl,InvalidUtf8,Dot 53620 .SS Limitations 53621 .PP 53622 put.io has rate limiting. 53623 When you hit a limit, rclone automatically retries after waiting the 53624 amount of time requested by the server. 53625 .PP 53626 If you want to avoid ever hitting these limits, you may use the 53627 \f[C]--tpslimit\f[R] flag with a low number. 53628 Note that the imposed limits may be different for different operations, 53629 and may change over time. 53630 .SH Seafile 53631 .PP 53632 This is a backend for the Seafile (https://www.seafile.com/) storage 53633 service: - It works with both the free community edition or the 53634 professional edition. 53635 - Seafile versions 6.x, 7.x, 8.x and 9.x are all supported. 53636 - Encrypted libraries are also supported. 53637 - It supports 2FA enabled users - Using a Library API Token is 53638 \f[B]not\f[R] supported 53639 .SS Configuration 53640 .PP 53641 There are two distinct modes you can setup your remote: - you point your 53642 remote to the \f[B]root of the server\f[R], meaning you don\[aq]t 53643 specify a library during the configuration: Paths are specified as 53644 \f[C]remote:library\f[R]. 53645 You may put subdirectories in too, e.g. 53646 \f[C]remote:library/path/to/dir\f[R]. 53647 - you point your remote to a specific library during the configuration: 53648 Paths are specified as \f[C]remote:path/to/dir\f[R]. 53649 \f[B]This is the recommended mode when using encrypted libraries\f[R]. 53650 (\f[I]This mode is possibly slightly faster than the root mode\f[R]) 53651 .SS Configuration in root mode 53652 .PP 53653 Here is an example of making a seafile configuration for a user with 53654 \f[B]no\f[R] two-factor authentication. 53655 First run 53656 .IP 53657 .nf 53658 \f[C] 53659 rclone config 53660 \f[R] 53661 .fi 53662 .PP 53663 This will guide you through an interactive setup process. 53664 To authenticate you will need the URL of your server, your email (or 53665 username) and your password. 53666 .IP 53667 .nf 53668 \f[C] 53669 No remotes found, make a new one? 53670 n) New remote 53671 s) Set configuration password 53672 q) Quit config 53673 n/s/q> n 53674 name> seafile 53675 Type of storage to configure. 53676 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53677 Choose a number from below, or type in your own value 53678 [snip] 53679 XX / Seafile 53680 \[rs] \[dq]seafile\[dq] 53681 [snip] 53682 Storage> seafile 53683 ** See help for seafile backend at: https://rclone.org/seafile/ ** 53684 53685 URL of seafile host to connect to 53686 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53687 Choose a number from below, or type in your own value 53688 1 / Connect to cloud.seafile.com 53689 \[rs] \[dq]https://cloud.seafile.com/\[dq] 53690 url> http://my.seafile.server/ 53691 User name (usually email address) 53692 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53693 user> me\[at]example.com 53694 Password 53695 y) Yes type in my own password 53696 g) Generate random password 53697 n) No leave this optional password blank (default) 53698 y/g> y 53699 Enter the password: 53700 password: 53701 Confirm the password: 53702 password: 53703 Two-factor authentication (\[aq]true\[aq] if the account has 2FA enabled) 53704 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 53705 2fa> false 53706 Name of the library. Leave blank to access all non-encrypted libraries. 53707 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53708 library> 53709 Library password (for encrypted libraries only). Leave blank if you pass it through the command line. 53710 y) Yes type in my own password 53711 g) Generate random password 53712 n) No leave this optional password blank (default) 53713 y/g/n> n 53714 Edit advanced config? (y/n) 53715 y) Yes 53716 n) No (default) 53717 y/n> n 53718 Remote config 53719 Two-factor authentication is not enabled on this account. 53720 -------------------- 53721 [seafile] 53722 type = seafile 53723 url = http://my.seafile.server/ 53724 user = me\[at]example.com 53725 pass = *** ENCRYPTED *** 53726 2fa = false 53727 -------------------- 53728 y) Yes this is OK (default) 53729 e) Edit this remote 53730 d) Delete this remote 53731 y/e/d> y 53732 \f[R] 53733 .fi 53734 .PP 53735 This remote is called \f[C]seafile\f[R]. 53736 It\[aq]s pointing to the root of your seafile server and can now be used 53737 like this: 53738 .PP 53739 See all libraries 53740 .IP 53741 .nf 53742 \f[C] 53743 rclone lsd seafile: 53744 \f[R] 53745 .fi 53746 .PP 53747 Create a new library 53748 .IP 53749 .nf 53750 \f[C] 53751 rclone mkdir seafile:library 53752 \f[R] 53753 .fi 53754 .PP 53755 List the contents of a library 53756 .IP 53757 .nf 53758 \f[C] 53759 rclone ls seafile:library 53760 \f[R] 53761 .fi 53762 .PP 53763 Sync \f[C]/home/local/directory\f[R] to the remote library, deleting any 53764 excess files in the library. 53765 .IP 53766 .nf 53767 \f[C] 53768 rclone sync --interactive /home/local/directory seafile:library 53769 \f[R] 53770 .fi 53771 .SS Configuration in library mode 53772 .PP 53773 Here\[aq]s an example of a configuration in library mode with a user 53774 that has the two-factor authentication enabled. 53775 Your 2FA code will be asked at the end of the configuration, and will 53776 attempt to authenticate you: 53777 .IP 53778 .nf 53779 \f[C] 53780 No remotes found, make a new one? 53781 n) New remote 53782 s) Set configuration password 53783 q) Quit config 53784 n/s/q> n 53785 name> seafile 53786 Type of storage to configure. 53787 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53788 Choose a number from below, or type in your own value 53789 [snip] 53790 XX / Seafile 53791 \[rs] \[dq]seafile\[dq] 53792 [snip] 53793 Storage> seafile 53794 ** See help for seafile backend at: https://rclone.org/seafile/ ** 53795 53796 URL of seafile host to connect to 53797 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53798 Choose a number from below, or type in your own value 53799 1 / Connect to cloud.seafile.com 53800 \[rs] \[dq]https://cloud.seafile.com/\[dq] 53801 url> http://my.seafile.server/ 53802 User name (usually email address) 53803 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53804 user> me\[at]example.com 53805 Password 53806 y) Yes type in my own password 53807 g) Generate random password 53808 n) No leave this optional password blank (default) 53809 y/g> y 53810 Enter the password: 53811 password: 53812 Confirm the password: 53813 password: 53814 Two-factor authentication (\[aq]true\[aq] if the account has 2FA enabled) 53815 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 53816 2fa> true 53817 Name of the library. Leave blank to access all non-encrypted libraries. 53818 Enter a string value. Press Enter for the default (\[dq]\[dq]). 53819 library> My Library 53820 Library password (for encrypted libraries only). Leave blank if you pass it through the command line. 53821 y) Yes type in my own password 53822 g) Generate random password 53823 n) No leave this optional password blank (default) 53824 y/g/n> n 53825 Edit advanced config? (y/n) 53826 y) Yes 53827 n) No (default) 53828 y/n> n 53829 Remote config 53830 Two-factor authentication: please enter your 2FA code 53831 2fa code> 123456 53832 Authenticating... 53833 Success! 53834 -------------------- 53835 [seafile] 53836 type = seafile 53837 url = http://my.seafile.server/ 53838 user = me\[at]example.com 53839 pass = 53840 2fa = true 53841 library = My Library 53842 -------------------- 53843 y) Yes this is OK (default) 53844 e) Edit this remote 53845 d) Delete this remote 53846 y/e/d> y 53847 \f[R] 53848 .fi 53849 .PP 53850 You\[aq]ll notice your password is blank in the configuration. 53851 It\[aq]s because we only need the password to authenticate you once. 53852 .PP 53853 You specified \f[C]My Library\f[R] during the configuration. 53854 The root of the remote is pointing at the root of the library 53855 \f[C]My Library\f[R]: 53856 .PP 53857 See all files in the library: 53858 .IP 53859 .nf 53860 \f[C] 53861 rclone lsd seafile: 53862 \f[R] 53863 .fi 53864 .PP 53865 Create a new directory inside the library 53866 .IP 53867 .nf 53868 \f[C] 53869 rclone mkdir seafile:directory 53870 \f[R] 53871 .fi 53872 .PP 53873 List the contents of a directory 53874 .IP 53875 .nf 53876 \f[C] 53877 rclone ls seafile:directory 53878 \f[R] 53879 .fi 53880 .PP 53881 Sync \f[C]/home/local/directory\f[R] to the remote library, deleting any 53882 excess files in the library. 53883 .IP 53884 .nf 53885 \f[C] 53886 rclone sync --interactive /home/local/directory seafile: 53887 \f[R] 53888 .fi 53889 .SS --fast-list 53890 .PP 53891 Seafile version 7+ supports \f[C]--fast-list\f[R] which allows you to 53892 use fewer transactions in exchange for more memory. 53893 See the rclone docs (https://rclone.org/docs/#fast-list) for more 53894 details. 53895 Please note this is not supported on seafile server version 6.x 53896 .SS Restricted filename characters 53897 .PP 53898 In addition to the default restricted characters 53899 set (https://rclone.org/overview/#restricted-characters) the following 53900 characters are also replaced: 53901 .PP 53902 .TS 53903 tab(@); 53904 l c c. 53905 T{ 53906 Character 53907 T}@T{ 53908 Value 53909 T}@T{ 53910 Replacement 53911 T} 53912 _ 53913 T{ 53914 / 53915 T}@T{ 53916 0x2F 53917 T}@T{ 53918 \[uFF0F] 53919 T} 53920 T{ 53921 \[dq] 53922 T}@T{ 53923 0x22 53924 T}@T{ 53925 \[uFF02] 53926 T} 53927 T{ 53928 \[rs] 53929 T}@T{ 53930 0x5C 53931 T}@T{ 53932 \[uFF3C] 53933 T} 53934 .TE 53935 .PP 53936 Invalid UTF-8 bytes will also be 53937 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 53938 be used in JSON strings. 53939 .SS Seafile and rclone link 53940 .PP 53941 Rclone supports generating share links for non-encrypted libraries only. 53942 They can either be for a file or a directory: 53943 .IP 53944 .nf 53945 \f[C] 53946 rclone link seafile:seafile-tutorial.doc 53947 http://my.seafile.server/f/fdcd8a2f93f84b8b90f4/ 53948 \f[R] 53949 .fi 53950 .PP 53951 or if run on a directory you will get: 53952 .IP 53953 .nf 53954 \f[C] 53955 rclone link seafile:dir 53956 http://my.seafile.server/d/9ea2455f6f55478bbb0d/ 53957 \f[R] 53958 .fi 53959 .PP 53960 Please note a share link is unique for each file or directory. 53961 If you run a link command on a file/dir that has already been shared, 53962 you will get the exact same link. 53963 .SS Compatibility 53964 .PP 53965 It has been actively developed using the seafile docker 53966 image (https://github.com/haiwen/seafile-docker) of these versions: - 53967 6.3.4 community edition - 7.0.5 community edition - 7.1.3 community 53968 edition - 9.0.10 community edition 53969 .PP 53970 Versions below 6.0 are not supported. 53971 Versions between 6.0 and 6.3 haven\[aq]t been tested and might not work 53972 properly. 53973 .PP 53974 Each new version of \f[C]rclone\f[R] is automatically tested against the 53975 latest docker image (https://hub.docker.com/r/seafileltd/seafile-mc/) of 53976 the seafile community server. 53977 .SS Standard options 53978 .PP 53979 Here are the Standard options specific to seafile (seafile). 53980 .SS --seafile-url 53981 .PP 53982 URL of seafile host to connect to. 53983 .PP 53984 Properties: 53985 .IP \[bu] 2 53986 Config: url 53987 .IP \[bu] 2 53988 Env Var: RCLONE_SEAFILE_URL 53989 .IP \[bu] 2 53990 Type: string 53991 .IP \[bu] 2 53992 Required: true 53993 .IP \[bu] 2 53994 Examples: 53995 .RS 2 53996 .IP \[bu] 2 53997 \[dq]https://cloud.seafile.com/\[dq] 53998 .RS 2 53999 .IP \[bu] 2 54000 Connect to cloud.seafile.com. 54001 .RE 54002 .RE 54003 .SS --seafile-user 54004 .PP 54005 User name (usually email address). 54006 .PP 54007 Properties: 54008 .IP \[bu] 2 54009 Config: user 54010 .IP \[bu] 2 54011 Env Var: RCLONE_SEAFILE_USER 54012 .IP \[bu] 2 54013 Type: string 54014 .IP \[bu] 2 54015 Required: true 54016 .SS --seafile-pass 54017 .PP 54018 Password. 54019 .PP 54020 \f[B]NB\f[R] Input to this must be obscured - see rclone 54021 obscure (https://rclone.org/commands/rclone_obscure/). 54022 .PP 54023 Properties: 54024 .IP \[bu] 2 54025 Config: pass 54026 .IP \[bu] 2 54027 Env Var: RCLONE_SEAFILE_PASS 54028 .IP \[bu] 2 54029 Type: string 54030 .IP \[bu] 2 54031 Required: false 54032 .SS --seafile-2fa 54033 .PP 54034 Two-factor authentication (\[aq]true\[aq] if the account has 2FA 54035 enabled). 54036 .PP 54037 Properties: 54038 .IP \[bu] 2 54039 Config: 2fa 54040 .IP \[bu] 2 54041 Env Var: RCLONE_SEAFILE_2FA 54042 .IP \[bu] 2 54043 Type: bool 54044 .IP \[bu] 2 54045 Default: false 54046 .SS --seafile-library 54047 .PP 54048 Name of the library. 54049 .PP 54050 Leave blank to access all non-encrypted libraries. 54051 .PP 54052 Properties: 54053 .IP \[bu] 2 54054 Config: library 54055 .IP \[bu] 2 54056 Env Var: RCLONE_SEAFILE_LIBRARY 54057 .IP \[bu] 2 54058 Type: string 54059 .IP \[bu] 2 54060 Required: false 54061 .SS --seafile-library-key 54062 .PP 54063 Library password (for encrypted libraries only). 54064 .PP 54065 Leave blank if you pass it through the command line. 54066 .PP 54067 \f[B]NB\f[R] Input to this must be obscured - see rclone 54068 obscure (https://rclone.org/commands/rclone_obscure/). 54069 .PP 54070 Properties: 54071 .IP \[bu] 2 54072 Config: library_key 54073 .IP \[bu] 2 54074 Env Var: RCLONE_SEAFILE_LIBRARY_KEY 54075 .IP \[bu] 2 54076 Type: string 54077 .IP \[bu] 2 54078 Required: false 54079 .SS --seafile-auth-token 54080 .PP 54081 Authentication token. 54082 .PP 54083 Properties: 54084 .IP \[bu] 2 54085 Config: auth_token 54086 .IP \[bu] 2 54087 Env Var: RCLONE_SEAFILE_AUTH_TOKEN 54088 .IP \[bu] 2 54089 Type: string 54090 .IP \[bu] 2 54091 Required: false 54092 .SS Advanced options 54093 .PP 54094 Here are the Advanced options specific to seafile (seafile). 54095 .SS --seafile-create-library 54096 .PP 54097 Should rclone create a library if it doesn\[aq]t exist. 54098 .PP 54099 Properties: 54100 .IP \[bu] 2 54101 Config: create_library 54102 .IP \[bu] 2 54103 Env Var: RCLONE_SEAFILE_CREATE_LIBRARY 54104 .IP \[bu] 2 54105 Type: bool 54106 .IP \[bu] 2 54107 Default: false 54108 .SS --seafile-encoding 54109 .PP 54110 The encoding for the backend. 54111 .PP 54112 See the encoding section in the 54113 overview (https://rclone.org/overview/#encoding) for more info. 54114 .PP 54115 Properties: 54116 .IP \[bu] 2 54117 Config: encoding 54118 .IP \[bu] 2 54119 Env Var: RCLONE_SEAFILE_ENCODING 54120 .IP \[bu] 2 54121 Type: MultiEncoder 54122 .IP \[bu] 2 54123 Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8 54124 .SH SFTP 54125 .PP 54126 SFTP is the Secure (or SSH) File Transfer 54127 Protocol (https://en.wikipedia.org/wiki/SSH_File_Transfer_Protocol). 54128 .PP 54129 The SFTP backend can be used with a number of different providers: 54130 .IP \[bu] 2 54131 Hetzner Storage Box 54132 .IP \[bu] 2 54133 rsync.net 54134 .PP 54135 SFTP runs over SSH v2 and is installed as standard with most modern SSH 54136 installations. 54137 .PP 54138 Paths are specified as \f[C]remote:path\f[R]. 54139 If the path does not begin with a \f[C]/\f[R] it is relative to the home 54140 directory of the user. 54141 An empty path \f[C]remote:\f[R] refers to the user\[aq]s home directory. 54142 For example, \f[C]rclone lsd remote:\f[R] would list the home directory 54143 of the user configured in the rclone remote config 54144 (\f[C]i.e /home/sftpuser\f[R]). 54145 However, \f[C]rclone lsd remote:/\f[R] would list the root directory for 54146 remote machine (i.e. 54147 \f[C]/\f[R]) 54148 .PP 54149 Note that some SFTP servers will need the leading / - Synology is a good 54150 example of this. 54151 rsync.net and Hetzner, on the other hand, requires users to OMIT the 54152 leading /. 54153 .PP 54154 Note that by default rclone will try to execute shell commands on the 54155 server, see shell access considerations. 54156 .SS Configuration 54157 .PP 54158 Here is an example of making an SFTP configuration. 54159 First run 54160 .IP 54161 .nf 54162 \f[C] 54163 rclone config 54164 \f[R] 54165 .fi 54166 .PP 54167 This will guide you through an interactive setup process. 54168 .IP 54169 .nf 54170 \f[C] 54171 No remotes found, make a new one? 54172 n) New remote 54173 s) Set configuration password 54174 q) Quit config 54175 n/s/q> n 54176 name> remote 54177 Type of storage to configure. 54178 Choose a number from below, or type in your own value 54179 [snip] 54180 XX / SSH/SFTP 54181 \[rs] \[dq]sftp\[dq] 54182 [snip] 54183 Storage> sftp 54184 SSH host to connect to 54185 Choose a number from below, or type in your own value 54186 1 / Connect to example.com 54187 \[rs] \[dq]example.com\[dq] 54188 host> example.com 54189 SSH username 54190 Enter a string value. Press Enter for the default (\[dq]$USER\[dq]). 54191 user> sftpuser 54192 SSH port number 54193 Enter a signed integer. Press Enter for the default (22). 54194 port> 54195 SSH password, leave blank to use ssh-agent. 54196 y) Yes type in my own password 54197 g) Generate random password 54198 n) No leave this optional password blank 54199 y/g/n> n 54200 Path to unencrypted PEM-encoded private key file, leave blank to use ssh-agent. 54201 key_file> 54202 Remote config 54203 -------------------- 54204 [remote] 54205 host = example.com 54206 user = sftpuser 54207 port = 54208 pass = 54209 key_file = 54210 -------------------- 54211 y) Yes this is OK 54212 e) Edit this remote 54213 d) Delete this remote 54214 y/e/d> y 54215 \f[R] 54216 .fi 54217 .PP 54218 This remote is called \f[C]remote\f[R] and can now be used like this: 54219 .PP 54220 See all directories in the home directory 54221 .IP 54222 .nf 54223 \f[C] 54224 rclone lsd remote: 54225 \f[R] 54226 .fi 54227 .PP 54228 See all directories in the root directory 54229 .IP 54230 .nf 54231 \f[C] 54232 rclone lsd remote:/ 54233 \f[R] 54234 .fi 54235 .PP 54236 Make a new directory 54237 .IP 54238 .nf 54239 \f[C] 54240 rclone mkdir remote:path/to/directory 54241 \f[R] 54242 .fi 54243 .PP 54244 List the contents of a directory 54245 .IP 54246 .nf 54247 \f[C] 54248 rclone ls remote:path/to/directory 54249 \f[R] 54250 .fi 54251 .PP 54252 Sync \f[C]/home/local/directory\f[R] to the remote directory, deleting 54253 any excess files in the directory. 54254 .IP 54255 .nf 54256 \f[C] 54257 rclone sync --interactive /home/local/directory remote:directory 54258 \f[R] 54259 .fi 54260 .PP 54261 Mount the remote path \f[C]/srv/www-data/\f[R] to the local path 54262 \f[C]/mnt/www-data\f[R] 54263 .IP 54264 .nf 54265 \f[C] 54266 rclone mount remote:/srv/www-data/ /mnt/www-data 54267 \f[R] 54268 .fi 54269 .SS SSH Authentication 54270 .PP 54271 The SFTP remote supports three authentication methods: 54272 .IP \[bu] 2 54273 Password 54274 .IP \[bu] 2 54275 Key file, including certificate signed keys 54276 .IP \[bu] 2 54277 ssh-agent 54278 .PP 54279 Key files should be PEM-encoded private key files. 54280 For instance \f[C]/home/$USER/.ssh/id_rsa\f[R]. 54281 Only unencrypted OpenSSH or PEM encrypted files are supported. 54282 .PP 54283 The key file can be specified in either an external file (key_file) or 54284 contained within the rclone config file (key_pem). 54285 If using key_pem in the config file, the entry should be on a single 54286 line with new line (\[aq]\[aq] or \[aq]\[aq]) separating lines. 54287 i.e. 54288 .IP 54289 .nf 54290 \f[C] 54291 key_pem = -----BEGIN RSA PRIVATE KEY-----\[rs]nMaMbaIXtE\[rs]n0gAMbMbaSsd\[rs]nMbaass\[rs]n-----END RSA PRIVATE KEY----- 54292 \f[R] 54293 .fi 54294 .PP 54295 This will generate it correctly for key_pem for use in the config: 54296 .IP 54297 .nf 54298 \f[C] 54299 awk \[aq]{printf \[dq]%s\[rs]\[rs]n\[dq], $0}\[aq] < \[ti]/.ssh/id_rsa 54300 \f[R] 54301 .fi 54302 .PP 54303 If you don\[aq]t specify \f[C]pass\f[R], \f[C]key_file\f[R], or 54304 \f[C]key_pem\f[R] or \f[C]ask_password\f[R] then rclone will attempt to 54305 contact an ssh-agent. 54306 You can also specify \f[C]key_use_agent\f[R] to force the usage of an 54307 ssh-agent. 54308 In this case \f[C]key_file\f[R] or \f[C]key_pem\f[R] can also be 54309 specified to force the usage of a specific key in the ssh-agent. 54310 .PP 54311 Using an ssh-agent is the only way to load encrypted OpenSSH keys at the 54312 moment. 54313 .PP 54314 If you set the \f[C]ask_password\f[R] option, rclone will prompt for a 54315 password when needed and no password has been configured. 54316 .SS Certificate-signed keys 54317 .PP 54318 With traditional key-based authentication, you configure your private 54319 key only, and the public key built into it will be used during the 54320 authentication process. 54321 .PP 54322 If you have a certificate you may use it to sign your public key, 54323 creating a separate SSH user certificate that should be used instead of 54324 the plain public key extracted from the private key. 54325 Then you must provide the path to the user certificate public key file 54326 in \f[C]pubkey_file\f[R]. 54327 .PP 54328 Note: This is not the traditional public key paired with your private 54329 key, typically saved as \f[C]/home/$USER/.ssh/id_rsa.pub\f[R]. 54330 Setting this path in \f[C]pubkey_file\f[R] will not work. 54331 .PP 54332 Example: 54333 .IP 54334 .nf 54335 \f[C] 54336 [remote] 54337 type = sftp 54338 host = example.com 54339 user = sftpuser 54340 key_file = \[ti]/id_rsa 54341 pubkey_file = \[ti]/id_rsa-cert.pub 54342 \f[R] 54343 .fi 54344 .PP 54345 If you concatenate a cert with a private key then you can specify the 54346 merged file in both places. 54347 .PP 54348 Note: the cert must come first in the file. 54349 e.g. 54350 .IP 54351 .nf 54352 \f[C] 54353 cat id_rsa-cert.pub id_rsa > merged_key 54354 \f[R] 54355 .fi 54356 .SS Host key validation 54357 .PP 54358 By default rclone will not check the server\[aq]s host key for 54359 validation. 54360 This can allow an attacker to replace a server with their own and if you 54361 use password authentication then this can lead to that password being 54362 exposed. 54363 .PP 54364 Host key matching, using standard \f[C]known_hosts\f[R] files can be 54365 turned on by enabling the \f[C]known_hosts_file\f[R] option. 54366 This can point to the file maintained by \f[C]OpenSSH\f[R] or can point 54367 to a unique file. 54368 .PP 54369 e.g. 54370 using the OpenSSH \f[C]known_hosts\f[R] file: 54371 .IP 54372 .nf 54373 \f[C] 54374 [remote] 54375 type = sftp 54376 host = example.com 54377 user = sftpuser 54378 pass = 54379 known_hosts_file = \[ti]/.ssh/known_hosts 54380 \f[R] 54381 .fi 54382 .PP 54383 Alternatively you can create your own known hosts file like this: 54384 .IP 54385 .nf 54386 \f[C] 54387 ssh-keyscan -t dsa,rsa,ecdsa,ed25519 example.com >> known_hosts 54388 \f[R] 54389 .fi 54390 .PP 54391 There are some limitations: 54392 .IP \[bu] 2 54393 \f[C]rclone\f[R] will not \f[I]manage\f[R] this file for you. 54394 If the key is missing or wrong then the connection will be refused. 54395 .IP \[bu] 2 54396 If the server is set up for a certificate host key then the entry in the 54397 \f[C]known_hosts\f[R] file \f[I]must\f[R] be the 54398 \f[C]\[at]cert-authority\f[R] entry for the CA 54399 .PP 54400 If the host key provided by the server does not match the one in the 54401 file (or is missing) then the connection will be aborted and an error 54402 returned such as 54403 .IP 54404 .nf 54405 \f[C] 54406 NewFs: couldn\[aq]t connect SSH: ssh: handshake failed: knownhosts: key mismatch 54407 \f[R] 54408 .fi 54409 .PP 54410 or 54411 .IP 54412 .nf 54413 \f[C] 54414 NewFs: couldn\[aq]t connect SSH: ssh: handshake failed: knownhosts: key is unknown 54415 \f[R] 54416 .fi 54417 .PP 54418 If you see an error such as 54419 .IP 54420 .nf 54421 \f[C] 54422 NewFs: couldn\[aq]t connect SSH: ssh: handshake failed: ssh: no authorities for hostname: example.com:22 54423 \f[R] 54424 .fi 54425 .PP 54426 then it is likely the server has presented a CA signed host certificate 54427 and you will need to add the appropriate \f[C]\[at]cert-authority\f[R] 54428 entry. 54429 .PP 54430 The \f[C]known_hosts_file\f[R] setting can be set during 54431 \f[C]rclone config\f[R] as an advanced option. 54432 .SS ssh-agent on macOS 54433 .PP 54434 Note that there seem to be various problems with using an ssh-agent on 54435 macOS due to recent changes in the OS. 54436 The most effective work-around seems to be to start an ssh-agent in each 54437 session, e.g. 54438 .IP 54439 .nf 54440 \f[C] 54441 eval \[ga]ssh-agent -s\[ga] && ssh-add -A 54442 \f[R] 54443 .fi 54444 .PP 54445 And then at the end of the session 54446 .IP 54447 .nf 54448 \f[C] 54449 eval \[ga]ssh-agent -k\[ga] 54450 \f[R] 54451 .fi 54452 .PP 54453 These commands can be used in scripts of course. 54454 .SS Shell access 54455 .PP 54456 Some functionality of the SFTP backend relies on remote shell access, 54457 and the possibility to execute commands. 54458 This includes checksum, and in some cases also about. 54459 The shell commands that must be executed may be different on different 54460 type of shells, and also quoting/escaping of file path arguments 54461 containing special characters may be different. 54462 Rclone therefore needs to know what type of shell it is, and if shell 54463 access is available at all. 54464 .PP 54465 Most servers run on some version of Unix, and then a basic Unix shell 54466 can be assumed, without further distinction. 54467 Windows 10, Server 2019, and later can also run a SSH server, which is a 54468 port of OpenSSH (see official installation 54469 guide (https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)). 54470 On a Windows server the shell handling is different: Although it can 54471 also be set up to use a Unix type shell, e.g. 54472 Cygwin bash, the default is to use Windows Command Prompt (cmd.exe), and 54473 PowerShell is a recommended alternative. 54474 All of these have behave differently, which rclone must handle. 54475 .PP 54476 Rclone tries to auto-detect what type of shell is used on the server, 54477 first time you access the SFTP remote. 54478 If a remote shell session is successfully created, it will look for 54479 indications that it is CMD or PowerShell, with fall-back to Unix if not 54480 something else is detected. 54481 If unable to even create a remote shell session, then shell command 54482 execution will be disabled entirely. 54483 The result is stored in the SFTP remote configuration, in option 54484 \f[C]shell_type\f[R], so that the auto-detection only have to be 54485 performed once. 54486 If you manually set a value for this option before first run, the 54487 auto-detection will be skipped, and if you set a different value later 54488 this will override any existing. 54489 Value \f[C]none\f[R] can be set to avoid any attempts at executing shell 54490 commands, e.g. 54491 if this is not allowed on the server. 54492 .PP 54493 When the server is rclone serve 54494 sftp (https://rclone.org/commands/rclone_serve_sftp/), the rclone SFTP 54495 remote will detect this as a Unix type shell - even if it is running on 54496 Windows. 54497 This server does not actually have a shell, but it accepts input 54498 commands matching the specific ones that the SFTP backend relies on for 54499 Unix shells, e.g. 54500 \f[C]md5sum\f[R] and \f[C]df\f[R]. 54501 Also it handles the string escape rules used for Unix shell. 54502 Treating it as a Unix type shell from a SFTP remote will therefore 54503 always be correct, and support all features. 54504 .SS Shell access considerations 54505 .PP 54506 The shell type auto-detection logic, described above, means that by 54507 default rclone will try to run a shell command the first time a new sftp 54508 remote is accessed. 54509 If you configure a sftp remote without a config file, e.g. 54510 an on the fly (https://rclone.org/docs/#backend-path-to-dir%5D) remote, 54511 rclone will have nowhere to store the result, and it will re-run the 54512 command on every access. 54513 To avoid this you should explicitly set the \f[C]shell_type\f[R] option 54514 to the correct value, or to \f[C]none\f[R] if you want to prevent rclone 54515 from executing any remote shell commands. 54516 .PP 54517 It is also important to note that, since the shell type decides how 54518 quoting and escaping of file paths used as command-line arguments are 54519 performed, configuring the wrong shell type may leave you exposed to 54520 command injection exploits. 54521 Make sure to confirm the auto-detected shell type, or explicitly set the 54522 shell type you know is correct, or disable shell access until you know. 54523 .SS Checksum 54524 .PP 54525 SFTP does not natively support checksums (file hash), but rclone is able 54526 to use checksumming if the same login has shell access, and can execute 54527 remote commands. 54528 If there is a command that can calculate compatible checksums on the 54529 remote system, Rclone can then be configured to execute this whenever a 54530 checksum is needed, and read back the results. 54531 Currently MD5 and SHA-1 are supported. 54532 .PP 54533 Normally this requires an external utility being available on the 54534 server. 54535 By default rclone will try commands \f[C]md5sum\f[R], \f[C]md5\f[R] and 54536 \f[C]rclone md5sum\f[R] for MD5 checksums, and the first one found 54537 usable will be picked. 54538 Same with \f[C]sha1sum\f[R], \f[C]sha1\f[R] and \f[C]rclone sha1sum\f[R] 54539 commands for SHA-1 checksums. 54540 These utilities normally need to be in the remote\[aq]s PATH to be 54541 found. 54542 .PP 54543 In some cases the shell itself is capable of calculating checksums. 54544 PowerShell is an example of such a shell. 54545 If rclone detects that the remote shell is PowerShell, which means it 54546 most probably is a Windows OpenSSH server, rclone will use a predefined 54547 script block to produce the checksums when no external checksum commands 54548 are found (see shell access). 54549 This assumes PowerShell version 4.0 or newer. 54550 .PP 54551 The options \f[C]md5sum_command\f[R] and \f[C]sha1_command\f[R] can be 54552 used to customize the command to be executed for calculation of 54553 checksums. 54554 You can for example set a specific path to where md5sum and sha1sum 54555 executables are located, or use them to specify some other tools that 54556 print checksums in compatible format. 54557 The value can include command-line arguments, or even shell script 54558 blocks as with PowerShell. 54559 Rclone has subcommands 54560 md5sum (https://rclone.org/commands/rclone_md5sum/) and 54561 sha1sum (https://rclone.org/commands/rclone_sha1sum/) that use 54562 compatible format, which means if you have an rclone executable on the 54563 server it can be used. 54564 As mentioned above, they will be automatically picked up if found in 54565 PATH, but if not you can set something like 54566 \f[C]/path/to/rclone md5sum\f[R] as the value of option 54567 \f[C]md5sum_command\f[R] to make sure a specific executable is used. 54568 .PP 54569 Remote checksumming is recommended and enabled by default. 54570 First time rclone is using a SFTP remote, if options 54571 \f[C]md5sum_command\f[R] or \f[C]sha1_command\f[R] are not set, it will 54572 check if any of the default commands for each of them, as described 54573 above, can be used. 54574 The result will be saved in the remote configuration, so next time it 54575 will use the same. 54576 Value \f[C]none\f[R] will be set if none of the default commands could 54577 be used for a specific algorithm, and this algorithm will not be 54578 supported by the remote. 54579 .PP 54580 Disabling the checksumming may be required if you are connecting to SFTP 54581 servers which are not under your control, and to which the execution of 54582 remote shell commands is prohibited. 54583 Set the configuration option \f[C]disable_hashcheck\f[R] to 54584 \f[C]true\f[R] to disable checksumming entirely, or set 54585 \f[C]shell_type\f[R] to \f[C]none\f[R] to disable all functionality 54586 based on remote shell command execution. 54587 .SS Modified time 54588 .PP 54589 Modified times are stored on the server to 1 second precision. 54590 .PP 54591 Modified times are used in syncing and are fully supported. 54592 .PP 54593 Some SFTP servers disable setting/modifying the file modification time 54594 after upload (for example, certain configurations of ProFTPd with 54595 mod_sftp). 54596 If you are using one of these servers, you can set the option 54597 \f[C]set_modtime = false\f[R] in your RClone backend configuration to 54598 disable this behaviour. 54599 .SS About command 54600 .PP 54601 The \f[C]about\f[R] command returns the total space, free space, and 54602 used space on the remote for the disk of the specified path on the 54603 remote or, if not set, the disk of the root on the remote. 54604 .PP 54605 SFTP usually supports the 54606 about (https://rclone.org/commands/rclone_about/) command, but it 54607 depends on the server. 54608 If the server implements the vendor-specific VFS statistics extension, 54609 which is normally the case with OpenSSH instances, it will be used. 54610 If not, but the same login has access to a Unix shell, where the 54611 \f[C]df\f[R] command is available (e.g. 54612 in the remote\[aq]s PATH), then this will be used instead. 54613 If the server shell is PowerShell, probably with a Windows OpenSSH 54614 server, rclone will use a built-in shell command (see shell access). 54615 If none of the above is applicable, \f[C]about\f[R] will fail. 54616 .SS Standard options 54617 .PP 54618 Here are the Standard options specific to sftp (SSH/SFTP). 54619 .SS --sftp-host 54620 .PP 54621 SSH host to connect to. 54622 .PP 54623 E.g. 54624 \[dq]example.com\[dq]. 54625 .PP 54626 Properties: 54627 .IP \[bu] 2 54628 Config: host 54629 .IP \[bu] 2 54630 Env Var: RCLONE_SFTP_HOST 54631 .IP \[bu] 2 54632 Type: string 54633 .IP \[bu] 2 54634 Required: true 54635 .SS --sftp-user 54636 .PP 54637 SSH username. 54638 .PP 54639 Properties: 54640 .IP \[bu] 2 54641 Config: user 54642 .IP \[bu] 2 54643 Env Var: RCLONE_SFTP_USER 54644 .IP \[bu] 2 54645 Type: string 54646 .IP \[bu] 2 54647 Default: \[dq]$USER\[dq] 54648 .SS --sftp-port 54649 .PP 54650 SSH port number. 54651 .PP 54652 Properties: 54653 .IP \[bu] 2 54654 Config: port 54655 .IP \[bu] 2 54656 Env Var: RCLONE_SFTP_PORT 54657 .IP \[bu] 2 54658 Type: int 54659 .IP \[bu] 2 54660 Default: 22 54661 .SS --sftp-pass 54662 .PP 54663 SSH password, leave blank to use ssh-agent. 54664 .PP 54665 \f[B]NB\f[R] Input to this must be obscured - see rclone 54666 obscure (https://rclone.org/commands/rclone_obscure/). 54667 .PP 54668 Properties: 54669 .IP \[bu] 2 54670 Config: pass 54671 .IP \[bu] 2 54672 Env Var: RCLONE_SFTP_PASS 54673 .IP \[bu] 2 54674 Type: string 54675 .IP \[bu] 2 54676 Required: false 54677 .SS --sftp-key-pem 54678 .PP 54679 Raw PEM-encoded private key. 54680 .PP 54681 If specified, will override key_file parameter. 54682 .PP 54683 Properties: 54684 .IP \[bu] 2 54685 Config: key_pem 54686 .IP \[bu] 2 54687 Env Var: RCLONE_SFTP_KEY_PEM 54688 .IP \[bu] 2 54689 Type: string 54690 .IP \[bu] 2 54691 Required: false 54692 .SS --sftp-key-file 54693 .PP 54694 Path to PEM-encoded private key file. 54695 .PP 54696 Leave blank or set key-use-agent to use ssh-agent. 54697 .PP 54698 Leading \f[C]\[ti]\f[R] will be expanded in the file name as will 54699 environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R]. 54700 .PP 54701 Properties: 54702 .IP \[bu] 2 54703 Config: key_file 54704 .IP \[bu] 2 54705 Env Var: RCLONE_SFTP_KEY_FILE 54706 .IP \[bu] 2 54707 Type: string 54708 .IP \[bu] 2 54709 Required: false 54710 .SS --sftp-key-file-pass 54711 .PP 54712 The passphrase to decrypt the PEM-encoded private key file. 54713 .PP 54714 Only PEM encrypted key files (old OpenSSH format) are supported. 54715 Encrypted keys in the new OpenSSH format can\[aq]t be used. 54716 .PP 54717 \f[B]NB\f[R] Input to this must be obscured - see rclone 54718 obscure (https://rclone.org/commands/rclone_obscure/). 54719 .PP 54720 Properties: 54721 .IP \[bu] 2 54722 Config: key_file_pass 54723 .IP \[bu] 2 54724 Env Var: RCLONE_SFTP_KEY_FILE_PASS 54725 .IP \[bu] 2 54726 Type: string 54727 .IP \[bu] 2 54728 Required: false 54729 .SS --sftp-pubkey-file 54730 .PP 54731 Optional path to public key file. 54732 .PP 54733 Set this if you have a signed certificate you want to use for 54734 authentication. 54735 .PP 54736 Leading \f[C]\[ti]\f[R] will be expanded in the file name as will 54737 environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R]. 54738 .PP 54739 Properties: 54740 .IP \[bu] 2 54741 Config: pubkey_file 54742 .IP \[bu] 2 54743 Env Var: RCLONE_SFTP_PUBKEY_FILE 54744 .IP \[bu] 2 54745 Type: string 54746 .IP \[bu] 2 54747 Required: false 54748 .SS --sftp-key-use-agent 54749 .PP 54750 When set forces the usage of the ssh-agent. 54751 .PP 54752 When key-file is also set, the \[dq].pub\[dq] file of the specified 54753 key-file is read and only the associated key is requested from the 54754 ssh-agent. 54755 This allows to avoid 54756 \f[C]Too many authentication failures for *username*\f[R] errors when 54757 the ssh-agent contains many keys. 54758 .PP 54759 Properties: 54760 .IP \[bu] 2 54761 Config: key_use_agent 54762 .IP \[bu] 2 54763 Env Var: RCLONE_SFTP_KEY_USE_AGENT 54764 .IP \[bu] 2 54765 Type: bool 54766 .IP \[bu] 2 54767 Default: false 54768 .SS --sftp-use-insecure-cipher 54769 .PP 54770 Enable the use of insecure ciphers and key exchange methods. 54771 .PP 54772 This enables the use of the following insecure ciphers and key exchange 54773 methods: 54774 .IP \[bu] 2 54775 aes128-cbc 54776 .IP \[bu] 2 54777 aes192-cbc 54778 .IP \[bu] 2 54779 aes256-cbc 54780 .IP \[bu] 2 54781 3des-cbc 54782 .IP \[bu] 2 54783 diffie-hellman-group-exchange-sha256 54784 .IP \[bu] 2 54785 diffie-hellman-group-exchange-sha1 54786 .PP 54787 Those algorithms are insecure and may allow plaintext data to be 54788 recovered by an attacker. 54789 .PP 54790 This must be false if you use either ciphers or key_exchange advanced 54791 options. 54792 .PP 54793 Properties: 54794 .IP \[bu] 2 54795 Config: use_insecure_cipher 54796 .IP \[bu] 2 54797 Env Var: RCLONE_SFTP_USE_INSECURE_CIPHER 54798 .IP \[bu] 2 54799 Type: bool 54800 .IP \[bu] 2 54801 Default: false 54802 .IP \[bu] 2 54803 Examples: 54804 .RS 2 54805 .IP \[bu] 2 54806 \[dq]false\[dq] 54807 .RS 2 54808 .IP \[bu] 2 54809 Use default Cipher list. 54810 .RE 54811 .IP \[bu] 2 54812 \[dq]true\[dq] 54813 .RS 2 54814 .IP \[bu] 2 54815 Enables the use of the aes128-cbc cipher and 54816 diffie-hellman-group-exchange-sha256, diffie-hellman-group-exchange-sha1 54817 key exchange. 54818 .RE 54819 .RE 54820 .SS --sftp-disable-hashcheck 54821 .PP 54822 Disable the execution of SSH commands to determine if remote file 54823 hashing is available. 54824 .PP 54825 Leave blank or set to false to enable hashing (recommended), set to true 54826 to disable hashing. 54827 .PP 54828 Properties: 54829 .IP \[bu] 2 54830 Config: disable_hashcheck 54831 .IP \[bu] 2 54832 Env Var: RCLONE_SFTP_DISABLE_HASHCHECK 54833 .IP \[bu] 2 54834 Type: bool 54835 .IP \[bu] 2 54836 Default: false 54837 .SS Advanced options 54838 .PP 54839 Here are the Advanced options specific to sftp (SSH/SFTP). 54840 .SS --sftp-known-hosts-file 54841 .PP 54842 Optional path to known_hosts file. 54843 .PP 54844 Set this value to enable server host key validation. 54845 .PP 54846 Leading \f[C]\[ti]\f[R] will be expanded in the file name as will 54847 environment variables such as \f[C]${RCLONE_CONFIG_DIR}\f[R]. 54848 .PP 54849 Properties: 54850 .IP \[bu] 2 54851 Config: known_hosts_file 54852 .IP \[bu] 2 54853 Env Var: RCLONE_SFTP_KNOWN_HOSTS_FILE 54854 .IP \[bu] 2 54855 Type: string 54856 .IP \[bu] 2 54857 Required: false 54858 .IP \[bu] 2 54859 Examples: 54860 .RS 2 54861 .IP \[bu] 2 54862 \[dq]\[ti]/.ssh/known_hosts\[dq] 54863 .RS 2 54864 .IP \[bu] 2 54865 Use OpenSSH\[aq]s known_hosts file. 54866 .RE 54867 .RE 54868 .SS --sftp-ask-password 54869 .PP 54870 Allow asking for SFTP password when needed. 54871 .PP 54872 If this is set and no password is supplied then rclone will: - ask for a 54873 password - not contact the ssh agent 54874 .PP 54875 Properties: 54876 .IP \[bu] 2 54877 Config: ask_password 54878 .IP \[bu] 2 54879 Env Var: RCLONE_SFTP_ASK_PASSWORD 54880 .IP \[bu] 2 54881 Type: bool 54882 .IP \[bu] 2 54883 Default: false 54884 .SS --sftp-path-override 54885 .PP 54886 Override path used by SSH shell commands. 54887 .PP 54888 This allows checksum calculation when SFTP and SSH paths are different. 54889 This issue affects among others Synology NAS boxes. 54890 .PP 54891 E.g. 54892 if shared folders can be found in directories representing volumes: 54893 .IP 54894 .nf 54895 \f[C] 54896 rclone sync /home/local/directory remote:/directory --sftp-path-override /volume2/directory 54897 \f[R] 54898 .fi 54899 .PP 54900 E.g. 54901 if home directory can be found in a shared folder called \[dq]home\[dq]: 54902 .IP 54903 .nf 54904 \f[C] 54905 rclone sync /home/local/directory remote:/home/directory --sftp-path-override /volume1/homes/USER/directory 54906 \f[R] 54907 .fi 54908 .PP 54909 Properties: 54910 .IP \[bu] 2 54911 Config: path_override 54912 .IP \[bu] 2 54913 Env Var: RCLONE_SFTP_PATH_OVERRIDE 54914 .IP \[bu] 2 54915 Type: string 54916 .IP \[bu] 2 54917 Required: false 54918 .SS --sftp-set-modtime 54919 .PP 54920 Set the modified time on the remote if set. 54921 .PP 54922 Properties: 54923 .IP \[bu] 2 54924 Config: set_modtime 54925 .IP \[bu] 2 54926 Env Var: RCLONE_SFTP_SET_MODTIME 54927 .IP \[bu] 2 54928 Type: bool 54929 .IP \[bu] 2 54930 Default: true 54931 .SS --sftp-shell-type 54932 .PP 54933 The type of SSH shell on remote server, if any. 54934 .PP 54935 Leave blank for autodetect. 54936 .PP 54937 Properties: 54938 .IP \[bu] 2 54939 Config: shell_type 54940 .IP \[bu] 2 54941 Env Var: RCLONE_SFTP_SHELL_TYPE 54942 .IP \[bu] 2 54943 Type: string 54944 .IP \[bu] 2 54945 Required: false 54946 .IP \[bu] 2 54947 Examples: 54948 .RS 2 54949 .IP \[bu] 2 54950 \[dq]none\[dq] 54951 .RS 2 54952 .IP \[bu] 2 54953 No shell access 54954 .RE 54955 .IP \[bu] 2 54956 \[dq]unix\[dq] 54957 .RS 2 54958 .IP \[bu] 2 54959 Unix shell 54960 .RE 54961 .IP \[bu] 2 54962 \[dq]powershell\[dq] 54963 .RS 2 54964 .IP \[bu] 2 54965 PowerShell 54966 .RE 54967 .IP \[bu] 2 54968 \[dq]cmd\[dq] 54969 .RS 2 54970 .IP \[bu] 2 54971 Windows Command Prompt 54972 .RE 54973 .RE 54974 .SS --sftp-md5sum-command 54975 .PP 54976 The command used to read md5 hashes. 54977 .PP 54978 Leave blank for autodetect. 54979 .PP 54980 Properties: 54981 .IP \[bu] 2 54982 Config: md5sum_command 54983 .IP \[bu] 2 54984 Env Var: RCLONE_SFTP_MD5SUM_COMMAND 54985 .IP \[bu] 2 54986 Type: string 54987 .IP \[bu] 2 54988 Required: false 54989 .SS --sftp-sha1sum-command 54990 .PP 54991 The command used to read sha1 hashes. 54992 .PP 54993 Leave blank for autodetect. 54994 .PP 54995 Properties: 54996 .IP \[bu] 2 54997 Config: sha1sum_command 54998 .IP \[bu] 2 54999 Env Var: RCLONE_SFTP_SHA1SUM_COMMAND 55000 .IP \[bu] 2 55001 Type: string 55002 .IP \[bu] 2 55003 Required: false 55004 .SS --sftp-skip-links 55005 .PP 55006 Set to skip any symlinks and any other non regular files. 55007 .PP 55008 Properties: 55009 .IP \[bu] 2 55010 Config: skip_links 55011 .IP \[bu] 2 55012 Env Var: RCLONE_SFTP_SKIP_LINKS 55013 .IP \[bu] 2 55014 Type: bool 55015 .IP \[bu] 2 55016 Default: false 55017 .SS --sftp-subsystem 55018 .PP 55019 Specifies the SSH2 subsystem on the remote host. 55020 .PP 55021 Properties: 55022 .IP \[bu] 2 55023 Config: subsystem 55024 .IP \[bu] 2 55025 Env Var: RCLONE_SFTP_SUBSYSTEM 55026 .IP \[bu] 2 55027 Type: string 55028 .IP \[bu] 2 55029 Default: \[dq]sftp\[dq] 55030 .SS --sftp-server-command 55031 .PP 55032 Specifies the path or command to run a sftp server on the remote host. 55033 .PP 55034 The subsystem option is ignored when server_command is defined. 55035 .PP 55036 Properties: 55037 .IP \[bu] 2 55038 Config: server_command 55039 .IP \[bu] 2 55040 Env Var: RCLONE_SFTP_SERVER_COMMAND 55041 .IP \[bu] 2 55042 Type: string 55043 .IP \[bu] 2 55044 Required: false 55045 .SS --sftp-use-fstat 55046 .PP 55047 If set use fstat instead of stat. 55048 .PP 55049 Some servers limit the amount of open files and calling Stat after 55050 opening the file will throw an error from the server. 55051 Setting this flag will call Fstat instead of Stat which is called on an 55052 already open file handle. 55053 .PP 55054 It has been found that this helps with IBM Sterling SFTP servers which 55055 have \[dq]extractability\[dq] level set to 1 which means only 1 file can 55056 be opened at any given time. 55057 .PP 55058 Properties: 55059 .IP \[bu] 2 55060 Config: use_fstat 55061 .IP \[bu] 2 55062 Env Var: RCLONE_SFTP_USE_FSTAT 55063 .IP \[bu] 2 55064 Type: bool 55065 .IP \[bu] 2 55066 Default: false 55067 .SS --sftp-disable-concurrent-reads 55068 .PP 55069 If set don\[aq]t use concurrent reads. 55070 .PP 55071 Normally concurrent reads are safe to use and not using them will 55072 degrade performance, so this option is disabled by default. 55073 .PP 55074 Some servers limit the amount number of times a file can be downloaded. 55075 Using concurrent reads can trigger this limit, so if you have a server 55076 which returns 55077 .IP 55078 .nf 55079 \f[C] 55080 Failed to copy: file does not exist 55081 \f[R] 55082 .fi 55083 .PP 55084 Then you may need to enable this flag. 55085 .PP 55086 If concurrent reads are disabled, the use_fstat option is ignored. 55087 .PP 55088 Properties: 55089 .IP \[bu] 2 55090 Config: disable_concurrent_reads 55091 .IP \[bu] 2 55092 Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_READS 55093 .IP \[bu] 2 55094 Type: bool 55095 .IP \[bu] 2 55096 Default: false 55097 .SS --sftp-disable-concurrent-writes 55098 .PP 55099 If set don\[aq]t use concurrent writes. 55100 .PP 55101 Normally rclone uses concurrent writes to upload files. 55102 This improves the performance greatly, especially for distant servers. 55103 .PP 55104 This option disables concurrent writes should that be necessary. 55105 .PP 55106 Properties: 55107 .IP \[bu] 2 55108 Config: disable_concurrent_writes 55109 .IP \[bu] 2 55110 Env Var: RCLONE_SFTP_DISABLE_CONCURRENT_WRITES 55111 .IP \[bu] 2 55112 Type: bool 55113 .IP \[bu] 2 55114 Default: false 55115 .SS --sftp-idle-timeout 55116 .PP 55117 Max time before closing idle connections. 55118 .PP 55119 If no connections have been returned to the connection pool in the time 55120 given, rclone will empty the connection pool. 55121 .PP 55122 Set to 0 to keep connections indefinitely. 55123 .PP 55124 Properties: 55125 .IP \[bu] 2 55126 Config: idle_timeout 55127 .IP \[bu] 2 55128 Env Var: RCLONE_SFTP_IDLE_TIMEOUT 55129 .IP \[bu] 2 55130 Type: Duration 55131 .IP \[bu] 2 55132 Default: 1m0s 55133 .SS --sftp-chunk-size 55134 .PP 55135 Upload and download chunk size. 55136 .PP 55137 This controls the maximum size of payload in SFTP protocol packets. 55138 The RFC limits this to 32768 bytes (32k), which is the default. 55139 However, a lot of servers support larger sizes, typically limited to a 55140 maximum total package size of 256k, and setting it larger will increase 55141 transfer speed dramatically on high latency links. 55142 This includes OpenSSH, and, for example, using the value of 255k works 55143 well, leaving plenty of room for overhead while still being within a 55144 total packet size of 256k. 55145 .PP 55146 Make sure to test thoroughly before using a value higher than 32k, and 55147 only use it if you always connect to the same server or after 55148 sufficiently broad testing. 55149 If you get errors such as \[dq]failed to send packet payload: EOF\[dq], 55150 lots of \[dq]connection lost\[dq], or \[dq]corrupted on transfer\[dq], 55151 when copying a larger file, try lowering the value. 55152 The server run by rclone serve sftp sends packets with standard 32k 55153 maximum payload so you must not set a different chunk_size when 55154 downloading files, but it accepts packets up to the 256k total size, so 55155 for uploads the chunk_size can be set as for the OpenSSH example above. 55156 .PP 55157 Properties: 55158 .IP \[bu] 2 55159 Config: chunk_size 55160 .IP \[bu] 2 55161 Env Var: RCLONE_SFTP_CHUNK_SIZE 55162 .IP \[bu] 2 55163 Type: SizeSuffix 55164 .IP \[bu] 2 55165 Default: 32Ki 55166 .SS --sftp-concurrency 55167 .PP 55168 The maximum number of outstanding requests for one file 55169 .PP 55170 This controls the maximum number of outstanding requests for one file. 55171 Increasing it will increase throughput on high latency links at the cost 55172 of using more memory. 55173 .PP 55174 Properties: 55175 .IP \[bu] 2 55176 Config: concurrency 55177 .IP \[bu] 2 55178 Env Var: RCLONE_SFTP_CONCURRENCY 55179 .IP \[bu] 2 55180 Type: int 55181 .IP \[bu] 2 55182 Default: 64 55183 .SS --sftp-set-env 55184 .PP 55185 Environment variables to pass to sftp and commands 55186 .PP 55187 Set environment variables in the form: 55188 .IP 55189 .nf 55190 \f[C] 55191 VAR=value 55192 \f[R] 55193 .fi 55194 .PP 55195 to be passed to the sftp client and to any commands run (eg md5sum). 55196 .PP 55197 Pass multiple variables space separated, eg 55198 .IP 55199 .nf 55200 \f[C] 55201 VAR1=value VAR2=value 55202 \f[R] 55203 .fi 55204 .PP 55205 and pass variables with spaces in quotes, eg 55206 .IP 55207 .nf 55208 \f[C] 55209 \[dq]VAR3=value with space\[dq] \[dq]VAR4=value with space\[dq] VAR5=nospacehere 55210 \f[R] 55211 .fi 55212 .PP 55213 Properties: 55214 .IP \[bu] 2 55215 Config: set_env 55216 .IP \[bu] 2 55217 Env Var: RCLONE_SFTP_SET_ENV 55218 .IP \[bu] 2 55219 Type: SpaceSepList 55220 .IP \[bu] 2 55221 Default: 55222 .SS --sftp-ciphers 55223 .PP 55224 Space separated list of ciphers to be used for session encryption, 55225 ordered by preference. 55226 .PP 55227 At least one must match with server configuration. 55228 This can be checked for example using ssh -Q cipher. 55229 .PP 55230 This must not be set if use_insecure_cipher is true. 55231 .PP 55232 Example: 55233 .IP 55234 .nf 55235 \f[C] 55236 aes128-ctr aes192-ctr aes256-ctr aes128-gcm\[at]openssh.com aes256-gcm\[at]openssh.com 55237 \f[R] 55238 .fi 55239 .PP 55240 Properties: 55241 .IP \[bu] 2 55242 Config: ciphers 55243 .IP \[bu] 2 55244 Env Var: RCLONE_SFTP_CIPHERS 55245 .IP \[bu] 2 55246 Type: SpaceSepList 55247 .IP \[bu] 2 55248 Default: 55249 .SS --sftp-key-exchange 55250 .PP 55251 Space separated list of key exchange algorithms, ordered by preference. 55252 .PP 55253 At least one must match with server configuration. 55254 This can be checked for example using ssh -Q kex. 55255 .PP 55256 This must not be set if use_insecure_cipher is true. 55257 .PP 55258 Example: 55259 .IP 55260 .nf 55261 \f[C] 55262 sntrup761x25519-sha512\[at]openssh.com curve25519-sha256 curve25519-sha256\[at]libssh.org ecdh-sha2-nistp256 55263 \f[R] 55264 .fi 55265 .PP 55266 Properties: 55267 .IP \[bu] 2 55268 Config: key_exchange 55269 .IP \[bu] 2 55270 Env Var: RCLONE_SFTP_KEY_EXCHANGE 55271 .IP \[bu] 2 55272 Type: SpaceSepList 55273 .IP \[bu] 2 55274 Default: 55275 .SS --sftp-macs 55276 .PP 55277 Space separated list of MACs (message authentication code) algorithms, 55278 ordered by preference. 55279 .PP 55280 At least one must match with server configuration. 55281 This can be checked for example using ssh -Q mac. 55282 .PP 55283 Example: 55284 .IP 55285 .nf 55286 \f[C] 55287 umac-64-etm\[at]openssh.com umac-128-etm\[at]openssh.com hmac-sha2-256-etm\[at]openssh.com 55288 \f[R] 55289 .fi 55290 .PP 55291 Properties: 55292 .IP \[bu] 2 55293 Config: macs 55294 .IP \[bu] 2 55295 Env Var: RCLONE_SFTP_MACS 55296 .IP \[bu] 2 55297 Type: SpaceSepList 55298 .IP \[bu] 2 55299 Default: 55300 .SS --sftp-host-key-algorithms 55301 .PP 55302 Space separated list of host key algorithms, ordered by preference. 55303 .PP 55304 At least one must match with server configuration. 55305 This can be checked for example using ssh -Q HostKeyAlgorithms. 55306 .PP 55307 Note: This can affect the outcome of key negotiation with the server 55308 even if server host key validation is not enabled. 55309 .PP 55310 Example: 55311 .IP 55312 .nf 55313 \f[C] 55314 ssh-ed25519 ssh-rsa ssh-dss 55315 \f[R] 55316 .fi 55317 .PP 55318 Properties: 55319 .IP \[bu] 2 55320 Config: host_key_algorithms 55321 .IP \[bu] 2 55322 Env Var: RCLONE_SFTP_HOST_KEY_ALGORITHMS 55323 .IP \[bu] 2 55324 Type: SpaceSepList 55325 .IP \[bu] 2 55326 Default: 55327 .SS Limitations 55328 .PP 55329 On some SFTP servers (e.g. 55330 Synology) the paths are different for SSH and SFTP so the hashes 55331 can\[aq]t be calculated properly. 55332 For them using \f[C]disable_hashcheck\f[R] is a good idea. 55333 .PP 55334 The only ssh agent supported under Windows is Putty\[aq]s pageant. 55335 .PP 55336 The Go SSH library disables the use of the aes128-cbc cipher by default, 55337 due to security concerns. 55338 This can be re-enabled on a per-connection basis by setting the 55339 \f[C]use_insecure_cipher\f[R] setting in the configuration file to 55340 \f[C]true\f[R]. 55341 Further details on the insecurity of this cipher can be found in this 55342 paper (http://www.isg.rhul.ac.uk/~kp/SandPfinal.pdf). 55343 .PP 55344 SFTP isn\[aq]t supported under plan9 until this 55345 issue (https://github.com/pkg/sftp/issues/156) is fixed. 55346 .PP 55347 Note that since SFTP isn\[aq]t HTTP based the following flags don\[aq]t 55348 work with it: \f[C]--dump-headers\f[R], \f[C]--dump-bodies\f[R], 55349 \f[C]--dump-auth\f[R]. 55350 .PP 55351 Note that \f[C]--timeout\f[R] and \f[C]--contimeout\f[R] are both 55352 supported. 55353 .SS rsync.net 55354 .PP 55355 rsync.net is supported through the SFTP backend. 55356 .PP 55357 See rsync.net\[aq]s documentation of rclone 55358 examples (https://www.rsync.net/products/rclone.html). 55359 .SS Hetzner Storage Box 55360 .PP 55361 Hetzner Storage Boxes are supported through the SFTP backend on port 23. 55362 .PP 55363 See Hetzner\[aq]s documentation for 55364 details (https://docs.hetzner.com/robot/storage-box/access/access-ssh-rsync-borg#rclone) 55365 .SH SMB 55366 .PP 55367 SMB is a communication protocol to share files over 55368 network (https://en.wikipedia.org/wiki/Server_Message_Block). 55369 .PP 55370 This relies on go-smb2 55371 library (https://github.com/hirochachacha/go-smb2/) for communication 55372 with SMB protocol. 55373 .PP 55374 Paths are specified as \f[C]remote:sharename\f[R] (or \f[C]remote:\f[R] 55375 for the \f[C]lsd\f[R] command.) You may put subdirectories in too, e.g. 55376 \f[C]remote:item/path/to/dir\f[R]. 55377 .SS Notes 55378 .PP 55379 The first path segment must be the name of the share, which you entered 55380 when you started to share on Windows. 55381 On smbd, it\[aq]s the section title in \f[C]smb.conf\f[R] (usually in 55382 \f[C]/etc/samba/\f[R]) file. 55383 You can find shares by querying the root if you\[aq]re unsure (e.g. 55384 \f[C]rclone lsd remote:\f[R]). 55385 .PP 55386 You can\[aq]t access to the shared printers from rclone, obviously. 55387 .PP 55388 You can\[aq]t use Anonymous access for logging in. 55389 You have to use the \f[C]guest\f[R] user with an empty password instead. 55390 The rclone client tries to avoid 8.3 names when uploading files by 55391 encoding trailing spaces and periods. 55392 Alternatively, the local 55393 backend (https://rclone.org/local/#paths-on-windows) on Windows can 55394 access SMB servers using UNC paths, by 55395 \f[C]\[rs]\[rs]server\[rs]share\f[R]. 55396 This doesn\[aq]t apply to non-Windows OSes, such as Linux and macOS. 55397 .SS Configuration 55398 .PP 55399 Here is an example of making a SMB configuration. 55400 .PP 55401 First run 55402 .IP 55403 .nf 55404 \f[C] 55405 rclone config 55406 \f[R] 55407 .fi 55408 .PP 55409 This will guide you through an interactive setup process. 55410 .IP 55411 .nf 55412 \f[C] 55413 No remotes found, make a new one? 55414 n) New remote 55415 s) Set configuration password 55416 q) Quit config 55417 n/s/q> n 55418 name> remote 55419 Option Storage. 55420 Type of storage to configure. 55421 Choose a number from below, or type in your own value. 55422 XX / SMB / CIFS 55423 \[rs] (smb) 55424 Storage> smb 55425 55426 Option host. 55427 Samba hostname to connect to. 55428 E.g. \[dq]example.com\[dq]. 55429 Enter a value. 55430 host> localhost 55431 55432 Option user. 55433 Samba username. 55434 Enter a string value. Press Enter for the default (lesmi). 55435 user> guest 55436 55437 Option port. 55438 Samba port number. 55439 Enter a signed integer. Press Enter for the default (445). 55440 port> 55441 55442 Option pass. 55443 Samba password. 55444 Choose an alternative below. Press Enter for the default (n). 55445 y) Yes, type in my own password 55446 g) Generate random password 55447 n) No, leave this optional password blank (default) 55448 y/g/n> g 55449 Password strength in bits. 55450 64 is just about memorable 55451 128 is secure 55452 1024 is the maximum 55453 Bits> 64 55454 Your password is: XXXX 55455 Use this password? Please note that an obscured version of this 55456 password (and not the password itself) will be stored under your 55457 configuration file, so keep this generated password in a safe place. 55458 y) Yes (default) 55459 n) No 55460 y/n> y 55461 55462 Option domain. 55463 Domain name for NTLM authentication. 55464 Enter a string value. Press Enter for the default (WORKGROUP). 55465 domain> 55466 55467 Edit advanced config? 55468 y) Yes 55469 n) No (default) 55470 y/n> n 55471 55472 Configuration complete. 55473 Options: 55474 - type: samba 55475 - host: localhost 55476 - user: guest 55477 - pass: *** ENCRYPTED *** 55478 Keep this \[dq]remote\[dq] remote? 55479 y) Yes this is OK (default) 55480 e) Edit this remote 55481 d) Delete this remote 55482 y/e/d> d 55483 \f[R] 55484 .fi 55485 .SS Standard options 55486 .PP 55487 Here are the Standard options specific to smb (SMB / CIFS). 55488 .SS --smb-host 55489 .PP 55490 SMB server hostname to connect to. 55491 .PP 55492 E.g. 55493 \[dq]example.com\[dq]. 55494 .PP 55495 Properties: 55496 .IP \[bu] 2 55497 Config: host 55498 .IP \[bu] 2 55499 Env Var: RCLONE_SMB_HOST 55500 .IP \[bu] 2 55501 Type: string 55502 .IP \[bu] 2 55503 Required: true 55504 .SS --smb-user 55505 .PP 55506 SMB username. 55507 .PP 55508 Properties: 55509 .IP \[bu] 2 55510 Config: user 55511 .IP \[bu] 2 55512 Env Var: RCLONE_SMB_USER 55513 .IP \[bu] 2 55514 Type: string 55515 .IP \[bu] 2 55516 Default: \[dq]$USER\[dq] 55517 .SS --smb-port 55518 .PP 55519 SMB port number. 55520 .PP 55521 Properties: 55522 .IP \[bu] 2 55523 Config: port 55524 .IP \[bu] 2 55525 Env Var: RCLONE_SMB_PORT 55526 .IP \[bu] 2 55527 Type: int 55528 .IP \[bu] 2 55529 Default: 445 55530 .SS --smb-pass 55531 .PP 55532 SMB password. 55533 .PP 55534 \f[B]NB\f[R] Input to this must be obscured - see rclone 55535 obscure (https://rclone.org/commands/rclone_obscure/). 55536 .PP 55537 Properties: 55538 .IP \[bu] 2 55539 Config: pass 55540 .IP \[bu] 2 55541 Env Var: RCLONE_SMB_PASS 55542 .IP \[bu] 2 55543 Type: string 55544 .IP \[bu] 2 55545 Required: false 55546 .SS --smb-domain 55547 .PP 55548 Domain name for NTLM authentication. 55549 .PP 55550 Properties: 55551 .IP \[bu] 2 55552 Config: domain 55553 .IP \[bu] 2 55554 Env Var: RCLONE_SMB_DOMAIN 55555 .IP \[bu] 2 55556 Type: string 55557 .IP \[bu] 2 55558 Default: \[dq]WORKGROUP\[dq] 55559 .SS --smb-spn 55560 .PP 55561 Service principal name. 55562 .PP 55563 Rclone presents this name to the server. 55564 Some servers use this as further authentication, and it often needs to 55565 be set for clusters. 55566 For example: 55567 .IP 55568 .nf 55569 \f[C] 55570 cifs/remotehost:1020 55571 \f[R] 55572 .fi 55573 .PP 55574 Leave blank if not sure. 55575 .PP 55576 Properties: 55577 .IP \[bu] 2 55578 Config: spn 55579 .IP \[bu] 2 55580 Env Var: RCLONE_SMB_SPN 55581 .IP \[bu] 2 55582 Type: string 55583 .IP \[bu] 2 55584 Required: false 55585 .SS Advanced options 55586 .PP 55587 Here are the Advanced options specific to smb (SMB / CIFS). 55588 .SS --smb-idle-timeout 55589 .PP 55590 Max time before closing idle connections. 55591 .PP 55592 If no connections have been returned to the connection pool in the time 55593 given, rclone will empty the connection pool. 55594 .PP 55595 Set to 0 to keep connections indefinitely. 55596 .PP 55597 Properties: 55598 .IP \[bu] 2 55599 Config: idle_timeout 55600 .IP \[bu] 2 55601 Env Var: RCLONE_SMB_IDLE_TIMEOUT 55602 .IP \[bu] 2 55603 Type: Duration 55604 .IP \[bu] 2 55605 Default: 1m0s 55606 .SS --smb-hide-special-share 55607 .PP 55608 Hide special shares (e.g. 55609 print$) which users aren\[aq]t supposed to access. 55610 .PP 55611 Properties: 55612 .IP \[bu] 2 55613 Config: hide_special_share 55614 .IP \[bu] 2 55615 Env Var: RCLONE_SMB_HIDE_SPECIAL_SHARE 55616 .IP \[bu] 2 55617 Type: bool 55618 .IP \[bu] 2 55619 Default: true 55620 .SS --smb-case-insensitive 55621 .PP 55622 Whether the server is configured to be case-insensitive. 55623 .PP 55624 Always true on Windows shares. 55625 .PP 55626 Properties: 55627 .IP \[bu] 2 55628 Config: case_insensitive 55629 .IP \[bu] 2 55630 Env Var: RCLONE_SMB_CASE_INSENSITIVE 55631 .IP \[bu] 2 55632 Type: bool 55633 .IP \[bu] 2 55634 Default: true 55635 .SS --smb-encoding 55636 .PP 55637 The encoding for the backend. 55638 .PP 55639 See the encoding section in the 55640 overview (https://rclone.org/overview/#encoding) for more info. 55641 .PP 55642 Properties: 55643 .IP \[bu] 2 55644 Config: encoding 55645 .IP \[bu] 2 55646 Env Var: RCLONE_SMB_ENCODING 55647 .IP \[bu] 2 55648 Type: MultiEncoder 55649 .IP \[bu] 2 55650 Default: 55651 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot 55652 .SH Storj 55653 .PP 55654 Storj (https://storj.io) is an encrypted, secure, and cost-effective 55655 object storage service that enables you to store, back up, and archive 55656 large amounts of data in a decentralized manner. 55657 .SS Backend options 55658 .PP 55659 Storj can be used both with this native backend and with the s3 backend 55660 using the Storj S3 compatible gateway (https://rclone.org/s3/#storj) 55661 (shared or private). 55662 .PP 55663 Use this backend to take advantage of client-side encryption as well as 55664 to achieve the best possible download performance. 55665 Uploads will be erasure-coded locally, thus a 1gb upload will result in 55666 2.68gb of data being uploaded to storage nodes across the network. 55667 .PP 55668 Use the s3 backend and one of the S3 compatible Hosted Gateways to 55669 increase upload performance and reduce the load on your systems and 55670 network. 55671 Uploads will be encrypted and erasure-coded server-side, thus a 1GB 55672 upload will result in only in 1GB of data being uploaded to storage 55673 nodes across the network. 55674 .PP 55675 Side by side comparison with more details: 55676 .IP \[bu] 2 55677 Characteristics: 55678 .RS 2 55679 .IP \[bu] 2 55680 \f[I]Storj backend\f[R]: Uses native RPC protocol, connects directly to 55681 the storage nodes which hosts the data. 55682 Requires more CPU resource of encoding/decoding and has network 55683 amplification (especially during the upload), uses lots of TCP 55684 connections 55685 .IP \[bu] 2 55686 \f[I]S3 backend\f[R]: Uses S3 compatible HTTP Rest API via the shared 55687 gateways. 55688 There is no network amplification, but performance depends on the shared 55689 gateways and the secret encryption key is shared with the gateway. 55690 .RE 55691 .IP \[bu] 2 55692 Typical usage: 55693 .RS 2 55694 .IP \[bu] 2 55695 \f[I]Storj backend\f[R]: Server environments and desktops with enough 55696 resources, internet speed and connectivity - and applications where 55697 storjs client-side encryption is required. 55698 .IP \[bu] 2 55699 \f[I]S3 backend\f[R]: Desktops and similar with limited resources, 55700 internet speed or connectivity. 55701 .RE 55702 .IP \[bu] 2 55703 Security: 55704 .RS 2 55705 .IP \[bu] 2 55706 \f[I]Storj backend\f[R]: \f[B]strong\f[R]. 55707 Private encryption key doesn\[aq]t need to leave the local computer. 55708 .IP \[bu] 2 55709 \f[I]S3 backend\f[R]: \f[B]weaker\f[R]. 55710 Private encryption key is shared 55711 with (https://docs.storj.io/dcs/api-reference/s3-compatible-gateway#security-and-encryption) 55712 the authentication service of the hosted gateway, where it\[aq]s stored 55713 encrypted. 55714 It can be stronger when combining with the rclone crypt backend. 55715 .RE 55716 .IP \[bu] 2 55717 Bandwidth usage (upload): 55718 .RS 2 55719 .IP \[bu] 2 55720 \f[I]Storj backend\f[R]: \f[B]higher\f[R]. 55721 As data is erasure coded on the client side both the original data and 55722 the parities should be uploaded. 55723 About \[ti]2.7 times more data is required to be uploaded. 55724 Client may start to upload with even higher number of nodes (\[ti]3.7 55725 times more) and abandon/stop the slow uploads. 55726 .IP \[bu] 2 55727 \f[I]S3 backend\f[R]: \f[B]normal\f[R]. 55728 Only the raw data is uploaded, erasure coding happens on the gateway. 55729 .RE 55730 .IP \[bu] 2 55731 Bandwidth usage (download) 55732 .RS 2 55733 .IP \[bu] 2 55734 \f[I]Storj backend\f[R]: \f[B]almost normal\f[R]. 55735 Only the minimal number of data is required, but to avoid very slow data 55736 providers a few more sources are used and the slowest are ignored (max 55737 1.2x overhead). 55738 .IP \[bu] 2 55739 \f[I]S3 backend\f[R]: \f[B]normal\f[R]. 55740 Only the raw data is downloaded, erasure coding happens on the shared 55741 gateway. 55742 .RE 55743 .IP \[bu] 2 55744 CPU usage: 55745 .RS 2 55746 .IP \[bu] 2 55747 \f[I]Storj backend\f[R]: \f[B]higher\f[R], but more predictable. 55748 Erasure code and encryption/decryption happens locally which requires 55749 significant CPU usage. 55750 .IP \[bu] 2 55751 \f[I]S3 backend\f[R]: \f[B]less\f[R]. 55752 Erasure code and encryption/decryption happens on shared s3 gateways 55753 (and as is, it depends on the current load on the gateways) 55754 .RE 55755 .IP \[bu] 2 55756 TCP connection usage: 55757 .RS 2 55758 .IP \[bu] 2 55759 \f[I]Storj backend\f[R]: \f[B]high\f[R]. 55760 A direct connection is required to each of the Storj nodes resulting in 55761 110 connections on upload and 35 on download per 64 MB segment. 55762 Not all the connections are actively used (slow ones are pruned), but 55763 they are all opened. 55764 Adjusting the max open file 55765 limit (https://rclone.org/storj/#known-issues) may be required. 55766 .IP \[bu] 2 55767 \f[I]S3 backend\f[R]: \f[B]normal\f[R]. 55768 Only one connection per download/upload thread is required to the shared 55769 gateway. 55770 .RE 55771 .IP \[bu] 2 55772 Overall performance: 55773 .RS 2 55774 .IP \[bu] 2 55775 \f[I]Storj backend\f[R]: with enough resources (CPU and bandwidth) 55776 \f[I]storj\f[R] backend can provide even 2x better performance. 55777 Data is directly downloaded to / uploaded from to the client instead of 55778 the gateway. 55779 .IP \[bu] 2 55780 \f[I]S3 backend\f[R]: Can be faster on edge devices where CPU and 55781 network bandwidth is limited as the shared S3 compatible gateways take 55782 care about the encrypting/decryption and erasure coding and no 55783 download/upload amplification. 55784 .RE 55785 .IP \[bu] 2 55786 Decentralization: 55787 .RS 2 55788 .IP \[bu] 2 55789 \f[I]Storj backend\f[R]: \f[B]high\f[R]. 55790 Data is downloaded directly from the distributed cloud of storage 55791 providers. 55792 .IP \[bu] 2 55793 \f[I]S3 backend\f[R]: \f[B]low\f[R]. 55794 Requires a running S3 gateway (either self-hosted or Storj-hosted). 55795 .RE 55796 .IP \[bu] 2 55797 Limitations: 55798 .RS 2 55799 .IP \[bu] 2 55800 \f[I]Storj backend\f[R]: \f[C]rclone checksum\f[R] is not possible 55801 without download, as checksum metadata is not calculated during upload 55802 .IP \[bu] 2 55803 \f[I]S3 backend\f[R]: secret encryption key is shared with the gateway 55804 .RE 55805 .SS Configuration 55806 .PP 55807 To make a new Storj configuration you need one of the following: * 55808 Access Grant that someone else shared with you. 55809 * API 55810 Key (https://documentation.storj.io/getting-started/uploading-your-first-object/create-an-api-key) 55811 of a Storj project you are a member of. 55812 .PP 55813 Here is an example of how to make a remote called \f[C]remote\f[R]. 55814 First run: 55815 .IP 55816 .nf 55817 \f[C] 55818 rclone config 55819 \f[R] 55820 .fi 55821 .PP 55822 This will guide you through an interactive setup process: 55823 .SS Setup with access grant 55824 .IP 55825 .nf 55826 \f[C] 55827 No remotes found, make a new one? 55828 n) New remote 55829 s) Set configuration password 55830 q) Quit config 55831 n/s/q> n 55832 name> remote 55833 Type of storage to configure. 55834 Enter a string value. Press Enter for the default (\[dq]\[dq]). 55835 Choose a number from below, or type in your own value 55836 [snip] 55837 XX / Storj Decentralized Cloud Storage 55838 \[rs] \[dq]storj\[dq] 55839 [snip] 55840 Storage> storj 55841 ** See help for storj backend at: https://rclone.org/storj/ ** 55842 55843 Choose an authentication method. 55844 Enter a string value. Press Enter for the default (\[dq]existing\[dq]). 55845 Choose a number from below, or type in your own value 55846 1 / Use an existing access grant. 55847 \[rs] \[dq]existing\[dq] 55848 2 / Create a new access grant from satellite address, API key, and passphrase. 55849 \[rs] \[dq]new\[dq] 55850 provider> existing 55851 Access Grant. 55852 Enter a string value. Press Enter for the default (\[dq]\[dq]). 55853 access_grant> your-access-grant-received-by-someone-else 55854 Remote config 55855 -------------------- 55856 [remote] 55857 type = storj 55858 access_grant = your-access-grant-received-by-someone-else 55859 -------------------- 55860 y) Yes this is OK (default) 55861 e) Edit this remote 55862 d) Delete this remote 55863 y/e/d> y 55864 \f[R] 55865 .fi 55866 .SS Setup with API key and passphrase 55867 .IP 55868 .nf 55869 \f[C] 55870 No remotes found, make a new one? 55871 n) New remote 55872 s) Set configuration password 55873 q) Quit config 55874 n/s/q> n 55875 name> remote 55876 Type of storage to configure. 55877 Enter a string value. Press Enter for the default (\[dq]\[dq]). 55878 Choose a number from below, or type in your own value 55879 [snip] 55880 XX / Storj Decentralized Cloud Storage 55881 \[rs] \[dq]storj\[dq] 55882 [snip] 55883 Storage> storj 55884 ** See help for storj backend at: https://rclone.org/storj/ ** 55885 55886 Choose an authentication method. 55887 Enter a string value. Press Enter for the default (\[dq]existing\[dq]). 55888 Choose a number from below, or type in your own value 55889 1 / Use an existing access grant. 55890 \[rs] \[dq]existing\[dq] 55891 2 / Create a new access grant from satellite address, API key, and passphrase. 55892 \[rs] \[dq]new\[dq] 55893 provider> new 55894 Satellite Address. Custom satellite address should match the format: \[ga]<nodeid>\[at]<address>:<port>\[ga]. 55895 Enter a string value. Press Enter for the default (\[dq]us1.storj.io\[dq]). 55896 Choose a number from below, or type in your own value 55897 1 / US1 55898 \[rs] \[dq]us1.storj.io\[dq] 55899 2 / EU1 55900 \[rs] \[dq]eu1.storj.io\[dq] 55901 3 / AP1 55902 \[rs] \[dq]ap1.storj.io\[dq] 55903 satellite_address> 1 55904 API Key. 55905 Enter a string value. Press Enter for the default (\[dq]\[dq]). 55906 api_key> your-api-key-for-your-storj-project 55907 Encryption Passphrase. To access existing objects enter passphrase used for uploading. 55908 Enter a string value. Press Enter for the default (\[dq]\[dq]). 55909 passphrase> your-human-readable-encryption-passphrase 55910 Remote config 55911 -------------------- 55912 [remote] 55913 type = storj 55914 satellite_address = 12EayRS2V1kEsWESU9QMRseFhdxYxKicsiFmxrsLZHeLUtdps3S\[at]us1.storj.io:7777 55915 api_key = your-api-key-for-your-storj-project 55916 passphrase = your-human-readable-encryption-passphrase 55917 access_grant = the-access-grant-generated-from-the-api-key-and-passphrase 55918 -------------------- 55919 y) Yes this is OK (default) 55920 e) Edit this remote 55921 d) Delete this remote 55922 y/e/d> y 55923 \f[R] 55924 .fi 55925 .SS Standard options 55926 .PP 55927 Here are the Standard options specific to storj (Storj Decentralized 55928 Cloud Storage). 55929 .SS --storj-provider 55930 .PP 55931 Choose an authentication method. 55932 .PP 55933 Properties: 55934 .IP \[bu] 2 55935 Config: provider 55936 .IP \[bu] 2 55937 Env Var: RCLONE_STORJ_PROVIDER 55938 .IP \[bu] 2 55939 Type: string 55940 .IP \[bu] 2 55941 Default: \[dq]existing\[dq] 55942 .IP \[bu] 2 55943 Examples: 55944 .RS 2 55945 .IP \[bu] 2 55946 \[dq]existing\[dq] 55947 .RS 2 55948 .IP \[bu] 2 55949 Use an existing access grant. 55950 .RE 55951 .IP \[bu] 2 55952 \[dq]new\[dq] 55953 .RS 2 55954 .IP \[bu] 2 55955 Create a new access grant from satellite address, API key, and 55956 passphrase. 55957 .RE 55958 .RE 55959 .SS --storj-access-grant 55960 .PP 55961 Access grant. 55962 .PP 55963 Properties: 55964 .IP \[bu] 2 55965 Config: access_grant 55966 .IP \[bu] 2 55967 Env Var: RCLONE_STORJ_ACCESS_GRANT 55968 .IP \[bu] 2 55969 Provider: existing 55970 .IP \[bu] 2 55971 Type: string 55972 .IP \[bu] 2 55973 Required: false 55974 .SS --storj-satellite-address 55975 .PP 55976 Satellite address. 55977 .PP 55978 Custom satellite address should match the format: 55979 \f[C]<nodeid>\[at]<address>:<port>\f[R]. 55980 .PP 55981 Properties: 55982 .IP \[bu] 2 55983 Config: satellite_address 55984 .IP \[bu] 2 55985 Env Var: RCLONE_STORJ_SATELLITE_ADDRESS 55986 .IP \[bu] 2 55987 Provider: new 55988 .IP \[bu] 2 55989 Type: string 55990 .IP \[bu] 2 55991 Default: \[dq]us1.storj.io\[dq] 55992 .IP \[bu] 2 55993 Examples: 55994 .RS 2 55995 .IP \[bu] 2 55996 \[dq]us1.storj.io\[dq] 55997 .RS 2 55998 .IP \[bu] 2 55999 US1 56000 .RE 56001 .IP \[bu] 2 56002 \[dq]eu1.storj.io\[dq] 56003 .RS 2 56004 .IP \[bu] 2 56005 EU1 56006 .RE 56007 .IP \[bu] 2 56008 \[dq]ap1.storj.io\[dq] 56009 .RS 2 56010 .IP \[bu] 2 56011 AP1 56012 .RE 56013 .RE 56014 .SS --storj-api-key 56015 .PP 56016 API key. 56017 .PP 56018 Properties: 56019 .IP \[bu] 2 56020 Config: api_key 56021 .IP \[bu] 2 56022 Env Var: RCLONE_STORJ_API_KEY 56023 .IP \[bu] 2 56024 Provider: new 56025 .IP \[bu] 2 56026 Type: string 56027 .IP \[bu] 2 56028 Required: false 56029 .SS --storj-passphrase 56030 .PP 56031 Encryption passphrase. 56032 .PP 56033 To access existing objects enter passphrase used for uploading. 56034 .PP 56035 Properties: 56036 .IP \[bu] 2 56037 Config: passphrase 56038 .IP \[bu] 2 56039 Env Var: RCLONE_STORJ_PASSPHRASE 56040 .IP \[bu] 2 56041 Provider: new 56042 .IP \[bu] 2 56043 Type: string 56044 .IP \[bu] 2 56045 Required: false 56046 .SS Usage 56047 .PP 56048 Paths are specified as \f[C]remote:bucket\f[R] (or \f[C]remote:\f[R] for 56049 the \f[C]lsf\f[R] command.) You may put subdirectories in too, e.g. 56050 \f[C]remote:bucket/path/to/dir\f[R]. 56051 .PP 56052 Once configured you can then use \f[C]rclone\f[R] like this. 56053 .SS Create a new bucket 56054 .PP 56055 Use the \f[C]mkdir\f[R] command to create new bucket, e.g. 56056 \f[C]bucket\f[R]. 56057 .IP 56058 .nf 56059 \f[C] 56060 rclone mkdir remote:bucket 56061 \f[R] 56062 .fi 56063 .SS List all buckets 56064 .PP 56065 Use the \f[C]lsf\f[R] command to list all buckets. 56066 .IP 56067 .nf 56068 \f[C] 56069 rclone lsf remote: 56070 \f[R] 56071 .fi 56072 .PP 56073 Note the colon (\f[C]:\f[R]) character at the end of the command line. 56074 .SS Delete a bucket 56075 .PP 56076 Use the \f[C]rmdir\f[R] command to delete an empty bucket. 56077 .IP 56078 .nf 56079 \f[C] 56080 rclone rmdir remote:bucket 56081 \f[R] 56082 .fi 56083 .PP 56084 Use the \f[C]purge\f[R] command to delete a non-empty bucket with all 56085 its content. 56086 .IP 56087 .nf 56088 \f[C] 56089 rclone purge remote:bucket 56090 \f[R] 56091 .fi 56092 .SS Upload objects 56093 .PP 56094 Use the \f[C]copy\f[R] command to upload an object. 56095 .IP 56096 .nf 56097 \f[C] 56098 rclone copy --progress /home/local/directory/file.ext remote:bucket/path/to/dir/ 56099 \f[R] 56100 .fi 56101 .PP 56102 The \f[C]--progress\f[R] flag is for displaying progress information. 56103 Remove it if you don\[aq]t need this information. 56104 .PP 56105 Use a folder in the local path to upload all its objects. 56106 .IP 56107 .nf 56108 \f[C] 56109 rclone copy --progress /home/local/directory/ remote:bucket/path/to/dir/ 56110 \f[R] 56111 .fi 56112 .PP 56113 Only modified files will be copied. 56114 .SS List objects 56115 .PP 56116 Use the \f[C]ls\f[R] command to list recursively all objects in a 56117 bucket. 56118 .IP 56119 .nf 56120 \f[C] 56121 rclone ls remote:bucket 56122 \f[R] 56123 .fi 56124 .PP 56125 Add the folder to the remote path to list recursively all objects in 56126 this folder. 56127 .IP 56128 .nf 56129 \f[C] 56130 rclone ls remote:bucket/path/to/dir/ 56131 \f[R] 56132 .fi 56133 .PP 56134 Use the \f[C]lsf\f[R] command to list non-recursively all objects in a 56135 bucket or a folder. 56136 .IP 56137 .nf 56138 \f[C] 56139 rclone lsf remote:bucket/path/to/dir/ 56140 \f[R] 56141 .fi 56142 .SS Download objects 56143 .PP 56144 Use the \f[C]copy\f[R] command to download an object. 56145 .IP 56146 .nf 56147 \f[C] 56148 rclone copy --progress remote:bucket/path/to/dir/file.ext /home/local/directory/ 56149 \f[R] 56150 .fi 56151 .PP 56152 The \f[C]--progress\f[R] flag is for displaying progress information. 56153 Remove it if you don\[aq]t need this information. 56154 .PP 56155 Use a folder in the remote path to download all its objects. 56156 .IP 56157 .nf 56158 \f[C] 56159 rclone copy --progress remote:bucket/path/to/dir/ /home/local/directory/ 56160 \f[R] 56161 .fi 56162 .SS Delete objects 56163 .PP 56164 Use the \f[C]deletefile\f[R] command to delete a single object. 56165 .IP 56166 .nf 56167 \f[C] 56168 rclone deletefile remote:bucket/path/to/dir/file.ext 56169 \f[R] 56170 .fi 56171 .PP 56172 Use the \f[C]delete\f[R] command to delete all object in a folder. 56173 .IP 56174 .nf 56175 \f[C] 56176 rclone delete remote:bucket/path/to/dir/ 56177 \f[R] 56178 .fi 56179 .SS Print the total size of objects 56180 .PP 56181 Use the \f[C]size\f[R] command to print the total size of objects in a 56182 bucket or a folder. 56183 .IP 56184 .nf 56185 \f[C] 56186 rclone size remote:bucket/path/to/dir/ 56187 \f[R] 56188 .fi 56189 .SS Sync two Locations 56190 .PP 56191 Use the \f[C]sync\f[R] command to sync the source to the destination, 56192 changing the destination only, deleting any excess files. 56193 .IP 56194 .nf 56195 \f[C] 56196 rclone sync --interactive --progress /home/local/directory/ remote:bucket/path/to/dir/ 56197 \f[R] 56198 .fi 56199 .PP 56200 The \f[C]--progress\f[R] flag is for displaying progress information. 56201 Remove it if you don\[aq]t need this information. 56202 .PP 56203 Since this can cause data loss, test first with the \f[C]--dry-run\f[R] 56204 flag to see exactly what would be copied and deleted. 56205 .PP 56206 The sync can be done also from Storj to the local file system. 56207 .IP 56208 .nf 56209 \f[C] 56210 rclone sync --interactive --progress remote:bucket/path/to/dir/ /home/local/directory/ 56211 \f[R] 56212 .fi 56213 .PP 56214 Or between two Storj buckets. 56215 .IP 56216 .nf 56217 \f[C] 56218 rclone sync --interactive --progress remote-us:bucket/path/to/dir/ remote-europe:bucket/path/to/dir/ 56219 \f[R] 56220 .fi 56221 .PP 56222 Or even between another cloud storage and Storj. 56223 .IP 56224 .nf 56225 \f[C] 56226 rclone sync --interactive --progress s3:bucket/path/to/dir/ storj:bucket/path/to/dir/ 56227 \f[R] 56228 .fi 56229 .SS Limitations 56230 .PP 56231 \f[C]rclone about\f[R] is not supported by the rclone Storj backend. 56232 Backends without this capability cannot determine free space for an 56233 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 56234 of an rclone union remote. 56235 .PP 56236 See List of backends that do not support rclone 56237 about (https://rclone.org/overview/#optional-features) and rclone 56238 about (https://rclone.org/commands/rclone_about/) 56239 .SS Known issues 56240 .PP 56241 If you get errors like \f[C]too many open files\f[R] this usually 56242 happens when the default \f[C]ulimit\f[R] for system max open files is 56243 exceeded. 56244 Native Storj protocol opens a large number of TCP connections (each of 56245 which is counted as an open file). 56246 For a single upload stream you can expect 110 TCP connections to be 56247 opened. 56248 For a single download stream you can expect 35. 56249 This batch of connections will be opened for every 64 MiB segment and 56250 you should also expect TCP connections to be reused. 56251 If you do many transfers you eventually open a connection to most 56252 storage nodes (thousands of nodes). 56253 .PP 56254 To fix these, please raise your system limits. 56255 You can do this issuing a \f[C]ulimit -n 65536\f[R] just before you run 56256 rclone. 56257 To change the limits more permanently you can add this to your shell 56258 startup script, e.g. 56259 \f[C]$HOME/.bashrc\f[R], or change the system-wide configuration, 56260 usually \f[C]/etc/sysctl.conf\f[R] and/or 56261 \f[C]/etc/security/limits.conf\f[R], but please refer to your operating 56262 system manual. 56263 .SH SugarSync 56264 .PP 56265 SugarSync (https://sugarsync.com) is a cloud service that enables active 56266 synchronization of files across computers and other devices for file 56267 backup, access, syncing, and sharing. 56268 .SS Configuration 56269 .PP 56270 The initial setup for SugarSync involves getting a token from SugarSync 56271 which you can do with rclone. 56272 \f[C]rclone config\f[R] walks you through it. 56273 .PP 56274 Here is an example of how to make a remote called \f[C]remote\f[R]. 56275 First run: 56276 .IP 56277 .nf 56278 \f[C] 56279 rclone config 56280 \f[R] 56281 .fi 56282 .PP 56283 This will guide you through an interactive setup process: 56284 .IP 56285 .nf 56286 \f[C] 56287 No remotes found, make a new one? 56288 n) New remote 56289 s) Set configuration password 56290 q) Quit config 56291 n/s/q> n 56292 name> remote 56293 Type of storage to configure. 56294 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56295 Choose a number from below, or type in your own value 56296 [snip] 56297 XX / Sugarsync 56298 \[rs] \[dq]sugarsync\[dq] 56299 [snip] 56300 Storage> sugarsync 56301 ** See help for sugarsync backend at: https://rclone.org/sugarsync/ ** 56302 56303 Sugarsync App ID. 56304 Leave blank to use rclone\[aq]s. 56305 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56306 app_id> 56307 Sugarsync Access Key ID. 56308 Leave blank to use rclone\[aq]s. 56309 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56310 access_key_id> 56311 Sugarsync Private Access Key 56312 Leave blank to use rclone\[aq]s. 56313 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56314 private_access_key> 56315 Permanently delete files if true 56316 otherwise put them in the deleted files. 56317 Enter a boolean value (true or false). Press Enter for the default (\[dq]false\[dq]). 56318 hard_delete> 56319 Edit advanced config? (y/n) 56320 y) Yes 56321 n) No (default) 56322 y/n> n 56323 Remote config 56324 Username (email address)> nick\[at]craig-wood.com 56325 Your Sugarsync password is only required during setup and will not be stored. 56326 password: 56327 -------------------- 56328 [remote] 56329 type = sugarsync 56330 refresh_token = https://api.sugarsync.com/app-authorization/XXXXXXXXXXXXXXXXXX 56331 -------------------- 56332 y) Yes this is OK (default) 56333 e) Edit this remote 56334 d) Delete this remote 56335 y/e/d> y 56336 \f[R] 56337 .fi 56338 .PP 56339 Note that the config asks for your email and password but doesn\[aq]t 56340 store them, it only uses them to get the initial token. 56341 .PP 56342 Once configured you can then use \f[C]rclone\f[R] like this, 56343 .PP 56344 List directories (sync folders) in top level of your SugarSync 56345 .IP 56346 .nf 56347 \f[C] 56348 rclone lsd remote: 56349 \f[R] 56350 .fi 56351 .PP 56352 List all the files in your SugarSync folder \[dq]Test\[dq] 56353 .IP 56354 .nf 56355 \f[C] 56356 rclone ls remote:Test 56357 \f[R] 56358 .fi 56359 .PP 56360 To copy a local directory to an SugarSync folder called backup 56361 .IP 56362 .nf 56363 \f[C] 56364 rclone copy /home/source remote:backup 56365 \f[R] 56366 .fi 56367 .PP 56368 Paths are specified as \f[C]remote:path\f[R] 56369 .PP 56370 Paths may be as deep as required, e.g. 56371 \f[C]remote:directory/subdirectory\f[R]. 56372 .PP 56373 \f[B]NB\f[R] you can\[aq]t create files in the top level folder you have 56374 to create a folder, which rclone will create as a \[dq]Sync Folder\[dq] 56375 with SugarSync. 56376 .SS Modified time and hashes 56377 .PP 56378 SugarSync does not support modification times or hashes, therefore 56379 syncing will default to \f[C]--size-only\f[R] checking. 56380 Note that using \f[C]--update\f[R] will work as rclone can read the time 56381 files were uploaded. 56382 .SS Restricted filename characters 56383 .PP 56384 SugarSync replaces the default restricted characters 56385 set (https://rclone.org/overview/#restricted-characters) except for DEL. 56386 .PP 56387 Invalid UTF-8 bytes will also be 56388 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 56389 be used in XML strings. 56390 .SS Deleting files 56391 .PP 56392 Deleted files will be moved to the \[dq]Deleted items\[dq] folder by 56393 default. 56394 .PP 56395 However you can supply the flag \f[C]--sugarsync-hard-delete\f[R] or set 56396 the config parameter \f[C]hard_delete = true\f[R] if you would like 56397 files to be deleted straight away. 56398 .SS Standard options 56399 .PP 56400 Here are the Standard options specific to sugarsync (Sugarsync). 56401 .SS --sugarsync-app-id 56402 .PP 56403 Sugarsync App ID. 56404 .PP 56405 Leave blank to use rclone\[aq]s. 56406 .PP 56407 Properties: 56408 .IP \[bu] 2 56409 Config: app_id 56410 .IP \[bu] 2 56411 Env Var: RCLONE_SUGARSYNC_APP_ID 56412 .IP \[bu] 2 56413 Type: string 56414 .IP \[bu] 2 56415 Required: false 56416 .SS --sugarsync-access-key-id 56417 .PP 56418 Sugarsync Access Key ID. 56419 .PP 56420 Leave blank to use rclone\[aq]s. 56421 .PP 56422 Properties: 56423 .IP \[bu] 2 56424 Config: access_key_id 56425 .IP \[bu] 2 56426 Env Var: RCLONE_SUGARSYNC_ACCESS_KEY_ID 56427 .IP \[bu] 2 56428 Type: string 56429 .IP \[bu] 2 56430 Required: false 56431 .SS --sugarsync-private-access-key 56432 .PP 56433 Sugarsync Private Access Key. 56434 .PP 56435 Leave blank to use rclone\[aq]s. 56436 .PP 56437 Properties: 56438 .IP \[bu] 2 56439 Config: private_access_key 56440 .IP \[bu] 2 56441 Env Var: RCLONE_SUGARSYNC_PRIVATE_ACCESS_KEY 56442 .IP \[bu] 2 56443 Type: string 56444 .IP \[bu] 2 56445 Required: false 56446 .SS --sugarsync-hard-delete 56447 .PP 56448 Permanently delete files if true otherwise put them in the deleted 56449 files. 56450 .PP 56451 Properties: 56452 .IP \[bu] 2 56453 Config: hard_delete 56454 .IP \[bu] 2 56455 Env Var: RCLONE_SUGARSYNC_HARD_DELETE 56456 .IP \[bu] 2 56457 Type: bool 56458 .IP \[bu] 2 56459 Default: false 56460 .SS Advanced options 56461 .PP 56462 Here are the Advanced options specific to sugarsync (Sugarsync). 56463 .SS --sugarsync-refresh-token 56464 .PP 56465 Sugarsync refresh token. 56466 .PP 56467 Leave blank normally, will be auto configured by rclone. 56468 .PP 56469 Properties: 56470 .IP \[bu] 2 56471 Config: refresh_token 56472 .IP \[bu] 2 56473 Env Var: RCLONE_SUGARSYNC_REFRESH_TOKEN 56474 .IP \[bu] 2 56475 Type: string 56476 .IP \[bu] 2 56477 Required: false 56478 .SS --sugarsync-authorization 56479 .PP 56480 Sugarsync authorization. 56481 .PP 56482 Leave blank normally, will be auto configured by rclone. 56483 .PP 56484 Properties: 56485 .IP \[bu] 2 56486 Config: authorization 56487 .IP \[bu] 2 56488 Env Var: RCLONE_SUGARSYNC_AUTHORIZATION 56489 .IP \[bu] 2 56490 Type: string 56491 .IP \[bu] 2 56492 Required: false 56493 .SS --sugarsync-authorization-expiry 56494 .PP 56495 Sugarsync authorization expiry. 56496 .PP 56497 Leave blank normally, will be auto configured by rclone. 56498 .PP 56499 Properties: 56500 .IP \[bu] 2 56501 Config: authorization_expiry 56502 .IP \[bu] 2 56503 Env Var: RCLONE_SUGARSYNC_AUTHORIZATION_EXPIRY 56504 .IP \[bu] 2 56505 Type: string 56506 .IP \[bu] 2 56507 Required: false 56508 .SS --sugarsync-user 56509 .PP 56510 Sugarsync user. 56511 .PP 56512 Leave blank normally, will be auto configured by rclone. 56513 .PP 56514 Properties: 56515 .IP \[bu] 2 56516 Config: user 56517 .IP \[bu] 2 56518 Env Var: RCLONE_SUGARSYNC_USER 56519 .IP \[bu] 2 56520 Type: string 56521 .IP \[bu] 2 56522 Required: false 56523 .SS --sugarsync-root-id 56524 .PP 56525 Sugarsync root id. 56526 .PP 56527 Leave blank normally, will be auto configured by rclone. 56528 .PP 56529 Properties: 56530 .IP \[bu] 2 56531 Config: root_id 56532 .IP \[bu] 2 56533 Env Var: RCLONE_SUGARSYNC_ROOT_ID 56534 .IP \[bu] 2 56535 Type: string 56536 .IP \[bu] 2 56537 Required: false 56538 .SS --sugarsync-deleted-id 56539 .PP 56540 Sugarsync deleted folder id. 56541 .PP 56542 Leave blank normally, will be auto configured by rclone. 56543 .PP 56544 Properties: 56545 .IP \[bu] 2 56546 Config: deleted_id 56547 .IP \[bu] 2 56548 Env Var: RCLONE_SUGARSYNC_DELETED_ID 56549 .IP \[bu] 2 56550 Type: string 56551 .IP \[bu] 2 56552 Required: false 56553 .SS --sugarsync-encoding 56554 .PP 56555 The encoding for the backend. 56556 .PP 56557 See the encoding section in the 56558 overview (https://rclone.org/overview/#encoding) for more info. 56559 .PP 56560 Properties: 56561 .IP \[bu] 2 56562 Config: encoding 56563 .IP \[bu] 2 56564 Env Var: RCLONE_SUGARSYNC_ENCODING 56565 .IP \[bu] 2 56566 Type: MultiEncoder 56567 .IP \[bu] 2 56568 Default: Slash,Ctl,InvalidUtf8,Dot 56569 .SS Limitations 56570 .PP 56571 \f[C]rclone about\f[R] is not supported by the SugarSync backend. 56572 Backends without this capability cannot determine free space for an 56573 rclone mount or use policy \f[C]mfs\f[R] (most free space) as a member 56574 of an rclone union remote. 56575 .PP 56576 See List of backends that do not support rclone 56577 about (https://rclone.org/overview/#optional-features) and rclone 56578 about (https://rclone.org/commands/rclone_about/) 56579 .SH Tardigrade 56580 .PP 56581 The Tardigrade backend has been renamed to be the Storj 56582 backend (https://rclone.org/storj/). 56583 Old configuration files will continue to work. 56584 .SH Uptobox 56585 .PP 56586 This is a Backend for Uptobox file storage service. 56587 Uptobox is closer to a one-click hoster than a traditional cloud storage 56588 provider and therefore not suitable for long term storage. 56589 .PP 56590 Paths are specified as \f[C]remote:path\f[R] 56591 .PP 56592 Paths may be as deep as required, e.g. 56593 \f[C]remote:directory/subdirectory\f[R]. 56594 .SS Configuration 56595 .PP 56596 To configure an Uptobox backend you\[aq]ll need your personal api token. 56597 You\[aq]ll find it in your account 56598 settings (https://uptobox.com/my_account) 56599 .PP 56600 Here is an example of how to make a remote called \f[C]remote\f[R] with 56601 the default setup. 56602 First run: 56603 .IP 56604 .nf 56605 \f[C] 56606 rclone config 56607 \f[R] 56608 .fi 56609 .PP 56610 This will guide you through an interactive setup process: 56611 .IP 56612 .nf 56613 \f[C] 56614 Current remotes: 56615 56616 Name Type 56617 ==== ==== 56618 TestUptobox uptobox 56619 56620 e) Edit existing remote 56621 n) New remote 56622 d) Delete remote 56623 r) Rename remote 56624 c) Copy remote 56625 s) Set configuration password 56626 q) Quit config 56627 e/n/d/r/c/s/q> n 56628 name> uptobox 56629 Type of storage to configure. 56630 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56631 Choose a number from below, or type in your own value 56632 [...] 56633 37 / Uptobox 56634 \[rs] \[dq]uptobox\[dq] 56635 [...] 56636 Storage> uptobox 56637 ** See help for uptobox backend at: https://rclone.org/uptobox/ ** 56638 56639 Your API Key, get it from https://uptobox.com/my_account 56640 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56641 api_key> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 56642 Edit advanced config? (y/n) 56643 y) Yes 56644 n) No (default) 56645 y/n> n 56646 Remote config 56647 -------------------- 56648 [uptobox] 56649 type = uptobox 56650 api_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 56651 -------------------- 56652 y) Yes this is OK (default) 56653 e) Edit this remote 56654 d) Delete this remote 56655 y/e/d> 56656 \f[R] 56657 .fi 56658 .PP 56659 Once configured you can then use \f[C]rclone\f[R] like this, 56660 .PP 56661 List directories in top level of your Uptobox 56662 .IP 56663 .nf 56664 \f[C] 56665 rclone lsd remote: 56666 \f[R] 56667 .fi 56668 .PP 56669 List all the files in your Uptobox 56670 .IP 56671 .nf 56672 \f[C] 56673 rclone ls remote: 56674 \f[R] 56675 .fi 56676 .PP 56677 To copy a local directory to an Uptobox directory called backup 56678 .IP 56679 .nf 56680 \f[C] 56681 rclone copy /home/source remote:backup 56682 \f[R] 56683 .fi 56684 .SS Modified time and hashes 56685 .PP 56686 Uptobox supports neither modified times nor checksums. 56687 All timestamps will read as that set by \f[C]--default-time\f[R]. 56688 .SS Restricted filename characters 56689 .PP 56690 In addition to the default restricted characters 56691 set (https://rclone.org/overview/#restricted-characters) the following 56692 characters are also replaced: 56693 .PP 56694 .TS 56695 tab(@); 56696 l c c. 56697 T{ 56698 Character 56699 T}@T{ 56700 Value 56701 T}@T{ 56702 Replacement 56703 T} 56704 _ 56705 T{ 56706 \[dq] 56707 T}@T{ 56708 0x22 56709 T}@T{ 56710 \[uFF02] 56711 T} 56712 T{ 56713 \[ga] 56714 T}@T{ 56715 0x41 56716 T}@T{ 56717 \[uFF40] 56718 T} 56719 .TE 56720 .PP 56721 Invalid UTF-8 bytes will also be 56722 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 56723 be used in XML strings. 56724 .SS Standard options 56725 .PP 56726 Here are the Standard options specific to uptobox (Uptobox). 56727 .SS --uptobox-access-token 56728 .PP 56729 Your access token. 56730 .PP 56731 Get it from https://uptobox.com/my_account. 56732 .PP 56733 Properties: 56734 .IP \[bu] 2 56735 Config: access_token 56736 .IP \[bu] 2 56737 Env Var: RCLONE_UPTOBOX_ACCESS_TOKEN 56738 .IP \[bu] 2 56739 Type: string 56740 .IP \[bu] 2 56741 Required: false 56742 .SS Advanced options 56743 .PP 56744 Here are the Advanced options specific to uptobox (Uptobox). 56745 .SS --uptobox-private 56746 .PP 56747 Set to make uploaded files private 56748 .PP 56749 Properties: 56750 .IP \[bu] 2 56751 Config: private 56752 .IP \[bu] 2 56753 Env Var: RCLONE_UPTOBOX_PRIVATE 56754 .IP \[bu] 2 56755 Type: bool 56756 .IP \[bu] 2 56757 Default: false 56758 .SS --uptobox-encoding 56759 .PP 56760 The encoding for the backend. 56761 .PP 56762 See the encoding section in the 56763 overview (https://rclone.org/overview/#encoding) for more info. 56764 .PP 56765 Properties: 56766 .IP \[bu] 2 56767 Config: encoding 56768 .IP \[bu] 2 56769 Env Var: RCLONE_UPTOBOX_ENCODING 56770 .IP \[bu] 2 56771 Type: MultiEncoder 56772 .IP \[bu] 2 56773 Default: 56774 Slash,LtGt,DoubleQuote,BackQuote,Del,Ctl,LeftSpace,InvalidUtf8,Dot 56775 .SS Limitations 56776 .PP 56777 Uptobox will delete inactive files that have not been accessed in 60 56778 days. 56779 .PP 56780 \f[C]rclone about\f[R] is not supported by this backend an overview of 56781 used space can however been seen in the uptobox web interface. 56782 .SH Union 56783 .PP 56784 The \f[C]union\f[R] remote provides a unification similar to UnionFS 56785 using other remotes. 56786 .PP 56787 Paths may be as deep as required or a local path, e.g. 56788 \f[C]remote:directory/subdirectory\f[R] or 56789 \f[C]/directory/subdirectory\f[R]. 56790 .PP 56791 During the initial setup with \f[C]rclone config\f[R] you will specify 56792 the upstream remotes as a space separated list. 56793 The upstream remotes can either be a local paths or other remotes. 56794 .PP 56795 Attribute \f[C]:ro\f[R] and \f[C]:nc\f[R] can be attach to the end of 56796 path to tag the remote as \f[B]read only\f[R] or \f[B]no create\f[R], 56797 e.g. 56798 \f[C]remote:directory/subdirectory:ro\f[R] or 56799 \f[C]remote:directory/subdirectory:nc\f[R]. 56800 .PP 56801 Subfolders can be used in upstream remotes. 56802 Assume a union remote named \f[C]backup\f[R] with the remotes 56803 \f[C]mydrive:private/backup\f[R]. 56804 Invoking \f[C]rclone mkdir backup:desktop\f[R] is exactly the same as 56805 invoking \f[C]rclone mkdir mydrive:private/backup/desktop\f[R]. 56806 .PP 56807 There will be no special handling of paths containing \f[C]..\f[R] 56808 segments. 56809 Invoking \f[C]rclone mkdir backup:../desktop\f[R] is exactly the same as 56810 invoking \f[C]rclone mkdir mydrive:private/backup/../desktop\f[R]. 56811 .SS Configuration 56812 .PP 56813 Here is an example of how to make a union called \f[C]remote\f[R] for 56814 local folders. 56815 First run: 56816 .IP 56817 .nf 56818 \f[C] 56819 rclone config 56820 \f[R] 56821 .fi 56822 .PP 56823 This will guide you through an interactive setup process: 56824 .IP 56825 .nf 56826 \f[C] 56827 No remotes found, make a new one? 56828 n) New remote 56829 s) Set configuration password 56830 q) Quit config 56831 n/s/q> n 56832 name> remote 56833 Type of storage to configure. 56834 Choose a number from below, or type in your own value 56835 [snip] 56836 XX / Union merges the contents of several remotes 56837 \[rs] \[dq]union\[dq] 56838 [snip] 56839 Storage> union 56840 List of space separated upstreams. 56841 Can be \[aq]upstreama:test/dir upstreamb:\[aq], \[aq]\[rs]\[dq]upstreama:test/space:ro dir\[rs]\[dq] upstreamb:\[aq], etc. 56842 Enter a string value. Press Enter for the default (\[dq]\[dq]). 56843 upstreams> remote1:dir1 remote2:dir2 remote3:dir3 56844 Policy to choose upstream on ACTION class. 56845 Enter a string value. Press Enter for the default (\[dq]epall\[dq]). 56846 action_policy> 56847 Policy to choose upstream on CREATE class. 56848 Enter a string value. Press Enter for the default (\[dq]epmfs\[dq]). 56849 create_policy> 56850 Policy to choose upstream on SEARCH class. 56851 Enter a string value. Press Enter for the default (\[dq]ff\[dq]). 56852 search_policy> 56853 Cache time of usage and free space (in seconds). This option is only useful when a path preserving policy is used. 56854 Enter a signed integer. Press Enter for the default (\[dq]120\[dq]). 56855 cache_time> 56856 Remote config 56857 -------------------- 56858 [remote] 56859 type = union 56860 upstreams = remote1:dir1 remote2:dir2 remote3:dir3 56861 -------------------- 56862 y) Yes this is OK 56863 e) Edit this remote 56864 d) Delete this remote 56865 y/e/d> y 56866 Current remotes: 56867 56868 Name Type 56869 ==== ==== 56870 remote union 56871 56872 e) Edit existing remote 56873 n) New remote 56874 d) Delete remote 56875 r) Rename remote 56876 c) Copy remote 56877 s) Set configuration password 56878 q) Quit config 56879 e/n/d/r/c/s/q> q 56880 \f[R] 56881 .fi 56882 .PP 56883 Once configured you can then use \f[C]rclone\f[R] like this, 56884 .PP 56885 List directories in top level in \f[C]remote1:dir1\f[R], 56886 \f[C]remote2:dir2\f[R] and \f[C]remote3:dir3\f[R] 56887 .IP 56888 .nf 56889 \f[C] 56890 rclone lsd remote: 56891 \f[R] 56892 .fi 56893 .PP 56894 List all the files in \f[C]remote1:dir1\f[R], \f[C]remote2:dir2\f[R] and 56895 \f[C]remote3:dir3\f[R] 56896 .IP 56897 .nf 56898 \f[C] 56899 rclone ls remote: 56900 \f[R] 56901 .fi 56902 .PP 56903 Copy another local directory to the union directory called source, which 56904 will be placed into \f[C]remote3:dir3\f[R] 56905 .IP 56906 .nf 56907 \f[C] 56908 rclone copy C:\[rs]source remote:source 56909 \f[R] 56910 .fi 56911 .SS Behavior / Policies 56912 .PP 56913 The behavior of union backend is inspired by 56914 trapexit/mergerfs (https://github.com/trapexit/mergerfs). 56915 All functions are grouped into 3 categories: \f[B]action\f[R], 56916 \f[B]create\f[R] and \f[B]search\f[R]. 56917 These functions and categories can be assigned a policy which dictates 56918 what file or directory is chosen when performing that behavior. 56919 Any policy can be assigned to a function or category though some may not 56920 be very useful in practice. 56921 For instance: \f[B]rand\f[R] (random) may be useful for file creation 56922 (create) but could lead to very odd behavior if used for 56923 \f[C]delete\f[R] if there were more than one copy of the file. 56924 .SS Function / Category classifications 56925 .PP 56926 .TS 56927 tab(@); 56928 lw(5.8n) lw(15.0n) lw(49.2n). 56929 T{ 56930 Category 56931 T}@T{ 56932 Description 56933 T}@T{ 56934 Functions 56935 T} 56936 _ 56937 T{ 56938 action 56939 T}@T{ 56940 Writing Existing file 56941 T}@T{ 56942 move, rmdir, rmdirs, delete, purge and copy, sync (as destination when 56943 file exist) 56944 T} 56945 T{ 56946 create 56947 T}@T{ 56948 Create non-existing file 56949 T}@T{ 56950 copy, sync (as destination when file not exist) 56951 T} 56952 T{ 56953 search 56954 T}@T{ 56955 Reading and listing file 56956 T}@T{ 56957 ls, lsd, lsl, cat, md5sum, sha1sum and copy, sync (as source) 56958 T} 56959 T{ 56960 N/A 56961 T}@T{ 56962 T}@T{ 56963 size, about 56964 T} 56965 .TE 56966 .SS Path Preservation 56967 .PP 56968 Policies, as described below, are of two basic types. 56969 \f[C]path preserving\f[R] and \f[C]non-path preserving\f[R]. 56970 .PP 56971 All policies which start with \f[C]ep\f[R] (\f[B]epff\f[R], 56972 \f[B]eplfs\f[R], \f[B]eplus\f[R], \f[B]epmfs\f[R], \f[B]eprand\f[R]) are 56973 \f[C]path preserving\f[R]. 56974 \f[C]ep\f[R] stands for \f[C]existing path\f[R]. 56975 .PP 56976 A path preserving policy will only consider upstreams where the relative 56977 path being accessed already exists. 56978 .PP 56979 When using non-path preserving policies paths will be created in target 56980 upstreams as necessary. 56981 .SS Quota Relevant Policies 56982 .PP 56983 Some policies rely on quota information. 56984 These policies should be used only if your upstreams support the 56985 respective quota fields. 56986 .PP 56987 .TS 56988 tab(@); 56989 l l. 56990 T{ 56991 Policy 56992 T}@T{ 56993 Required Field 56994 T} 56995 _ 56996 T{ 56997 lfs, eplfs 56998 T}@T{ 56999 Free 57000 T} 57001 T{ 57002 mfs, epmfs 57003 T}@T{ 57004 Free 57005 T} 57006 T{ 57007 lus, eplus 57008 T}@T{ 57009 Used 57010 T} 57011 T{ 57012 lno, eplno 57013 T}@T{ 57014 Objects 57015 T} 57016 .TE 57017 .PP 57018 To check if your upstream supports the field, run 57019 \f[C]rclone about remote: [flags]\f[R] and see if the required field 57020 exists. 57021 .SS Filters 57022 .PP 57023 Policies basically search upstream remotes and create a list of files / 57024 paths for functions to work on. 57025 The policy is responsible for filtering and sorting. 57026 The policy type defines the sorting but filtering is mostly uniform as 57027 described below. 57028 .IP \[bu] 2 57029 No \f[B]search\f[R] policies filter. 57030 .IP \[bu] 2 57031 All \f[B]action\f[R] policies will filter out remotes which are tagged 57032 as \f[B]read-only\f[R]. 57033 .IP \[bu] 2 57034 All \f[B]create\f[R] policies will filter out remotes which are tagged 57035 \f[B]read-only\f[R] or \f[B]no-create\f[R]. 57036 .PP 57037 If all remotes are filtered an error will be returned. 57038 .SS Policy descriptions 57039 .PP 57040 The policies definition are inspired by 57041 trapexit/mergerfs (https://github.com/trapexit/mergerfs) but not exactly 57042 the same. 57043 Some policy definition could be different due to the much larger latency 57044 of remote file systems. 57045 .PP 57046 .TS 57047 tab(@); 57048 lw(16.2n) lw(53.8n). 57049 T{ 57050 Policy 57051 T}@T{ 57052 Description 57053 T} 57054 _ 57055 T{ 57056 all 57057 T}@T{ 57058 Search category: same as \f[B]epall\f[R]. 57059 Action category: same as \f[B]epall\f[R]. 57060 Create category: act on all upstreams. 57061 T} 57062 T{ 57063 epall (existing path, all) 57064 T}@T{ 57065 Search category: Given this order configured, act on the first one found 57066 where the relative path exists. 57067 Action category: apply to all found. 57068 Create category: act on all upstreams where the relative path exists. 57069 T} 57070 T{ 57071 epff (existing path, first found) 57072 T}@T{ 57073 Act on the first one found, by the time upstreams reply, where the 57074 relative path exists. 57075 T} 57076 T{ 57077 eplfs (existing path, least free space) 57078 T}@T{ 57079 Of all the upstreams on which the relative path exists choose the one 57080 with the least free space. 57081 T} 57082 T{ 57083 eplus (existing path, least used space) 57084 T}@T{ 57085 Of all the upstreams on which the relative path exists choose the one 57086 with the least used space. 57087 T} 57088 T{ 57089 eplno (existing path, least number of objects) 57090 T}@T{ 57091 Of all the upstreams on which the relative path exists choose the one 57092 with the least number of objects. 57093 T} 57094 T{ 57095 epmfs (existing path, most free space) 57096 T}@T{ 57097 Of all the upstreams on which the relative path exists choose the one 57098 with the most free space. 57099 T} 57100 T{ 57101 eprand (existing path, random) 57102 T}@T{ 57103 Calls \f[B]epall\f[R] and then randomizes. 57104 Returns only one upstream. 57105 T} 57106 T{ 57107 ff (first found) 57108 T}@T{ 57109 Search category: same as \f[B]epff\f[R]. 57110 Action category: same as \f[B]epff\f[R]. 57111 Create category: Act on the first one found by the time upstreams reply. 57112 T} 57113 T{ 57114 lfs (least free space) 57115 T}@T{ 57116 Search category: same as \f[B]eplfs\f[R]. 57117 Action category: same as \f[B]eplfs\f[R]. 57118 Create category: Pick the upstream with the least available free space. 57119 T} 57120 T{ 57121 lus (least used space) 57122 T}@T{ 57123 Search category: same as \f[B]eplus\f[R]. 57124 Action category: same as \f[B]eplus\f[R]. 57125 Create category: Pick the upstream with the least used space. 57126 T} 57127 T{ 57128 lno (least number of objects) 57129 T}@T{ 57130 Search category: same as \f[B]eplno\f[R]. 57131 Action category: same as \f[B]eplno\f[R]. 57132 Create category: Pick the upstream with the least number of objects. 57133 T} 57134 T{ 57135 mfs (most free space) 57136 T}@T{ 57137 Search category: same as \f[B]epmfs\f[R]. 57138 Action category: same as \f[B]epmfs\f[R]. 57139 Create category: Pick the upstream with the most available free space. 57140 T} 57141 T{ 57142 newest 57143 T}@T{ 57144 Pick the file / directory with the largest mtime. 57145 T} 57146 T{ 57147 rand (random) 57148 T}@T{ 57149 Calls \f[B]all\f[R] and then randomizes. 57150 Returns only one upstream. 57151 T} 57152 .TE 57153 .SS Standard options 57154 .PP 57155 Here are the Standard options specific to union (Union merges the 57156 contents of several upstream fs). 57157 .SS --union-upstreams 57158 .PP 57159 List of space separated upstreams. 57160 .PP 57161 Can be \[aq]upstreama:test/dir upstreamb:\[aq], 57162 \[aq]\[dq]upstreama:test/space:ro dir\[dq] upstreamb:\[aq], etc. 57163 .PP 57164 Properties: 57165 .IP \[bu] 2 57166 Config: upstreams 57167 .IP \[bu] 2 57168 Env Var: RCLONE_UNION_UPSTREAMS 57169 .IP \[bu] 2 57170 Type: string 57171 .IP \[bu] 2 57172 Required: true 57173 .SS --union-action-policy 57174 .PP 57175 Policy to choose upstream on ACTION category. 57176 .PP 57177 Properties: 57178 .IP \[bu] 2 57179 Config: action_policy 57180 .IP \[bu] 2 57181 Env Var: RCLONE_UNION_ACTION_POLICY 57182 .IP \[bu] 2 57183 Type: string 57184 .IP \[bu] 2 57185 Default: \[dq]epall\[dq] 57186 .SS --union-create-policy 57187 .PP 57188 Policy to choose upstream on CREATE category. 57189 .PP 57190 Properties: 57191 .IP \[bu] 2 57192 Config: create_policy 57193 .IP \[bu] 2 57194 Env Var: RCLONE_UNION_CREATE_POLICY 57195 .IP \[bu] 2 57196 Type: string 57197 .IP \[bu] 2 57198 Default: \[dq]epmfs\[dq] 57199 .SS --union-search-policy 57200 .PP 57201 Policy to choose upstream on SEARCH category. 57202 .PP 57203 Properties: 57204 .IP \[bu] 2 57205 Config: search_policy 57206 .IP \[bu] 2 57207 Env Var: RCLONE_UNION_SEARCH_POLICY 57208 .IP \[bu] 2 57209 Type: string 57210 .IP \[bu] 2 57211 Default: \[dq]ff\[dq] 57212 .SS --union-cache-time 57213 .PP 57214 Cache time of usage and free space (in seconds). 57215 .PP 57216 This option is only useful when a path preserving policy is used. 57217 .PP 57218 Properties: 57219 .IP \[bu] 2 57220 Config: cache_time 57221 .IP \[bu] 2 57222 Env Var: RCLONE_UNION_CACHE_TIME 57223 .IP \[bu] 2 57224 Type: int 57225 .IP \[bu] 2 57226 Default: 120 57227 .SS Advanced options 57228 .PP 57229 Here are the Advanced options specific to union (Union merges the 57230 contents of several upstream fs). 57231 .SS --union-min-free-space 57232 .PP 57233 Minimum viable free space for lfs/eplfs policies. 57234 .PP 57235 If a remote has less than this much free space then it won\[aq]t be 57236 considered for use in lfs or eplfs policies. 57237 .PP 57238 Properties: 57239 .IP \[bu] 2 57240 Config: min_free_space 57241 .IP \[bu] 2 57242 Env Var: RCLONE_UNION_MIN_FREE_SPACE 57243 .IP \[bu] 2 57244 Type: SizeSuffix 57245 .IP \[bu] 2 57246 Default: 1Gi 57247 .SS Metadata 57248 .PP 57249 Any metadata supported by the underlying remote is read and written. 57250 .PP 57251 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 57252 .SH WebDAV 57253 .PP 57254 Paths are specified as \f[C]remote:path\f[R] 57255 .PP 57256 Paths may be as deep as required, e.g. 57257 \f[C]remote:directory/subdirectory\f[R]. 57258 .SS Configuration 57259 .PP 57260 To configure the WebDAV remote you will need to have a URL for it, and a 57261 username and password. 57262 If you know what kind of system you are connecting to then rclone can 57263 enable extra features. 57264 .PP 57265 Here is an example of how to make a remote called \f[C]remote\f[R]. 57266 First run: 57267 .IP 57268 .nf 57269 \f[C] 57270 rclone config 57271 \f[R] 57272 .fi 57273 .PP 57274 This will guide you through an interactive setup process: 57275 .IP 57276 .nf 57277 \f[C] 57278 No remotes found, make a new one? 57279 n) New remote 57280 s) Set configuration password 57281 q) Quit config 57282 n/s/q> n 57283 name> remote 57284 Type of storage to configure. 57285 Choose a number from below, or type in your own value 57286 [snip] 57287 XX / WebDAV 57288 \[rs] \[dq]webdav\[dq] 57289 [snip] 57290 Storage> webdav 57291 URL of http host to connect to 57292 Choose a number from below, or type in your own value 57293 1 / Connect to example.com 57294 \[rs] \[dq]https://example.com\[dq] 57295 url> https://example.com/remote.php/webdav/ 57296 Name of the WebDAV site/service/software you are using 57297 Choose a number from below, or type in your own value 57298 1 / Fastmail Files 57299 \[rs] (fastmail) 57300 2 / Nextcloud 57301 \[rs] (nextcloud) 57302 3 / Owncloud 57303 \[rs] (owncloud) 57304 4 / Sharepoint Online, authenticated by Microsoft account 57305 \[rs] (sharepoint) 57306 5 / Sharepoint with NTLM authentication, usually self-hosted or on-premises 57307 \[rs] (sharepoint-ntlm) 57308 6 / Other site/service or software 57309 \[rs] (other) 57310 vendor> 2 57311 User name 57312 user> user 57313 Password. 57314 y) Yes type in my own password 57315 g) Generate random password 57316 n) No leave this optional password blank 57317 y/g/n> y 57318 Enter the password: 57319 password: 57320 Confirm the password: 57321 password: 57322 Bearer token instead of user/pass (e.g. a Macaroon) 57323 bearer_token> 57324 Remote config 57325 -------------------- 57326 [remote] 57327 type = webdav 57328 url = https://example.com/remote.php/webdav/ 57329 vendor = nextcloud 57330 user = user 57331 pass = *** ENCRYPTED *** 57332 bearer_token = 57333 -------------------- 57334 y) Yes this is OK 57335 e) Edit this remote 57336 d) Delete this remote 57337 y/e/d> y 57338 \f[R] 57339 .fi 57340 .PP 57341 Once configured you can then use \f[C]rclone\f[R] like this, 57342 .PP 57343 List directories in top level of your WebDAV 57344 .IP 57345 .nf 57346 \f[C] 57347 rclone lsd remote: 57348 \f[R] 57349 .fi 57350 .PP 57351 List all the files in your WebDAV 57352 .IP 57353 .nf 57354 \f[C] 57355 rclone ls remote: 57356 \f[R] 57357 .fi 57358 .PP 57359 To copy a local directory to an WebDAV directory called backup 57360 .IP 57361 .nf 57362 \f[C] 57363 rclone copy /home/source remote:backup 57364 \f[R] 57365 .fi 57366 .SS Modified time and hashes 57367 .PP 57368 Plain WebDAV does not support modified times. 57369 However when used with Fastmail Files, Owncloud or Nextcloud rclone will 57370 support modified times. 57371 .PP 57372 Likewise plain WebDAV does not support hashes, however when used with 57373 Fastmail Files, Owncloud or Nextcloud rclone will support SHA1 and MD5 57374 hashes. 57375 Depending on the exact version of Owncloud or Nextcloud hashes may 57376 appear on all objects, or only on objects which had a hash uploaded with 57377 them. 57378 .SS Standard options 57379 .PP 57380 Here are the Standard options specific to webdav (WebDAV). 57381 .SS --webdav-url 57382 .PP 57383 URL of http host to connect to. 57384 .PP 57385 E.g. 57386 https://example.com. 57387 .PP 57388 Properties: 57389 .IP \[bu] 2 57390 Config: url 57391 .IP \[bu] 2 57392 Env Var: RCLONE_WEBDAV_URL 57393 .IP \[bu] 2 57394 Type: string 57395 .IP \[bu] 2 57396 Required: true 57397 .SS --webdav-vendor 57398 .PP 57399 Name of the WebDAV site/service/software you are using. 57400 .PP 57401 Properties: 57402 .IP \[bu] 2 57403 Config: vendor 57404 .IP \[bu] 2 57405 Env Var: RCLONE_WEBDAV_VENDOR 57406 .IP \[bu] 2 57407 Type: string 57408 .IP \[bu] 2 57409 Required: false 57410 .IP \[bu] 2 57411 Examples: 57412 .RS 2 57413 .IP \[bu] 2 57414 \[dq]fastmail\[dq] 57415 .RS 2 57416 .IP \[bu] 2 57417 Fastmail Files 57418 .RE 57419 .IP \[bu] 2 57420 \[dq]nextcloud\[dq] 57421 .RS 2 57422 .IP \[bu] 2 57423 Nextcloud 57424 .RE 57425 .IP \[bu] 2 57426 \[dq]owncloud\[dq] 57427 .RS 2 57428 .IP \[bu] 2 57429 Owncloud 57430 .RE 57431 .IP \[bu] 2 57432 \[dq]sharepoint\[dq] 57433 .RS 2 57434 .IP \[bu] 2 57435 Sharepoint Online, authenticated by Microsoft account 57436 .RE 57437 .IP \[bu] 2 57438 \[dq]sharepoint-ntlm\[dq] 57439 .RS 2 57440 .IP \[bu] 2 57441 Sharepoint with NTLM authentication, usually self-hosted or on-premises 57442 .RE 57443 .IP \[bu] 2 57444 \[dq]other\[dq] 57445 .RS 2 57446 .IP \[bu] 2 57447 Other site/service or software 57448 .RE 57449 .RE 57450 .SS --webdav-user 57451 .PP 57452 User name. 57453 .PP 57454 In case NTLM authentication is used, the username should be in the 57455 format \[aq]Domain\[aq]. 57456 .PP 57457 Properties: 57458 .IP \[bu] 2 57459 Config: user 57460 .IP \[bu] 2 57461 Env Var: RCLONE_WEBDAV_USER 57462 .IP \[bu] 2 57463 Type: string 57464 .IP \[bu] 2 57465 Required: false 57466 .SS --webdav-pass 57467 .PP 57468 Password. 57469 .PP 57470 \f[B]NB\f[R] Input to this must be obscured - see rclone 57471 obscure (https://rclone.org/commands/rclone_obscure/). 57472 .PP 57473 Properties: 57474 .IP \[bu] 2 57475 Config: pass 57476 .IP \[bu] 2 57477 Env Var: RCLONE_WEBDAV_PASS 57478 .IP \[bu] 2 57479 Type: string 57480 .IP \[bu] 2 57481 Required: false 57482 .SS --webdav-bearer-token 57483 .PP 57484 Bearer token instead of user/pass (e.g. 57485 a Macaroon). 57486 .PP 57487 Properties: 57488 .IP \[bu] 2 57489 Config: bearer_token 57490 .IP \[bu] 2 57491 Env Var: RCLONE_WEBDAV_BEARER_TOKEN 57492 .IP \[bu] 2 57493 Type: string 57494 .IP \[bu] 2 57495 Required: false 57496 .SS Advanced options 57497 .PP 57498 Here are the Advanced options specific to webdav (WebDAV). 57499 .SS --webdav-bearer-token-command 57500 .PP 57501 Command to run to get a bearer token. 57502 .PP 57503 Properties: 57504 .IP \[bu] 2 57505 Config: bearer_token_command 57506 .IP \[bu] 2 57507 Env Var: RCLONE_WEBDAV_BEARER_TOKEN_COMMAND 57508 .IP \[bu] 2 57509 Type: string 57510 .IP \[bu] 2 57511 Required: false 57512 .SS --webdav-encoding 57513 .PP 57514 The encoding for the backend. 57515 .PP 57516 See the encoding section in the 57517 overview (https://rclone.org/overview/#encoding) for more info. 57518 .PP 57519 Default encoding is 57520 Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,Hash,Percent,BackSlash,Del,Ctl,LeftSpace,LeftTilde,RightSpace,RightPeriod,InvalidUtf8 57521 for sharepoint-ntlm or identity otherwise. 57522 .PP 57523 Properties: 57524 .IP \[bu] 2 57525 Config: encoding 57526 .IP \[bu] 2 57527 Env Var: RCLONE_WEBDAV_ENCODING 57528 .IP \[bu] 2 57529 Type: string 57530 .IP \[bu] 2 57531 Required: false 57532 .SS --webdav-headers 57533 .PP 57534 Set HTTP headers for all transactions. 57535 .PP 57536 Use this to set additional HTTP headers for all transactions 57537 .PP 57538 The input format is comma separated list of key,value pairs. 57539 Standard CSV encoding (https://godoc.org/encoding/csv) may be used. 57540 .PP 57541 For example, to set a Cookie use \[aq]Cookie,name=value\[aq], or 57542 \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq]\[aq]. 57543 .PP 57544 You can set multiple headers, e.g. 57545 \[aq]\[dq]Cookie\[dq],\[dq]name=value\[dq],\[dq]Authorization\[dq],\[dq]xxx\[dq]\[aq]. 57546 .PP 57547 Properties: 57548 .IP \[bu] 2 57549 Config: headers 57550 .IP \[bu] 2 57551 Env Var: RCLONE_WEBDAV_HEADERS 57552 .IP \[bu] 2 57553 Type: CommaSepList 57554 .IP \[bu] 2 57555 Default: 57556 .SS --webdav-pacer-min-sleep 57557 .PP 57558 Minimum time to sleep between API calls. 57559 .PP 57560 Properties: 57561 .IP \[bu] 2 57562 Config: pacer_min_sleep 57563 .IP \[bu] 2 57564 Env Var: RCLONE_WEBDAV_PACER_MIN_SLEEP 57565 .IP \[bu] 2 57566 Type: Duration 57567 .IP \[bu] 2 57568 Default: 10ms 57569 .SS --webdav-nextcloud-chunk-size 57570 .PP 57571 Nextcloud upload chunk size. 57572 .PP 57573 We recommend configuring your NextCloud instance to increase the max 57574 chunk size to 1 GB for better upload performances. 57575 See 57576 https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html#adjust-chunk-size-on-nextcloud-side 57577 .PP 57578 Set to 0 to disable chunked uploading. 57579 .PP 57580 Properties: 57581 .IP \[bu] 2 57582 Config: nextcloud_chunk_size 57583 .IP \[bu] 2 57584 Env Var: RCLONE_WEBDAV_NEXTCLOUD_CHUNK_SIZE 57585 .IP \[bu] 2 57586 Type: SizeSuffix 57587 .IP \[bu] 2 57588 Default: 10Mi 57589 .SS Provider notes 57590 .PP 57591 See below for notes on specific providers. 57592 .SS Fastmail Files 57593 .PP 57594 Use \f[C]https://webdav.fastmail.com/\f[R] or a subdirectory as the URL, 57595 and your Fastmail email \f[C]username\[at]domain.tld\f[R] as the 57596 username. 57597 Follow this 57598 documentation (https://www.fastmail.help/hc/en-us/articles/360058752854-App-passwords) 57599 to create an app password with access to \f[C]Files (WebDAV)\f[R] and 57600 use this as the password. 57601 .PP 57602 Fastmail supports modified times using the \f[C]X-OC-Mtime\f[R] header. 57603 .SS Owncloud 57604 .PP 57605 Click on the settings cog in the bottom right of the page and this will 57606 show the WebDAV URL that rclone needs in the config step. 57607 It will look something like 57608 \f[C]https://example.com/remote.php/webdav/\f[R]. 57609 .PP 57610 Owncloud supports modified times using the \f[C]X-OC-Mtime\f[R] header. 57611 .SS Nextcloud 57612 .PP 57613 This is configured in an identical way to Owncloud. 57614 Note that Nextcloud initially did not support streaming of files 57615 (\f[C]rcat\f[R]) whereas Owncloud did, but 57616 this (https://github.com/nextcloud/nextcloud-snap/issues/365) seems to 57617 be fixed as of 2020-11-27 (tested with rclone v1.53.1 and Nextcloud 57618 Server v19). 57619 .SS Sharepoint Online 57620 .PP 57621 Rclone can be used with Sharepoint provided by OneDrive for Business or 57622 Office365 Education Accounts. 57623 This feature is only needed for a few of these Accounts, mostly 57624 Office365 Education ones. 57625 These accounts are sometimes not verified by the domain owner 57626 github#1975 (https://github.com/divyam234/rclone/issues/1975) 57627 .PP 57628 This means that these accounts can\[aq]t be added using the official API 57629 (other Accounts should work with the \[dq]onedrive\[dq] option). 57630 However, it is possible to access them using webdav. 57631 .PP 57632 To use a sharepoint remote with rclone, add it like this: First, you 57633 need to get your remote\[aq]s URL: 57634 .IP \[bu] 2 57635 Go here (https://onedrive.live.com/about/en-us/signin/) to open your 57636 OneDrive or to sign in 57637 .IP \[bu] 2 57638 Now take a look at your address bar, the URL should look like this: 57639 \f[C]https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/_layouts/15/onedrive.aspx\f[R] 57640 .PP 57641 You\[aq]ll only need this URL up to the email address. 57642 After that, you\[aq]ll most likely want to add \[dq]/Documents\[dq]. 57643 That subdirectory contains the actual data stored on your OneDrive. 57644 .PP 57645 Add the remote to rclone like this: Configure the \f[C]url\f[R] as 57646 \f[C]https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents\f[R] 57647 and use your normal account email and password for \f[C]user\f[R] and 57648 \f[C]pass\f[R]. 57649 If you have 2FA enabled, you have to generate an app password. 57650 Set the \f[C]vendor\f[R] to \f[C]sharepoint\f[R]. 57651 .PP 57652 Your config file should look like this: 57653 .IP 57654 .nf 57655 \f[C] 57656 [sharepoint] 57657 type = webdav 57658 url = https://[YOUR-DOMAIN]-my.sharepoint.com/personal/[YOUR-EMAIL]/Documents 57659 vendor = sharepoint 57660 user = YourEmailAddress 57661 pass = encryptedpassword 57662 \f[R] 57663 .fi 57664 .SS Sharepoint with NTLM Authentication 57665 .PP 57666 Use this option in case your (hosted) Sharepoint is not tied to OneDrive 57667 accounts and uses NTLM authentication. 57668 .PP 57669 To get the \f[C]url\f[R] configuration, similarly to the above, first 57670 navigate to the desired directory in your browser to get the URL, then 57671 strip everything after the name of the opened directory. 57672 .PP 57673 Example: If the URL is: 57674 https://example.sharepoint.com/sites/12345/Documents/Forms/AllItems.aspx 57675 .PP 57676 The configuration to use would be: 57677 https://example.sharepoint.com/sites/12345/Documents 57678 .PP 57679 Set the \f[C]vendor\f[R] to \f[C]sharepoint-ntlm\f[R]. 57680 .PP 57681 NTLM uses domain and user name combination for authentication, set 57682 \f[C]user\f[R] to \f[C]DOMAIN\[rs]username\f[R]. 57683 .PP 57684 Your config file should look like this: 57685 .IP 57686 .nf 57687 \f[C] 57688 [sharepoint] 57689 type = webdav 57690 url = https://[YOUR-DOMAIN]/some-path-to/Documents 57691 vendor = sharepoint-ntlm 57692 user = DOMAIN\[rs]user 57693 pass = encryptedpassword 57694 \f[R] 57695 .fi 57696 .SS Required Flags for SharePoint 57697 .PP 57698 As SharePoint does some special things with uploaded documents, you 57699 won\[aq]t be able to use the documents size or the documents hash to 57700 compare if a file has been changed since the upload / which file is 57701 newer. 57702 .PP 57703 For Rclone calls copying files (especially Office files such as .docx, 57704 \&.xlsx, etc.) from/to SharePoint (like copy, sync, etc.), you should 57705 append these flags to ensure Rclone uses the \[dq]Last Modified\[dq] 57706 datetime property to compare your documents: 57707 .IP 57708 .nf 57709 \f[C] 57710 --ignore-size --ignore-checksum --update 57711 \f[R] 57712 .fi 57713 .SS dCache 57714 .PP 57715 dCache is a storage system that supports many protocols and 57716 authentication/authorisation schemes. 57717 For WebDAV clients, it allows users to authenticate with username and 57718 password (BASIC), X.509, Kerberos, and various bearer tokens, including 57719 Macaroons (https://www.dcache.org/manuals/workshop-2017-05-29-Umea/000-Final/anupam_macaroons_v02.pdf) 57720 and OpenID-Connect (https://en.wikipedia.org/wiki/OpenID_Connect) access 57721 tokens. 57722 .PP 57723 Configure as normal using the \f[C]other\f[R] type. 57724 Don\[aq]t enter a username or password, instead enter your Macaroon as 57725 the \f[C]bearer_token\f[R]. 57726 .PP 57727 The config will end up looking something like this. 57728 .IP 57729 .nf 57730 \f[C] 57731 [dcache] 57732 type = webdav 57733 url = https://dcache... 57734 vendor = other 57735 user = 57736 pass = 57737 bearer_token = your-macaroon 57738 \f[R] 57739 .fi 57740 .PP 57741 There is a 57742 script (https://github.com/sara-nl/GridScripts/blob/master/get-macaroon) 57743 that obtains a Macaroon from a dCache WebDAV endpoint, and creates an 57744 rclone config file. 57745 .PP 57746 Macaroons may also be obtained from the dCacheView 57747 web-browser/JavaScript client that comes with dCache. 57748 .SS OpenID-Connect 57749 .PP 57750 dCache also supports authenticating with OpenID-Connect access tokens. 57751 OpenID-Connect is a protocol (based on OAuth 2.0) that allows services 57752 to identify users who have authenticated with some central service. 57753 .PP 57754 Support for OpenID-Connect in rclone is currently achieved using another 57755 software package called 57756 oidc-agent (https://github.com/indigo-dc/oidc-agent). 57757 This is a command-line tool that facilitates obtaining an access token. 57758 Once installed and configured, an access token is obtained by running 57759 the \f[C]oidc-token\f[R] command. 57760 The following example shows a (shortened) access token obtained from the 57761 \f[I]XDC\f[R] OIDC Provider. 57762 .IP 57763 .nf 57764 \f[C] 57765 paul\[at]celebrimbor:\[ti]$ oidc-token XDC 57766 eyJraWQ[...]QFXDt0 57767 paul\[at]celebrimbor:\[ti]$ 57768 \f[R] 57769 .fi 57770 .PP 57771 \f[B]Note\f[R] Before the \f[C]oidc-token\f[R] command will work, the 57772 refresh token must be loaded into the oidc agent. 57773 This is done with the \f[C]oidc-add\f[R] command (e.g., 57774 \f[C]oidc-add XDC\f[R]). 57775 This is typically done once per login session. 57776 Full details on this and how to register oidc-agent with your OIDC 57777 Provider are provided in the oidc-agent 57778 documentation (https://indigo-dc.gitbooks.io/oidc-agent/). 57779 .PP 57780 The rclone \f[C]bearer_token_command\f[R] configuration option is used 57781 to fetch the access token from oidc-agent. 57782 .PP 57783 Configure as a normal WebDAV endpoint, using the \[aq]other\[aq] vendor, 57784 leaving the username and password empty. 57785 When prompted, choose to edit the advanced config and enter the command 57786 to get a bearer token (e.g., \f[C]oidc-agent XDC\f[R]). 57787 .PP 57788 The following example config shows a WebDAV endpoint that uses 57789 oidc-agent to supply an access token from the \f[I]XDC\f[R] OIDC 57790 Provider. 57791 .IP 57792 .nf 57793 \f[C] 57794 [dcache] 57795 type = webdav 57796 url = https://dcache.example.org/ 57797 vendor = other 57798 bearer_token_command = oidc-token XDC 57799 \f[R] 57800 .fi 57801 .SH Yandex Disk 57802 .PP 57803 Yandex Disk (https://disk.yandex.com) is a cloud storage solution 57804 created by Yandex (https://yandex.com). 57805 .SS Configuration 57806 .PP 57807 Here is an example of making a yandex configuration. 57808 First run 57809 .IP 57810 .nf 57811 \f[C] 57812 rclone config 57813 \f[R] 57814 .fi 57815 .PP 57816 This will guide you through an interactive setup process: 57817 .IP 57818 .nf 57819 \f[C] 57820 No remotes found, make a new one? 57821 n) New remote 57822 s) Set configuration password 57823 n/s> n 57824 name> remote 57825 Type of storage to configure. 57826 Choose a number from below, or type in your own value 57827 [snip] 57828 XX / Yandex Disk 57829 \[rs] \[dq]yandex\[dq] 57830 [snip] 57831 Storage> yandex 57832 Yandex Client Id - leave blank normally. 57833 client_id> 57834 Yandex Client Secret - leave blank normally. 57835 client_secret> 57836 Remote config 57837 Use web browser to automatically authenticate rclone with remote? 57838 * Say Y if the machine running rclone has a web browser you can use 57839 * Say N if running rclone on a (remote) machine without web browser access 57840 If not sure try Y. If Y failed, try N. 57841 y) Yes 57842 n) No 57843 y/n> y 57844 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth 57845 Log in and authorize rclone for access 57846 Waiting for code... 57847 Got code 57848 -------------------- 57849 [remote] 57850 client_id = 57851 client_secret = 57852 token = {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]OAuth\[dq],\[dq]expiry\[dq]:\[dq]2016-12-29T12:27:11.362788025Z\[dq]} 57853 -------------------- 57854 y) Yes this is OK 57855 e) Edit this remote 57856 d) Delete this remote 57857 y/e/d> y 57858 \f[R] 57859 .fi 57860 .PP 57861 See the remote setup docs (https://rclone.org/remote_setup/) for how to 57862 set it up on a machine with no Internet browser available. 57863 .PP 57864 Note that rclone runs a webserver on your local machine to collect the 57865 token as returned from Yandex Disk. 57866 This only runs from the moment it opens your browser to the moment you 57867 get back the verification code. 57868 This is on \f[C]http://127.0.0.1:53682/\f[R] and this it may require you 57869 to unblock it temporarily if you are running a host firewall. 57870 .PP 57871 Once configured you can then use \f[C]rclone\f[R] like this, 57872 .PP 57873 See top level directories 57874 .IP 57875 .nf 57876 \f[C] 57877 rclone lsd remote: 57878 \f[R] 57879 .fi 57880 .PP 57881 Make a new directory 57882 .IP 57883 .nf 57884 \f[C] 57885 rclone mkdir remote:directory 57886 \f[R] 57887 .fi 57888 .PP 57889 List the contents of a directory 57890 .IP 57891 .nf 57892 \f[C] 57893 rclone ls remote:directory 57894 \f[R] 57895 .fi 57896 .PP 57897 Sync \f[C]/home/local/directory\f[R] to the remote path, deleting any 57898 excess files in the path. 57899 .IP 57900 .nf 57901 \f[C] 57902 rclone sync --interactive /home/local/directory remote:directory 57903 \f[R] 57904 .fi 57905 .PP 57906 Yandex paths may be as deep as required, e.g. 57907 \f[C]remote:directory/subdirectory\f[R]. 57908 .SS Modified time 57909 .PP 57910 Modified times are supported and are stored accurate to 1 ns in custom 57911 metadata called \f[C]rclone_modified\f[R] in RFC3339 with nanoseconds 57912 format. 57913 .SS MD5 checksums 57914 .PP 57915 MD5 checksums are natively supported by Yandex Disk. 57916 .SS Emptying Trash 57917 .PP 57918 If you wish to empty your trash you can use the 57919 \f[C]rclone cleanup remote:\f[R] command which will permanently delete 57920 all your trashed files. 57921 This command does not take any path arguments. 57922 .SS Quota information 57923 .PP 57924 To view your current quota you can use the 57925 \f[C]rclone about remote:\f[R] command which will display your usage 57926 limit (quota) and the current usage. 57927 .SS Restricted filename characters 57928 .PP 57929 The default restricted characters 57930 set (https://rclone.org/overview/#restricted-characters) are replaced. 57931 .PP 57932 Invalid UTF-8 bytes will also be 57933 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 57934 be used in JSON strings. 57935 .SS Standard options 57936 .PP 57937 Here are the Standard options specific to yandex (Yandex Disk). 57938 .SS --yandex-client-id 57939 .PP 57940 OAuth Client Id. 57941 .PP 57942 Leave blank normally. 57943 .PP 57944 Properties: 57945 .IP \[bu] 2 57946 Config: client_id 57947 .IP \[bu] 2 57948 Env Var: RCLONE_YANDEX_CLIENT_ID 57949 .IP \[bu] 2 57950 Type: string 57951 .IP \[bu] 2 57952 Required: false 57953 .SS --yandex-client-secret 57954 .PP 57955 OAuth Client Secret. 57956 .PP 57957 Leave blank normally. 57958 .PP 57959 Properties: 57960 .IP \[bu] 2 57961 Config: client_secret 57962 .IP \[bu] 2 57963 Env Var: RCLONE_YANDEX_CLIENT_SECRET 57964 .IP \[bu] 2 57965 Type: string 57966 .IP \[bu] 2 57967 Required: false 57968 .SS Advanced options 57969 .PP 57970 Here are the Advanced options specific to yandex (Yandex Disk). 57971 .SS --yandex-token 57972 .PP 57973 OAuth Access Token as a JSON blob. 57974 .PP 57975 Properties: 57976 .IP \[bu] 2 57977 Config: token 57978 .IP \[bu] 2 57979 Env Var: RCLONE_YANDEX_TOKEN 57980 .IP \[bu] 2 57981 Type: string 57982 .IP \[bu] 2 57983 Required: false 57984 .SS --yandex-auth-url 57985 .PP 57986 Auth server URL. 57987 .PP 57988 Leave blank to use the provider defaults. 57989 .PP 57990 Properties: 57991 .IP \[bu] 2 57992 Config: auth_url 57993 .IP \[bu] 2 57994 Env Var: RCLONE_YANDEX_AUTH_URL 57995 .IP \[bu] 2 57996 Type: string 57997 .IP \[bu] 2 57998 Required: false 57999 .SS --yandex-token-url 58000 .PP 58001 Token server url. 58002 .PP 58003 Leave blank to use the provider defaults. 58004 .PP 58005 Properties: 58006 .IP \[bu] 2 58007 Config: token_url 58008 .IP \[bu] 2 58009 Env Var: RCLONE_YANDEX_TOKEN_URL 58010 .IP \[bu] 2 58011 Type: string 58012 .IP \[bu] 2 58013 Required: false 58014 .SS --yandex-hard-delete 58015 .PP 58016 Delete files permanently rather than putting them into the trash. 58017 .PP 58018 Properties: 58019 .IP \[bu] 2 58020 Config: hard_delete 58021 .IP \[bu] 2 58022 Env Var: RCLONE_YANDEX_HARD_DELETE 58023 .IP \[bu] 2 58024 Type: bool 58025 .IP \[bu] 2 58026 Default: false 58027 .SS --yandex-encoding 58028 .PP 58029 The encoding for the backend. 58030 .PP 58031 See the encoding section in the 58032 overview (https://rclone.org/overview/#encoding) for more info. 58033 .PP 58034 Properties: 58035 .IP \[bu] 2 58036 Config: encoding 58037 .IP \[bu] 2 58038 Env Var: RCLONE_YANDEX_ENCODING 58039 .IP \[bu] 2 58040 Type: MultiEncoder 58041 .IP \[bu] 2 58042 Default: Slash,Del,Ctl,InvalidUtf8,Dot 58043 .SS Limitations 58044 .PP 58045 When uploading very large files (bigger than about 5 GiB) you will need 58046 to increase the \f[C]--timeout\f[R] parameter. 58047 This is because Yandex pauses (perhaps to calculate the MD5SUM for the 58048 entire file) before returning confirmation that the file has been 58049 uploaded. 58050 The default handling of timeouts in rclone is to assume a 5 minute pause 58051 is an error and close the connection - you\[aq]ll see 58052 \f[C]net/http: timeout awaiting response headers\f[R] errors in the logs 58053 if this is happening. 58054 Setting the timeout to twice the max size of file in GiB should be 58055 enough, so if you want to upload a 30 GiB file set a timeout of 58056 \f[C]2 * 30 = 60m\f[R], that is \f[C]--timeout 60m\f[R]. 58057 .PP 58058 Having a Yandex Mail account is mandatory to use the Yandex.Disk 58059 subscription. 58060 Token generation will work without a mail account, but Rclone won\[aq]t 58061 be able to complete any actions. 58062 .IP 58063 .nf 58064 \f[C] 58065 [403 - DiskUnsupportedUserAccountTypeError] User account type is not supported. 58066 \f[R] 58067 .fi 58068 .SH Zoho Workdrive 58069 .PP 58070 Zoho WorkDrive (https://www.zoho.com/workdrive/) is a cloud storage 58071 solution created by Zoho (https://zoho.com). 58072 .SS Configuration 58073 .PP 58074 Here is an example of making a zoho configuration. 58075 First run 58076 .IP 58077 .nf 58078 \f[C] 58079 rclone config 58080 \f[R] 58081 .fi 58082 .PP 58083 This will guide you through an interactive setup process: 58084 .IP 58085 .nf 58086 \f[C] 58087 No remotes found, make a new one? 58088 n) New remote 58089 s) Set configuration password 58090 n/s> n 58091 name> remote 58092 Type of storage to configure. 58093 Enter a string value. Press Enter for the default (\[dq]\[dq]). 58094 Choose a number from below, or type in your own value 58095 [snip] 58096 XX / Zoho 58097 \[rs] \[dq]zoho\[dq] 58098 [snip] 58099 Storage> zoho 58100 ** See help for zoho backend at: https://rclone.org/zoho/ ** 58101 58102 OAuth Client Id 58103 Leave blank normally. 58104 Enter a string value. Press Enter for the default (\[dq]\[dq]). 58105 client_id> 58106 OAuth Client Secret 58107 Leave blank normally. 58108 Enter a string value. Press Enter for the default (\[dq]\[dq]). 58109 client_secret> 58110 Edit advanced config? (y/n) 58111 y) Yes 58112 n) No (default) 58113 y/n> n 58114 Remote config 58115 Use web browser to automatically authenticate rclone with remote? 58116 * Say Y if the machine running rclone has a web browser you can use 58117 * Say N if running rclone on a (remote) machine without web browser access 58118 If not sure try Y. If Y failed, try N. 58119 y) Yes (default) 58120 n) No 58121 y/n> 58122 If your browser doesn\[aq]t open automatically go to the following link: http://127.0.0.1:53682/auth?state=LVn0IHzxej1ZkmQw31d0wQ 58123 Log in and authorize rclone for access 58124 Waiting for code... 58125 Got code 58126 Choose a number from below, or type in your own value 58127 1 / MyTeam 58128 \[rs] \[dq]4u28602177065ff22426787a6745dba8954eb\[dq] 58129 Enter a Team ID> 1 58130 Choose a number from below, or type in your own value 58131 1 / General 58132 \[rs] \[dq]4u2869d2aa6fca04f4f2f896b6539243b85b1\[dq] 58133 Enter a Workspace ID> 1 58134 -------------------- 58135 [remote] 58136 type = zoho 58137 token = {\[dq]access_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]token_type\[dq]:\[dq]Zoho-oauthtoken\[dq],\[dq]refresh_token\[dq]:\[dq]xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\[dq],\[dq]expiry\[dq]:\[dq]2020-10-12T00:54:52.370275223+02:00\[dq]} 58138 root_folder_id = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 58139 -------------------- 58140 y) Yes this is OK (default) 58141 e) Edit this remote 58142 d) Delete this remote 58143 y/e/d> 58144 \f[R] 58145 .fi 58146 .PP 58147 See the remote setup docs (https://rclone.org/remote_setup/) for how to 58148 set it up on a machine with no Internet browser available. 58149 .PP 58150 Rclone runs a webserver on your local computer to collect the 58151 authorization token from Zoho Workdrive. 58152 This is only from the moment your browser is opened until the token is 58153 returned. 58154 The webserver runs on \f[C]http://127.0.0.1:53682/\f[R]. 58155 If local port \f[C]53682\f[R] is protected by a firewall you may need to 58156 temporarily unblock the firewall to complete authorization. 58157 .PP 58158 Once configured you can then use \f[C]rclone\f[R] like this, 58159 .PP 58160 See top level directories 58161 .IP 58162 .nf 58163 \f[C] 58164 rclone lsd remote: 58165 \f[R] 58166 .fi 58167 .PP 58168 Make a new directory 58169 .IP 58170 .nf 58171 \f[C] 58172 rclone mkdir remote:directory 58173 \f[R] 58174 .fi 58175 .PP 58176 List the contents of a directory 58177 .IP 58178 .nf 58179 \f[C] 58180 rclone ls remote:directory 58181 \f[R] 58182 .fi 58183 .PP 58184 Sync \f[C]/home/local/directory\f[R] to the remote path, deleting any 58185 excess files in the path. 58186 .IP 58187 .nf 58188 \f[C] 58189 rclone sync --interactive /home/local/directory remote:directory 58190 \f[R] 58191 .fi 58192 .PP 58193 Zoho paths may be as deep as required, eg 58194 \f[C]remote:directory/subdirectory\f[R]. 58195 .SS Modified time 58196 .PP 58197 Modified times are currently not supported for Zoho Workdrive 58198 .SS Checksums 58199 .PP 58200 No checksums are supported. 58201 .SS Usage information 58202 .PP 58203 To view your current quota you can use the 58204 \f[C]rclone about remote:\f[R] command which will display your current 58205 usage. 58206 .SS Restricted filename characters 58207 .PP 58208 Only control characters and invalid UTF-8 are replaced. 58209 In addition most Unicode full-width characters are not supported at all 58210 and will be removed from filenames during upload. 58211 .SS Standard options 58212 .PP 58213 Here are the Standard options specific to zoho (Zoho). 58214 .SS --zoho-client-id 58215 .PP 58216 OAuth Client Id. 58217 .PP 58218 Leave blank normally. 58219 .PP 58220 Properties: 58221 .IP \[bu] 2 58222 Config: client_id 58223 .IP \[bu] 2 58224 Env Var: RCLONE_ZOHO_CLIENT_ID 58225 .IP \[bu] 2 58226 Type: string 58227 .IP \[bu] 2 58228 Required: false 58229 .SS --zoho-client-secret 58230 .PP 58231 OAuth Client Secret. 58232 .PP 58233 Leave blank normally. 58234 .PP 58235 Properties: 58236 .IP \[bu] 2 58237 Config: client_secret 58238 .IP \[bu] 2 58239 Env Var: RCLONE_ZOHO_CLIENT_SECRET 58240 .IP \[bu] 2 58241 Type: string 58242 .IP \[bu] 2 58243 Required: false 58244 .SS --zoho-region 58245 .PP 58246 Zoho region to connect to. 58247 .PP 58248 You\[aq]ll have to use the region your organization is registered in. 58249 If not sure use the same top level domain as you connect to in your 58250 browser. 58251 .PP 58252 Properties: 58253 .IP \[bu] 2 58254 Config: region 58255 .IP \[bu] 2 58256 Env Var: RCLONE_ZOHO_REGION 58257 .IP \[bu] 2 58258 Type: string 58259 .IP \[bu] 2 58260 Required: false 58261 .IP \[bu] 2 58262 Examples: 58263 .RS 2 58264 .IP \[bu] 2 58265 \[dq]com\[dq] 58266 .RS 2 58267 .IP \[bu] 2 58268 United states / Global 58269 .RE 58270 .IP \[bu] 2 58271 \[dq]eu\[dq] 58272 .RS 2 58273 .IP \[bu] 2 58274 Europe 58275 .RE 58276 .IP \[bu] 2 58277 \[dq]in\[dq] 58278 .RS 2 58279 .IP \[bu] 2 58280 India 58281 .RE 58282 .IP \[bu] 2 58283 \[dq]jp\[dq] 58284 .RS 2 58285 .IP \[bu] 2 58286 Japan 58287 .RE 58288 .IP \[bu] 2 58289 \[dq]com.cn\[dq] 58290 .RS 2 58291 .IP \[bu] 2 58292 China 58293 .RE 58294 .IP \[bu] 2 58295 \[dq]com.au\[dq] 58296 .RS 2 58297 .IP \[bu] 2 58298 Australia 58299 .RE 58300 .RE 58301 .SS Advanced options 58302 .PP 58303 Here are the Advanced options specific to zoho (Zoho). 58304 .SS --zoho-token 58305 .PP 58306 OAuth Access Token as a JSON blob. 58307 .PP 58308 Properties: 58309 .IP \[bu] 2 58310 Config: token 58311 .IP \[bu] 2 58312 Env Var: RCLONE_ZOHO_TOKEN 58313 .IP \[bu] 2 58314 Type: string 58315 .IP \[bu] 2 58316 Required: false 58317 .SS --zoho-auth-url 58318 .PP 58319 Auth server URL. 58320 .PP 58321 Leave blank to use the provider defaults. 58322 .PP 58323 Properties: 58324 .IP \[bu] 2 58325 Config: auth_url 58326 .IP \[bu] 2 58327 Env Var: RCLONE_ZOHO_AUTH_URL 58328 .IP \[bu] 2 58329 Type: string 58330 .IP \[bu] 2 58331 Required: false 58332 .SS --zoho-token-url 58333 .PP 58334 Token server url. 58335 .PP 58336 Leave blank to use the provider defaults. 58337 .PP 58338 Properties: 58339 .IP \[bu] 2 58340 Config: token_url 58341 .IP \[bu] 2 58342 Env Var: RCLONE_ZOHO_TOKEN_URL 58343 .IP \[bu] 2 58344 Type: string 58345 .IP \[bu] 2 58346 Required: false 58347 .SS --zoho-encoding 58348 .PP 58349 The encoding for the backend. 58350 .PP 58351 See the encoding section in the 58352 overview (https://rclone.org/overview/#encoding) for more info. 58353 .PP 58354 Properties: 58355 .IP \[bu] 2 58356 Config: encoding 58357 .IP \[bu] 2 58358 Env Var: RCLONE_ZOHO_ENCODING 58359 .IP \[bu] 2 58360 Type: MultiEncoder 58361 .IP \[bu] 2 58362 Default: Del,Ctl,InvalidUtf8 58363 .SS Setting up your own client_id 58364 .PP 58365 For Zoho we advise you to set up your own client_id. 58366 To do so you have to complete the following steps. 58367 .IP "1." 3 58368 Log in to the Zoho API Console (https://api-console.zoho.com) 58369 .IP "2." 3 58370 Create a new client of type \[dq]Server-based Application\[dq]. 58371 The name and website don\[aq]t matter, but you must add the redirect URL 58372 \f[C]http://localhost:53682/\f[R]. 58373 .IP "3." 3 58374 Once the client is created, you can go to the settings tab and enable it 58375 in other regions. 58376 .PP 58377 The client id and client secret can now be used with rclone. 58378 .SH Local Filesystem 58379 .PP 58380 Local paths are specified as normal filesystem paths, e.g. 58381 \f[C]/path/to/wherever\f[R], so 58382 .IP 58383 .nf 58384 \f[C] 58385 rclone sync --interactive /home/source /tmp/destination 58386 \f[R] 58387 .fi 58388 .PP 58389 Will sync \f[C]/home/source\f[R] to \f[C]/tmp/destination\f[R]. 58390 .SS Configuration 58391 .PP 58392 For consistencies sake one can also configure a remote of type 58393 \f[C]local\f[R] in the config file, and access the local filesystem 58394 using rclone remote paths, e.g. 58395 \f[C]remote:path/to/wherever\f[R], but it is probably easier not to. 58396 .SS Modified time 58397 .PP 58398 Rclone reads and writes the modified time using an accuracy determined 58399 by the OS. 58400 Typically this is 1ns on Linux, 10 ns on Windows and 1 Second on OS X. 58401 .SS Filenames 58402 .PP 58403 Filenames should be encoded in UTF-8 on disk. 58404 This is the normal case for Windows and OS X. 58405 .PP 58406 There is a bit more uncertainty in the Linux world, but new 58407 distributions will have UTF-8 encoded files names. 58408 If you are using an old Linux filesystem with non UTF-8 file names (e.g. 58409 latin1) then you can use the \f[C]convmv\f[R] tool to convert the 58410 filesystem to UTF-8. 58411 This tool is available in most distributions\[aq] package managers. 58412 .PP 58413 If an invalid (non-UTF8) filename is read, the invalid characters will 58414 be replaced with a quoted representation of the invalid bytes. 58415 The name \f[C]gro\[rs]xdf\f[R] will be transferred as 58416 \f[C]gro\[u201B]DF\f[R]. 58417 \f[C]rclone\f[R] will emit a debug message in this case (use 58418 \f[C]-v\f[R] to see), e.g. 58419 .IP 58420 .nf 58421 \f[C] 58422 Local file system at .: Replacing invalid UTF-8 characters in \[dq]gro\[rs]xdf\[dq] 58423 \f[R] 58424 .fi 58425 .SS Restricted characters 58426 .PP 58427 With the local backend, restrictions on the characters that are usable 58428 in file or directory names depend on the operating system. 58429 To check what rclone will replace by default on your system, run 58430 \f[C]rclone help flags local-encoding\f[R]. 58431 .PP 58432 On non Windows platforms the following characters are replaced when 58433 handling file names. 58434 .PP 58435 .TS 58436 tab(@); 58437 l c c. 58438 T{ 58439 Character 58440 T}@T{ 58441 Value 58442 T}@T{ 58443 Replacement 58444 T} 58445 _ 58446 T{ 58447 NUL 58448 T}@T{ 58449 0x00 58450 T}@T{ 58451 \[u2400] 58452 T} 58453 T{ 58454 / 58455 T}@T{ 58456 0x2F 58457 T}@T{ 58458 \[uFF0F] 58459 T} 58460 .TE 58461 .PP 58462 When running on Windows the following characters are replaced. 58463 This list is based on the Windows file naming 58464 conventions (https://docs.microsoft.com/de-de/windows/desktop/FileIO/naming-a-file#naming-conventions). 58465 .PP 58466 .TS 58467 tab(@); 58468 l c c. 58469 T{ 58470 Character 58471 T}@T{ 58472 Value 58473 T}@T{ 58474 Replacement 58475 T} 58476 _ 58477 T{ 58478 NUL 58479 T}@T{ 58480 0x00 58481 T}@T{ 58482 \[u2400] 58483 T} 58484 T{ 58485 SOH 58486 T}@T{ 58487 0x01 58488 T}@T{ 58489 \[u2401] 58490 T} 58491 T{ 58492 STX 58493 T}@T{ 58494 0x02 58495 T}@T{ 58496 \[u2402] 58497 T} 58498 T{ 58499 ETX 58500 T}@T{ 58501 0x03 58502 T}@T{ 58503 \[u2403] 58504 T} 58505 T{ 58506 EOT 58507 T}@T{ 58508 0x04 58509 T}@T{ 58510 \[u2404] 58511 T} 58512 T{ 58513 ENQ 58514 T}@T{ 58515 0x05 58516 T}@T{ 58517 \[u2405] 58518 T} 58519 T{ 58520 ACK 58521 T}@T{ 58522 0x06 58523 T}@T{ 58524 \[u2406] 58525 T} 58526 T{ 58527 BEL 58528 T}@T{ 58529 0x07 58530 T}@T{ 58531 \[u2407] 58532 T} 58533 T{ 58534 BS 58535 T}@T{ 58536 0x08 58537 T}@T{ 58538 \[u2408] 58539 T} 58540 T{ 58541 HT 58542 T}@T{ 58543 0x09 58544 T}@T{ 58545 \[u2409] 58546 T} 58547 T{ 58548 LF 58549 T}@T{ 58550 0x0A 58551 T}@T{ 58552 \[u240A] 58553 T} 58554 T{ 58555 VT 58556 T}@T{ 58557 0x0B 58558 T}@T{ 58559 \[u240B] 58560 T} 58561 T{ 58562 FF 58563 T}@T{ 58564 0x0C 58565 T}@T{ 58566 \[u240C] 58567 T} 58568 T{ 58569 CR 58570 T}@T{ 58571 0x0D 58572 T}@T{ 58573 \[u240D] 58574 T} 58575 T{ 58576 SO 58577 T}@T{ 58578 0x0E 58579 T}@T{ 58580 \[u240E] 58581 T} 58582 T{ 58583 SI 58584 T}@T{ 58585 0x0F 58586 T}@T{ 58587 \[u240F] 58588 T} 58589 T{ 58590 DLE 58591 T}@T{ 58592 0x10 58593 T}@T{ 58594 \[u2410] 58595 T} 58596 T{ 58597 DC1 58598 T}@T{ 58599 0x11 58600 T}@T{ 58601 \[u2411] 58602 T} 58603 T{ 58604 DC2 58605 T}@T{ 58606 0x12 58607 T}@T{ 58608 \[u2412] 58609 T} 58610 T{ 58611 DC3 58612 T}@T{ 58613 0x13 58614 T}@T{ 58615 \[u2413] 58616 T} 58617 T{ 58618 DC4 58619 T}@T{ 58620 0x14 58621 T}@T{ 58622 \[u2414] 58623 T} 58624 T{ 58625 NAK 58626 T}@T{ 58627 0x15 58628 T}@T{ 58629 \[u2415] 58630 T} 58631 T{ 58632 SYN 58633 T}@T{ 58634 0x16 58635 T}@T{ 58636 \[u2416] 58637 T} 58638 T{ 58639 ETB 58640 T}@T{ 58641 0x17 58642 T}@T{ 58643 \[u2417] 58644 T} 58645 T{ 58646 CAN 58647 T}@T{ 58648 0x18 58649 T}@T{ 58650 \[u2418] 58651 T} 58652 T{ 58653 EM 58654 T}@T{ 58655 0x19 58656 T}@T{ 58657 \[u2419] 58658 T} 58659 T{ 58660 SUB 58661 T}@T{ 58662 0x1A 58663 T}@T{ 58664 \[u241A] 58665 T} 58666 T{ 58667 ESC 58668 T}@T{ 58669 0x1B 58670 T}@T{ 58671 \[u241B] 58672 T} 58673 T{ 58674 FS 58675 T}@T{ 58676 0x1C 58677 T}@T{ 58678 \[u241C] 58679 T} 58680 T{ 58681 GS 58682 T}@T{ 58683 0x1D 58684 T}@T{ 58685 \[u241D] 58686 T} 58687 T{ 58688 RS 58689 T}@T{ 58690 0x1E 58691 T}@T{ 58692 \[u241E] 58693 T} 58694 T{ 58695 US 58696 T}@T{ 58697 0x1F 58698 T}@T{ 58699 \[u241F] 58700 T} 58701 T{ 58702 / 58703 T}@T{ 58704 0x2F 58705 T}@T{ 58706 \[uFF0F] 58707 T} 58708 T{ 58709 \[dq] 58710 T}@T{ 58711 0x22 58712 T}@T{ 58713 \[uFF02] 58714 T} 58715 T{ 58716 * 58717 T}@T{ 58718 0x2A 58719 T}@T{ 58720 \[uFF0A] 58721 T} 58722 T{ 58723 : 58724 T}@T{ 58725 0x3A 58726 T}@T{ 58727 \[uFF1A] 58728 T} 58729 T{ 58730 < 58731 T}@T{ 58732 0x3C 58733 T}@T{ 58734 \[uFF1C] 58735 T} 58736 T{ 58737 > 58738 T}@T{ 58739 0x3E 58740 T}@T{ 58741 \[uFF1E] 58742 T} 58743 T{ 58744 ? 58745 T}@T{ 58746 0x3F 58747 T}@T{ 58748 \[uFF1F] 58749 T} 58750 T{ 58751 \[rs] 58752 T}@T{ 58753 0x5C 58754 T}@T{ 58755 \[uFF3C] 58756 T} 58757 T{ 58758 | 58759 T}@T{ 58760 0x7C 58761 T}@T{ 58762 \[uFF5C] 58763 T} 58764 .TE 58765 .PP 58766 File names on Windows can also not end with the following characters. 58767 These only get replaced if they are the last character in the name: 58768 .PP 58769 .TS 58770 tab(@); 58771 l c c. 58772 T{ 58773 Character 58774 T}@T{ 58775 Value 58776 T}@T{ 58777 Replacement 58778 T} 58779 _ 58780 T{ 58781 SP 58782 T}@T{ 58783 0x20 58784 T}@T{ 58785 \[u2420] 58786 T} 58787 T{ 58788 \&. 58789 T}@T{ 58790 0x2E 58791 T}@T{ 58792 \[uFF0E] 58793 T} 58794 .TE 58795 .PP 58796 Invalid UTF-8 bytes will also be 58797 replaced (https://rclone.org/overview/#invalid-utf8), as they can\[aq]t 58798 be converted to UTF-16. 58799 .SS Paths on Windows 58800 .PP 58801 On Windows there are many ways of specifying a path to a file system 58802 resource. 58803 Local paths can be absolute, like 58804 \f[C]C:\[rs]path\[rs]to\[rs]wherever\f[R], or relative, like 58805 \f[C]..\[rs]wherever\f[R]. 58806 Network paths in UNC format, \f[C]\[rs]\[rs]server\[rs]share\f[R], are 58807 also supported. 58808 Path separator can be either \f[C]\[rs]\f[R] (as in 58809 \f[C]C:\[rs]path\[rs]to\[rs]wherever\f[R]) or \f[C]/\f[R] (as in 58810 \f[C]C:/path/to/wherever\f[R]). 58811 Length of these paths are limited to 259 characters for files and 247 58812 characters for directories, but there is an alternative extended-length 58813 path format increasing the limit to (approximately) 32,767 characters. 58814 This format requires absolute paths and the use of prefix 58815 \f[C]\[rs]\[rs]?\[rs]\f[R], e.g. 58816 \f[C]\[rs]\[rs]?\[rs]D:\[rs]some\[rs]very\[rs]long\[rs]path\f[R]. 58817 For convenience rclone will automatically convert regular paths into the 58818 corresponding extended-length paths, so in most cases you do not have to 58819 worry about this (read more below). 58820 .PP 58821 Note that Windows supports using the same prefix 58822 \f[C]\[rs]\[rs]?\[rs]\f[R] to specify path to volumes identified by 58823 their GUID, e.g. 58824 \f[C]\[rs]\[rs]?\[rs]Volume{b75e2c83-0000-0000-0000-602f00000000}\[rs]some\[rs]path\f[R]. 58825 This is \f[I]not\f[R] supported in rclone, due to an 58826 issue (https://github.com/golang/go/issues/39785) in go. 58827 .SS Long paths 58828 .PP 58829 Rclone handles long paths automatically, by converting all paths to 58830 extended-length path 58831 format (https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation), 58832 which allows paths up to 32,767 characters. 58833 .PP 58834 This conversion will ensure paths are absolute and prefix them with the 58835 \f[C]\[rs]\[rs]?\[rs]\f[R]. 58836 This is why you will see that your paths, for instance 58837 \f[C].\[rs]files\f[R] is shown as path 58838 \f[C]\[rs]\[rs]?\[rs]C:\[rs]files\f[R] in the output, and 58839 \f[C]\[rs]\[rs]server\[rs]share\f[R] as 58840 \f[C]\[rs]\[rs]?\[rs]UNC\[rs]server\[rs]share\f[R]. 58841 .PP 58842 However, in rare cases this may cause problems with buggy file system 58843 drivers like EncFS (https://github.com/divyam234/rclone/issues/261). 58844 To disable UNC conversion globally, add this to your 58845 \f[C].rclone.conf\f[R] file: 58846 .IP 58847 .nf 58848 \f[C] 58849 [local] 58850 nounc = true 58851 \f[R] 58852 .fi 58853 .PP 58854 If you want to selectively disable UNC, you can add it to a separate 58855 entry like this: 58856 .IP 58857 .nf 58858 \f[C] 58859 [nounc] 58860 type = local 58861 nounc = true 58862 \f[R] 58863 .fi 58864 .PP 58865 And use rclone like this: 58866 .PP 58867 \f[C]rclone copy c:\[rs]src nounc:z:\[rs]dst\f[R] 58868 .PP 58869 This will use UNC paths on \f[C]c:\[rs]src\f[R] but not on 58870 \f[C]z:\[rs]dst\f[R]. 58871 Of course this will cause problems if the absolute path length of a file 58872 exceeds 259 characters on z, so only use this option if you have to. 58873 .SS Symlinks / Junction points 58874 .PP 58875 Normally rclone will ignore symlinks or junction points (which behave 58876 like symlinks under Windows). 58877 .PP 58878 If you supply \f[C]--copy-links\f[R] or \f[C]-L\f[R] then rclone will 58879 follow the symlink and copy the pointed to file or directory. 58880 Note that this flag is incompatible with \f[C]--links\f[R] / 58881 \f[C]-l\f[R]. 58882 .PP 58883 This flag applies to all commands. 58884 .PP 58885 For example, supposing you have a directory structure like this 58886 .IP 58887 .nf 58888 \f[C] 58889 $ tree /tmp/a 58890 /tmp/a 58891 \[u251C]\[u2500]\[u2500] b -> ../b 58892 \[u251C]\[u2500]\[u2500] expected -> ../expected 58893 \[u251C]\[u2500]\[u2500] one 58894 \[u2514]\[u2500]\[u2500] two 58895 \[u2514]\[u2500]\[u2500] three 58896 \f[R] 58897 .fi 58898 .PP 58899 Then you can see the difference with and without the flag like this 58900 .IP 58901 .nf 58902 \f[C] 58903 $ rclone ls /tmp/a 58904 6 one 58905 6 two/three 58906 \f[R] 58907 .fi 58908 .PP 58909 and 58910 .IP 58911 .nf 58912 \f[C] 58913 $ rclone -L ls /tmp/a 58914 4174 expected 58915 6 one 58916 6 two/three 58917 6 b/two 58918 6 b/one 58919 \f[R] 58920 .fi 58921 .SS --links, -l 58922 .PP 58923 Normally rclone will ignore symlinks or junction points (which behave 58924 like symlinks under Windows). 58925 .PP 58926 If you supply this flag then rclone will copy symbolic links from the 58927 local storage, and store them as text files, with a 58928 \[aq].rclonelink\[aq] suffix in the remote storage. 58929 .PP 58930 The text file will contain the target of the symbolic link (see 58931 example). 58932 .PP 58933 This flag applies to all commands. 58934 .PP 58935 For example, supposing you have a directory structure like this 58936 .IP 58937 .nf 58938 \f[C] 58939 $ tree /tmp/a 58940 /tmp/a 58941 \[u251C]\[u2500]\[u2500] file1 -> ./file4 58942 \[u2514]\[u2500]\[u2500] file2 -> /home/user/file3 58943 \f[R] 58944 .fi 58945 .PP 58946 Copying the entire directory with \[aq]-l\[aq] 58947 .IP 58948 .nf 58949 \f[C] 58950 $ rclone copyto -l /tmp/a/file1 remote:/tmp/a/ 58951 \f[R] 58952 .fi 58953 .PP 58954 The remote files are created with a \[aq].rclonelink\[aq] suffix 58955 .IP 58956 .nf 58957 \f[C] 58958 $ rclone ls remote:/tmp/a 58959 5 file1.rclonelink 58960 14 file2.rclonelink 58961 \f[R] 58962 .fi 58963 .PP 58964 The remote files will contain the target of the symbolic links 58965 .IP 58966 .nf 58967 \f[C] 58968 $ rclone cat remote:/tmp/a/file1.rclonelink 58969 \&./file4 58970 58971 $ rclone cat remote:/tmp/a/file2.rclonelink 58972 /home/user/file3 58973 \f[R] 58974 .fi 58975 .PP 58976 Copying them back with \[aq]-l\[aq] 58977 .IP 58978 .nf 58979 \f[C] 58980 $ rclone copyto -l remote:/tmp/a/ /tmp/b/ 58981 58982 $ tree /tmp/b 58983 /tmp/b 58984 \[u251C]\[u2500]\[u2500] file1 -> ./file4 58985 \[u2514]\[u2500]\[u2500] file2 -> /home/user/file3 58986 \f[R] 58987 .fi 58988 .PP 58989 However, if copied back without \[aq]-l\[aq] 58990 .IP 58991 .nf 58992 \f[C] 58993 $ rclone copyto remote:/tmp/a/ /tmp/b/ 58994 58995 $ tree /tmp/b 58996 /tmp/b 58997 \[u251C]\[u2500]\[u2500] file1.rclonelink 58998 \[u2514]\[u2500]\[u2500] file2.rclonelink 58999 \f[R] 59000 .fi 59001 .PP 59002 Note that this flag is incompatible with \f[C]-copy-links\f[R] / 59003 \f[C]-L\f[R]. 59004 .SS Restricting filesystems with --one-file-system 59005 .PP 59006 Normally rclone will recurse through filesystems as mounted. 59007 .PP 59008 However if you set \f[C]--one-file-system\f[R] or \f[C]-x\f[R] this 59009 tells rclone to stay in the filesystem specified by the root and not to 59010 recurse into different file systems. 59011 .PP 59012 For example if you have a directory hierarchy like this 59013 .IP 59014 .nf 59015 \f[C] 59016 root 59017 \[u251C]\[u2500]\[u2500] disk1 - disk1 mounted on the root 59018 \[br]\ \ \[u2514]\[u2500]\[u2500] file3 - stored on disk1 59019 \[u251C]\[u2500]\[u2500] disk2 - disk2 mounted on the root 59020 \[br]\ \ \[u2514]\[u2500]\[u2500] file4 - stored on disk12 59021 \[u251C]\[u2500]\[u2500] file1 - stored on the root disk 59022 \[u2514]\[u2500]\[u2500] file2 - stored on the root disk 59023 \f[R] 59024 .fi 59025 .PP 59026 Using \f[C]rclone --one-file-system copy root remote:\f[R] will only 59027 copy \f[C]file1\f[R] and \f[C]file2\f[R]. 59028 Eg 59029 .IP 59030 .nf 59031 \f[C] 59032 $ rclone -q --one-file-system ls root 59033 0 file1 59034 0 file2 59035 \f[R] 59036 .fi 59037 .IP 59038 .nf 59039 \f[C] 59040 $ rclone -q ls root 59041 0 disk1/file3 59042 0 disk2/file4 59043 0 file1 59044 0 file2 59045 \f[R] 59046 .fi 59047 .PP 59048 \f[B]NB\f[R] Rclone (like most unix tools such as \f[C]du\f[R], 59049 \f[C]rsync\f[R] and \f[C]tar\f[R]) treats a bind mount to the same 59050 device as being on the same filesystem. 59051 .PP 59052 \f[B]NB\f[R] This flag is only available on Unix based systems. 59053 On systems where it isn\[aq]t supported (e.g. 59054 Windows) it will be ignored. 59055 .SS Advanced options 59056 .PP 59057 Here are the Advanced options specific to local (Local Disk). 59058 .SS --local-nounc 59059 .PP 59060 Disable UNC (long path names) conversion on Windows. 59061 .PP 59062 Properties: 59063 .IP \[bu] 2 59064 Config: nounc 59065 .IP \[bu] 2 59066 Env Var: RCLONE_LOCAL_NOUNC 59067 .IP \[bu] 2 59068 Type: bool 59069 .IP \[bu] 2 59070 Default: false 59071 .IP \[bu] 2 59072 Examples: 59073 .RS 2 59074 .IP \[bu] 2 59075 \[dq]true\[dq] 59076 .RS 2 59077 .IP \[bu] 2 59078 Disables long file names. 59079 .RE 59080 .RE 59081 .SS --copy-links / -L 59082 .PP 59083 Follow symlinks and copy the pointed to item. 59084 .PP 59085 Properties: 59086 .IP \[bu] 2 59087 Config: copy_links 59088 .IP \[bu] 2 59089 Env Var: RCLONE_LOCAL_COPY_LINKS 59090 .IP \[bu] 2 59091 Type: bool 59092 .IP \[bu] 2 59093 Default: false 59094 .SS --links / -l 59095 .PP 59096 Translate symlinks to/from regular files with a \[aq].rclonelink\[aq] 59097 extension. 59098 .PP 59099 Properties: 59100 .IP \[bu] 2 59101 Config: links 59102 .IP \[bu] 2 59103 Env Var: RCLONE_LOCAL_LINKS 59104 .IP \[bu] 2 59105 Type: bool 59106 .IP \[bu] 2 59107 Default: false 59108 .SS --skip-links 59109 .PP 59110 Don\[aq]t warn about skipped symlinks. 59111 .PP 59112 This flag disables warning messages on skipped symlinks or junction 59113 points, as you explicitly acknowledge that they should be skipped. 59114 .PP 59115 Properties: 59116 .IP \[bu] 2 59117 Config: skip_links 59118 .IP \[bu] 2 59119 Env Var: RCLONE_LOCAL_SKIP_LINKS 59120 .IP \[bu] 2 59121 Type: bool 59122 .IP \[bu] 2 59123 Default: false 59124 .SS --local-zero-size-links 59125 .PP 59126 Assume the Stat size of links is zero (and read them instead) 59127 (deprecated). 59128 .PP 59129 Rclone used to use the Stat size of links as the link size, but this 59130 fails in quite a few places: 59131 .IP \[bu] 2 59132 Windows 59133 .IP \[bu] 2 59134 On some virtual filesystems (such ash LucidLink) 59135 .IP \[bu] 2 59136 Android 59137 .PP 59138 So rclone now always reads the link. 59139 .PP 59140 Properties: 59141 .IP \[bu] 2 59142 Config: zero_size_links 59143 .IP \[bu] 2 59144 Env Var: RCLONE_LOCAL_ZERO_SIZE_LINKS 59145 .IP \[bu] 2 59146 Type: bool 59147 .IP \[bu] 2 59148 Default: false 59149 .SS --local-unicode-normalization 59150 .PP 59151 Apply unicode NFC normalization to paths and filenames. 59152 .PP 59153 This flag can be used to normalize file names into unicode NFC form that 59154 are read from the local filesystem. 59155 .PP 59156 Rclone does not normally touch the encoding of file names it reads from 59157 the file system. 59158 .PP 59159 This can be useful when using macOS as it normally provides decomposed 59160 (NFD) unicode which in some language (eg Korean) doesn\[aq]t display 59161 properly on some OSes. 59162 .PP 59163 Note that rclone compares filenames with unicode normalization in the 59164 sync routine so this flag shouldn\[aq]t normally be used. 59165 .PP 59166 Properties: 59167 .IP \[bu] 2 59168 Config: unicode_normalization 59169 .IP \[bu] 2 59170 Env Var: RCLONE_LOCAL_UNICODE_NORMALIZATION 59171 .IP \[bu] 2 59172 Type: bool 59173 .IP \[bu] 2 59174 Default: false 59175 .SS --local-no-check-updated 59176 .PP 59177 Don\[aq]t check to see if the files change during upload. 59178 .PP 59179 Normally rclone checks the size and modification time of files as they 59180 are being uploaded and aborts with a message which starts \[dq]can\[aq]t 59181 copy - source file is being updated\[dq] if the file changes during 59182 upload. 59183 .PP 59184 However on some file systems this modification time check may fail (e.g. 59185 Glusterfs #2206 (https://github.com/divyam234/rclone/issues/2206)) so this 59186 check can be disabled with this flag. 59187 .PP 59188 If this flag is set, rclone will use its best efforts to transfer a file 59189 which is being updated. 59190 If the file is only having things appended to it (e.g. 59191 a log) then rclone will transfer the log file with the size it had the 59192 first time rclone saw it. 59193 .PP 59194 If the file is being modified throughout (not just appended to) then the 59195 transfer may fail with a hash check failure. 59196 .PP 59197 In detail, once the file has had stat() called on it for the first time 59198 we: 59199 .IP \[bu] 2 59200 Only transfer the size that stat gave 59201 .IP \[bu] 2 59202 Only checksum the size that stat gave 59203 .IP \[bu] 2 59204 Don\[aq]t update the stat info for the file 59205 .PP 59206 Properties: 59207 .IP \[bu] 2 59208 Config: no_check_updated 59209 .IP \[bu] 2 59210 Env Var: RCLONE_LOCAL_NO_CHECK_UPDATED 59211 .IP \[bu] 2 59212 Type: bool 59213 .IP \[bu] 2 59214 Default: false 59215 .SS --one-file-system / -x 59216 .PP 59217 Don\[aq]t cross filesystem boundaries (unix/macOS only). 59218 .PP 59219 Properties: 59220 .IP \[bu] 2 59221 Config: one_file_system 59222 .IP \[bu] 2 59223 Env Var: RCLONE_LOCAL_ONE_FILE_SYSTEM 59224 .IP \[bu] 2 59225 Type: bool 59226 .IP \[bu] 2 59227 Default: false 59228 .SS --local-case-sensitive 59229 .PP 59230 Force the filesystem to report itself as case sensitive. 59231 .PP 59232 Normally the local backend declares itself as case insensitive on 59233 Windows/macOS and case sensitive for everything else. 59234 Use this flag to override the default choice. 59235 .PP 59236 Properties: 59237 .IP \[bu] 2 59238 Config: case_sensitive 59239 .IP \[bu] 2 59240 Env Var: RCLONE_LOCAL_CASE_SENSITIVE 59241 .IP \[bu] 2 59242 Type: bool 59243 .IP \[bu] 2 59244 Default: false 59245 .SS --local-case-insensitive 59246 .PP 59247 Force the filesystem to report itself as case insensitive. 59248 .PP 59249 Normally the local backend declares itself as case insensitive on 59250 Windows/macOS and case sensitive for everything else. 59251 Use this flag to override the default choice. 59252 .PP 59253 Properties: 59254 .IP \[bu] 2 59255 Config: case_insensitive 59256 .IP \[bu] 2 59257 Env Var: RCLONE_LOCAL_CASE_INSENSITIVE 59258 .IP \[bu] 2 59259 Type: bool 59260 .IP \[bu] 2 59261 Default: false 59262 .SS --local-no-preallocate 59263 .PP 59264 Disable preallocation of disk space for transferred files. 59265 .PP 59266 Preallocation of disk space helps prevent filesystem fragmentation. 59267 However, some virtual filesystem layers (such as Google Drive File 59268 Stream) may incorrectly set the actual file size equal to the 59269 preallocated space, causing checksum and file size checks to fail. 59270 Use this flag to disable preallocation. 59271 .PP 59272 Properties: 59273 .IP \[bu] 2 59274 Config: no_preallocate 59275 .IP \[bu] 2 59276 Env Var: RCLONE_LOCAL_NO_PREALLOCATE 59277 .IP \[bu] 2 59278 Type: bool 59279 .IP \[bu] 2 59280 Default: false 59281 .SS --local-no-sparse 59282 .PP 59283 Disable sparse files for multi-thread downloads. 59284 .PP 59285 On Windows platforms rclone will make sparse files when doing 59286 multi-thread downloads. 59287 This avoids long pauses on large files where the OS zeros the file. 59288 However sparse files may be undesirable as they cause disk fragmentation 59289 and can be slow to work with. 59290 .PP 59291 Properties: 59292 .IP \[bu] 2 59293 Config: no_sparse 59294 .IP \[bu] 2 59295 Env Var: RCLONE_LOCAL_NO_SPARSE 59296 .IP \[bu] 2 59297 Type: bool 59298 .IP \[bu] 2 59299 Default: false 59300 .SS --local-no-set-modtime 59301 .PP 59302 Disable setting modtime. 59303 .PP 59304 Normally rclone updates modification time of files after they are done 59305 uploading. 59306 This can cause permissions issues on Linux platforms when the user 59307 rclone is running as does not own the file uploaded, such as when 59308 copying to a CIFS mount owned by another user. 59309 If this option is enabled, rclone will no longer update the modtime 59310 after copying a file. 59311 .PP 59312 Properties: 59313 .IP \[bu] 2 59314 Config: no_set_modtime 59315 .IP \[bu] 2 59316 Env Var: RCLONE_LOCAL_NO_SET_MODTIME 59317 .IP \[bu] 2 59318 Type: bool 59319 .IP \[bu] 2 59320 Default: false 59321 .SS --local-encoding 59322 .PP 59323 The encoding for the backend. 59324 .PP 59325 See the encoding section in the 59326 overview (https://rclone.org/overview/#encoding) for more info. 59327 .PP 59328 Properties: 59329 .IP \[bu] 2 59330 Config: encoding 59331 .IP \[bu] 2 59332 Env Var: RCLONE_LOCAL_ENCODING 59333 .IP \[bu] 2 59334 Type: MultiEncoder 59335 .IP \[bu] 2 59336 Default: Slash,Dot 59337 .SS Metadata 59338 .PP 59339 Depending on which OS is in use the local backend may return only some 59340 of the system metadata. 59341 Setting system metadata is supported on all OSes but setting user 59342 metadata is only supported on linux, freebsd, netbsd, macOS and Solaris. 59343 It is \f[B]not\f[R] supported on Windows yet (see 59344 pkg/attrs#47 (https://github.com/pkg/xattr/issues/47)). 59345 .PP 59346 User metadata is stored as extended attributes (which may not be 59347 supported by all file systems) under the \[dq]user.*\[dq] prefix. 59348 .PP 59349 Here are the possible system metadata items for the local backend. 59350 .PP 59351 .TS 59352 tab(@); 59353 lw(11.1n) lw(11.1n) lw(11.1n) lw(16.6n) lw(20.3n). 59354 T{ 59355 Name 59356 T}@T{ 59357 Help 59358 T}@T{ 59359 Type 59360 T}@T{ 59361 Example 59362 T}@T{ 59363 Read Only 59364 T} 59365 _ 59366 T{ 59367 atime 59368 T}@T{ 59369 Time of last access 59370 T}@T{ 59371 RFC 3339 59372 T}@T{ 59373 2006-01-02T15:04:05.999999999Z07:00 59374 T}@T{ 59375 N 59376 T} 59377 T{ 59378 btime 59379 T}@T{ 59380 Time of file birth (creation) 59381 T}@T{ 59382 RFC 3339 59383 T}@T{ 59384 2006-01-02T15:04:05.999999999Z07:00 59385 T}@T{ 59386 N 59387 T} 59388 T{ 59389 gid 59390 T}@T{ 59391 Group ID of owner 59392 T}@T{ 59393 decimal number 59394 T}@T{ 59395 500 59396 T}@T{ 59397 N 59398 T} 59399 T{ 59400 mode 59401 T}@T{ 59402 File type and mode 59403 T}@T{ 59404 octal, unix style 59405 T}@T{ 59406 0100664 59407 T}@T{ 59408 N 59409 T} 59410 T{ 59411 mtime 59412 T}@T{ 59413 Time of last modification 59414 T}@T{ 59415 RFC 3339 59416 T}@T{ 59417 2006-01-02T15:04:05.999999999Z07:00 59418 T}@T{ 59419 N 59420 T} 59421 T{ 59422 rdev 59423 T}@T{ 59424 Device ID (if special file) 59425 T}@T{ 59426 hexadecimal 59427 T}@T{ 59428 1abc 59429 T}@T{ 59430 N 59431 T} 59432 T{ 59433 uid 59434 T}@T{ 59435 User ID of owner 59436 T}@T{ 59437 decimal number 59438 T}@T{ 59439 500 59440 T}@T{ 59441 N 59442 T} 59443 .TE 59444 .PP 59445 See the metadata (https://rclone.org/docs/#metadata) docs for more info. 59446 .SS Backend commands 59447 .PP 59448 Here are the commands specific to the local backend. 59449 .PP 59450 Run them with 59451 .IP 59452 .nf 59453 \f[C] 59454 rclone backend COMMAND remote: 59455 \f[R] 59456 .fi 59457 .PP 59458 The help below will explain what arguments each command takes. 59459 .PP 59460 See the backend (https://rclone.org/commands/rclone_backend/) command 59461 for more info on how to pass options and arguments. 59462 .PP 59463 These can be run on a running backend using the rc command 59464 backend/command (https://rclone.org/rc/#backend-command). 59465 .SS noop 59466 .PP 59467 A null operation for testing backend commands 59468 .IP 59469 .nf 59470 \f[C] 59471 rclone backend noop remote: [options] [<arguments>+] 59472 \f[R] 59473 .fi 59474 .PP 59475 This is a test command which has some options you can try to change the 59476 output. 59477 .PP 59478 Options: 59479 .IP \[bu] 2 59480 \[dq]echo\[dq]: echo the input arguments 59481 .IP \[bu] 2 59482 \[dq]error\[dq]: return an error based on option value 59483 .SH Changelog 59484 .SS v1.63.0 - 2023-06-30 59485 .PP 59486 See commits (https://github.com/divyam234/rclone/compare/v1.62.0...v1.63.0) 59487 .IP \[bu] 2 59488 New backends 59489 .RS 2 59490 .IP \[bu] 2 59491 Pikpak (https://rclone.org/pikpak/) (wiserain) 59492 .IP \[bu] 2 59493 New S3 providers 59494 .RS 2 59495 .IP \[bu] 2 59496 petabox.io (https://rclone.org/s3/#petabox) (Andrei Smirnov) 59497 .IP \[bu] 2 59498 Google Cloud Storage (https://rclone.org/s3/#google-cloud-storage) 59499 (Anthony Pessy) 59500 .RE 59501 .IP \[bu] 2 59502 New WebDAV providers 59503 .RS 2 59504 .IP \[bu] 2 59505 Fastmail (https://rclone.org/webdav/#fastmail-files) (Arnavion) 59506 .RE 59507 .RE 59508 .IP \[bu] 2 59509 Major changes 59510 .RS 2 59511 .IP \[bu] 2 59512 Files will be copied to a temporary name ending in \f[C].partial\f[R] 59513 when copying to \f[C]local\f[R],\f[C]ftp\f[R],\f[C]sftp\f[R] then 59514 renamed at the end of the transfer. 59515 (Janne Hellsten, Nick Craig-Wood) 59516 .RS 2 59517 .IP \[bu] 2 59518 This helps with data integrity as we don\[aq]t delete the existing file 59519 until the new one is complete. 59520 .IP \[bu] 2 59521 It can be disabled with the --inplace (https://rclone.org/docs/#inplace) 59522 flag. 59523 .IP \[bu] 2 59524 This behaviour will also happen if the backend is wrapped, for example 59525 \f[C]sftp\f[R] wrapped with \f[C]crypt\f[R]. 59526 .RE 59527 .IP \[bu] 2 59528 The s3 (https://rclone.org/s3/#s3-directory-markers), azureblob and gcs 59529 backends now support directory markers so empty directories are 59530 supported (J\[u0101]nis Bebr\[u012B]tis, Nick Craig-Wood) 59531 .IP \[bu] 2 59532 The --default-time (https://rclone.org/docs/#default-time-time) flag now 59533 controls the unknown modification time of files/dirs (Nick Craig-Wood) 59534 .RS 2 59535 .IP \[bu] 2 59536 If a file or directory does not have a modification time rclone can read 59537 then rclone will display this fixed time instead. 59538 .IP \[bu] 2 59539 For the old behaviour use \f[C]--default-time 0s\f[R] which will set 59540 this time to the time rclone started up. 59541 .RE 59542 .RE 59543 .IP \[bu] 2 59544 New Features 59545 .RS 2 59546 .IP \[bu] 2 59547 build 59548 .RS 2 59549 .IP \[bu] 2 59550 Modernise linters in use and fixup all affected code (albertony) 59551 .IP \[bu] 2 59552 Push docker beta to GHCR (GitHub container registry) (Richard Tweed) 59553 .RE 59554 .IP \[bu] 2 59555 cat: Add \f[C]--separator\f[R] option to cat command (Loren Gordon) 59556 .IP \[bu] 2 59557 config 59558 .RS 2 59559 .IP \[bu] 2 59560 Do not remove/overwrite other files during config file save (albertony) 59561 .IP \[bu] 2 59562 Do not overwrite config file symbolic link (albertony) 59563 .IP \[bu] 2 59564 Stop \f[C]config create\f[R] making invalid config files (Nick 59565 Craig-Wood) 59566 .RE 59567 .IP \[bu] 2 59568 doc updates (Adam K, Aditya Basu, albertony, asdffdsazqqq, Damo, 59569 danielkrajnik, Dimitri Papadopoulos, dlitster, Drew Parsons, jumbi77, 59570 kapitainsky, mac-15, Mariusz Suchodolski, Nick Craig-Wood, NickIAm, 59571 Rintze Zelle, Stanislav Gromov, Tareq Sharafy, URenko, yuudi, Zach Kipp) 59572 .IP \[bu] 2 59573 fs 59574 .RS 2 59575 .IP \[bu] 2 59576 Add \f[C]size\f[R] to JSON logs when moving or copying an object (Nick 59577 Craig-Wood) 59578 .IP \[bu] 2 59579 Allow boolean features to be enabled with \f[C]--disable !Feature\f[R] 59580 (Nick Craig-Wood) 59581 .RE 59582 .IP \[bu] 2 59583 genautocomplete: Rename to \f[C]completion\f[R] with alias to the old 59584 name (Nick Craig-Wood) 59585 .IP \[bu] 2 59586 librclone: Added example on using \f[C]librclone\f[R] with Go (alankrit) 59587 .IP \[bu] 2 59588 lsjson: Make \f[C]--stat\f[R] more efficient (Nick Craig-Wood) 59589 .IP \[bu] 2 59590 operations 59591 .RS 2 59592 .IP \[bu] 2 59593 Implement \f[C]--multi-thread-write-buffer-size\f[R] for speed 59594 improvements on downloads (Paulo Schreiner) 59595 .IP \[bu] 2 59596 Reopen downloads on error when using \f[C]check --download\f[R] and 59597 \f[C]cat\f[R] (Nick Craig-Wood) 59598 .RE 59599 .IP \[bu] 2 59600 rc: \f[C]config/listremotes\f[R] includes remotes defined with 59601 environment variables (kapitainsky) 59602 .IP \[bu] 2 59603 selfupdate: Obey \f[C]--no-check-certificate\f[R] flag (Nick Craig-Wood) 59604 .IP \[bu] 2 59605 serve restic: Trigger systemd notify (Shyim) 59606 .IP \[bu] 2 59607 serve webdav: Implement owncloud checksum and modtime extensions 59608 (WeidiDeng) 59609 .IP \[bu] 2 59610 sync: \f[C]--suffix-keep-extension\f[R] preserve 2 part extensions like 59611 \&.tar.gz (Nick Craig-Wood) 59612 .RE 59613 .IP \[bu] 2 59614 Bug Fixes 59615 .RS 2 59616 .IP \[bu] 2 59617 accounting 59618 .RS 2 59619 .IP \[bu] 2 59620 Fix Prometheus metrics to be the same as \f[C]core/stats\f[R] (Nick 59621 Craig-Wood) 59622 .IP \[bu] 2 59623 Bwlimit signal handler should always start (Sam Lai) 59624 .RE 59625 .IP \[bu] 2 59626 bisync: Fix \f[C]maxDelete\f[R] parameter being ignored via the rc (Nick 59627 Craig-Wood) 59628 .IP \[bu] 2 59629 cmd/ncdu: Fix screen corruption when logging (eNV25) 59630 .IP \[bu] 2 59631 filter: Fix deadlock with errors on \f[C]--files-from\f[R] (douchen) 59632 .IP \[bu] 2 59633 fs 59634 .RS 2 59635 .IP \[bu] 2 59636 Fix interaction between \f[C]--progress\f[R] and \f[C]--interactive\f[R] 59637 (Nick Craig-Wood) 59638 .IP \[bu] 2 59639 Fix infinite recursive call in pacer ModifyCalculator (fixes issue 59640 reported by the staticcheck linter) (albertony) 59641 .RE 59642 .IP \[bu] 2 59643 lib/atexit: Ensure OnError only calls cancel function once (Nick 59644 Craig-Wood) 59645 .IP \[bu] 2 59646 lib/rest: Fix problems re-using HTTP connections (Nick Craig-Wood) 59647 .IP \[bu] 2 59648 rc 59649 .RS 2 59650 .IP \[bu] 2 59651 Fix \f[C]operations/stat\f[R] with trailing \f[C]/\f[R] (Nick 59652 Craig-Wood) 59653 .IP \[bu] 2 59654 Fix missing \f[C]--rc\f[R] flags (Nick Craig-Wood) 59655 .IP \[bu] 2 59656 Fix output of Time values in \f[C]options/get\f[R] (Nick Craig-Wood) 59657 .RE 59658 .IP \[bu] 2 59659 serve dlna: Fix potential data race (Nick Craig-Wood) 59660 .IP \[bu] 2 59661 version: Fix reported os/kernel version for windows (albertony) 59662 .RE 59663 .IP \[bu] 2 59664 Mount 59665 .RS 2 59666 .IP \[bu] 2 59667 Add \f[C]--mount-case-insensitive\f[R] to force the mount to be case 59668 insensitive (Nick Craig-Wood) 59669 .IP \[bu] 2 59670 Removed unnecessary byte slice allocation for reads (Anagh Kumar 59671 Baranwal) 59672 .IP \[bu] 2 59673 Clarify rclone mount error when installed via homebrew (Nick Craig-Wood) 59674 .IP \[bu] 2 59675 Added _netdev to the example mount so it gets treated as a remote-fs 59676 rather than local-fs (Anagh Kumar Baranwal) 59677 .RE 59678 .IP \[bu] 2 59679 Mount2 59680 .RS 2 59681 .IP \[bu] 2 59682 Updated go-fuse version (Anagh Kumar Baranwal) 59683 .IP \[bu] 2 59684 Fixed statfs (Anagh Kumar Baranwal) 59685 .IP \[bu] 2 59686 Disable xattrs (Anagh Kumar Baranwal) 59687 .RE 59688 .IP \[bu] 2 59689 VFS 59690 .RS 2 59691 .IP \[bu] 2 59692 Add MkdirAll function to make a directory and all beneath (Nick 59693 Craig-Wood) 59694 .IP \[bu] 2 59695 Fix reload: failed to add virtual dir entry: file does not exist (Nick 59696 Craig-Wood) 59697 .IP \[bu] 2 59698 Fix writing to a read only directory creating spurious directory entries 59699 (WeidiDeng) 59700 .IP \[bu] 2 59701 Fix potential data race (Nick Craig-Wood) 59702 .IP \[bu] 2 59703 Fix backends being Shutdown too early when startup takes a long time 59704 (Nick Craig-Wood) 59705 .RE 59706 .IP \[bu] 2 59707 Local 59708 .RS 2 59709 .IP \[bu] 2 59710 Fix filtering of symlinks with \f[C]-l\f[R]/\f[C]--links\f[R] flag (Nick 59711 Craig-Wood) 59712 .IP \[bu] 2 59713 Fix /path/to/file.rclonelink when \f[C]-l\f[R]/\f[C]--links\f[R] is in 59714 use (Nick Craig-Wood) 59715 .IP \[bu] 2 59716 Fix crash with \f[C]--metadata\f[R] on Android (Nick Craig-Wood) 59717 .RE 59718 .IP \[bu] 2 59719 Cache 59720 .RS 2 59721 .IP \[bu] 2 59722 Fix backends shutting down when in use when used via the rc (Nick 59723 Craig-Wood) 59724 .RE 59725 .IP \[bu] 2 59726 Crypt 59727 .RS 2 59728 .IP \[bu] 2 59729 Add \f[C]--crypt-suffix\f[R] option to set a custom suffix for encrypted 59730 files (jladbrook) 59731 .IP \[bu] 2 59732 Add \f[C]--crypt-pass-bad-blocks\f[R] to allow corrupted file output 59733 (Nick Craig-Wood) 59734 .IP \[bu] 2 59735 Fix reading 0 length files (Nick Craig-Wood) 59736 .IP \[bu] 2 59737 Try not to return \[dq]unexpected EOF\[dq] error (Nick Craig-Wood) 59738 .IP \[bu] 2 59739 Reduce allocations (albertony) 59740 .IP \[bu] 2 59741 Recommend Dropbox for \f[C]base32768\f[R] encoding (Nick Craig-Wood) 59742 .RE 59743 .IP \[bu] 2 59744 Azure Blob 59745 .RS 2 59746 .IP \[bu] 2 59747 Empty directory markers (Nick Craig-Wood) 59748 .IP \[bu] 2 59749 Support azure workload identities (Tareq Sharafy) 59750 .IP \[bu] 2 59751 Fix azure blob uploads with multiple bits of metadata (Nick Craig-Wood) 59752 .IP \[bu] 2 59753 Fix azurite compatibility by sending nil tier if set to empty string 59754 (Roel Arents) 59755 .RE 59756 .IP \[bu] 2 59757 Combine 59758 .RS 2 59759 .IP \[bu] 2 59760 Implement missing methods (Nick Craig-Wood) 59761 .IP \[bu] 2 59762 Fix goroutine stack overflow on bad object (Nick Craig-Wood) 59763 .RE 59764 .IP \[bu] 2 59765 Drive 59766 .RS 2 59767 .IP \[bu] 2 59768 Add \f[C]--drive-env-auth\f[R] to get IAM credentials from runtime 59769 (Peter Brunner) 59770 .IP \[bu] 2 59771 Update drive service account guide (Juang, Yi-Lin) 59772 .IP \[bu] 2 59773 Fix change notify picking up files outside the root (Nick Craig-Wood) 59774 .IP \[bu] 2 59775 Fix trailing slash mis-identificaton of folder as file (Nick Craig-Wood) 59776 .IP \[bu] 2 59777 Fix incorrect remote after Update on object (Nick Craig-Wood) 59778 .RE 59779 .IP \[bu] 2 59780 Dropbox 59781 .RS 2 59782 .IP \[bu] 2 59783 Implement \f[C]--dropbox-pacer-min-sleep\f[R] flag (Nick Craig-Wood) 59784 .IP \[bu] 2 59785 Fix the dropbox batcher stalling (Misty) 59786 .RE 59787 .IP \[bu] 2 59788 Fichier 59789 .RS 2 59790 .IP \[bu] 2 59791 Add \f[C]--ficicher-cdn\f[R] option to use the CDN for download (Nick 59792 Craig-Wood) 59793 .RE 59794 .IP \[bu] 2 59795 FTP 59796 .RS 2 59797 .IP \[bu] 2 59798 Lower log message priority when \f[C]SetModTime\f[R] is not supported to 59799 debug (Tobias Gion) 59800 .IP \[bu] 2 59801 Fix \[dq]unsupported LIST line\[dq] errors on startup (Nick Craig-Wood) 59802 .IP \[bu] 2 59803 Fix \[dq]501 Not a valid pathname.\[dq] errors when creating directories 59804 (Nick Craig-Wood) 59805 .RE 59806 .IP \[bu] 2 59807 Google Cloud Storage 59808 .RS 2 59809 .IP \[bu] 2 59810 Empty directory markers (J\[u0101]nis Bebr\[u012B]tis, Nick Craig-Wood) 59811 .IP \[bu] 2 59812 Added \f[C]--gcs-user-project\f[R] needed for requester pays 59813 (Christopher Merry) 59814 .RE 59815 .IP \[bu] 2 59816 HTTP 59817 .RS 2 59818 .IP \[bu] 2 59819 Add client certificate user auth middleware. 59820 This can auth \f[C]serve restic\f[R] from the username in the client 59821 cert. 59822 (Peter Fern) 59823 .RE 59824 .IP \[bu] 2 59825 Jottacloud 59826 .RS 2 59827 .IP \[bu] 2 59828 Fix vfs writeback stuck in a failed upload loop with file versioning 59829 disabled (albertony) 59830 .RE 59831 .IP \[bu] 2 59832 Onedrive 59833 .RS 2 59834 .IP \[bu] 2 59835 Add \f[C]--onedrive-av-override\f[R] flag to download files flagged as 59836 virus (Nick Craig-Wood) 59837 .IP \[bu] 2 59838 Fix quickxorhash on 32 bit architectures (Nick Craig-Wood) 59839 .IP \[bu] 2 59840 Report any list errors during \f[C]rclone cleanup\f[R] (albertony) 59841 .RE 59842 .IP \[bu] 2 59843 Putio 59844 .RS 2 59845 .IP \[bu] 2 59846 Fix uploading to the wrong object on Update with overriden remote name 59847 (Nick Craig-Wood) 59848 .IP \[bu] 2 59849 Fix modification times not being preserved for server side copy and move 59850 (Nick Craig-Wood) 59851 .IP \[bu] 2 59852 Fix server side copy failures (400 errors) (Nick Craig-Wood) 59853 .RE 59854 .IP \[bu] 2 59855 S3 59856 .RS 2 59857 .IP \[bu] 2 59858 Empty directory markers (J\[u0101]nis Bebr\[u012B]tis, Nick Craig-Wood) 59859 .IP \[bu] 2 59860 Update Scaleway storage classes (Brian Starkey) 59861 .IP \[bu] 2 59862 Fix \f[C]--s3-versions\f[R] on individual objects (Nick Craig-Wood) 59863 .IP \[bu] 2 59864 Fix hang on aborting multpart upload with iDrive e2 (Nick Craig-Wood) 59865 .IP \[bu] 2 59866 Fix missing \[dq]tier\[dq] metadata (Nick Craig-Wood) 59867 .IP \[bu] 2 59868 Fix V3sign: add missing subresource delete (cc) 59869 .IP \[bu] 2 59870 Fix Arvancloud Domain and region changes and alphabetise the provider 59871 (Ehsan Tadayon) 59872 .IP \[bu] 2 59873 Fix Qiniu KODO quirks virtualHostStyle is false (zzq) 59874 .RE 59875 .IP \[bu] 2 59876 SFTP 59877 .RS 2 59878 .IP \[bu] 2 59879 Add \f[C]--sftp-host-key-algorithms\f[R] to allow specifying SSH host 59880 key algorithms (Joel) 59881 .IP \[bu] 2 59882 Fix using \f[C]--sftp-key-use-agent\f[R] and \f[C]--sftp-key-file\f[R] 59883 together needing private key file (Arnav Singh) 59884 .IP \[bu] 2 59885 Fix move to allow overwriting existing files (Nick Craig-Wood) 59886 .IP \[bu] 2 59887 Don\[aq]t stat directories before listing them (Nick Craig-Wood) 59888 .IP \[bu] 2 59889 Don\[aq]t check remote points to a file if it ends with / (Nick 59890 Craig-Wood) 59891 .RE 59892 .IP \[bu] 2 59893 Sharefile 59894 .RS 2 59895 .IP \[bu] 2 59896 Disable streamed transfers as they no longer work (Nick Craig-Wood) 59897 .RE 59898 .IP \[bu] 2 59899 Smb 59900 .RS 2 59901 .IP \[bu] 2 59902 Code cleanup to avoid overwriting ctx before first use (fixes issue 59903 reported by the staticcheck linter) (albertony) 59904 .RE 59905 .IP \[bu] 2 59906 Storj 59907 .RS 2 59908 .IP \[bu] 2 59909 Fix \[dq]uplink: too many requests\[dq] errors when uploading to the 59910 same file (Nick Craig-Wood) 59911 .IP \[bu] 2 59912 Fix uploading to the wrong object on Update with overriden remote name 59913 (Nick Craig-Wood) 59914 .RE 59915 .IP \[bu] 2 59916 Swift 59917 .RS 2 59918 .IP \[bu] 2 59919 Ignore 404 error when deleting an object (Nick Craig-Wood) 59920 .RE 59921 .IP \[bu] 2 59922 Union 59923 .RS 2 59924 .IP \[bu] 2 59925 Implement missing methods (Nick Craig-Wood) 59926 .IP \[bu] 2 59927 Allow errors to be unwrapped for inspection (Nick Craig-Wood) 59928 .RE 59929 .IP \[bu] 2 59930 Uptobox 59931 .RS 2 59932 .IP \[bu] 2 59933 Add \f[C]--uptobox-private\f[R] flag to make all uploaded files private 59934 (Nick Craig-Wood) 59935 .IP \[bu] 2 59936 Fix improper regex (Aaron Gokaslan) 59937 .IP \[bu] 2 59938 Fix Update returning the wrong object (Nick Craig-Wood) 59939 .IP \[bu] 2 59940 Fix rmdir declaring that directories weren\[aq]t empty (Nick Craig-Wood) 59941 .RE 59942 .IP \[bu] 2 59943 WebDAV 59944 .RS 2 59945 .IP \[bu] 2 59946 nextcloud: Add support for chunked uploads (Paul) 59947 .IP \[bu] 2 59948 Set modtime using propset for owncloud and nextcloud (WeidiDeng) 59949 .IP \[bu] 2 59950 Make pacer minSleep configurable with \f[C]--webdav-pacer-min-sleep\f[R] 59951 (ed) 59952 .IP \[bu] 2 59953 Fix server side copy/move not overwriting (WeidiDeng) 59954 .IP \[bu] 2 59955 Fix modtime on server side copy for owncloud and nextcloud (Nick 59956 Craig-Wood) 59957 .RE 59958 .IP \[bu] 2 59959 Yandex 59960 .RS 2 59961 .IP \[bu] 2 59962 Fix 400 Bad Request on transfer failure (Nick Craig-Wood) 59963 .RE 59964 .IP \[bu] 2 59965 Zoho 59966 .RS 2 59967 .IP \[bu] 2 59968 Fix downloads with \f[C]Range:\f[R] header returning the wrong data 59969 (Nick Craig-Wood) 59970 .RE 59971 .SS v1.62.2 - 2023-03-16 59972 .PP 59973 See commits (https://github.com/divyam234/rclone/compare/v1.62.1...v1.62.2) 59974 .IP \[bu] 2 59975 Bug Fixes 59976 .RS 2 59977 .IP \[bu] 2 59978 docker volume plugin: Add missing fuse3 dependency (Nick Craig-Wood) 59979 .IP \[bu] 2 59980 docs: Fix size documentation (asdffdsazqqq) 59981 .RE 59982 .IP \[bu] 2 59983 FTP 59984 .RS 2 59985 .IP \[bu] 2 59986 Fix 426 errors on downloads with vsftpd (Lesmiscore) 59987 .RE 59988 .SS v1.62.1 - 2023-03-15 59989 .PP 59990 See commits (https://github.com/divyam234/rclone/compare/v1.62.0...v1.62.1) 59991 .IP \[bu] 2 59992 Bug Fixes 59993 .RS 2 59994 .IP \[bu] 2 59995 docker: Add missing fuse3 dependency (cycneuramus) 59996 .IP \[bu] 2 59997 build: Update release docs to be more careful with the tag (Nick 59998 Craig-Wood) 59999 .IP \[bu] 2 60000 build: Set Github release to draft while uploading binaries (Nick 60001 Craig-Wood) 60002 .RE 60003 .SS v1.62.0 - 2023-03-14 60004 .PP 60005 See commits (https://github.com/divyam234/rclone/compare/v1.61.0...v1.62.0) 60006 .IP \[bu] 2 60007 New Features 60008 .RS 2 60009 .IP \[bu] 2 60010 accounting: Make checkers show what they are doing (Nick Craig-Wood) 60011 .IP \[bu] 2 60012 authorize: Add support for custom templates (Hunter Wittenborn) 60013 .IP \[bu] 2 60014 build 60015 .RS 2 60016 .IP \[bu] 2 60017 Update to go1.20 (Nick Craig-Wood, Anagh Kumar Baranwal) 60018 .IP \[bu] 2 60019 Add winget releaser workflow (Ryan Caezar Itang) 60020 .IP \[bu] 2 60021 Add dependabot (Ryan Caezar Itang) 60022 .RE 60023 .IP \[bu] 2 60024 doc updates (albertony, Bryan Kaplan, Gerard Bosch, IMTheNachoMan, 60025 Justin Winokur, Manoj Ghosh, Nick Craig-Wood, Ole Frost, Peter Brunner, 60026 piyushgarg, Ryan Caezar Itang, Simmon Li, ToBeFree) 60027 .IP \[bu] 2 60028 filter: Emit INFO message when can\[aq]t work out directory filters 60029 (Nick Craig-Wood) 60030 .IP \[bu] 2 60031 fs 60032 .RS 2 60033 .IP \[bu] 2 60034 Added multiple ca certificate support. 60035 (alankrit) 60036 .IP \[bu] 2 60037 Add \f[C]--max-delete-size\f[R] a delete size threshold (Leandro 60038 Sacchet) 60039 .RE 60040 .IP \[bu] 2 60041 fspath: Allow the symbols \f[C]\[at]\f[R] and \f[C]+\f[R] in remote 60042 names (albertony) 60043 .IP \[bu] 2 60044 lib/terminal: Enable windows console virtual terminal sequences 60045 processing (ANSI/VT100 colors) (albertony) 60046 .IP \[bu] 2 60047 move: If \f[C]--check-first\f[R] and \f[C]--order-by\f[R] are set then 60048 delete with perfect ordering (Nick Craig-Wood) 60049 .IP \[bu] 2 60050 serve http: Support \f[C]--auth-proxy\f[R] (Matthias Baur) 60051 .RE 60052 .IP \[bu] 2 60053 Bug Fixes 60054 .RS 2 60055 .IP \[bu] 2 60056 accounting 60057 .RS 2 60058 .IP \[bu] 2 60059 Avoid negative ETA values for very slow speeds (albertony) 60060 .IP \[bu] 2 60061 Limit length of ETA string (albertony) 60062 .IP \[bu] 2 60063 Show human readable elapsed time when longer than a day (albertony) 60064 .RE 60065 .IP \[bu] 2 60066 all: Apply codeql fixes (Aaron Gokaslan) 60067 .IP \[bu] 2 60068 build 60069 .RS 2 60070 .IP \[bu] 2 60071 Fix condition for manual workflow run (albertony) 60072 .IP \[bu] 2 60073 Fix building for ARMv5 and ARMv6 (albertony) 60074 .RS 2 60075 .IP \[bu] 2 60076 selfupdate: Consider ARM version 60077 .IP \[bu] 2 60078 install.sh: fix ARMv6 download 60079 .IP \[bu] 2 60080 version: Report ARM version 60081 .RE 60082 .RE 60083 .IP \[bu] 2 60084 deletefile: Return error code 4 if file does not exist (Nick Craig-Wood) 60085 .IP \[bu] 2 60086 docker: Fix volume plugin does not remount volume on docker restart 60087 (logopk) 60088 .IP \[bu] 2 60089 fs: Fix race conditions in \f[C]--max-delete\f[R] and 60090 \f[C]--max-delete-size\f[R] (Nick Craig-Wood) 60091 .IP \[bu] 2 60092 lib/oauthutil: Handle fatal errors better (Alex Chen) 60093 .IP \[bu] 2 60094 mount2: Fix \f[C]--allow-non-empty\f[R] (Nick Craig-Wood) 60095 .IP \[bu] 2 60096 operations: Fix concurrency: use \f[C]--checkers\f[R] unless 60097 transferring files (Nick Craig-Wood) 60098 .IP \[bu] 2 60099 serve ftp: Fix timestamps older than 1 year in listings (Nick 60100 Craig-Wood) 60101 .IP \[bu] 2 60102 sync: Fix concurrency: use \f[C]--checkers\f[R] unless transferring 60103 files (Nick Craig-Wood) 60104 .IP \[bu] 2 60105 tree 60106 .RS 2 60107 .IP \[bu] 2 60108 Fix nil pointer exception on stat failure (Nick Craig-Wood) 60109 .IP \[bu] 2 60110 Fix colored output on windows (albertony) 60111 .IP \[bu] 2 60112 Fix display of files with illegal Windows file system names (Nick 60113 Craig-Wood) 60114 .RE 60115 .RE 60116 .IP \[bu] 2 60117 Mount 60118 .RS 2 60119 .IP \[bu] 2 60120 Fix creating and renaming files on case insensitive backends (Nick 60121 Craig-Wood) 60122 .IP \[bu] 2 60123 Do not treat \f[C]\[rs]\[rs]?\[rs]\f[R] prefixed paths as network share 60124 paths on windows (albertony) 60125 .IP \[bu] 2 60126 Fix check for empty mount point on Linux (Nick Craig-Wood) 60127 .IP \[bu] 2 60128 Fix \f[C]--allow-non-empty\f[R] (Nick Craig-Wood) 60129 .IP \[bu] 2 60130 Avoid incorrect or premature overlap check on windows (albertony) 60131 .IP \[bu] 2 60132 Update to fuse3 after bazil.org/fuse update (Nick Craig-Wood) 60133 .RE 60134 .IP \[bu] 2 60135 VFS 60136 .RS 2 60137 .IP \[bu] 2 60138 Make uploaded files retain modtime with non-modtime backends (Nick 60139 Craig-Wood) 60140 .IP \[bu] 2 60141 Fix incorrect modtime on fs which don\[aq]t support setting modtime 60142 (Nick Craig-Wood) 60143 .IP \[bu] 2 60144 Fix rename of directory containing files to be uploaded (Nick 60145 Craig-Wood) 60146 .RE 60147 .IP \[bu] 2 60148 Local 60149 .RS 2 60150 .IP \[bu] 2 60151 Fix \f[C]%!w(<nil>)\f[R] in \[dq]failed to read directory\[dq] error 60152 (Marks Polakovs) 60153 .IP \[bu] 2 60154 Fix exclusion of dangling symlinks with -L/--copy-links (Nick 60155 Craig-Wood) 60156 .RE 60157 .IP \[bu] 2 60158 Crypt 60159 .RS 2 60160 .IP \[bu] 2 60161 Obey \f[C]--ignore-checksum\f[R] (Nick Craig-Wood) 60162 .IP \[bu] 2 60163 Fix for unencrypted directory names on case insensitive remotes (Ole 60164 Frost) 60165 .RE 60166 .IP \[bu] 2 60167 Azure Blob 60168 .RS 2 60169 .IP \[bu] 2 60170 Remove workarounds for SDK bugs after v0.6.1 update (Nick Craig-Wood) 60171 .RE 60172 .IP \[bu] 2 60173 B2 60174 .RS 2 60175 .IP \[bu] 2 60176 Fix uploading files bigger than 1TiB (Nick Craig-Wood) 60177 .RE 60178 .IP \[bu] 2 60179 Drive 60180 .RS 2 60181 .IP \[bu] 2 60182 Note that \f[C]--drive-acknowledge-abuse\f[R] needs SA Manager 60183 permission (Nick Craig-Wood) 60184 .IP \[bu] 2 60185 Make \f[C]--drive-stop-on-upload-limit\f[R] to respond to 60186 storageQuotaExceeded (Ninh Pham) 60187 .RE 60188 .IP \[bu] 2 60189 FTP 60190 .RS 2 60191 .IP \[bu] 2 60192 Retry 426 errors (Nick Craig-Wood) 60193 .IP \[bu] 2 60194 Retry errors when initiating downloads (Nick Craig-Wood) 60195 .IP \[bu] 2 60196 Revert to upstream \f[C]github.com/jlaffaye/ftp\f[R] now fix is merged 60197 (Nick Craig-Wood) 60198 .RE 60199 .IP \[bu] 2 60200 Google Cloud Storage 60201 .RS 2 60202 .IP \[bu] 2 60203 Add \f[C]--gcs-env-auth\f[R] to pick up IAM credentials from 60204 env/instance (Peter Brunner) 60205 .RE 60206 .IP \[bu] 2 60207 Mega 60208 .RS 2 60209 .IP \[bu] 2 60210 Add \f[C]--mega-use-https\f[R] flag (NodudeWasTaken) 60211 .RE 60212 .IP \[bu] 2 60213 Onedrive 60214 .RS 2 60215 .IP \[bu] 2 60216 Default onedrive personal to QuickXorHash as Microsoft is removing SHA1 60217 (Nick Craig-Wood) 60218 .IP \[bu] 2 60219 Add \f[C]--onedrive-hash-type\f[R] to change the hash in use (Nick 60220 Craig-Wood) 60221 .IP \[bu] 2 60222 Improve speed of QuickXorHash (LXY) 60223 .RE 60224 .IP \[bu] 2 60225 Oracle Object Storage 60226 .RS 2 60227 .IP \[bu] 2 60228 Speed up operations by using S3 pacer and setting minsleep to 10ms 60229 (Manoj Ghosh) 60230 .IP \[bu] 2 60231 Expose the \f[C]storage_tier\f[R] option in config (Manoj Ghosh) 60232 .IP \[bu] 2 60233 Bring your own encryption keys (Manoj Ghosh) 60234 .RE 60235 .IP \[bu] 2 60236 S3 60237 .RS 2 60238 .IP \[bu] 2 60239 Check multipart upload ETag when \f[C]--s3-no-head\f[R] is in use (Nick 60240 Craig-Wood) 60241 .IP \[bu] 2 60242 Add \f[C]--s3-sts-endpoint\f[R] to specify STS endpoint (Nick 60243 Craig-Wood) 60244 .IP \[bu] 2 60245 Fix incorrect tier support for StorJ and IDrive when pointing at a file 60246 (Ole Frost) 60247 .IP \[bu] 2 60248 Fix AWS STS failing if \f[C]--s3-endpoint\f[R] is set (Nick Craig-Wood) 60249 .IP \[bu] 2 60250 Make purge remove directory markers too (Nick Craig-Wood) 60251 .RE 60252 .IP \[bu] 2 60253 Seafile 60254 .RS 2 60255 .IP \[bu] 2 60256 Renew library password (Fred) 60257 .RE 60258 .IP \[bu] 2 60259 SFTP 60260 .RS 2 60261 .IP \[bu] 2 60262 Fix uploads being 65% slower than they should be with crypt (Nick 60263 Craig-Wood) 60264 .RE 60265 .IP \[bu] 2 60266 Smb 60267 .RS 2 60268 .IP \[bu] 2 60269 Allow SPN (service principal name) to be configured (Nick Craig-Wood) 60270 .IP \[bu] 2 60271 Check smb connection is closed (happyxhw) 60272 .RE 60273 .IP \[bu] 2 60274 Storj 60275 .RS 2 60276 .IP \[bu] 2 60277 Implement \f[C]rclone link\f[R] (Kaloyan Raev) 60278 .IP \[bu] 2 60279 Implement \f[C]rclone purge\f[R] (Kaloyan Raev) 60280 .IP \[bu] 2 60281 Update satellite urls and labels (Kaloyan Raev) 60282 .RE 60283 .IP \[bu] 2 60284 WebDAV 60285 .RS 2 60286 .IP \[bu] 2 60287 Fix interop with davrods server (Nick Craig-Wood) 60288 .RE 60289 .SS v1.61.1 - 2022-12-23 60290 .PP 60291 See commits (https://github.com/divyam234/rclone/compare/v1.61.0...v1.61.1) 60292 .IP \[bu] 2 60293 Bug Fixes 60294 .RS 2 60295 .IP \[bu] 2 60296 docs: 60297 .RS 2 60298 .IP \[bu] 2 60299 Show only significant parts of version number in version introduced 60300 label (albertony) 60301 .IP \[bu] 2 60302 Fix unescaped HTML (Nick Craig-Wood) 60303 .RE 60304 .IP \[bu] 2 60305 lib/http: Shutdown all servers on exit to remove unix socket (Nick 60306 Craig-Wood) 60307 .IP \[bu] 2 60308 rc: Fix \f[C]--rc-addr\f[R] flag (which is an alternate for 60309 \f[C]--url\f[R]) (Anagh Kumar Baranwal) 60310 .IP \[bu] 2 60311 serve restic 60312 .RS 2 60313 .IP \[bu] 2 60314 Don\[aq]t serve via http if serving via \f[C]--stdio\f[R] (Nick 60315 Craig-Wood) 60316 .IP \[bu] 2 60317 Fix immediate exit when not using stdio (Nick Craig-Wood) 60318 .RE 60319 .IP \[bu] 2 60320 serve webdav 60321 .RS 2 60322 .IP \[bu] 2 60323 Fix \f[C]--baseurl\f[R] handling after \f[C]lib/http\f[R] refactor (Nick 60324 Craig-Wood) 60325 .IP \[bu] 2 60326 Fix running duplicate Serve call (Nick Craig-Wood) 60327 .RE 60328 .RE 60329 .IP \[bu] 2 60330 Azure Blob 60331 .RS 2 60332 .IP \[bu] 2 60333 Fix \[dq]409 Public access is not permitted on this storage account\[dq] 60334 (Nick Craig-Wood) 60335 .RE 60336 .IP \[bu] 2 60337 S3 60338 .RS 2 60339 .IP \[bu] 2 60340 storj: Update endpoints (Kaloyan Raev) 60341 .RE 60342 .SS v1.61.0 - 2022-12-20 60343 .PP 60344 See commits (https://github.com/divyam234/rclone/compare/v1.60.0...v1.61.0) 60345 .IP \[bu] 2 60346 New backends 60347 .RS 2 60348 .IP \[bu] 2 60349 New S3 providers 60350 .RS 2 60351 .IP \[bu] 2 60352 Liara LOS (https://rclone.org/s3/#liara-cloud) (MohammadReza) 60353 .RE 60354 .RE 60355 .IP \[bu] 2 60356 New Features 60357 .RS 2 60358 .IP \[bu] 2 60359 build: Add vulnerability testing using govulncheck (albertony) 60360 .IP \[bu] 2 60361 cmd: Enable \f[C]SIGINFO\f[R] (Ctrl-T) handler on FreeBSD, NetBSD, 60362 OpenBSD and Dragonfly BSD (x3-apptech) 60363 .IP \[bu] 2 60364 config: Add config/setpath (https://rclone.org/rc/#config-setpath) for 60365 setting config path via rc/librclone (Nick Craig-Wood) 60366 .IP \[bu] 2 60367 dedupe 60368 .RS 2 60369 .IP \[bu] 2 60370 Count Checks in the stats while scanning for duplicates (Nick 60371 Craig-Wood) 60372 .IP \[bu] 2 60373 Make dedupe obey the filters (Nick Craig-Wood) 60374 .RE 60375 .IP \[bu] 2 60376 dlna: Properly attribute code used from https://github.com/anacrolix/dms 60377 (Nick Craig-Wood) 60378 .IP \[bu] 2 60379 docs 60380 .RS 2 60381 .IP \[bu] 2 60382 Add minimum versions and status badges to backend and command docs (Nick 60383 Craig-Wood, albertony) 60384 .IP \[bu] 2 60385 Remote names may not start or end with space (albertony) 60386 .RE 60387 .IP \[bu] 2 60388 filter: Add metadata filters 60389 --metadata-include/exclude/filter (https://rclone.org/filtering/#metadata) 60390 and friends (Nick Craig-Wood) 60391 .IP \[bu] 2 60392 fs 60393 .RS 2 60394 .IP \[bu] 2 60395 Make all duration flags take \f[C]y\f[R], \f[C]M\f[R], \f[C]w\f[R], 60396 \f[C]d\f[R] etc suffixes (Nick Craig-Wood) 60397 .IP \[bu] 2 60398 Add global flag \f[C]--color\f[R] to control terminal colors (Kevin 60399 Verstaen) 60400 .RE 60401 .IP \[bu] 2 60402 fspath: Allow unicode numbers and letters in remote names (albertony) 60403 .IP \[bu] 2 60404 lib/file: Improve error message for creating dir on non-existent network 60405 host on windows (albertony) 60406 .IP \[bu] 2 60407 lib/http: Finish port of rclone servers to \f[C]lib/http\f[R] (Tom 60408 Mombourquette, Nick Craig-Wood) 60409 .IP \[bu] 2 60410 lib/oauthutil: Improved usability of config flows needing web browser 60411 (Ole Frost) 60412 .IP \[bu] 2 60413 ncdu 60414 .RS 2 60415 .IP \[bu] 2 60416 Add support for modification time (albertony) 60417 .IP \[bu] 2 60418 Fallback to sort by name also for sort by average size (albertony) 60419 .IP \[bu] 2 60420 Rework to use tcell directly instead of the termbox wrapper (eNV25) 60421 .RE 60422 .IP \[bu] 2 60423 rc: Add commands to set GC 60424 Percent (https://rclone.org/rc/#debug-set-gc-percent) & Memory Limit (go 60425 1.19+) (Anagh Kumar Baranwal) 60426 .IP \[bu] 2 60427 rcat: Preserve metadata when Copy falls back to Rcat (Nick Craig-Wood) 60428 .IP \[bu] 2 60429 rcd: Refactor rclone rc server to use \f[C]lib/http\f[R] (Nick 60430 Craig-Wood) 60431 .IP \[bu] 2 60432 rcserver: Avoid generating default credentials with htpasswd (Kamui) 60433 .IP \[bu] 2 60434 restic: Refactor to use \f[C]lib/http\f[R] (Nolan Woods) 60435 .IP \[bu] 2 60436 serve http: Support unix sockets and multiple listeners (Tom 60437 Mombourquette) 60438 .IP \[bu] 2 60439 serve webdav: Refactor to use \f[C]lib/http\f[R] (Nick Craig-Wood) 60440 .IP \[bu] 2 60441 test: Replace defer cleanup with \f[C]t.Cleanup\f[R] (Eng Zer Jun) 60442 .IP \[bu] 2 60443 test memory: Read metadata if \f[C]-M\f[R] flag is specified (Nick 60444 Craig-Wood) 60445 .IP \[bu] 2 60446 wasm: Comply with \f[C]wasm_exec.js\f[R] licence terms (Matthew Vernon) 60447 .RE 60448 .IP \[bu] 2 60449 Bug Fixes 60450 .RS 2 60451 .IP \[bu] 2 60452 build: Update \f[C]golang.org/x/net/http2\f[R] to fix GO-2022-1144 (Nick 60453 Craig-Wood) 60454 .IP \[bu] 2 60455 restic: Fix typo in docs \[aq]remove\[aq] should be \[aq]remote\[aq] 60456 (asdffdsazqqq) 60457 .IP \[bu] 2 60458 serve dlna: Fix panic: Logger uninitialized. 60459 (Nick Craig-Wood) 60460 .RE 60461 .IP \[bu] 2 60462 Mount 60463 .RS 2 60464 .IP \[bu] 2 60465 Update cgofuse for FUSE-T support for mounting volumes on Mac (Nick 60466 Craig-Wood) 60467 .RE 60468 .IP \[bu] 2 60469 VFS 60470 .RS 2 60471 .IP \[bu] 2 60472 Windows: fix slow opening of exe files by not truncating files when not 60473 necessary (Nick Craig-Wood) 60474 .IP \[bu] 2 60475 Fix IO Error opening a file with \f[C]O_CREATE|O_RDONLY\f[R] in 60476 \f[C]--vfs-cache-mode\f[R] not full (Nick Craig-Wood) 60477 .RE 60478 .IP \[bu] 2 60479 Crypt 60480 .RS 2 60481 .IP \[bu] 2 60482 Fix compress wrapping crypt giving upload errors (Nick Craig-Wood) 60483 .RE 60484 .IP \[bu] 2 60485 Azure Blob 60486 .RS 2 60487 .IP \[bu] 2 60488 Port to new SDK (Nick Craig-Wood) 60489 .RS 2 60490 .IP \[bu] 2 60491 Revamp authentication to include all methods and docs (Nick Craig-Wood) 60492 .IP \[bu] 2 60493 Port old authentication methods to new SDK (Nick Craig-Wood, Brad 60494 Ackerman) 60495 .IP \[bu] 2 60496 Thanks to Stonebranch (https://www.stonebranch.com/) for sponsoring this 60497 work. 60498 .RE 60499 .IP \[bu] 2 60500 Add \f[C]--azureblob-no-check-container\f[R] to assume container exists 60501 (Nick Craig-Wood) 60502 .IP \[bu] 2 60503 Add \f[C]--use-server-modtime\f[R] support (Abdullah Saglam) 60504 .IP \[bu] 2 60505 Add support for custom upload headers (rkettelerij) 60506 .IP \[bu] 2 60507 Allow emulator account/key override (Roel Arents) 60508 .IP \[bu] 2 60509 Support simple \[dq]environment credentials\[dq] (Nathaniel Wesley 60510 Filardo) 60511 .IP \[bu] 2 60512 Ignore \f[C]AuthorizationFailure\f[R] when trying to create a create a 60513 container (Nick Craig-Wood) 60514 .RE 60515 .IP \[bu] 2 60516 Box 60517 .RS 2 60518 .IP \[bu] 2 60519 Added note on Box API rate limits (Ole Frost) 60520 .RE 60521 .IP \[bu] 2 60522 Drive 60523 .RS 2 60524 .IP \[bu] 2 60525 Handle shared drives with leading/trailing space in name (related to) 60526 (albertony) 60527 .RE 60528 .IP \[bu] 2 60529 FTP 60530 .RS 2 60531 .IP \[bu] 2 60532 Update help text of implicit/explicit TLS options to refer to FTPS 60533 instead of FTP (ycdtosa) 60534 .IP \[bu] 2 60535 Improve performance to speed up \f[C]--files-from\f[R] and 60536 \f[C]NewObject\f[R] (Anthony Pessy) 60537 .RE 60538 .IP \[bu] 2 60539 HTTP 60540 .RS 2 60541 .IP \[bu] 2 60542 Parse GET responses when \f[C]no_head\f[R] is set (Arnie97) 60543 .IP \[bu] 2 60544 Do not update object size based on \f[C]Range\f[R] requests (Arnie97) 60545 .IP \[bu] 2 60546 Support \f[C]Content-Range\f[R] response header (Arnie97) 60547 .RE 60548 .IP \[bu] 2 60549 Onedrive 60550 .RS 2 60551 .IP \[bu] 2 60552 Document workaround for shared with me files (vanplus) 60553 .RE 60554 .IP \[bu] 2 60555 S3 60556 .RS 2 60557 .IP \[bu] 2 60558 Add Liara LOS to provider list (MohammadReza) 60559 .IP \[bu] 2 60560 Add DigitalOcean Spaces regions \f[C]sfo3\f[R], \f[C]fra1\f[R], 60561 \f[C]syd1\f[R] (Jack) 60562 .IP \[bu] 2 60563 Avoid privileged \f[C]GetBucketLocation\f[R] to resolve s3 region 60564 (Anthony Pessy) 60565 .IP \[bu] 2 60566 Stop setting object and bucket ACL to \f[C]private\f[R] if it is an 60567 empty string (Philip Harvey) 60568 .IP \[bu] 2 60569 If bucket or object ACL is empty string then don\[aq]t add 60570 \f[C]X-Amz-Acl:\f[R] header (Nick Craig-Wood) 60571 .IP \[bu] 2 60572 Reduce memory consumption for s3 objects (Erik Agterdenbos) 60573 .IP \[bu] 2 60574 Fix listing loop when using v2 listing on v1 server (Nick Craig-Wood) 60575 .IP \[bu] 2 60576 Fix nil pointer exception when using Versions (Nick Craig-Wood) 60577 .IP \[bu] 2 60578 Fix excess memory usage when using versions (Nick Craig-Wood) 60579 .IP \[bu] 2 60580 Ignore versionIDs from uploads unless using \f[C]--s3-versions\f[R] or 60581 \f[C]--s3-versions-at\f[R] (Nick Craig-Wood) 60582 .RE 60583 .IP \[bu] 2 60584 SFTP 60585 .RS 2 60586 .IP \[bu] 2 60587 Add configuration options to set ssh Ciphers / MACs / KeyExchange 60588 (dgouju) 60589 .IP \[bu] 2 60590 Auto-detect shell type for fish (albertony) 60591 .IP \[bu] 2 60592 Fix NewObject with leading / (Nick Craig-Wood) 60593 .RE 60594 .IP \[bu] 2 60595 Smb 60596 .RS 2 60597 .IP \[bu] 2 60598 Fix issue where spurious dot directory is created (albertony) 60599 .RE 60600 .IP \[bu] 2 60601 Storj 60602 .RS 2 60603 .IP \[bu] 2 60604 Implement server side Copy (Kaloyan Raev) 60605 .RE 60606 .SS v1.60.1 - 2022-11-17 60607 .PP 60608 See commits (https://github.com/divyam234/rclone/compare/v1.60.0...v1.60.1) 60609 .IP \[bu] 2 60610 Bug Fixes 60611 .RS 2 60612 .IP \[bu] 2 60613 lib/cache: Fix alias backend shutting down too soon (Nick Craig-Wood) 60614 .IP \[bu] 2 60615 wasm: Fix walltime link error by adding up-to-date wasm_exec.js 60616 (Jo\[~a]o Henrique Franco) 60617 .IP \[bu] 2 60618 docs 60619 .RS 2 60620 .IP \[bu] 2 60621 Update faq.md with bisync (Samuel Johnson) 60622 .IP \[bu] 2 60623 Corrected download links in windows install docs (coultonluke) 60624 .IP \[bu] 2 60625 Add direct download link for windows arm64 (albertony) 60626 .IP \[bu] 2 60627 Remove link to rclone slack as it is no longer supported (Nick 60628 Craig-Wood) 60629 .IP \[bu] 2 60630 Faq: how to use a proxy server that requires a username and password 60631 (asdffdsazqqq) 60632 .IP \[bu] 2 60633 Oracle-object-storage: doc fix (Manoj Ghosh) 60634 .IP \[bu] 2 60635 Fix typo \f[C]remove\f[R] in rclone_serve_restic command (Joda 60636 St\[:o]\[ss]er) 60637 .IP \[bu] 2 60638 Fix character that was incorrectly interpreted as markdown (Cl\['e]ment 60639 Notin) 60640 .RE 60641 .RE 60642 .IP \[bu] 2 60643 VFS 60644 .RS 2 60645 .IP \[bu] 2 60646 Fix deadlock caused by cache cleaner and upload finishing (Nick 60647 Craig-Wood) 60648 .RE 60649 .IP \[bu] 2 60650 Local 60651 .RS 2 60652 .IP \[bu] 2 60653 Clean absolute paths (albertony) 60654 .IP \[bu] 2 60655 Fix -L/--copy-links with filters missing directories (Nick Craig-Wood) 60656 .RE 60657 .IP \[bu] 2 60658 Mailru 60659 .RS 2 60660 .IP \[bu] 2 60661 Note that an app password is now needed (Nick Craig-Wood) 60662 .IP \[bu] 2 60663 Allow timestamps to be before the epoch 1970-01-01 (Nick Craig-Wood) 60664 .RE 60665 .IP \[bu] 2 60666 S3 60667 .RS 2 60668 .IP \[bu] 2 60669 Add provider quirk \f[C]--s3-might-gzip\f[R] to fix corrupted on 60670 transfer: sizes differ (Nick Craig-Wood) 60671 .IP \[bu] 2 60672 Allow Storj to server side copy since it seems to work now (Nick 60673 Craig-Wood) 60674 .IP \[bu] 2 60675 Fix for unchecked err value in s3 listv2 (Aaron Gokaslan) 60676 .IP \[bu] 2 60677 Add additional Wasabi locations (techknowlogick) 60678 .RE 60679 .IP \[bu] 2 60680 Smb 60681 .RS 2 60682 .IP \[bu] 2 60683 Fix \f[C]Failed to sync: context canceled\f[R] at the end of syncs (Nick 60684 Craig-Wood) 60685 .RE 60686 .IP \[bu] 2 60687 WebDAV 60688 .RS 2 60689 .IP \[bu] 2 60690 Fix Move/Copy/DirMove when using -server-side-across-configs (Nick 60691 Craig-Wood) 60692 .RE 60693 .SS v1.60.0 - 2022-10-21 60694 .PP 60695 See commits (https://github.com/divyam234/rclone/compare/v1.59.0...v1.60.0) 60696 .IP \[bu] 2 60697 New backends 60698 .RS 2 60699 .IP \[bu] 2 60700 Oracle object storage (https://rclone.org/oracleobjectstorage/) (Manoj 60701 Ghosh) 60702 .IP \[bu] 2 60703 SMB (https://rclone.org/smb/) / CIFS (Windows file sharing) (Lesmiscore) 60704 .IP \[bu] 2 60705 New S3 providers 60706 .RS 2 60707 .IP \[bu] 2 60708 IONOS Cloud Storage (https://rclone.org/s3/#ionos) (Dmitry Deniskin) 60709 .IP \[bu] 2 60710 Qiniu KODO (https://rclone.org/s3/#qiniu) (Bachue Zhou) 60711 .RE 60712 .RE 60713 .IP \[bu] 2 60714 New Features 60715 .RS 2 60716 .IP \[bu] 2 60717 build 60718 .RS 2 60719 .IP \[bu] 2 60720 Update to go1.19 and make go1.17 the minimum required version (Nick 60721 Craig-Wood) 60722 .IP \[bu] 2 60723 Install.sh: fix arm-v7 download (Ole Frost) 60724 .RE 60725 .IP \[bu] 2 60726 fs: Warn the user when using an existing remote name without a colon 60727 (Nick Craig-Wood) 60728 .IP \[bu] 2 60729 httplib: Add \f[C]--xxx-min-tls-version\f[R] option to select minimum 60730 TLS version for HTTP servers (Robert Newson) 60731 .IP \[bu] 2 60732 librclone: Add PHP bindings and test program (Jordi Gonzalez Mu\[~n]oz) 60733 .IP \[bu] 2 60734 operations 60735 .RS 2 60736 .IP \[bu] 2 60737 Add \f[C]--server-side-across-configs\f[R] global flag for any backend 60738 (Nick Craig-Wood) 60739 .IP \[bu] 2 60740 Optimise \f[C]--copy-dest\f[R] and \f[C]--compare-dest\f[R] (Nick 60741 Craig-Wood) 60742 .RE 60743 .IP \[bu] 2 60744 rc: add \f[C]job/stopgroup\f[R] to stop group (Evan Spensley) 60745 .IP \[bu] 2 60746 serve dlna 60747 .RS 2 60748 .IP \[bu] 2 60749 Add \f[C]--announce-interval\f[R] to control SSDP Announce Interval 60750 (YanceyChiew) 60751 .IP \[bu] 2 60752 Add \f[C]--interface\f[R] to Specify SSDP interface names line (Simon 60753 Bos) 60754 .IP \[bu] 2 60755 Add support for more external subtitles (YanceyChiew) 60756 .IP \[bu] 2 60757 Add verification of addresses (YanceyChiew) 60758 .RE 60759 .IP \[bu] 2 60760 sync: Optimise \f[C]--copy-dest\f[R] and \f[C]--compare-dest\f[R] (Nick 60761 Craig-Wood) 60762 .IP \[bu] 2 60763 doc updates (albertony, Alexander Knorr, anonion, Jo\[~a]o Henrique 60764 Franco, Josh Soref, Lorenzo Milesi, Marco Molteni, Mark Trolley, Ole 60765 Frost, partev, Ryan Morey, Tom Mombourquette, YFdyh000) 60766 .RE 60767 .IP \[bu] 2 60768 Bug Fixes 60769 .RS 2 60770 .IP \[bu] 2 60771 filter 60772 .RS 2 60773 .IP \[bu] 2 60774 Fix incorrect filtering with \f[C]UseFilter\f[R] context flag and 60775 wrapping backends (Nick Craig-Wood) 60776 .IP \[bu] 2 60777 Make sure we check \f[C]--files-from\f[R] when looking for a single file 60778 (Nick Craig-Wood) 60779 .RE 60780 .IP \[bu] 2 60781 rc 60782 .RS 2 60783 .IP \[bu] 2 60784 Fix \f[C]mount/listmounts\f[R] not returning the full Fs entered in 60785 \f[C]mount/mount\f[R] (Tom Mombourquette) 60786 .IP \[bu] 2 60787 Handle external unmount when mounting (Isaac Aymerich) 60788 .IP \[bu] 2 60789 Validate Daemon option is not set when mounting a volume via RC (Isaac 60790 Aymerich) 60791 .RE 60792 .IP \[bu] 2 60793 sync: Update docs and error messages to reflect fixes to overlap checks 60794 (Nick Naumann) 60795 .RE 60796 .IP \[bu] 2 60797 VFS 60798 .RS 2 60799 .IP \[bu] 2 60800 Reduce memory use by embedding \f[C]sync.Cond\f[R] (Nick Craig-Wood) 60801 .IP \[bu] 2 60802 Reduce memory usage by re-ordering commonly used structures (Nick 60803 Craig-Wood) 60804 .IP \[bu] 2 60805 Fix excess CPU used by VFS cache cleaner looping (Nick Craig-Wood) 60806 .RE 60807 .IP \[bu] 2 60808 Local 60809 .RS 2 60810 .IP \[bu] 2 60811 Obey file filters in listing to fix errors on excluded files (Nick 60812 Craig-Wood) 60813 .IP \[bu] 2 60814 Fix \[dq]Failed to read metadata: function not implemented\[dq] on old 60815 Linux kernels (Nick Craig-Wood) 60816 .RE 60817 .IP \[bu] 2 60818 Compress 60819 .RS 2 60820 .IP \[bu] 2 60821 Fix crash due to nil metadata (Nick Craig-Wood) 60822 .IP \[bu] 2 60823 Fix error handling to not use or return nil objects (Nick Craig-Wood) 60824 .RE 60825 .IP \[bu] 2 60826 Drive 60827 .RS 2 60828 .IP \[bu] 2 60829 Make \f[C]--drive-stop-on-upload-limit\f[R] obey quota exceeded error 60830 (Steve Kowalik) 60831 .RE 60832 .IP \[bu] 2 60833 FTP 60834 .RS 2 60835 .IP \[bu] 2 60836 Add \f[C]--ftp-force-list-hidden\f[R] option to show hidden items 60837 (\[/O]yvind Heddeland Instefjord) 60838 .IP \[bu] 2 60839 Fix hang when using ExplicitTLS to certain servers. 60840 (Nick Craig-Wood) 60841 .RE 60842 .IP \[bu] 2 60843 Google Cloud Storage 60844 .RS 2 60845 .IP \[bu] 2 60846 Add \f[C]--gcs-endpoint\f[R] flag and config parameter (Nick Craig-Wood) 60847 .RE 60848 .IP \[bu] 2 60849 Hubic 60850 .RS 2 60851 .IP \[bu] 2 60852 Remove backend as service has now shut down (Nick Craig-Wood) 60853 .RE 60854 .IP \[bu] 2 60855 Onedrive 60856 .RS 2 60857 .IP \[bu] 2 60858 Rename Onedrive(cn) 21Vianet to Vnet Group (Yen Hu) 60859 .IP \[bu] 2 60860 Disable change notify in China region since it is not supported (Nick 60861 Craig-Wood) 60862 .RE 60863 .IP \[bu] 2 60864 S3 60865 .RS 2 60866 .IP \[bu] 2 60867 Implement \f[C]--s3-versions\f[R] flag to show old versions of objects 60868 if enabled (Nick Craig-Wood) 60869 .IP \[bu] 2 60870 Implement \f[C]--s3-version-at\f[R] flag to show versions of objects at 60871 a particular time (Nick Craig-Wood) 60872 .IP \[bu] 2 60873 Implement \f[C]backend versioning\f[R] command to get/set bucket 60874 versioning (Nick Craig-Wood) 60875 .IP \[bu] 2 60876 Implement \f[C]Purge\f[R] to purge versions and 60877 \f[C]backend cleanup-hidden\f[R] (Nick Craig-Wood) 60878 .IP \[bu] 2 60879 Add \f[C]--s3-decompress\f[R] flag to decompress gzip-encoded files 60880 (Nick Craig-Wood) 60881 .IP \[bu] 2 60882 Add \f[C]--s3-sse-customer-key-base64\f[R] to supply keys with binary 60883 data (Richard Bateman) 60884 .IP \[bu] 2 60885 Try to keep the maximum precision in ModTime with 60886 \f[C]--user-server-modtime\f[R] (Nick Craig-Wood) 60887 .IP \[bu] 2 60888 Drop binary metadata with an ERROR message as it can\[aq]t be stored 60889 (Nick Craig-Wood) 60890 .IP \[bu] 2 60891 Add \f[C]--s3-no-system-metadata\f[R] to suppress read and write of 60892 system metadata (Nick Craig-Wood) 60893 .RE 60894 .IP \[bu] 2 60895 SFTP 60896 .RS 2 60897 .IP \[bu] 2 60898 Fix directory creation races (Lesmiscore) 60899 .RE 60900 .IP \[bu] 2 60901 Swift 60902 .RS 2 60903 .IP \[bu] 2 60904 Add \f[C]--swift-no-large-objects\f[R] to reduce HEAD requests (Nick 60905 Craig-Wood) 60906 .RE 60907 .IP \[bu] 2 60908 Union 60909 .RS 2 60910 .IP \[bu] 2 60911 Propagate SlowHash feature to fix hasher interaction (Lesmiscore) 60912 .RE 60913 .SS v1.59.2 - 2022-09-15 60914 .PP 60915 See commits (https://github.com/divyam234/rclone/compare/v1.59.1...v1.59.2) 60916 .IP \[bu] 2 60917 Bug Fixes 60918 .RS 2 60919 .IP \[bu] 2 60920 config: Move locking to fix fatal error: concurrent map read and map 60921 write (Nick Craig-Wood) 60922 .RE 60923 .IP \[bu] 2 60924 Local 60925 .RS 2 60926 .IP \[bu] 2 60927 Disable xattr support if the filesystems indicates it is not supported 60928 (Nick Craig-Wood) 60929 .RE 60930 .IP \[bu] 2 60931 Azure Blob 60932 .RS 2 60933 .IP \[bu] 2 60934 Fix chunksize calculations producing too many parts (Nick Craig-Wood) 60935 .RE 60936 .IP \[bu] 2 60937 B2 60938 .RS 2 60939 .IP \[bu] 2 60940 Fix chunksize calculations producing too many parts (Nick Craig-Wood) 60941 .RE 60942 .IP \[bu] 2 60943 S3 60944 .RS 2 60945 .IP \[bu] 2 60946 Fix chunksize calculations producing too many parts (Nick Craig-Wood) 60947 .RE 60948 .SS v1.59.1 - 2022-08-08 60949 .PP 60950 See commits (https://github.com/divyam234/rclone/compare/v1.59.0...v1.59.1) 60951 .IP \[bu] 2 60952 Bug Fixes 60953 .RS 2 60954 .IP \[bu] 2 60955 accounting: Fix panic in core/stats-reset with unknown group (Nick 60956 Craig-Wood) 60957 .IP \[bu] 2 60958 build: Fix android build after GitHub actions change (Nick Craig-Wood) 60959 .IP \[bu] 2 60960 dlna: Fix SOAP action header parsing (Joram Schrijver) 60961 .IP \[bu] 2 60962 docs: Fix links to mount command from install docs (albertony) 60963 .IP \[bu] 2 60964 dropbox: Fix ChangeNotify was unable to decrypt errors (Nick Craig-Wood) 60965 .IP \[bu] 2 60966 fs: Fix parsing of times and durations of the form \[dq]YYYY-MM-DD 60967 HH:MM:SS\[dq] (Nick Craig-Wood) 60968 .IP \[bu] 2 60969 serve sftp: Fix checksum detection (Nick Craig-Wood) 60970 .IP \[bu] 2 60971 sync: Add accidentally missed filter-sensitivity to --backup-dir option 60972 (Nick Naumann) 60973 .RE 60974 .IP \[bu] 2 60975 Combine 60976 .RS 2 60977 .IP \[bu] 2 60978 Fix docs showing \f[C]remote=\f[R] instead of \f[C]upstreams=\f[R] (Nick 60979 Craig-Wood) 60980 .IP \[bu] 2 60981 Throw error if duplicate directory name is specified (Nick Craig-Wood) 60982 .IP \[bu] 2 60983 Fix errors with backends shutting down while in use (Nick Craig-Wood) 60984 .RE 60985 .IP \[bu] 2 60986 Dropbox 60987 .RS 2 60988 .IP \[bu] 2 60989 Fix hang on quit with --dropbox-batch-mode off (Nick Craig-Wood) 60990 .IP \[bu] 2 60991 Fix infinite loop on uploading a corrupted file (Nick Craig-Wood) 60992 .RE 60993 .IP \[bu] 2 60994 Internetarchive 60995 .RS 2 60996 .IP \[bu] 2 60997 Ignore checksums for files using the different method (Lesmiscore) 60998 .IP \[bu] 2 60999 Handle hash symbol in the middle of filename (Lesmiscore) 61000 .RE 61001 .IP \[bu] 2 61002 Jottacloud 61003 .RS 2 61004 .IP \[bu] 2 61005 Fix working with whitelabel Elgiganten Cloud 61006 .IP \[bu] 2 61007 Do not store username in config when using standard auth (albertony) 61008 .RE 61009 .IP \[bu] 2 61010 Mega 61011 .RS 2 61012 .IP \[bu] 2 61013 Fix nil pointer exception when bad node received (Nick Craig-Wood) 61014 .RE 61015 .IP \[bu] 2 61016 S3 61017 .RS 2 61018 .IP \[bu] 2 61019 Fix --s3-no-head panic: reflect: Elem of invalid type s3.PutObjectInput 61020 (Nick Craig-Wood) 61021 .RE 61022 .IP \[bu] 2 61023 SFTP 61024 .RS 2 61025 .IP \[bu] 2 61026 Fix issue with WS_FTP by working around failing RealPath (albertony) 61027 .RE 61028 .IP \[bu] 2 61029 Union 61030 .RS 2 61031 .IP \[bu] 2 61032 Fix duplicated files when using directories with leading / (Nick 61033 Craig-Wood) 61034 .IP \[bu] 2 61035 Fix multiple files being uploaded when roots don\[aq]t exist (Nick 61036 Craig-Wood) 61037 .IP \[bu] 2 61038 Fix panic due to misalignment of struct field in 32 bit architectures 61039 (r-ricci) 61040 .RE 61041 .SS v1.59.0 - 2022-07-09 61042 .PP 61043 See commits (https://github.com/divyam234/rclone/compare/v1.58.0...v1.59.0) 61044 .IP \[bu] 2 61045 New backends 61046 .RS 2 61047 .IP \[bu] 2 61048 Combine multiple remotes in one directory tree (Nick Craig-Wood) 61049 .IP \[bu] 2 61050 Hidrive (https://rclone.org/hidrive/) (Ovidiu Victor Tatar) 61051 .IP \[bu] 2 61052 Internet Archive (https://rclone.org/internetarchive/) (Lesmiscore 61053 (Naoya Ozaki)) 61054 .IP \[bu] 2 61055 New S3 providers 61056 .RS 2 61057 .IP \[bu] 2 61058 ArvanCloud AOS (https://rclone.org/s3/#arvan-cloud) (ehsantdy) 61059 .IP \[bu] 2 61060 Cloudflare R2 (https://rclone.org/s3/#cloudflare-r2) (Nick Craig-Wood) 61061 .IP \[bu] 2 61062 Huawei OBS (https://rclone.org/s3/#huawei-obs) (m00594701) 61063 .IP \[bu] 2 61064 IDrive e2 (https://rclone.org/s3/#idrive-e2) (vyloy) 61065 .RE 61066 .RE 61067 .IP \[bu] 2 61068 New commands 61069 .RS 2 61070 .IP \[bu] 2 61071 test makefile (https://rclone.org/commands/rclone_test_makefile/): 61072 Create a single file for testing (Nick Craig-Wood) 61073 .RE 61074 .IP \[bu] 2 61075 New Features 61076 .RS 2 61077 .IP \[bu] 2 61078 Metadata framework (https://rclone.org/docs/#metadata) to read and write 61079 system and user metadata on backends (Nick Craig-Wood) 61080 .RS 2 61081 .IP \[bu] 2 61082 Implemented initially for \f[C]local\f[R], \f[C]s3\f[R] and 61083 \f[C]internetarchive\f[R] backends 61084 .IP \[bu] 2 61085 \f[C]--metadata\f[R]/\f[C]-M\f[R] flag to control whether metadata is 61086 copied 61087 .IP \[bu] 2 61088 \f[C]--metadata-set\f[R] flag to specify metadata for uploads 61089 .IP \[bu] 2 61090 Thanks to Manz Solutions (https://manz-solutions.at/) for sponsoring 61091 this work. 61092 .RE 61093 .IP \[bu] 2 61094 build 61095 .RS 2 61096 .IP \[bu] 2 61097 Update to go1.18 and make go1.16 the minimum required version (Nick 61098 Craig-Wood) 61099 .IP \[bu] 2 61100 Update android go build to 1.18.x and NDK to 23.1.7779620 (Nick 61101 Craig-Wood) 61102 .IP \[bu] 2 61103 All windows binaries now no longer CGO (Nick Craig-Wood) 61104 .IP \[bu] 2 61105 Add \f[C]linux/arm/v6\f[R] to docker images (Nick Craig-Wood) 61106 .IP \[bu] 2 61107 A huge number of fixes found with staticcheck (https://staticcheck.io/) 61108 (albertony) 61109 .IP \[bu] 2 61110 Configurable version suffix independent of version number (albertony) 61111 .RE 61112 .IP \[bu] 2 61113 check: Implement \f[C]--no-traverse\f[R] and 61114 \f[C]--no-unicode-normalization\f[R] (Nick Craig-Wood) 61115 .IP \[bu] 2 61116 config: Readability improvements (albertony) 61117 .IP \[bu] 2 61118 copyurl: Add \f[C]--header-filename\f[R] to honor the HTTP header 61119 filename directive (J-P Treen) 61120 .IP \[bu] 2 61121 filter: Allow multiple \f[C]--exclude-if-present\f[R] flags (albertony) 61122 .IP \[bu] 2 61123 fshttp: Add \f[C]--disable-http-keep-alives\f[R] to disable HTTP Keep 61124 Alives (Nick Craig-Wood) 61125 .IP \[bu] 2 61126 install.sh 61127 .RS 2 61128 .IP \[bu] 2 61129 Set the modes on the files and/or directories on macOS (Michael C 61130 Tiernan - MIT-Research Computing Project) 61131 .IP \[bu] 2 61132 Pre verify sudo authorization \f[C]-v\f[R] before calling curl. 61133 (Michael C Tiernan - MIT-Research Computing Project) 61134 .RE 61135 .IP \[bu] 2 61136 lib/encoder: Add Semicolon encoding (Nick Craig-Wood) 61137 .IP \[bu] 2 61138 lsf: Add metadata support with \f[C]M\f[R] flag (Nick Craig-Wood) 61139 .IP \[bu] 2 61140 lsjson: Add \f[C]--metadata\f[R]/\f[C]-M\f[R] flag (Nick Craig-Wood) 61141 .IP \[bu] 2 61142 ncdu 61143 .RS 2 61144 .IP \[bu] 2 61145 Implement multi selection (CrossR) 61146 .IP \[bu] 2 61147 Replace termbox with tcell\[aq]s termbox wrapper (eNV25) 61148 .IP \[bu] 2 61149 Display correct path in delete confirmation dialog (Roberto Ricci) 61150 .RE 61151 .IP \[bu] 2 61152 operations 61153 .RS 2 61154 .IP \[bu] 2 61155 Speed up hash checking by aborting the other hash if first returns 61156 nothing (Nick Craig-Wood) 61157 .IP \[bu] 2 61158 Use correct src/dst in some log messages (zzr93) 61159 .RE 61160 .IP \[bu] 2 61161 rcat: Check checksums by default like copy does (Nick Craig-Wood) 61162 .IP \[bu] 2 61163 selfupdate: Replace deprecated \f[C]x/crypto/openpgp\f[R] package with 61164 \f[C]ProtonMail/go-crypto\f[R] (albertony) 61165 .IP \[bu] 2 61166 serve ftp: Check \f[C]--passive-port\f[R] arguments are correct (Nick 61167 Craig-Wood) 61168 .IP \[bu] 2 61169 size: Warn about inaccurate results when objects with unknown size 61170 (albertony) 61171 .IP \[bu] 2 61172 sync: Overlap check is now filter-sensitive so \f[C]--backup-dir\f[R] 61173 can be in the root provided it is filtered (Nick) 61174 .IP \[bu] 2 61175 test info: Check file name lengths using 1,2,3,4 byte unicode characters 61176 (Nick Craig-Wood) 61177 .IP \[bu] 2 61178 test makefile(s): \f[C]--sparse\f[R], \f[C]--zero\f[R], 61179 \f[C]--pattern\f[R], \f[C]--ascii\f[R], \f[C]--chargen\f[R] flags to 61180 control file contents (Nick Craig-Wood) 61181 .IP \[bu] 2 61182 Make sure we call the \f[C]Shutdown\f[R] method on backends (Martin 61183 Czygan) 61184 .RE 61185 .IP \[bu] 2 61186 Bug Fixes 61187 .RS 2 61188 .IP \[bu] 2 61189 accounting: Fix unknown length file transfers counting 3 transfers each 61190 (buda) 61191 .IP \[bu] 2 61192 ncdu: Fix issue where dir size is summed when file sizes are -1 61193 (albertony) 61194 .IP \[bu] 2 61195 sync/copy/move 61196 .RS 2 61197 .IP \[bu] 2 61198 Fix \f[C]--fast-list\f[R] \f[C]--create-empty-src-dirs\f[R] and 61199 \f[C]--exclude\f[R] (Nick Craig-Wood) 61200 .IP \[bu] 2 61201 Fix \f[C]--max-duration\f[R] and \f[C]--cutoff-mode soft\f[R] (Nick 61202 Craig-Wood) 61203 .RE 61204 .IP \[bu] 2 61205 Fix fs cache unpin (Martin Czygan) 61206 .IP \[bu] 2 61207 Set proper exit code for errors that are not low-level retried (e.g. 61208 size/timestamp changing) (albertony) 61209 .RE 61210 .IP \[bu] 2 61211 Mount 61212 .RS 2 61213 .IP \[bu] 2 61214 Support \f[C]windows/arm64\f[R] (may still be problems - see 61215 #5828 (https://github.com/divyam234/rclone/issues/5828)) (Nick Craig-Wood) 61216 .IP \[bu] 2 61217 Log IO errors at ERROR level (Nick Craig-Wood) 61218 .IP \[bu] 2 61219 Ignore \f[C]_netdev\f[R] mount argument (Hugal31) 61220 .RE 61221 .IP \[bu] 2 61222 VFS 61223 .RS 2 61224 .IP \[bu] 2 61225 Add \f[C]--vfs-fast-fingerprint\f[R] for less accurate but faster 61226 fingerprints (Nick Craig-Wood) 61227 .IP \[bu] 2 61228 Add \f[C]--vfs-disk-space-total-size\f[R] option to manually set the 61229 total disk space (Claudio Maradonna) 61230 .IP \[bu] 2 61231 vfscache: Fix fatal error: sync: unlock of unlocked mutex error (Nick 61232 Craig-Wood) 61233 .RE 61234 .IP \[bu] 2 61235 Local 61236 .RS 2 61237 .IP \[bu] 2 61238 Fix parsing of \f[C]--local-nounc\f[R] flag (Nick Craig-Wood) 61239 .IP \[bu] 2 61240 Add Metadata support (Nick Craig-Wood) 61241 .RE 61242 .IP \[bu] 2 61243 Crypt 61244 .RS 2 61245 .IP \[bu] 2 61246 Support metadata (Nick Craig-Wood) 61247 .RE 61248 .IP \[bu] 2 61249 Azure Blob 61250 .RS 2 61251 .IP \[bu] 2 61252 Calculate Chunksize/blocksize to stay below maxUploadParts (Leroy van 61253 Logchem) 61254 .IP \[bu] 2 61255 Use chunksize lib to determine chunksize dynamically (Derek Battams) 61256 .IP \[bu] 2 61257 Case insensitive access tier (Rob Pickerill) 61258 .IP \[bu] 2 61259 Allow remote emulator (azurite) (Lorenzo Maiorfi) 61260 .RE 61261 .IP \[bu] 2 61262 B2 61263 .RS 2 61264 .IP \[bu] 2 61265 Add \f[C]--b2-version-at\f[R] flag to show file versions at time 61266 specified (SwazRGB) 61267 .IP \[bu] 2 61268 Use chunksize lib to determine chunksize dynamically (Derek Battams) 61269 .RE 61270 .IP \[bu] 2 61271 Chunker 61272 .RS 2 61273 .IP \[bu] 2 61274 Mark as not supporting metadata (Nick Craig-Wood) 61275 .RE 61276 .IP \[bu] 2 61277 Compress 61278 .RS 2 61279 .IP \[bu] 2 61280 Support metadata (Nick Craig-Wood) 61281 .RE 61282 .IP \[bu] 2 61283 Drive 61284 .RS 2 61285 .IP \[bu] 2 61286 Make \f[C]backend config -o config\f[R] add a combined 61287 \f[C]AllDrives:\f[R] remote (Nick Craig-Wood) 61288 .IP \[bu] 2 61289 Make \f[C]--drive-shared-with-me\f[R] work with shared drives (Nick 61290 Craig-Wood) 61291 .IP \[bu] 2 61292 Add \f[C]--drive-resource-key\f[R] for accessing link-shared files (Nick 61293 Craig-Wood) 61294 .IP \[bu] 2 61295 Add backend commands \f[C]exportformats\f[R] and \f[C]importformats\f[R] 61296 for debugging (Nick Craig-Wood) 61297 .IP \[bu] 2 61298 Fix 404 errors on copy/server side copy objects from public folder (Nick 61299 Craig-Wood) 61300 .IP \[bu] 2 61301 Update Internal OAuth consent screen docs (Phil Shackleton) 61302 .IP \[bu] 2 61303 Moved \f[C]root_folder_id\f[R] to advanced section (Abhiraj) 61304 .RE 61305 .IP \[bu] 2 61306 Dropbox 61307 .RS 2 61308 .IP \[bu] 2 61309 Migrate from deprecated api (m8rge) 61310 .IP \[bu] 2 61311 Add logs to show when poll interval limits are exceeded (Nick 61312 Craig-Wood) 61313 .IP \[bu] 2 61314 Fix nil pointer exception on dropbox impersonate user not found (Nick 61315 Craig-Wood) 61316 .RE 61317 .IP \[bu] 2 61318 Fichier 61319 .RS 2 61320 .IP \[bu] 2 61321 Parse api error codes and them accordingly (buengese) 61322 .RE 61323 .IP \[bu] 2 61324 FTP 61325 .RS 2 61326 .IP \[bu] 2 61327 Add support for \f[C]disable_utf8\f[R] option (Jason Zheng) 61328 .IP \[bu] 2 61329 Revert to upstream \f[C]github.com/jlaffaye/ftp\f[R] from our fork (Nick 61330 Craig-Wood) 61331 .RE 61332 .IP \[bu] 2 61333 Google Cloud Storage 61334 .RS 2 61335 .IP \[bu] 2 61336 Add \f[C]--gcs-no-check-bucket\f[R] to minimise transactions and perms 61337 (Nick Gooding) 61338 .IP \[bu] 2 61339 Add \f[C]--gcs-decompress\f[R] flag to decompress gzip-encoded files 61340 (Nick Craig-Wood) 61341 .RS 2 61342 .IP \[bu] 2 61343 by default these will be downloaded compressed (which previously failed) 61344 .RE 61345 .RE 61346 .IP \[bu] 2 61347 Hasher 61348 .RS 2 61349 .IP \[bu] 2 61350 Support metadata (Nick Craig-Wood) 61351 .RE 61352 .IP \[bu] 2 61353 HTTP 61354 .RS 2 61355 .IP \[bu] 2 61356 Fix missing response when using custom auth handler (albertony) 61357 .RE 61358 .IP \[bu] 2 61359 Jottacloud 61360 .RS 2 61361 .IP \[bu] 2 61362 Add support for upload to custom device and mountpoint (albertony) 61363 .IP \[bu] 2 61364 Always store username in config and use it to avoid initial API request 61365 (albertony) 61366 .IP \[bu] 2 61367 Fix issue with server-side copy when destination is in trash (albertony) 61368 .IP \[bu] 2 61369 Fix listing output of remote with special characters (albertony) 61370 .RE 61371 .IP \[bu] 2 61372 Mailru 61373 .RS 2 61374 .IP \[bu] 2 61375 Fix timeout by using int instead of time.Duration for keeping number of 61376 seconds (albertony) 61377 .RE 61378 .IP \[bu] 2 61379 Mega 61380 .RS 2 61381 .IP \[bu] 2 61382 Document using MEGAcmd to help with login failures (Art M. 61383 Gallagher) 61384 .RE 61385 .IP \[bu] 2 61386 Onedrive 61387 .RS 2 61388 .IP \[bu] 2 61389 Implement \f[C]--poll-interval\f[R] for onedrive (Hugo Laloge) 61390 .IP \[bu] 2 61391 Add access scopes option (Sven Gerber) 61392 .RE 61393 .IP \[bu] 2 61394 Opendrive 61395 .RS 2 61396 .IP \[bu] 2 61397 Resolve lag and truncate bugs (Scott Grimes) 61398 .RE 61399 .IP \[bu] 2 61400 Pcloud 61401 .RS 2 61402 .IP \[bu] 2 61403 Fix about with no free space left (buengese) 61404 .IP \[bu] 2 61405 Fix cleanup (buengese) 61406 .RE 61407 .IP \[bu] 2 61408 S3 61409 .RS 2 61410 .IP \[bu] 2 61411 Use PUT Object instead of presigned URLs to upload single part objects 61412 (Nick Craig-Wood) 61413 .IP \[bu] 2 61414 Backend restore command to skip non-GLACIER objects (Vincent Murphy) 61415 .IP \[bu] 2 61416 Use chunksize lib to determine chunksize dynamically (Derek Battams) 61417 .IP \[bu] 2 61418 Retry RequestTimeout errors (Nick Craig-Wood) 61419 .IP \[bu] 2 61420 Implement reading and writing of metadata (Nick Craig-Wood) 61421 .RE 61422 .IP \[bu] 2 61423 SFTP 61424 .RS 2 61425 .IP \[bu] 2 61426 Add support for about and hashsum on windows server (albertony) 61427 .IP \[bu] 2 61428 Use vendor-specific VFS statistics extension for about if available 61429 (albertony) 61430 .IP \[bu] 2 61431 Add \f[C]--sftp-chunk-size\f[R] to control packets sizes for high 61432 latency links (Nick Craig-Wood) 61433 .IP \[bu] 2 61434 Add \f[C]--sftp-concurrency\f[R] to improve high latency transfers (Nick 61435 Craig-Wood) 61436 .IP \[bu] 2 61437 Add \f[C]--sftp-set-env\f[R] option to set environment variables (Nick 61438 Craig-Wood) 61439 .IP \[bu] 2 61440 Add Hetzner Storage Boxes to supported sftp backends (Anthrazz) 61441 .RE 61442 .IP \[bu] 2 61443 Storj 61444 .RS 2 61445 .IP \[bu] 2 61446 Fix put which lead to the file being unreadable when using mount (Erik 61447 van Velzen) 61448 .RE 61449 .IP \[bu] 2 61450 Union 61451 .RS 2 61452 .IP \[bu] 2 61453 Add \f[C]min_free_space\f[R] option for \f[C]lfs\f[R]/\f[C]eplfs\f[R] 61454 policies (Nick Craig-Wood) 61455 .IP \[bu] 2 61456 Fix uploading files to union of all bucket based remotes (Nick 61457 Craig-Wood) 61458 .IP \[bu] 2 61459 Fix get free space for remotes which don\[aq]t support it (Nick 61460 Craig-Wood) 61461 .IP \[bu] 2 61462 Fix \f[C]eplus\f[R] policy to select correct entry for existing files 61463 (Nick Craig-Wood) 61464 .IP \[bu] 2 61465 Support metadata (Nick Craig-Wood) 61466 .RE 61467 .IP \[bu] 2 61468 Uptobox 61469 .RS 2 61470 .IP \[bu] 2 61471 Fix root path handling (buengese) 61472 .RE 61473 .IP \[bu] 2 61474 WebDAV 61475 .RS 2 61476 .IP \[bu] 2 61477 Add SharePoint in other specific regions support (Noah Hsu) 61478 .RE 61479 .IP \[bu] 2 61480 Yandex 61481 .RS 2 61482 .IP \[bu] 2 61483 Handle api error on server-side move (albertony) 61484 .RE 61485 .IP \[bu] 2 61486 Zoho 61487 .RS 2 61488 .IP \[bu] 2 61489 Add Japan and China regions (buengese) 61490 .RE 61491 .SS v1.58.1 - 2022-04-29 61492 .PP 61493 See commits (https://github.com/divyam234/rclone/compare/v1.58.0...v1.58.1) 61494 .IP \[bu] 2 61495 Bug Fixes 61496 .RS 2 61497 .IP \[bu] 2 61498 build: Update github.com/billziss-gh to github.com/winfsp (Nick 61499 Craig-Wood) 61500 .IP \[bu] 2 61501 filter: Fix timezone of \f[C]--min-age\f[R]/\f[C]-max-age\f[R] from UTC 61502 to local as documented (Nick Craig-Wood) 61503 .IP \[bu] 2 61504 rc/js: Correct RC method names (S\[u01A1]n Tr\[u1EA7]n-Nguy\[u1EC5]n) 61505 .IP \[bu] 2 61506 docs 61507 .RS 2 61508 .IP \[bu] 2 61509 Fix some links to command pages (albertony) 61510 .IP \[bu] 2 61511 Add \f[C]--multi-thread-streams\f[R] note to \f[C]--transfers\f[R]. 61512 (Zsolt Ero) 61513 .RE 61514 .RE 61515 .IP \[bu] 2 61516 Mount 61517 .RS 2 61518 .IP \[bu] 2 61519 Fix \f[C]--devname\f[R] and fusermount: unknown option \[aq]fsname\[aq] 61520 when mounting via rc (Nick Craig-Wood) 61521 .RE 61522 .IP \[bu] 2 61523 VFS 61524 .RS 2 61525 .IP \[bu] 2 61526 Remove wording which suggests VFS is only for mounting (Nick Craig-Wood) 61527 .RE 61528 .IP \[bu] 2 61529 Dropbox 61530 .RS 2 61531 .IP \[bu] 2 61532 Fix retries of multipart uploads with incorrect_offset error (Nick 61533 Craig-Wood) 61534 .RE 61535 .IP \[bu] 2 61536 Google Cloud Storage 61537 .RS 2 61538 .IP \[bu] 2 61539 Use the s3 pacer to speed up transactions (Nick Craig-Wood) 61540 .IP \[bu] 2 61541 pacer: Default the Google pacer to a burst of 100 to fix gcs pacing 61542 (Nick Craig-Wood) 61543 .RE 61544 .IP \[bu] 2 61545 Jottacloud 61546 .RS 2 61547 .IP \[bu] 2 61548 Fix scope in token request (albertony) 61549 .RE 61550 .IP \[bu] 2 61551 Netstorage 61552 .RS 2 61553 .IP \[bu] 2 61554 Fix unescaped HTML in documentation (Nick Craig-Wood) 61555 .IP \[bu] 2 61556 Make levels of headings consistent (Nick Craig-Wood) 61557 .IP \[bu] 2 61558 Add support contacts to netstorage doc (Nil Alexandrov) 61559 .RE 61560 .IP \[bu] 2 61561 Onedrive 61562 .RS 2 61563 .IP \[bu] 2 61564 Note that sharepoint also changes web files (.html, .aspx) (GH) 61565 .RE 61566 .IP \[bu] 2 61567 Putio 61568 .RS 2 61569 .IP \[bu] 2 61570 Handle rate limit errors (Berkan Teber) 61571 .IP \[bu] 2 61572 Fix multithread download and other ranged requests (rafma0) 61573 .RE 61574 .IP \[bu] 2 61575 S3 61576 .RS 2 61577 .IP \[bu] 2 61578 Add ChinaMobile EOS to provider list (GuoXingbin) 61579 .IP \[bu] 2 61580 Sync providers in config description with providers (Nick Craig-Wood) 61581 .RE 61582 .IP \[bu] 2 61583 SFTP 61584 .RS 2 61585 .IP \[bu] 2 61586 Fix OpenSSH 8.8+ RSA keys incompatibility (KARBOWSKI Piotr) 61587 .IP \[bu] 2 61588 Note that Scaleway C14 is deprecating SFTP in favor of S3 (Adrien 61589 Rey-Jarthon) 61590 .RE 61591 .IP \[bu] 2 61592 Storj 61593 .RS 2 61594 .IP \[bu] 2 61595 Fix bucket creation on Move (Nick Craig-Wood) 61596 .RE 61597 .IP \[bu] 2 61598 WebDAV 61599 .RS 2 61600 .IP \[bu] 2 61601 Don\[aq]t override Referer if user sets it (Nick Craig-Wood) 61602 .RE 61603 .SS v1.58.0 - 2022-03-18 61604 .PP 61605 See commits (https://github.com/divyam234/rclone/compare/v1.57.0...v1.58.0) 61606 .IP \[bu] 2 61607 New backends 61608 .RS 2 61609 .IP \[bu] 2 61610 Akamai Netstorage (Nil Alexandrov) 61611 .IP \[bu] 2 61612 Seagate Lyve (https://rclone.org/s3/#lyve), SeaweedFS, Storj, RackCorp 61613 via s3 backend 61614 .IP \[bu] 2 61615 Storj (https://rclone.org/storj/) (renamed from Tardigrade - your old 61616 config files will continue working) 61617 .RE 61618 .IP \[bu] 2 61619 New commands 61620 .RS 2 61621 .IP \[bu] 2 61622 bisync (https://rclone.org/bisync/) - experimental bidirectional cloud 61623 sync (Ivan Andreev, Chris Nelson) 61624 .RE 61625 .IP \[bu] 2 61626 New Features 61627 .RS 2 61628 .IP \[bu] 2 61629 build 61630 .RS 2 61631 .IP \[bu] 2 61632 Add \f[C]windows/arm64\f[R] build (\f[C]rclone mount\f[R] not supported 61633 yet) (Nick Craig-Wood) 61634 .IP \[bu] 2 61635 Raise minimum go version to go1.15 (Nick Craig-Wood) 61636 .RE 61637 .IP \[bu] 2 61638 config: Allow dot in remote names and improve config editing (albertony) 61639 .IP \[bu] 2 61640 dedupe: Add quit as a choice in interactive mode (albertony) 61641 .IP \[bu] 2 61642 dlna: Change icons to the newest ones. 61643 (Alain Nussbaumer) 61644 .IP \[bu] 2 61645 filter: Add \f[C]{{ regexp }}\f[R] 61646 syntax (https://rclone.org/filtering/#regexp) to pattern matches (Nick 61647 Craig-Wood) 61648 .IP \[bu] 2 61649 fshttp: Add prometheus metrics for HTTP status code (Micha\[/l] Matczuk) 61650 .IP \[bu] 2 61651 hashsum: Support creating hash from data received on stdin (albertony) 61652 .IP \[bu] 2 61653 librclone 61654 .RS 2 61655 .IP \[bu] 2 61656 Allow empty string or null input instead of empty json object 61657 (albertony) 61658 .IP \[bu] 2 61659 Add support for mount commands (albertony) 61660 .RE 61661 .IP \[bu] 2 61662 operations: Add server-side moves to stats (Ole Frost) 61663 .IP \[bu] 2 61664 rc: Allow user to disable authentication for web gui (negative0) 61665 .IP \[bu] 2 61666 tree: Remove obsolete \f[C]--human\f[R] replaced by global 61667 \f[C]--human-readable\f[R] (albertony) 61668 .IP \[bu] 2 61669 version: Report correct friendly-name for newer Windows 10/11 versions 61670 (albertony) 61671 .RE 61672 .IP \[bu] 2 61673 Bug Fixes 61674 .RS 2 61675 .IP \[bu] 2 61676 build 61677 .RS 2 61678 .IP \[bu] 2 61679 Fix ARM architecture version in .deb packages after nfpm change (Nick 61680 Craig-Wood) 61681 .IP \[bu] 2 61682 Hard fork \f[C]github.com/jlaffaye/ftp\f[R] to fix 61683 \f[C]go get github.com/divyam234/rclone\f[R] (Nick Craig-Wood) 61684 .RE 61685 .IP \[bu] 2 61686 oauthutil: Fix crash when webbrowser requests \f[C]/robots.txt\f[R] 61687 (Nick Craig-Wood) 61688 .IP \[bu] 2 61689 operations: Fix goroutine leak in case of copy retry (Ankur Gupta) 61690 .IP \[bu] 2 61691 rc: 61692 .RS 2 61693 .IP \[bu] 2 61694 Fix \f[C]operations/publiclink\f[R] default for \f[C]expires\f[R] 61695 parameter (Nick Craig-Wood) 61696 .IP \[bu] 2 61697 Fix missing computation of \f[C]transferQueueSize\f[R] when summing up 61698 statistics group (Carlo Mion) 61699 .IP \[bu] 2 61700 Fix missing \f[C]StatsInfo\f[R] fields in the computation of the group 61701 sum (Carlo Mion) 61702 .RE 61703 .IP \[bu] 2 61704 sync: Fix \f[C]--max-duration\f[R] so it doesn\[aq]t retry when the 61705 duration is exceeded (Nick Craig-Wood) 61706 .IP \[bu] 2 61707 touch: Fix issue where a directory is created instead of a file 61708 (albertony) 61709 .RE 61710 .IP \[bu] 2 61711 Mount 61712 .RS 2 61713 .IP \[bu] 2 61714 Add \f[C]--devname\f[R] to set the device name sent to FUSE for mount 61715 display (Nick Craig-Wood) 61716 .RE 61717 .IP \[bu] 2 61718 VFS 61719 .RS 2 61720 .IP \[bu] 2 61721 Add \f[C]vfs/stats\f[R] remote control to show statistics (Nick 61722 Craig-Wood) 61723 .IP \[bu] 2 61724 Fix 61725 \f[C]failed to _ensure cache internal error: downloaders is nil error\f[R] 61726 (Nick Craig-Wood) 61727 .IP \[bu] 2 61728 Fix handling of special characters in file names (Bumsu Hyeon) 61729 .RE 61730 .IP \[bu] 2 61731 Local 61732 .RS 2 61733 .IP \[bu] 2 61734 Fix hash invalidation which caused errors with local crypt mount (Nick 61735 Craig-Wood) 61736 .RE 61737 .IP \[bu] 2 61738 Crypt 61739 .RS 2 61740 .IP \[bu] 2 61741 Add \f[C]base64\f[R] and \f[C]base32768\f[R] filename encoding options 61742 (Max Sum, Sinan Tan) 61743 .RE 61744 .IP \[bu] 2 61745 Azure Blob 61746 .RS 2 61747 .IP \[bu] 2 61748 Implement \f[C]--azureblob-upload-concurrency\f[R] parameter to speed 61749 uploads (Nick Craig-Wood) 61750 .IP \[bu] 2 61751 Remove 100MB upper limit on \f[C]chunk_size\f[R] as it is no longer 61752 needed (Nick Craig-Wood) 61753 .IP \[bu] 2 61754 Raise \f[C]--azureblob-upload-concurrency\f[R] to 16 by default (Nick 61755 Craig-Wood) 61756 .IP \[bu] 2 61757 Fix crash with SAS URL and no container (Nick Craig-Wood) 61758 .RE 61759 .IP \[bu] 2 61760 Compress 61761 .RS 2 61762 .IP \[bu] 2 61763 Fix crash if metadata upload failed (Nick Craig-Wood) 61764 .IP \[bu] 2 61765 Fix memory leak (Nick Craig-Wood) 61766 .RE 61767 .IP \[bu] 2 61768 Drive 61769 .RS 2 61770 .IP \[bu] 2 61771 Added \f[C]--drive-copy-shortcut-content\f[R] (Abhiraj) 61772 .IP \[bu] 2 61773 Disable OAuth OOB flow (copy a token) due to Google deprecation (Nick 61774 Craig-Wood) 61775 .RS 2 61776 .IP \[bu] 2 61777 See the deprecation 61778 note (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob). 61779 .RE 61780 .IP \[bu] 2 61781 Add \f[C]--drive-skip-dangling-shortcuts\f[R] flag (Nick Craig-Wood) 61782 .IP \[bu] 2 61783 When using a link type \f[C]--drive-export-formats\f[R] shows all doc 61784 types (Nick Craig-Wood) 61785 .RE 61786 .IP \[bu] 2 61787 Dropbox 61788 .RS 2 61789 .IP \[bu] 2 61790 Speed up directory listings by specifying 1000 items in a chunk (Nick 61791 Craig-Wood) 61792 .IP \[bu] 2 61793 Save an API request when at the root (Nick Craig-Wood) 61794 .RE 61795 .IP \[bu] 2 61796 Fichier 61797 .RS 2 61798 .IP \[bu] 2 61799 Implemented About functionality (Gourav T) 61800 .RE 61801 .IP \[bu] 2 61802 FTP 61803 .RS 2 61804 .IP \[bu] 2 61805 Add \f[C]--ftp-ask-password\f[R] to prompt for password when needed 61806 (Borna Butkovic) 61807 .RE 61808 .IP \[bu] 2 61809 Google Cloud Storage 61810 .RS 2 61811 .IP \[bu] 2 61812 Add missing regions (Nick Craig-Wood) 61813 .IP \[bu] 2 61814 Disable OAuth OOB flow (copy a token) due to Google deprecation (Nick 61815 Craig-Wood) 61816 .RS 2 61817 .IP \[bu] 2 61818 See the deprecation 61819 note (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob). 61820 .RE 61821 .RE 61822 .IP \[bu] 2 61823 Googlephotos 61824 .RS 2 61825 .IP \[bu] 2 61826 Disable OAuth OOB flow (copy a token) due to Google deprecation (Nick 61827 Craig-Wood) 61828 .RS 2 61829 .IP \[bu] 2 61830 See the deprecation 61831 note (https://developers.googleblog.com/2022/02/making-oauth-flows-safer.html#disallowed-oob). 61832 .RE 61833 .RE 61834 .IP \[bu] 2 61835 Hasher 61836 .RS 2 61837 .IP \[bu] 2 61838 Fix crash on object not found (Nick Craig-Wood) 61839 .RE 61840 .IP \[bu] 2 61841 Hdfs 61842 .RS 2 61843 .IP \[bu] 2 61844 Add file (Move) and directory move (DirMove) support (Andy Jackson) 61845 .RE 61846 .IP \[bu] 2 61847 HTTP 61848 .RS 2 61849 .IP \[bu] 2 61850 Improved recognition of URL pointing to a single file (albertony) 61851 .RE 61852 .IP \[bu] 2 61853 Jottacloud 61854 .RS 2 61855 .IP \[bu] 2 61856 Change API used by recursive list (ListR) (Kim) 61857 .IP \[bu] 2 61858 Add support for Tele2 Cloud (Fredric Arklid) 61859 .RE 61860 .IP \[bu] 2 61861 Koofr 61862 .RS 2 61863 .IP \[bu] 2 61864 Add Digistorage service as a Koofr provider. 61865 (jaKa) 61866 .RE 61867 .IP \[bu] 2 61868 Mailru 61869 .RS 2 61870 .IP \[bu] 2 61871 Fix int32 overflow on arm32 (Ivan Andreev) 61872 .RE 61873 .IP \[bu] 2 61874 Onedrive 61875 .RS 2 61876 .IP \[bu] 2 61877 Add config option for oauth scope \f[C]Sites.Read.All\f[R] (Charlie 61878 Jiang) 61879 .IP \[bu] 2 61880 Minor optimization of quickxorhash (Isaac Levy) 61881 .IP \[bu] 2 61882 Add \f[C]--onedrive-root-folder-id\f[R] flag (Nick Craig-Wood) 61883 .IP \[bu] 2 61884 Do not retry on \f[C]400 pathIsTooLong\f[R] error (ctrl-q) 61885 .RE 61886 .IP \[bu] 2 61887 Pcloud 61888 .RS 2 61889 .IP \[bu] 2 61890 Add support for recursive list (ListR) (Niels van de Weem) 61891 .IP \[bu] 2 61892 Fix pre-1970 time stamps (Nick Craig-Wood) 61893 .RE 61894 .IP \[bu] 2 61895 S3 61896 .RS 2 61897 .IP \[bu] 2 61898 Use \f[C]ListObjectsV2\f[R] for faster listings (Felix Bu\[u0308]nemann) 61899 .RS 2 61900 .IP \[bu] 2 61901 Fallback to \f[C]ListObject\f[R] v1 on unsupported providers (Nick 61902 Craig-Wood) 61903 .RE 61904 .IP \[bu] 2 61905 Use the \f[C]ETag\f[R] on multipart transfers to verify the transfer was 61906 OK (Nick Craig-Wood) 61907 .RS 2 61908 .IP \[bu] 2 61909 Add \f[C]--s3-use-multipart-etag\f[R] provider quirk to disable this on 61910 unsupported providers (Nick Craig-Wood) 61911 .RE 61912 .IP \[bu] 2 61913 New Providers 61914 .RS 2 61915 .IP \[bu] 2 61916 RackCorp object storage (bbabich) 61917 .IP \[bu] 2 61918 Seagate Lyve Cloud storage (Nick Craig-Wood) 61919 .IP \[bu] 2 61920 SeaweedFS (Chris Lu) 61921 .IP \[bu] 2 61922 Storj Shared gateways (M\['a]rton Elek, Nick Craig-Wood) 61923 .RE 61924 .IP \[bu] 2 61925 Add Wasabi AP Northeast 2 endpoint info (lindwurm) 61926 .IP \[bu] 2 61927 Add \f[C]GLACIER_IR\f[R] storage class (Yunhai Luo) 61928 .IP \[bu] 2 61929 Document \f[C]Content-MD5\f[R] workaround for object-lock enabled 61930 buckets (Paulo Martins) 61931 .IP \[bu] 2 61932 Fix multipart upload with \f[C]--no-head\f[R] flag (Nick Craig-Wood) 61933 .IP \[bu] 2 61934 Simplify content length processing in s3 with download url (Logeshwaran 61935 Murugesan) 61936 .RE 61937 .IP \[bu] 2 61938 SFTP 61939 .RS 2 61940 .IP \[bu] 2 61941 Add rclone to list of supported \f[C]md5sum\f[R]/\f[C]sha1sum\f[R] 61942 commands to look for (albertony) 61943 .IP \[bu] 2 61944 Refactor so we only have one way of running remote commands (Nick 61945 Craig-Wood) 61946 .IP \[bu] 2 61947 Fix timeout on hashing large files by sending keepalives (Nick 61948 Craig-Wood) 61949 .IP \[bu] 2 61950 Fix unnecessary seeking when uploading and downloading files (Nick 61951 Craig-Wood) 61952 .IP \[bu] 2 61953 Update docs on how to create \f[C]known_hosts\f[R] file (Nick 61954 Craig-Wood) 61955 .RE 61956 .IP \[bu] 2 61957 Storj 61958 .RS 2 61959 .IP \[bu] 2 61960 Rename tardigrade backend to storj backend (Nick Craig-Wood) 61961 .IP \[bu] 2 61962 Implement server side Move for files (Nick Craig-Wood) 61963 .IP \[bu] 2 61964 Update docs to explain differences between s3 and this backend (Elek, 61965 M\['a]rton) 61966 .RE 61967 .IP \[bu] 2 61968 Swift 61969 .RS 2 61970 .IP \[bu] 2 61971 Fix About so it shows info about the current container only (Nick 61972 Craig-Wood) 61973 .RE 61974 .IP \[bu] 2 61975 Union 61976 .RS 2 61977 .IP \[bu] 2 61978 Fix treatment of remotes with \f[C]//\f[R] in (Nick Craig-Wood) 61979 .IP \[bu] 2 61980 Fix deadlock when one part of a multi-upload fails (Nick Craig-Wood) 61981 .IP \[bu] 2 61982 Fix eplus policy returned nil (Vitor Arruda) 61983 .RE 61984 .IP \[bu] 2 61985 Yandex 61986 .RS 2 61987 .IP \[bu] 2 61988 Add permanent deletion support (deinferno) 61989 .RE 61990 .SS v1.57.0 - 2021-11-01 61991 .PP 61992 See commits (https://github.com/divyam234/rclone/compare/v1.56.0...v1.57.0) 61993 .IP \[bu] 2 61994 New backends 61995 .RS 2 61996 .IP \[bu] 2 61997 Sia: for Sia decentralized cloud (Ian Levesque, Matthew Sevey, Ivan 61998 Andreev) 61999 .IP \[bu] 2 62000 Hasher: caches hashes and enable hashes for backends that don\[aq]t 62001 support them (Ivan Andreev) 62002 .RE 62003 .IP \[bu] 2 62004 New commands 62005 .RS 2 62006 .IP \[bu] 2 62007 lsjson --stat: to get info about a single file/dir and 62008 \f[C]operations/stat\f[R] api (Nick Craig-Wood) 62009 .IP \[bu] 2 62010 config paths: show configured paths (albertony) 62011 .RE 62012 .IP \[bu] 2 62013 New Features 62014 .RS 2 62015 .IP \[bu] 2 62016 about: Make human-readable output more consistent with other commands 62017 (albertony) 62018 .IP \[bu] 2 62019 build 62020 .RS 2 62021 .IP \[bu] 2 62022 Use go1.17 for building and make go1.14 the minimum supported (Nick 62023 Craig-Wood) 62024 .IP \[bu] 2 62025 Update Go to 1.16 and NDK to 22b for Android builds (x0b) 62026 .RE 62027 .IP \[bu] 2 62028 config 62029 .RS 2 62030 .IP \[bu] 2 62031 Support hyphen in remote name from environment variable (albertony) 62032 .IP \[bu] 2 62033 Make temporary directory user-configurable (albertony) 62034 .IP \[bu] 2 62035 Convert \f[C]--cache-dir\f[R] value to an absolute path (albertony) 62036 .IP \[bu] 2 62037 Do not override MIME types from OS defaults (albertony) 62038 .RE 62039 .IP \[bu] 2 62040 docs 62041 .RS 2 62042 .IP \[bu] 2 62043 Toc styling and header levels cleanup (albertony) 62044 .IP \[bu] 2 62045 Extend documentation on valid remote names (albertony) 62046 .IP \[bu] 2 62047 Mention make for building and cmount tag for macos (Alex Chen) 62048 .IP \[bu] 2 62049 \&...and many more contributions to numerous to mention! 62050 .RE 62051 .IP \[bu] 2 62052 fs: Move with \f[C]--ignore-existing\f[R] will not delete skipped files 62053 (Nathan Collins) 62054 .IP \[bu] 2 62055 hashsum 62056 .RS 2 62057 .IP \[bu] 2 62058 Treat hash values in sum file as case insensitive (Ivan Andreev) 62059 .IP \[bu] 2 62060 Don\[aq]t put \f[C]ERROR\f[R] or \f[C]UNSUPPORTED\f[R] in output (Ivan 62061 Andreev) 62062 .RE 62063 .IP \[bu] 2 62064 lib/encoder: Add encoding of square brackets (Ivan Andreev) 62065 .IP \[bu] 2 62066 lib/file: Improve error message when attempting to create dir on 62067 nonexistent drive on windows (albertony) 62068 .IP \[bu] 2 62069 lib/http: Factor password hash salt into options with default (Nolan 62070 Woods) 62071 .IP \[bu] 2 62072 lib/kv: Add key-value database api (Ivan Andreev) 62073 .IP \[bu] 2 62074 librclone 62075 .RS 2 62076 .IP \[bu] 2 62077 Add \f[C]RcloneFreeString\f[R] function (albertony) 62078 .IP \[bu] 2 62079 Free strings in python example (albertony) 62080 .RE 62081 .IP \[bu] 2 62082 log: Optionally print pid in logs (Ivan Andreev) 62083 .IP \[bu] 2 62084 ls: Introduce \f[C]--human-readable\f[R] global option to print 62085 human-readable sizes (albertony) 62086 .IP \[bu] 2 62087 ncdu: Introduce key \f[C]u\f[R] to toggle human-readable (albertony) 62088 .IP \[bu] 2 62089 operations: Add \f[C]rmdirs -v\f[R] output (Justin Winokur) 62090 .IP \[bu] 2 62091 serve sftp 62092 .RS 2 62093 .IP \[bu] 2 62094 Generate an ECDSA server key as well as RSA (Nick Craig-Wood) 62095 .IP \[bu] 2 62096 Generate an Ed25519 server key as well as ECDSA and RSA (albertony) 62097 .RE 62098 .IP \[bu] 2 62099 serve docker 62100 .RS 2 62101 .IP \[bu] 2 62102 Allow to customize proxy settings of docker plugin (Ivan Andreev) 62103 .IP \[bu] 2 62104 Build docker plugin for multiple platforms (Thomas Stachl) 62105 .RE 62106 .IP \[bu] 2 62107 size: Include human-readable count (albertony) 62108 .IP \[bu] 2 62109 touch: Add support for touching files in directory, with recursive 62110 option, filtering and \f[C]--dry-run\f[R]/\f[C]-i\f[R] (albertony) 62111 .IP \[bu] 2 62112 tree: Option to print human-readable sizes removed in favor of global 62113 option (albertony) 62114 .RE 62115 .IP \[bu] 2 62116 Bug Fixes 62117 .RS 2 62118 .IP \[bu] 2 62119 lib/http 62120 .RS 2 62121 .IP \[bu] 2 62122 Fix bad username check in single auth secret provider (Nolan Woods) 62123 .IP \[bu] 2 62124 Fix handling of SSL credentials (Nolan Woods) 62125 .RE 62126 .IP \[bu] 2 62127 serve ftp: Ensure modtime is passed as UTC always to fix timezone 62128 oddities (Nick Craig-Wood) 62129 .IP \[bu] 2 62130 serve sftp: Fix generation of server keys on windows (albertony) 62131 .IP \[bu] 2 62132 serve docker: Fix octal umask (Ivan Andreev) 62133 .RE 62134 .IP \[bu] 2 62135 Mount 62136 .RS 2 62137 .IP \[bu] 2 62138 Enable rclone to be run as mount helper direct from the fstab (Ivan 62139 Andreev) 62140 .IP \[bu] 2 62141 Use procfs to validate mount on linux (Ivan Andreev) 62142 .IP \[bu] 2 62143 Correctly daemonize for compatibility with automount (Ivan Andreev) 62144 .RE 62145 .IP \[bu] 2 62146 VFS 62147 .RS 2 62148 .IP \[bu] 2 62149 Ensure names used in cache path are legal on current OS (albertony) 62150 .IP \[bu] 2 62151 Ignore \f[C]ECLOSED\f[R] when truncating file handles to fix 62152 intermittent bad file descriptor error (Nick Craig-Wood) 62153 .RE 62154 .IP \[bu] 2 62155 Local 62156 .RS 2 62157 .IP \[bu] 2 62158 Refactor default OS encoding out from local backend into shared encoder 62159 lib (albertony) 62160 .RE 62161 .IP \[bu] 2 62162 Crypt 62163 .RS 2 62164 .IP \[bu] 2 62165 Return wrapped object even with \f[C]--crypt-no-data-encryption\f[R] 62166 (Ivan Andreev) 62167 .IP \[bu] 2 62168 Fix uploads with \f[C]--crypt-no-data-encryption\f[R] (Nick Craig-Wood) 62169 .RE 62170 .IP \[bu] 2 62171 Azure Blob 62172 .RS 2 62173 .IP \[bu] 2 62174 Add \f[C]--azureblob-no-head-object\f[R] (Tatsuya Noyori) 62175 .RE 62176 .IP \[bu] 2 62177 Box 62178 .RS 2 62179 .IP \[bu] 2 62180 Make listings of heavily used directories more reliable (Nick 62181 Craig-Wood) 62182 .IP \[bu] 2 62183 When doing cleanup delete as much as possible (Nick Craig-Wood) 62184 .IP \[bu] 2 62185 Add \f[C]--box-list-chunk\f[R] to control listing chunk size (Nick 62186 Craig-Wood) 62187 .IP \[bu] 2 62188 Delete items in parallel in cleanup using \f[C]--checkers\f[R] threads 62189 (Nick Craig-Wood) 62190 .IP \[bu] 2 62191 Add \f[C]--box-owned-by\f[R] to only show items owned by the login 62192 passed (Nick Craig-Wood) 62193 .IP \[bu] 2 62194 Retry \f[C]operation_blocked_temporary\f[R] errors (Nick Craig-Wood) 62195 .RE 62196 .IP \[bu] 2 62197 Chunker 62198 .RS 2 62199 .IP \[bu] 2 62200 Md5all must create metadata if base hash is slow (Ivan Andreev) 62201 .RE 62202 .IP \[bu] 2 62203 Drive 62204 .RS 2 62205 .IP \[bu] 2 62206 Speed up directory listings by constraining the API listing using the 62207 current filters (fotile96, Ivan Andreev) 62208 .IP \[bu] 2 62209 Fix buffering for single request upload for files smaller than 62210 \f[C]--drive-upload-cutoff\f[R] (YenForYang) 62211 .IP \[bu] 2 62212 Add \f[C]-o config\f[R] option to \f[C]backend drives\f[R] to make 62213 config for all shared drives (Nick Craig-Wood) 62214 .RE 62215 .IP \[bu] 2 62216 Dropbox 62217 .RS 2 62218 .IP \[bu] 2 62219 Add \f[C]--dropbox-batch-commit-timeout\f[R] to control batch timeout 62220 (Nick Craig-Wood) 62221 .RE 62222 .IP \[bu] 2 62223 Filefabric 62224 .RS 2 62225 .IP \[bu] 2 62226 Make backoff exponential for error_background to fix errors (Nick 62227 Craig-Wood) 62228 .IP \[bu] 2 62229 Fix directory move after API change (Nick Craig-Wood) 62230 .RE 62231 .IP \[bu] 2 62232 FTP 62233 .RS 2 62234 .IP \[bu] 2 62235 Enable tls session cache by default (Ivan Andreev) 62236 .IP \[bu] 2 62237 Add option to disable tls13 (Ivan Andreev) 62238 .IP \[bu] 2 62239 Fix timeout after long uploads (Ivan Andreev) 62240 .IP \[bu] 2 62241 Add support for precise time (Ivan Andreev) 62242 .IP \[bu] 2 62243 Enable CI for ProFtpd, PureFtpd, VsFtpd (Ivan Andreev) 62244 .RE 62245 .IP \[bu] 2 62246 Googlephotos 62247 .RS 2 62248 .IP \[bu] 2 62249 Use encoder for album names to fix albums with control characters (Parth 62250 Shukla) 62251 .RE 62252 .IP \[bu] 2 62253 Jottacloud 62254 .RS 2 62255 .IP \[bu] 2 62256 Implement \f[C]SetModTime\f[R] to support modtime-only changes 62257 (albertony) 62258 .IP \[bu] 2 62259 Improved error handling with \f[C]SetModTime\f[R] and corrupt files in 62260 general (albertony) 62261 .IP \[bu] 2 62262 Add support for \f[C]UserInfo\f[R] (\f[C]rclone config userinfo\f[R]) 62263 feature (albertony) 62264 .IP \[bu] 2 62265 Return direct download link from \f[C]rclone link\f[R] command 62266 (albertony) 62267 .RE 62268 .IP \[bu] 2 62269 Koofr 62270 .RS 2 62271 .IP \[bu] 2 62272 Create direct share link (Dmitry Bogatov) 62273 .RE 62274 .IP \[bu] 2 62275 Pcloud 62276 .RS 2 62277 .IP \[bu] 2 62278 Add sha256 support (Ken Enrique Morel) 62279 .RE 62280 .IP \[bu] 2 62281 Premiumizeme 62282 .RS 2 62283 .IP \[bu] 2 62284 Fix directory listing after API changes (Nick Craig-Wood) 62285 .IP \[bu] 2 62286 Fix server side move after API change (Nick Craig-Wood) 62287 .IP \[bu] 2 62288 Fix server side directory move after API changes (Nick Craig-Wood) 62289 .RE 62290 .IP \[bu] 2 62291 S3 62292 .RS 2 62293 .IP \[bu] 2 62294 Add support to use CDN URL to download the file (Logeshwaran) 62295 .IP \[bu] 2 62296 Add AWS Snowball Edge to providers examples (r0kk3rz) 62297 .IP \[bu] 2 62298 Use a combination of SDK retries and rclone retries (Nick Craig-Wood) 62299 .IP \[bu] 2 62300 Fix IAM Role for Service Account not working and other auth problems 62301 (Nick Craig-Wood) 62302 .IP \[bu] 2 62303 Fix \f[C]shared_credentials_file\f[R] auth after reverting incorrect fix 62304 (Nick Craig-Wood) 62305 .IP \[bu] 2 62306 Fix corrupted on transfer: sizes differ 0 vs xxxx with Ceph (Nick 62307 Craig-Wood) 62308 .RE 62309 .IP \[bu] 2 62310 Seafile 62311 .RS 2 62312 .IP \[bu] 2 62313 Fix error when not configured for 2fa (Fred) 62314 .RE 62315 .IP \[bu] 2 62316 SFTP 62317 .RS 2 62318 .IP \[bu] 2 62319 Fix timeout when doing MD5SUM of large file (Nick Craig-Wood) 62320 .RE 62321 .IP \[bu] 2 62322 Swift 62323 .RS 2 62324 .IP \[bu] 2 62325 Update OCI URL (David Liu) 62326 .IP \[bu] 2 62327 Document OVH Cloud Archive (HNGamingUK) 62328 .RE 62329 .IP \[bu] 2 62330 Union 62331 .RS 2 62332 .IP \[bu] 2 62333 Fix rename not working with union of local disk and bucket based remote 62334 (Nick Craig-Wood) 62335 .RE 62336 .SS v1.56.2 - 2021-10-01 62337 .PP 62338 See commits (https://github.com/divyam234/rclone/compare/v1.56.1...v1.56.2) 62339 .IP \[bu] 2 62340 Bug Fixes 62341 .RS 2 62342 .IP \[bu] 2 62343 serve http: Re-add missing auth to http service (Nolan Woods) 62344 .IP \[bu] 2 62345 build: Update golang.org/x/sys to fix crash on macOS when compiled with 62346 go1.17 (Herby Gillot) 62347 .RE 62348 .IP \[bu] 2 62349 FTP 62350 .RS 2 62351 .IP \[bu] 2 62352 Fix deadlock after failed update when concurrency=1 (Ivan Andreev) 62353 .RE 62354 .SS v1.56.1 - 2021-09-19 62355 .PP 62356 See commits (https://github.com/divyam234/rclone/compare/v1.56.0...v1.56.1) 62357 .IP \[bu] 2 62358 Bug Fixes 62359 .RS 2 62360 .IP \[bu] 2 62361 accounting: Fix maximum bwlimit by scaling scale max token bucket size 62362 (Nick Craig-Wood) 62363 .IP \[bu] 2 62364 rc: Fix speed does not update in core/stats (negative0) 62365 .IP \[bu] 2 62366 selfupdate: Fix \f[C]--quiet\f[R] option, not quite quiet (yedamo) 62367 .IP \[bu] 2 62368 serve http: Fix \f[C]serve http\f[R] exiting directly after starting 62369 (Cnly) 62370 .IP \[bu] 2 62371 build 62372 .RS 2 62373 .IP \[bu] 2 62374 Apply gofmt from golang 1.17 (Ivan Andreev) 62375 .IP \[bu] 2 62376 Update Go to 1.16 and NDK to 22b for android/any (x0b) 62377 .RE 62378 .RE 62379 .IP \[bu] 2 62380 Mount 62381 .RS 2 62382 .IP \[bu] 2 62383 Fix \f[C]--daemon\f[R] mode (Ivan Andreev) 62384 .RE 62385 .IP \[bu] 2 62386 VFS 62387 .RS 2 62388 .IP \[bu] 2 62389 Fix duplicates on rename (Nick Craig-Wood) 62390 .IP \[bu] 2 62391 Fix crash when truncating a just uploaded object (Nick Craig-Wood) 62392 .IP \[bu] 2 62393 Fix issue where empty dirs would build up in cache meta dir (albertony) 62394 .RE 62395 .IP \[bu] 2 62396 Drive 62397 .RS 2 62398 .IP \[bu] 2 62399 Fix instructions for auto config (Greg Sadetsky) 62400 .IP \[bu] 2 62401 Fix lsf example without drive-impersonate (Greg Sadetsky) 62402 .RE 62403 .IP \[bu] 2 62404 Onedrive 62405 .RS 2 62406 .IP \[bu] 2 62407 Handle HTTP 400 better in PublicLink (Alex Chen) 62408 .IP \[bu] 2 62409 Clarification of the process for creating custom client_id (Mariano 62410 Absatz) 62411 .RE 62412 .IP \[bu] 2 62413 Pcloud 62414 .RS 2 62415 .IP \[bu] 2 62416 Return an early error when Put is called with an unknown size (Nick 62417 Craig-Wood) 62418 .IP \[bu] 2 62419 Try harder to delete a failed upload (Nick Craig-Wood) 62420 .RE 62421 .IP \[bu] 2 62422 S3 62423 .RS 2 62424 .IP \[bu] 2 62425 Add Wasabi\[aq]s AP-Northeast endpoint info (hota) 62426 .IP \[bu] 2 62427 Fix typo in s3 documentation (Greg Sadetsky) 62428 .RE 62429 .IP \[bu] 2 62430 Seafile 62431 .RS 2 62432 .IP \[bu] 2 62433 Fix 2fa config state machine (Fred) 62434 .RE 62435 .IP \[bu] 2 62436 SFTP 62437 .RS 2 62438 .IP \[bu] 2 62439 Remove spurious error message on 62440 \f[C]--sftp-disable-concurrent-reads\f[R] (Nick Craig-Wood) 62441 .RE 62442 .IP \[bu] 2 62443 Sugarsync 62444 .RS 2 62445 .IP \[bu] 2 62446 Fix initial connection after config re-arrangement (Nick Craig-Wood) 62447 .RE 62448 .SS v1.56.0 - 2021-07-20 62449 .PP 62450 See commits (https://github.com/divyam234/rclone/compare/v1.55.0...v1.56.0) 62451 .IP \[bu] 2 62452 New backends 62453 .RS 2 62454 .IP \[bu] 2 62455 Uptobox (https://rclone.org/uptobox/) (buengese) 62456 .RE 62457 .IP \[bu] 2 62458 New commands 62459 .RS 2 62460 .IP \[bu] 2 62461 serve docker (https://rclone.org/commands/rclone_serve_docker/) (Antoine 62462 GIRARD) (Ivan Andreev) 62463 .RS 2 62464 .IP \[bu] 2 62465 and accompanying docker volume plugin (https://rclone.org/docker/) 62466 .RE 62467 .IP \[bu] 2 62468 checksum (https://rclone.org/commands/rclone_checksum/) to check files 62469 against a file of checksums (Ivan Andreev) 62470 .RS 2 62471 .IP \[bu] 2 62472 this is also available as \f[C]rclone md5sum -C\f[R] etc 62473 .RE 62474 .IP \[bu] 2 62475 config touch (https://rclone.org/commands/rclone_config_touch/): ensure 62476 config exists at configured location (albertony) 62477 .IP \[bu] 2 62478 test 62479 changenotify (https://rclone.org/commands/rclone_test_changenotify/): 62480 command to help debugging changenotify (Nick Craig-Wood) 62481 .RE 62482 .IP \[bu] 2 62483 Deprecations 62484 .RS 2 62485 .IP \[bu] 2 62486 \f[C]dbhashsum\f[R]: Remove command deprecated a year ago (Ivan Andreev) 62487 .IP \[bu] 2 62488 \f[C]cache\f[R]: Deprecate cache backend (Ivan Andreev) 62489 .RE 62490 .IP \[bu] 2 62491 New Features 62492 .RS 2 62493 .IP \[bu] 2 62494 rework config system so it can be used non-interactively via cli and rc 62495 API. 62496 .RS 2 62497 .IP \[bu] 2 62498 See docs in config 62499 create (https://rclone.org/commands/rclone_config_create/) 62500 .IP \[bu] 2 62501 This is a very big change to all the backends so may cause breakages - 62502 please file bugs! 62503 .RE 62504 .IP \[bu] 2 62505 librclone - export the rclone RC as a C library (lewisxy) (Nick 62506 Craig-Wood) 62507 .RS 2 62508 .IP \[bu] 2 62509 Link a C-API rclone shared object into your project 62510 .IP \[bu] 2 62511 Use the RC as an in memory interface 62512 .IP \[bu] 2 62513 Python example supplied 62514 .IP \[bu] 2 62515 Also supports Android and gomobile 62516 .RE 62517 .IP \[bu] 2 62518 fs 62519 .RS 2 62520 .IP \[bu] 2 62521 Add \f[C]--disable-http2\f[R] for global http2 disable (Nick Craig-Wood) 62522 .IP \[bu] 2 62523 Make \f[C]--dump\f[R] imply \f[C]-vv\f[R] (Alex Chen) 62524 .IP \[bu] 2 62525 Use binary prefixes for size and rate units (albertony) 62526 .IP \[bu] 2 62527 Use decimal prefixes for counts (albertony) 62528 .IP \[bu] 2 62529 Add google search widget to rclone.org (Ivan Andreev) 62530 .RE 62531 .IP \[bu] 2 62532 accounting: Calculate rolling average speed (Haochen Tong) 62533 .IP \[bu] 2 62534 atexit: Terminate with non-zero status after receiving signal (Michael 62535 Hanselmann) 62536 .IP \[bu] 2 62537 build 62538 .RS 2 62539 .IP \[bu] 2 62540 Only run event-based workflow scripts under rclone repo with manual 62541 override (Mathieu Carbou) 62542 .IP \[bu] 2 62543 Add Android build with gomobile (x0b) 62544 .RE 62545 .IP \[bu] 2 62546 check: Log the hash in use like cryptcheck does (Nick Craig-Wood) 62547 .IP \[bu] 2 62548 version: Print os/version, kernel and bitness (Ivan Andreev) 62549 .IP \[bu] 2 62550 config 62551 .RS 2 62552 .IP \[bu] 2 62553 Prevent use of Windows reserved names in config file name (albertony) 62554 .IP \[bu] 2 62555 Create config file in windows appdata directory by default (albertony) 62556 .IP \[bu] 2 62557 Treat any config file paths with filename notfound as memory-only config 62558 (albertony) 62559 .IP \[bu] 2 62560 Delay load config file (albertony) 62561 .IP \[bu] 2 62562 Replace defaultConfig with a thread-safe in-memory implementation (Chris 62563 Macklin) 62564 .IP \[bu] 2 62565 Allow \f[C]config create\f[R] and friends to take \f[C]key=value\f[R] 62566 parameters (Nick Craig-Wood) 62567 .IP \[bu] 2 62568 Fixed issues with flags/options set by environment vars. 62569 (Ole Frost) 62570 .RE 62571 .IP \[bu] 2 62572 fshttp: Implement graceful DSCP error handling (Tyson Moore) 62573 .IP \[bu] 2 62574 lib/http - provides an abstraction for a central http server that 62575 services can bind routes to (Nolan Woods) 62576 .RS 2 62577 .IP \[bu] 2 62578 Add \f[C]--template\f[R] config and flags to serve/data (Nolan Woods) 62579 .IP \[bu] 2 62580 Add default 404 handler (Nolan Woods) 62581 .RE 62582 .IP \[bu] 2 62583 link: Use \[dq]off\[dq] value for unset expiry (Nick Craig-Wood) 62584 .IP \[bu] 2 62585 oauthutil: Raise fatal error if token expired without refresh token 62586 (Alex Chen) 62587 .IP \[bu] 2 62588 rcat: Add \f[C]--size\f[R] flag for more efficient uploads of known size 62589 (Nazar Mishturak) 62590 .IP \[bu] 2 62591 serve sftp: Add \f[C]--stdio\f[R] flag to serve via stdio (Tom) 62592 .IP \[bu] 2 62593 sync: Don\[aq]t warn about \f[C]--no-traverse\f[R] when 62594 \f[C]--files-from\f[R] is set (Nick Gaya) 62595 .IP \[bu] 2 62596 \f[C]test makefiles\f[R] 62597 .RS 2 62598 .IP \[bu] 2 62599 Add \f[C]--seed\f[R] flag and make data generated repeatable (Nick 62600 Craig-Wood) 62601 .IP \[bu] 2 62602 Add log levels and speed summary (Nick Craig-Wood) 62603 .RE 62604 .RE 62605 .IP \[bu] 2 62606 Bug Fixes 62607 .RS 2 62608 .IP \[bu] 2 62609 accounting: Fix startTime of statsGroups.sum (Haochen Tong) 62610 .IP \[bu] 2 62611 cmd/ncdu: Fix out of range panic in delete (buengese) 62612 .IP \[bu] 2 62613 config 62614 .RS 2 62615 .IP \[bu] 2 62616 Fix issues with memory-only config file paths (albertony) 62617 .IP \[bu] 2 62618 Fix in memory config not saving on the fly backend config (Nick 62619 Craig-Wood) 62620 .RE 62621 .IP \[bu] 2 62622 fshttp: Fix address parsing for DSCP (Tyson Moore) 62623 .IP \[bu] 2 62624 ncdu: Update termbox-go library to fix crash (Nick Craig-Wood) 62625 .IP \[bu] 2 62626 oauthutil: Fix old authorize result not recognised (Cnly) 62627 .IP \[bu] 2 62628 operations: Don\[aq]t update timestamps of files in 62629 \f[C]--compare-dest\f[R] (Nick Gaya) 62630 .IP \[bu] 2 62631 selfupdate: fix archive name on macos (Ivan Andreev) 62632 .RE 62633 .IP \[bu] 2 62634 Mount 62635 .RS 2 62636 .IP \[bu] 2 62637 Refactor before adding serve docker (Antoine GIRARD) 62638 .RE 62639 .IP \[bu] 2 62640 VFS 62641 .RS 2 62642 .IP \[bu] 2 62643 Add cache reset for \f[C]--vfs-cache-max-size\f[R] handling at cache 62644 poll interval (Leo Luan) 62645 .IP \[bu] 2 62646 Fix modtime changing when reading file into cache (Nick Craig-Wood) 62647 .IP \[bu] 2 62648 Avoid unnecessary subdir in cache path (albertony) 62649 .IP \[bu] 2 62650 Fix that umask option cannot be set as environment variable (albertony) 62651 .IP \[bu] 2 62652 Do not print notice about missing poll-interval support when set to 0 62653 (albertony) 62654 .RE 62655 .IP \[bu] 2 62656 Local 62657 .RS 2 62658 .IP \[bu] 2 62659 Always use readlink to read symlink size for better compatibility (Nick 62660 Craig-Wood) 62661 .IP \[bu] 2 62662 Add \f[C]--local-unicode-normalization\f[R] (and remove 62663 \f[C]--local-no-unicode-normalization\f[R]) (Nick Craig-Wood) 62664 .IP \[bu] 2 62665 Skip entries removed concurrently with List() (Ivan Andreev) 62666 .RE 62667 .IP \[bu] 2 62668 Crypt 62669 .RS 2 62670 .IP \[bu] 2 62671 Support timestamped filenames from \f[C]--b2-versions\f[R] (Dominik 62672 Mydlil) 62673 .RE 62674 .IP \[bu] 2 62675 B2 62676 .RS 2 62677 .IP \[bu] 2 62678 Don\[aq]t include the bucket name in public link file prefixes (Jeffrey 62679 Tolar) 62680 .IP \[bu] 2 62681 Fix versions and .files with no extension (Nick Craig-Wood) 62682 .IP \[bu] 2 62683 Factor version handling into lib/version (Dominik Mydlil) 62684 .RE 62685 .IP \[bu] 2 62686 Box 62687 .RS 2 62688 .IP \[bu] 2 62689 Use upload preflight check to avoid listings in file uploads (Nick 62690 Craig-Wood) 62691 .IP \[bu] 2 62692 Return errors instead of calling log.Fatal with them (Nick Craig-Wood) 62693 .RE 62694 .IP \[bu] 2 62695 Drive 62696 .RS 2 62697 .IP \[bu] 2 62698 Switch to the Drives API for looking up shared drives (Nick Craig-Wood) 62699 .IP \[bu] 2 62700 Fix some google docs being treated as files (Nick Craig-Wood) 62701 .RE 62702 .IP \[bu] 2 62703 Dropbox 62704 .RS 2 62705 .IP \[bu] 2 62706 Add \f[C]--dropbox-batch-mode\f[R] flag to speed up uploading (Nick 62707 Craig-Wood) 62708 .RS 2 62709 .IP \[bu] 2 62710 Read the batch mode (https://rclone.org/dropbox/#batch-mode) docs for 62711 more info 62712 .RE 62713 .IP \[bu] 2 62714 Set visibility in link sharing when \f[C]--expire\f[R] is set (Nick 62715 Craig-Wood) 62716 .IP \[bu] 2 62717 Simplify chunked uploads (Alexey Ivanov) 62718 .IP \[bu] 2 62719 Improve \[dq]own App IP\[dq] instructions (Ivan Andreev) 62720 .RE 62721 .IP \[bu] 2 62722 Fichier 62723 .RS 2 62724 .IP \[bu] 2 62725 Check if more than one upload link is returned (Nick Craig-Wood) 62726 .IP \[bu] 2 62727 Support downloading password protected files and folders (Florian 62728 Penzkofer) 62729 .IP \[bu] 2 62730 Make error messages report text from the API (Nick Craig-Wood) 62731 .IP \[bu] 2 62732 Fix move of files in the same directory (Nick Craig-Wood) 62733 .IP \[bu] 2 62734 Check that we actually got a download token and retry if we didn\[aq]t 62735 (buengese) 62736 .RE 62737 .IP \[bu] 2 62738 Filefabric 62739 .RS 2 62740 .IP \[bu] 2 62741 Fix listing after change of from field from \[dq]int\[dq] to int. 62742 (Nick Craig-Wood) 62743 .RE 62744 .IP \[bu] 2 62745 FTP 62746 .RS 2 62747 .IP \[bu] 2 62748 Make upload error 250 indicate success (Nick Craig-Wood) 62749 .RE 62750 .IP \[bu] 2 62751 GCS 62752 .RS 2 62753 .IP \[bu] 2 62754 Make compatible with gsutil\[aq]s mtime metadata (database64128) 62755 .IP \[bu] 2 62756 Clean up time format constants (database64128) 62757 .RE 62758 .IP \[bu] 2 62759 Google Photos 62760 .RS 2 62761 .IP \[bu] 2 62762 Fix read only scope not being used properly (Nick Craig-Wood) 62763 .RE 62764 .IP \[bu] 2 62765 HTTP 62766 .RS 2 62767 .IP \[bu] 2 62768 Replace httplib with lib/http (Nolan Woods) 62769 .IP \[bu] 2 62770 Clean up Bind to better use middleware (Nolan Woods) 62771 .RE 62772 .IP \[bu] 2 62773 Jottacloud 62774 .RS 2 62775 .IP \[bu] 2 62776 Fix legacy auth with state based config system (buengese) 62777 .IP \[bu] 2 62778 Fix invalid url in output from link command (albertony) 62779 .IP \[bu] 2 62780 Add no versions option (buengese) 62781 .RE 62782 .IP \[bu] 2 62783 Onedrive 62784 .RS 2 62785 .IP \[bu] 2 62786 Add \f[C]list_chunk option\f[R] (Nick Gaya) 62787 .IP \[bu] 2 62788 Also report root error if unable to cancel multipart upload (Cnly) 62789 .IP \[bu] 2 62790 Fix failed to configure: empty token found error (Nick Craig-Wood) 62791 .IP \[bu] 2 62792 Make link return direct download link (Xuanchen Wu) 62793 .RE 62794 .IP \[bu] 2 62795 S3 62796 .RS 2 62797 .IP \[bu] 2 62798 Add \f[C]--s3-no-head-object\f[R] (Tatsuya Noyori) 62799 .IP \[bu] 2 62800 Remove WebIdentityRoleProvider to fix crash on auth (Nick Craig-Wood) 62801 .IP \[bu] 2 62802 Don\[aq]t check to see if remote is object if it ends with / (Nick 62803 Craig-Wood) 62804 .IP \[bu] 2 62805 Add SeaweedFS (Chris Lu) 62806 .IP \[bu] 2 62807 Update Alibaba OSS endpoints (Chuan Zh) 62808 .RE 62809 .IP \[bu] 2 62810 SFTP 62811 .RS 2 62812 .IP \[bu] 2 62813 Fix performance regression by re-enabling concurrent writes (Nick 62814 Craig-Wood) 62815 .IP \[bu] 2 62816 Expand tilde and environment variables in configured 62817 \f[C]known_hosts_file\f[R] (albertony) 62818 .RE 62819 .IP \[bu] 2 62820 Tardigrade 62821 .RS 2 62822 .IP \[bu] 2 62823 Upgrade to uplink v1.4.6 (Caleb Case) 62824 .IP \[bu] 2 62825 Use negative offset (Caleb Case) 62826 .IP \[bu] 2 62827 Add warning about \f[C]too many open files\f[R] (acsfer) 62828 .RE 62829 .IP \[bu] 2 62830 WebDAV 62831 .RS 2 62832 .IP \[bu] 2 62833 Fix sharepoint auth over http (Nick Craig-Wood) 62834 .IP \[bu] 2 62835 Add headers option (Antoon Prins) 62836 .RE 62837 .SS v1.55.1 - 2021-04-26 62838 .PP 62839 See commits (https://github.com/divyam234/rclone/compare/v1.55.0...v1.55.1) 62840 .IP \[bu] 2 62841 Bug Fixes 62842 .RS 2 62843 .IP \[bu] 2 62844 selfupdate 62845 .RS 2 62846 .IP \[bu] 2 62847 Dont detect FUSE if build is static (Ivan Andreev) 62848 .IP \[bu] 2 62849 Add build tag noselfupdate (Ivan Andreev) 62850 .RE 62851 .IP \[bu] 2 62852 sync: Fix incorrect error reported by graceful cutoff (Nick Craig-Wood) 62853 .IP \[bu] 2 62854 install.sh: fix macOS arm64 download (Nick Craig-Wood) 62855 .IP \[bu] 2 62856 build: Fix version numbers in android branch builds (Nick Craig-Wood) 62857 .IP \[bu] 2 62858 docs 62859 .RS 2 62860 .IP \[bu] 2 62861 Contributing.md: update setup instructions for go1.16 (Nick Gaya) 62862 .IP \[bu] 2 62863 WinFsp 2021 is out of beta (albertony) 62864 .IP \[bu] 2 62865 Minor cleanup of space around code section (albertony) 62866 .IP \[bu] 2 62867 Fixed some typos (albertony) 62868 .RE 62869 .RE 62870 .IP \[bu] 2 62871 VFS 62872 .RS 2 62873 .IP \[bu] 2 62874 Fix a code path which allows dirty data to be removed causing data loss 62875 (Nick Craig-Wood) 62876 .RE 62877 .IP \[bu] 2 62878 Compress 62879 .RS 2 62880 .IP \[bu] 2 62881 Fix compressed name regexp (buengese) 62882 .RE 62883 .IP \[bu] 2 62884 Drive 62885 .RS 2 62886 .IP \[bu] 2 62887 Fix backend copyid of google doc to directory (Nick Craig-Wood) 62888 .IP \[bu] 2 62889 Don\[aq]t open browser when service account... 62890 (Ansh Mittal) 62891 .RE 62892 .IP \[bu] 2 62893 Dropbox 62894 .RS 2 62895 .IP \[bu] 2 62896 Add missing team_data.member scope for use with --impersonate (Nick 62897 Craig-Wood) 62898 .IP \[bu] 2 62899 Fix About after scopes changes - rclone config reconnect needed (Nick 62900 Craig-Wood) 62901 .IP \[bu] 2 62902 Fix Unable to decrypt returned paths from changeNotify (Nick Craig-Wood) 62903 .RE 62904 .IP \[bu] 2 62905 FTP 62906 .RS 2 62907 .IP \[bu] 2 62908 Fix implicit TLS (Ivan Andreev) 62909 .RE 62910 .IP \[bu] 2 62911 Onedrive 62912 .RS 2 62913 .IP \[bu] 2 62914 Work around for random \[dq]Unable to initialize RPS\[dq] errors 62915 (OleFrost) 62916 .RE 62917 .IP \[bu] 2 62918 SFTP 62919 .RS 2 62920 .IP \[bu] 2 62921 Revert sftp library to v1.12.0 from v1.13.0 to fix performance 62922 regression (Nick Craig-Wood) 62923 .IP \[bu] 2 62924 Fix Update ReadFrom failed: failed to send packet: EOF errors (Nick 62925 Craig-Wood) 62926 .RE 62927 .IP \[bu] 2 62928 Zoho 62929 .RS 2 62930 .IP \[bu] 2 62931 Fix error when region isn\[aq]t set (buengese) 62932 .IP \[bu] 2 62933 Do not ask for mountpoint twice when using headless setup (buengese) 62934 .RE 62935 .SS v1.55.0 - 2021-03-31 62936 .PP 62937 See commits (https://github.com/divyam234/rclone/compare/v1.54.0...v1.55.0) 62938 .IP \[bu] 2 62939 New commands 62940 .RS 2 62941 .IP \[bu] 2 62942 selfupdate (https://rclone.org/commands/rclone_selfupdate/) (Ivan 62943 Andreev) 62944 .RS 2 62945 .IP \[bu] 2 62946 Allows rclone to update itself in-place or via a package (using 62947 \f[C]--package\f[R] flag) 62948 .IP \[bu] 2 62949 Reads cryptographically signed signatures for non beta releases 62950 .IP \[bu] 2 62951 Works on all OSes. 62952 .RE 62953 .IP \[bu] 2 62954 test (https://rclone.org/commands/rclone_test/) - these are test 62955 commands - use with care! 62956 .RS 2 62957 .IP \[bu] 2 62958 \f[C]histogram\f[R] - Makes a histogram of file name characters. 62959 .IP \[bu] 2 62960 \f[C]info\f[R] - Discovers file name or other limitations for paths. 62961 .IP \[bu] 2 62962 \f[C]makefiles\f[R] - Make a random file hierarchy for testing. 62963 .IP \[bu] 2 62964 \f[C]memory\f[R] - Load all the objects at remote:path into memory and 62965 report memory stats. 62966 .RE 62967 .RE 62968 .IP \[bu] 2 62969 New Features 62970 .RS 2 62971 .IP \[bu] 2 62972 Connection strings (https://rclone.org/docs/#connection-strings) 62973 .RS 2 62974 .IP \[bu] 2 62975 Config parameters can now be passed as part of the remote name as a 62976 connection string. 62977 .IP \[bu] 2 62978 For example, to do the equivalent of \f[C]--drive-shared-with-me\f[R] 62979 use \f[C]drive,shared_with_me:\f[R] 62980 .IP \[bu] 2 62981 Make sure we don\[aq]t save on the fly remote config to the config file 62982 (Nick Craig-Wood) 62983 .IP \[bu] 2 62984 Make sure backends with additional config have a different name for 62985 caching (Nick Craig-Wood) 62986 .IP \[bu] 2 62987 This work was sponsored by CERN, through the CS3MESH4EOSC 62988 Project (https://cs3mesh4eosc.eu/). 62989 .RS 2 62990 .IP \[bu] 2 62991 CS3MESH4EOSC has received funding from the European Union\[cq]s Horizon 62992 2020 62993 .IP \[bu] 2 62994 research and innovation programme under Grant Agreement no. 62995 863353. 62996 .RE 62997 .RE 62998 .IP \[bu] 2 62999 build 63000 .RS 2 63001 .IP \[bu] 2 63002 Update go build version to go1.16 and raise minimum go version to go1.13 63003 (Nick Craig-Wood) 63004 .IP \[bu] 2 63005 Make a macOS ARM64 build to support Apple Silicon (Nick Craig-Wood) 63006 .IP \[bu] 2 63007 Install macfuse 4.x instead of osxfuse 3.x (Nick Craig-Wood) 63008 .IP \[bu] 2 63009 Use \f[C]GO386=softfloat\f[R] instead of deprecated \f[C]GO386=387\f[R] 63010 for 386 builds (Nick Craig-Wood) 63011 .IP \[bu] 2 63012 Disable IOS builds for the time being (Nick Craig-Wood) 63013 .IP \[bu] 2 63014 Androids builds made with up to date NDK (x0b) 63015 .IP \[bu] 2 63016 Add an rclone user to the Docker image but don\[aq]t use it by default 63017 (cynthia kwok) 63018 .RE 63019 .IP \[bu] 2 63020 dedupe: Make largest directory primary to minimize data moved (Saksham 63021 Khanna) 63022 .IP \[bu] 2 63023 config 63024 .RS 2 63025 .IP \[bu] 2 63026 Wrap config library in an interface (Fionera) 63027 .IP \[bu] 2 63028 Make config file system pluggable (Nick Craig-Wood) 63029 .IP \[bu] 2 63030 \f[C]--config \[dq]\[dq]\f[R] or \f[C]\[dq]/notfound\[dq]\f[R] for in 63031 memory config only (Nick Craig-Wood) 63032 .IP \[bu] 2 63033 Clear fs cache of stale entries when altering config (Nick Craig-Wood) 63034 .RE 63035 .IP \[bu] 2 63036 copyurl: Add option to print resulting auto-filename (albertony) 63037 .IP \[bu] 2 63038 delete: Make \f[C]--rmdirs\f[R] obey the filters (Nick Craig-Wood) 63039 .IP \[bu] 2 63040 docs - many fixes and reworks from edwardxml, albertony, pvalls, Ivan 63041 Andreev, Evan Harris, buengese, Alexey Tabakman 63042 .IP \[bu] 2 63043 encoder/filename - add SCSU as tables (Klaus Post) 63044 .IP \[bu] 2 63045 Add multiple paths support to \f[C]--compare-dest\f[R] and 63046 \f[C]--copy-dest\f[R] flag (K265) 63047 .IP \[bu] 2 63048 filter: Make \f[C]--exclude \[dq]dir/\[dq]\f[R] equivalent to 63049 \f[C]--exclude \[dq]dir/**\[dq]\f[R] (Nick Craig-Wood) 63050 .IP \[bu] 2 63051 fshttp: Add DSCP support with \f[C]--dscp\f[R] for QoS with 63052 differentiated services (Max Sum) 63053 .IP \[bu] 2 63054 lib/cache: Add Delete and DeletePrefix methods (Nick Craig-Wood) 63055 .IP \[bu] 2 63056 lib/file 63057 .RS 2 63058 .IP \[bu] 2 63059 Make pre-allocate detect disk full errors and return them (Nick 63060 Craig-Wood) 63061 .IP \[bu] 2 63062 Don\[aq]t run preallocate concurrently (Nick Craig-Wood) 63063 .IP \[bu] 2 63064 Retry preallocate on EINTR (Nick Craig-Wood) 63065 .RE 63066 .IP \[bu] 2 63067 operations: Made copy and sync operations obey a RetryAfterError (Ankur 63068 Gupta) 63069 .IP \[bu] 2 63070 rc 63071 .RS 2 63072 .IP \[bu] 2 63073 Add string alternatives for setting options over the rc (Nick 63074 Craig-Wood) 63075 .IP \[bu] 2 63076 Add \f[C]options/local\f[R] to see the options configured in the context 63077 (Nick Craig-Wood) 63078 .IP \[bu] 2 63079 Add \f[C]_config\f[R] parameter to set global config for just this rc 63080 call (Nick Craig-Wood) 63081 .IP \[bu] 2 63082 Implement passing filter config with \f[C]_filter\f[R] parameter (Nick 63083 Craig-Wood) 63084 .IP \[bu] 2 63085 Add \f[C]fscache/clear\f[R] and \f[C]fscache/entries\f[R] to control the 63086 fs cache (Nick Craig-Wood) 63087 .IP \[bu] 2 63088 Avoid +Inf value for speed in \f[C]core/stats\f[R] (albertony) 63089 .IP \[bu] 2 63090 Add a full set of stats to \f[C]core/stats\f[R] (Nick Craig-Wood) 63091 .IP \[bu] 2 63092 Allow \f[C]fs=\f[R] params to be a JSON blob (Nick Craig-Wood) 63093 .RE 63094 .IP \[bu] 2 63095 rcd: Added systemd notification during the \f[C]rclone rcd\f[R] command. 63096 (Naveen Honest Raj) 63097 .IP \[bu] 2 63098 rmdirs: Make \f[C]--rmdirs\f[R] obey the filters (Nick Craig-Wood) 63099 .IP \[bu] 2 63100 version: Show build tags and type of executable (Ivan Andreev) 63101 .RE 63102 .IP \[bu] 2 63103 Bug Fixes 63104 .RS 2 63105 .IP \[bu] 2 63106 install.sh: make it fail on download errors (Ivan Andreev) 63107 .IP \[bu] 2 63108 Fix excessive retries missing \f[C]--max-duration\f[R] timeout (Nick 63109 Craig-Wood) 63110 .IP \[bu] 2 63111 Fix crash when \f[C]--low-level-retries=0\f[R] (Nick Craig-Wood) 63112 .IP \[bu] 2 63113 Fix failed token refresh on mounts created via the rc (Nick Craig-Wood) 63114 .IP \[bu] 2 63115 fshttp: Fix bandwidth limiting after bad merge (Nick Craig-Wood) 63116 .IP \[bu] 2 63117 lib/atexit 63118 .RS 2 63119 .IP \[bu] 2 63120 Unregister interrupt handler once it has fired so users can interrupt 63121 again (Nick Craig-Wood) 63122 .IP \[bu] 2 63123 Fix occasional failure to unmount with CTRL-C (Nick Craig-Wood) 63124 .IP \[bu] 2 63125 Fix deadlock calling Finalise while Run is running (Nick Craig-Wood) 63126 .RE 63127 .IP \[bu] 2 63128 lib/rest: Fix multipart uploads not stopping on context cancel (Nick 63129 Craig-Wood) 63130 .RE 63131 .IP \[bu] 2 63132 Mount 63133 .RS 2 63134 .IP \[bu] 2 63135 Allow mounting to root directory on windows (albertony) 63136 .IP \[bu] 2 63137 Improved handling of relative paths on windows (albertony) 63138 .IP \[bu] 2 63139 Fix unicode issues with accented characters on macOS (Nick Craig-Wood) 63140 .IP \[bu] 2 63141 Docs: document the new FileSecurity option in WinFsp 2021 (albertony) 63142 .IP \[bu] 2 63143 Docs: add note about volume path syntax on windows (albertony) 63144 .IP \[bu] 2 63145 Fix caching of old directories after renaming them (Nick Craig-Wood) 63146 .IP \[bu] 2 63147 Update cgofuse to the latest version to bring in macfuse 4 fix (Nick 63148 Craig-Wood) 63149 .RE 63150 .IP \[bu] 2 63151 VFS 63152 .RS 2 63153 .IP \[bu] 2 63154 \f[C]--vfs-used-is-size\f[R] to report used space using recursive scan 63155 (tYYGH) 63156 .IP \[bu] 2 63157 Don\[aq]t set modification time if it was already correct (Nick 63158 Craig-Wood) 63159 .IP \[bu] 2 63160 Fix Create causing windows explorer to truncate files on CTRL-C CTRL-V 63161 (Nick Craig-Wood) 63162 .IP \[bu] 2 63163 Fix modtimes not updating when writing via cache (Nick Craig-Wood) 63164 .IP \[bu] 2 63165 Fix modtimes changing by fractional seconds after upload (Nick 63166 Craig-Wood) 63167 .IP \[bu] 2 63168 Fix modtime set if \f[C]--vfs-cache-mode writes\f[R]/\f[C]full\f[R] and 63169 no write (Nick Craig-Wood) 63170 .IP \[bu] 2 63171 Rename files in cache and cancel uploads on directory rename (Nick 63172 Craig-Wood) 63173 .IP \[bu] 2 63174 Fix directory renaming by renaming dirs cached in memory (Nick 63175 Craig-Wood) 63176 .RE 63177 .IP \[bu] 2 63178 Local 63179 .RS 2 63180 .IP \[bu] 2 63181 Add flag \f[C]--local-no-preallocate\f[R] (David Sze) 63182 .IP \[bu] 2 63183 Make \f[C]nounc\f[R] an advanced option except on Windows (albertony) 63184 .IP \[bu] 2 63185 Don\[aq]t ignore preallocate disk full errors (Nick Craig-Wood) 63186 .RE 63187 .IP \[bu] 2 63188 Cache 63189 .RS 2 63190 .IP \[bu] 2 63191 Add \f[C]--fs-cache-expire-duration\f[R] to control the fs cache (Nick 63192 Craig-Wood) 63193 .RE 63194 .IP \[bu] 2 63195 Crypt 63196 .RS 2 63197 .IP \[bu] 2 63198 Add option to not encrypt data (Vesnyx) 63199 .IP \[bu] 2 63200 Log hash ok on upload (albertony) 63201 .RE 63202 .IP \[bu] 2 63203 Azure Blob 63204 .RS 2 63205 .IP \[bu] 2 63206 Add container public access level support. 63207 (Manish Kumar) 63208 .RE 63209 .IP \[bu] 2 63210 B2 63211 .RS 2 63212 .IP \[bu] 2 63213 Fix HTML files downloaded via cloudflare (Nick Craig-Wood) 63214 .RE 63215 .IP \[bu] 2 63216 Box 63217 .RS 2 63218 .IP \[bu] 2 63219 Fix transfers getting stuck on token expiry after API change (Nick 63220 Craig-Wood) 63221 .RE 63222 .IP \[bu] 2 63223 Chunker 63224 .RS 2 63225 .IP \[bu] 2 63226 Partially implement no-rename transactions (Maxwell Calman) 63227 .RE 63228 .IP \[bu] 2 63229 Drive 63230 .RS 2 63231 .IP \[bu] 2 63232 Don\[aq]t stop server side copy if couldn\[aq]t read description (Nick 63233 Craig-Wood) 63234 .IP \[bu] 2 63235 Pass context on to drive SDK - to help with cancellation (Nick 63236 Craig-Wood) 63237 .RE 63238 .IP \[bu] 2 63239 Dropbox 63240 .RS 2 63241 .IP \[bu] 2 63242 Add polling for changes support (Robert Thomas) 63243 .IP \[bu] 2 63244 Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood) 63245 .IP \[bu] 2 63246 Raise priority of rate limited message to INFO to make it more 63247 noticeable (Nick Craig-Wood) 63248 .RE 63249 .IP \[bu] 2 63250 Fichier 63251 .RS 2 63252 .IP \[bu] 2 63253 Implement copy & move (buengese) 63254 .IP \[bu] 2 63255 Implement public link (buengese) 63256 .RE 63257 .IP \[bu] 2 63258 FTP 63259 .RS 2 63260 .IP \[bu] 2 63261 Implement Shutdown method (Nick Craig-Wood) 63262 .IP \[bu] 2 63263 Close idle connections after \f[C]--ftp-idle-timeout\f[R] (1m by 63264 default) (Nick Craig-Wood) 63265 .IP \[bu] 2 63266 Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood) 63267 .IP \[bu] 2 63268 Add \f[C]--ftp-close-timeout\f[R] flag for use with awkward ftp servers 63269 (Nick Craig-Wood) 63270 .IP \[bu] 2 63271 Retry connections and logins on 421 errors (Nick Craig-Wood) 63272 .RE 63273 .IP \[bu] 2 63274 Hdfs 63275 .RS 2 63276 .IP \[bu] 2 63277 Fix permissions for when directory is created (Lucas Messenger) 63278 .RE 63279 .IP \[bu] 2 63280 Onedrive 63281 .RS 2 63282 .IP \[bu] 2 63283 Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood) 63284 .RE 63285 .IP \[bu] 2 63286 S3 63287 .RS 2 63288 .IP \[bu] 2 63289 Fix \f[C]--s3-profile\f[R] which wasn\[aq]t working (Nick Craig-Wood) 63290 .RE 63291 .IP \[bu] 2 63292 SFTP 63293 .RS 2 63294 .IP \[bu] 2 63295 Close idle connections after \f[C]--sftp-idle-timeout\f[R] (1m by 63296 default) (Nick Craig-Wood) 63297 .IP \[bu] 2 63298 Fix \[dq]file not found\[dq] errors for read once servers (Nick 63299 Craig-Wood) 63300 .IP \[bu] 2 63301 Fix SetModTime stat failed: object not found with 63302 \f[C]--sftp-set-modtime=false\f[R] (Nick Craig-Wood) 63303 .RE 63304 .IP \[bu] 2 63305 Swift 63306 .RS 2 63307 .IP \[bu] 2 63308 Update github.com/ncw/swift to v2.0.0 (Nick Craig-Wood) 63309 .IP \[bu] 2 63310 Implement copying large objects (nguyenhuuluan434) 63311 .RE 63312 .IP \[bu] 2 63313 Union 63314 .RS 2 63315 .IP \[bu] 2 63316 Fix crash when using epff policy (Nick Craig-Wood) 63317 .IP \[bu] 2 63318 Fix union attempting to update files on a read only file system (Nick 63319 Craig-Wood) 63320 .IP \[bu] 2 63321 Refactor to use fspath.SplitFs instead of fs.ParseRemote (Nick 63322 Craig-Wood) 63323 .IP \[bu] 2 63324 Fix initialisation broken in refactor (Nick Craig-Wood) 63325 .RE 63326 .IP \[bu] 2 63327 WebDAV 63328 .RS 2 63329 .IP \[bu] 2 63330 Add support for sharepoint with NTLM authentication (Rauno Ots) 63331 .IP \[bu] 2 63332 Make sharepoint-ntlm docs more consistent (Alex Chen) 63333 .IP \[bu] 2 63334 Improve terminology in sharepoint-ntlm docs (Ivan Andreev) 63335 .IP \[bu] 2 63336 Disable HTTP/2 for NTLM authentication (georne) 63337 .IP \[bu] 2 63338 Fix sharepoint-ntlm error 401 for parallel actions (Ivan Andreev) 63339 .IP \[bu] 2 63340 Check that purged directory really exists (Ivan Andreev) 63341 .RE 63342 .IP \[bu] 2 63343 Yandex 63344 .RS 2 63345 .IP \[bu] 2 63346 Make \f[C]--timeout 0\f[R] work properly (Nick Craig-Wood) 63347 .RE 63348 .IP \[bu] 2 63349 Zoho 63350 .RS 2 63351 .IP \[bu] 2 63352 Replace client id - you will need to \f[C]rclone config reconnect\f[R] 63353 after this (buengese) 63354 .IP \[bu] 2 63355 Add forgotten setupRegion() to NewFs - this finally fixes regions other 63356 than EU (buengese) 63357 .RE 63358 .SS v1.54.1 - 2021-03-08 63359 .PP 63360 See commits (https://github.com/divyam234/rclone/compare/v1.54.0...v1.54.1) 63361 .IP \[bu] 2 63362 Bug Fixes 63363 .RS 2 63364 .IP \[bu] 2 63365 accounting: Fix --bwlimit when up or down is off (Nick Craig-Wood) 63366 .IP \[bu] 2 63367 docs 63368 .RS 2 63369 .IP \[bu] 2 63370 Fix nesting of brackets and backticks in ftp docs (edwardxml) 63371 .IP \[bu] 2 63372 Fix broken link in sftp page (edwardxml) 63373 .IP \[bu] 2 63374 Fix typo in crypt.md (Romeo Kienzler) 63375 .IP \[bu] 2 63376 Changelog: Correct link to digitalis.io (Alex JOST) 63377 .IP \[bu] 2 63378 Replace #file-caching with #vfs-file-caching (Miron Veryanskiy) 63379 .IP \[bu] 2 63380 Convert bogus example link to code (edwardxml) 63381 .IP \[bu] 2 63382 Remove dead link from rc.md (edwardxml) 63383 .RE 63384 .IP \[bu] 2 63385 rc: Sync,copy,move: document createEmptySrcDirs parameter (Nick 63386 Craig-Wood) 63387 .IP \[bu] 2 63388 lsjson: Fix unterminated JSON in the presence of errors (Nick 63389 Craig-Wood) 63390 .RE 63391 .IP \[bu] 2 63392 Mount 63393 .RS 2 63394 .IP \[bu] 2 63395 Fix mount dropping on macOS by setting --daemon-timeout 10m (Nick 63396 Craig-Wood) 63397 .RE 63398 .IP \[bu] 2 63399 VFS 63400 .RS 2 63401 .IP \[bu] 2 63402 Document simultaneous usage with the same cache shouldn\[aq]t be used 63403 (Nick Craig-Wood) 63404 .RE 63405 .IP \[bu] 2 63406 B2 63407 .RS 2 63408 .IP \[bu] 2 63409 Automatically raise upload cutoff to avoid spurious error (Nick 63410 Craig-Wood) 63411 .IP \[bu] 2 63412 Fix failed to create file system with application key limited to a 63413 prefix (Nick Craig-Wood) 63414 .RE 63415 .IP \[bu] 2 63416 Drive 63417 .RS 2 63418 .IP \[bu] 2 63419 Refer to Shared Drives instead of Team Drives (Nick Craig-Wood) 63420 .RE 63421 .IP \[bu] 2 63422 Dropbox 63423 .RS 2 63424 .IP \[bu] 2 63425 Add scopes to oauth request and optionally \[dq]members.read\[dq] (Nick 63426 Craig-Wood) 63427 .RE 63428 .IP \[bu] 2 63429 S3 63430 .RS 2 63431 .IP \[bu] 2 63432 Fix failed to create file system with folder level permissions policy 63433 (Nick Craig-Wood) 63434 .IP \[bu] 2 63435 Fix Wasabi HEAD requests returning stale data by using only 1 transport 63436 (Nick Craig-Wood) 63437 .IP \[bu] 2 63438 Fix shared_credentials_file auth (Dmitry Chepurovskiy) 63439 .IP \[bu] 2 63440 Add --s3-no-head to reducing costs docs (Nick Craig-Wood) 63441 .RE 63442 .IP \[bu] 2 63443 Union 63444 .RS 2 63445 .IP \[bu] 2 63446 Fix mkdir at root with remote:/ (Nick Craig-Wood) 63447 .RE 63448 .IP \[bu] 2 63449 Zoho 63450 .RS 2 63451 .IP \[bu] 2 63452 Fix custom client id\[aq]s (buengese) 63453 .RE 63454 .SS v1.54.0 - 2021-02-02 63455 .PP 63456 See commits (https://github.com/divyam234/rclone/compare/v1.53.0...v1.54.0) 63457 .IP \[bu] 2 63458 New backends 63459 .RS 2 63460 .IP \[bu] 2 63461 Compression remote (experimental) (buengese) 63462 .IP \[bu] 2 63463 Enterprise File Fabric (Nick Craig-Wood) 63464 .RS 2 63465 .IP \[bu] 2 63466 This work was sponsored by Storage Made 63467 Easy (https://storagemadeeasy.com/) 63468 .RE 63469 .IP \[bu] 2 63470 HDFS (Hadoop Distributed File System) (Yury Stankevich) 63471 .IP \[bu] 2 63472 Zoho workdrive (buengese) 63473 .RE 63474 .IP \[bu] 2 63475 New Features 63476 .RS 2 63477 .IP \[bu] 2 63478 Deglobalise the config (Nick Craig-Wood) 63479 .RS 2 63480 .IP \[bu] 2 63481 Global config now read from the context 63482 .IP \[bu] 2 63483 This will enable passing of global config via the rc 63484 .IP \[bu] 2 63485 This work was sponsored by Digitalis (https://digitalis.io/) 63486 .RE 63487 .IP \[bu] 2 63488 Add \f[C]--bwlimit\f[R] for upload and download (Nick Craig-Wood) 63489 .RS 2 63490 .IP \[bu] 2 63491 Obey bwlimit in http Transport for better limiting 63492 .RE 63493 .IP \[bu] 2 63494 Enhance systemd integration (Hekmon) 63495 .RS 2 63496 .IP \[bu] 2 63497 log level identification, manual activation with flag, automatic systemd 63498 launch detection 63499 .IP \[bu] 2 63500 Don\[aq]t compile systemd log integration for non unix systems (Benjamin 63501 Gustin) 63502 .RE 63503 .IP \[bu] 2 63504 Add a \f[C]--download\f[R] flag to md5sum/sha1sum/hashsum to force 63505 rclone to download and hash files locally (lostheli) 63506 .IP \[bu] 2 63507 Add \f[C]--progress-terminal-title\f[R] to print ETA to terminal title 63508 (LaSombra) 63509 .IP \[bu] 2 63510 Make backend env vars show in help as the defaults for backend flags 63511 (Nick Craig-Wood) 63512 .IP \[bu] 2 63513 build 63514 .RS 2 63515 .IP \[bu] 2 63516 Raise minimum go version to go1.12 (Nick Craig-Wood) 63517 .RE 63518 .IP \[bu] 2 63519 dedupe 63520 .RS 2 63521 .IP \[bu] 2 63522 Add \f[C]--by-hash\f[R] to dedupe on content hash not file name (Nick 63523 Craig-Wood) 63524 .IP \[bu] 2 63525 Add \f[C]--dedupe-mode list\f[R] to just list dupes, changing nothing 63526 (Nick Craig-Wood) 63527 .IP \[bu] 2 63528 Add warning if used on a remote which can\[aq]t have duplicate names 63529 (Nick Craig-Wood) 63530 .RE 63531 .IP \[bu] 2 63532 fs 63533 .RS 2 63534 .IP \[bu] 2 63535 Add Shutdown optional method for backends (Nick Craig-Wood) 63536 .IP \[bu] 2 63537 When using \f[C]--files-from\f[R] check files concurrently (zhucan) 63538 .IP \[bu] 2 63539 Accumulate stats when using \f[C]--dry-run\f[R] (Ingo Weiss) 63540 .IP \[bu] 2 63541 Always show stats when using \f[C]--dry-run\f[R] or 63542 \f[C]--interactive\f[R] (Nick Craig-Wood) 63543 .IP \[bu] 2 63544 Add support for flag \f[C]--no-console\f[R] on windows to hide the 63545 console window (albertony) 63546 .RE 63547 .IP \[bu] 2 63548 genautocomplete: Add support to output to stdout (Ingo) 63549 .IP \[bu] 2 63550 ncdu 63551 .RS 2 63552 .IP \[bu] 2 63553 Highlight read errors instead of aborting (Claudio Bantaloukas) 63554 .IP \[bu] 2 63555 Add sort by average size in directory (Adam Pl\['a]nsk\['y]) 63556 .IP \[bu] 2 63557 Add toggle option for average s3ize in directory - key \[aq]a\[aq] (Adam 63558 Pl\['a]nsk\['y]) 63559 .IP \[bu] 2 63560 Add empty folder flag into ncdu browser (Adam Pl\['a]nsk\['y]) 63561 .IP \[bu] 2 63562 Add \f[C]!\f[R] (error) and \f[C].\f[R] (unreadable) file flags to go 63563 with \f[C]e\f[R] (empty) (Nick Craig-Wood) 63564 .RE 63565 .IP \[bu] 2 63566 obscure: Make \f[C]rclone obscure -\f[R] ignore newline at end of line 63567 (Nick Craig-Wood) 63568 .IP \[bu] 2 63569 operations 63570 .RS 2 63571 .IP \[bu] 2 63572 Add logs when need to upload files to set mod times (Nick Craig-Wood) 63573 .IP \[bu] 2 63574 Move and copy log name of the destination object in verbose (Adam 63575 Pl\['a]nsk\['y]) 63576 .IP \[bu] 2 63577 Add size if known to skipped items and JSON log (Nick Craig-Wood) 63578 .RE 63579 .IP \[bu] 2 63580 rc 63581 .RS 2 63582 .IP \[bu] 2 63583 Prefer actual listener address if using \[dq]:port\[dq] or 63584 \[dq]addr:0\[dq] only (Nick Craig-Wood) 63585 .IP \[bu] 2 63586 Add listener for finished jobs (Aleksandar Jankovic) 63587 .RE 63588 .IP \[bu] 2 63589 serve ftp: Add options to enable TLS (Deepak Sah) 63590 .IP \[bu] 2 63591 serve http/webdav: Redirect requests to the base url without the / (Nick 63592 Craig-Wood) 63593 .IP \[bu] 2 63594 serve restic: Implement object cache (Nick Craig-Wood) 63595 .IP \[bu] 2 63596 stats: Add counter for deleted directories (Nick Craig-Wood) 63597 .IP \[bu] 2 63598 sync: Only print \[dq]There was nothing to transfer\[dq] if no errors 63599 (Nick Craig-Wood) 63600 .IP \[bu] 2 63601 webui 63602 .RS 2 63603 .IP \[bu] 2 63604 Prompt user for updating webui if an update is available (Chaitanya 63605 Bankanhal) 63606 .IP \[bu] 2 63607 Fix plugins initialization (negative0) 63608 .RE 63609 .RE 63610 .IP \[bu] 2 63611 Bug Fixes 63612 .RS 2 63613 .IP \[bu] 2 63614 fs 63615 .RS 2 63616 .IP \[bu] 2 63617 Fix nil pointer on copy & move operations directly to remote (Anagh 63618 Kumar Baranwal) 63619 .IP \[bu] 2 63620 Fix parsing of .. 63621 when joining remotes (Nick Craig-Wood) 63622 .RE 63623 .IP \[bu] 2 63624 log: Fix enabling systemd logging when using \f[C]--log-file\f[R] (Nick 63625 Craig-Wood) 63626 .IP \[bu] 2 63627 check 63628 .RS 2 63629 .IP \[bu] 2 63630 Make the error count match up in the log message (Nick Craig-Wood) 63631 .RE 63632 .IP \[bu] 2 63633 move: Fix data loss when source and destination are the same object 63634 (Nick Craig-Wood) 63635 .IP \[bu] 2 63636 operations 63637 .RS 2 63638 .IP \[bu] 2 63639 Fix \f[C]--cutoff-mode\f[R] hard not cutting off immediately (Nick 63640 Craig-Wood) 63641 .IP \[bu] 2 63642 Fix \f[C]--immutable\f[R] error message (Nick Craig-Wood) 63643 .RE 63644 .IP \[bu] 2 63645 sync 63646 .RS 2 63647 .IP \[bu] 2 63648 Fix \f[C]--cutoff-mode\f[R] soft & cautious so it doesn\[aq]t end the 63649 transfer early (Nick Craig-Wood) 63650 .IP \[bu] 2 63651 Fix \f[C]--immutable\f[R] errors retrying many times (Nick Craig-Wood) 63652 .RE 63653 .RE 63654 .IP \[bu] 2 63655 Docs 63656 .RS 2 63657 .IP \[bu] 2 63658 Many fixes and a rewrite of the filtering docs (edwardxml) 63659 .IP \[bu] 2 63660 Many spelling and grammar fixes (Josh Soref) 63661 .IP \[bu] 2 63662 Doc fixes for commands delete, purge, rmdir, rmdirs and mount 63663 (albertony) 63664 .IP \[bu] 2 63665 And thanks to these people for many doc fixes too numerous to list 63666 .RS 2 63667 .IP \[bu] 2 63668 Ameer Dawood, Antoine GIRARD, Bob Bagwill, Christopher Stewart 63669 .IP \[bu] 2 63670 CokeMine, David, Dov Murik, Durval Menezes, Evan Harris, gtorelly 63671 .IP \[bu] 2 63672 Ilyess Bachiri, Janne Johansson, Kerry Su, Marcin Zelent, 63673 .IP \[bu] 2 63674 Martin Michlmayr, Milly, S\[u01A1]n Tr\[u1EA7]n-Nguy\[u1EC5]n 63675 .RE 63676 .RE 63677 .IP \[bu] 2 63678 Mount 63679 .RS 2 63680 .IP \[bu] 2 63681 Update systemd status with cache stats (Hekmon) 63682 .IP \[bu] 2 63683 Disable bazil/fuse based mount on macOS (Nick Craig-Wood) 63684 .RS 2 63685 .IP \[bu] 2 63686 Make \f[C]rclone mount\f[R] actually run \f[C]rclone cmount\f[R] under 63687 macOS (Nick Craig-Wood) 63688 .RE 63689 .IP \[bu] 2 63690 Implement mknod to make NFS file creation work (Nick Craig-Wood) 63691 .IP \[bu] 2 63692 Make sure we don\[aq]t call umount more than once (Nick Craig-Wood) 63693 .IP \[bu] 2 63694 More user friendly mounting as network drive on windows (albertony) 63695 .IP \[bu] 2 63696 Detect if uid or gid are set in same option string: -o uid=123,gid=456 63697 (albertony) 63698 .IP \[bu] 2 63699 Don\[aq]t attempt to unmount if fs has been destroyed already (Nick 63700 Craig-Wood) 63701 .RE 63702 .IP \[bu] 2 63703 VFS 63704 .RS 2 63705 .IP \[bu] 2 63706 Fix virtual entries causing deleted files to still appear (Nick 63707 Craig-Wood) 63708 .IP \[bu] 2 63709 Fix \[dq]file already exists\[dq] error for stale cache files (Nick 63710 Craig-Wood) 63711 .IP \[bu] 2 63712 Fix file leaks with \f[C]--vfs-cache-mode\f[R] full and 63713 \f[C]--buffer-size 0\f[R] (Nick Craig-Wood) 63714 .IP \[bu] 2 63715 Fix invalid cache path on windows when using :backend: as remote 63716 (albertony) 63717 .RE 63718 .IP \[bu] 2 63719 Local 63720 .RS 2 63721 .IP \[bu] 2 63722 Continue listing files/folders when a circular symlink is detected 63723 (Manish Gupta) 63724 .IP \[bu] 2 63725 New flag \f[C]--local-zero-size-links\f[R] to fix sync on some virtual 63726 filesystems (Riccardo Iaconelli) 63727 .RE 63728 .IP \[bu] 2 63729 Azure Blob 63730 .RS 2 63731 .IP \[bu] 2 63732 Add support for service principals (James Lim) 63733 .IP \[bu] 2 63734 Add support for managed identities (Brad Ackerman) 63735 .IP \[bu] 2 63736 Add examples for access tier (Bob Pusateri) 63737 .IP \[bu] 2 63738 Utilize the streaming capabilities from the SDK for multipart uploads 63739 (Denis Neuling) 63740 .IP \[bu] 2 63741 Fix setting of mime types (Nick Craig-Wood) 63742 .IP \[bu] 2 63743 Fix crash when listing outside a SAS URL\[aq]s root (Nick Craig-Wood) 63744 .IP \[bu] 2 63745 Delete archive tier blobs before update if 63746 \f[C]--azureblob-archive-tier-delete\f[R] (Nick Craig-Wood) 63747 .IP \[bu] 2 63748 Fix crash on startup (Nick Craig-Wood) 63749 .IP \[bu] 2 63750 Fix memory usage by upgrading the SDK to v0.13.0 and implementing a 63751 TransferManager (Nick Craig-Wood) 63752 .IP \[bu] 2 63753 Require go1.14+ to compile due to SDK changes (Nick Craig-Wood) 63754 .RE 63755 .IP \[bu] 2 63756 B2 63757 .RS 2 63758 .IP \[bu] 2 63759 Make NewObject use less expensive API calls (Nick Craig-Wood) 63760 .RS 2 63761 .IP \[bu] 2 63762 This will improve \f[C]--files-from\f[R] and \f[C]restic serve\f[R] in 63763 particular 63764 .RE 63765 .IP \[bu] 2 63766 Fixed crash on an empty file name (lluuaapp) 63767 .RE 63768 .IP \[bu] 2 63769 Box 63770 .RS 2 63771 .IP \[bu] 2 63772 Fix NewObject for files that differ in case (Nick Craig-Wood) 63773 .IP \[bu] 2 63774 Fix finding directories in a case insensitive way (Nick Craig-Wood) 63775 .RE 63776 .IP \[bu] 2 63777 Chunker 63778 .RS 2 63779 .IP \[bu] 2 63780 Skip long local hashing, hash in-transit (fixes) (Ivan Andreev) 63781 .IP \[bu] 2 63782 Set Features ReadMimeType to false as Object.MimeType not supported 63783 (Nick Craig-Wood) 63784 .IP \[bu] 2 63785 Fix case-insensitive NewObject, test metadata detection (Ivan Andreev) 63786 .RE 63787 .IP \[bu] 2 63788 Drive 63789 .RS 2 63790 .IP \[bu] 2 63791 Implement \f[C]rclone backend copyid\f[R] command for copying files by 63792 ID (Nick Craig-Wood) 63793 .IP \[bu] 2 63794 Added flag \f[C]--drive-stop-on-download-limit\f[R] to stop transfers 63795 when the download limit is exceeded (Anagh Kumar Baranwal) 63796 .IP \[bu] 2 63797 Implement CleanUp workaround for team drives (buengese) 63798 .IP \[bu] 2 63799 Allow shortcut resolution and creation to be retried (Nick Craig-Wood) 63800 .IP \[bu] 2 63801 Log that emptying the trash can take some time (Nick Craig-Wood) 63802 .IP \[bu] 2 63803 Add xdg office icons to xdg desktop files (Pau Rodriguez-Estivill) 63804 .RE 63805 .IP \[bu] 2 63806 Dropbox 63807 .RS 2 63808 .IP \[bu] 2 63809 Add support for viewing shared files and folders (buengese) 63810 .IP \[bu] 2 63811 Enable short lived access tokens (Nick Craig-Wood) 63812 .IP \[bu] 2 63813 Implement IDer on Objects so \f[C]rclone lsf\f[R] etc can read the IDs 63814 (buengese) 63815 .IP \[bu] 2 63816 Set Features ReadMimeType to false as Object.MimeType not supported 63817 (Nick Craig-Wood) 63818 .IP \[bu] 2 63819 Make malformed_path errors from too long files not retriable (Nick 63820 Craig-Wood) 63821 .IP \[bu] 2 63822 Test file name length before upload to fix upload loop (Nick Craig-Wood) 63823 .RE 63824 .IP \[bu] 2 63825 Fichier 63826 .RS 2 63827 .IP \[bu] 2 63828 Set Features ReadMimeType to true as Object.MimeType is supported (Nick 63829 Craig-Wood) 63830 .RE 63831 .IP \[bu] 2 63832 FTP 63833 .RS 2 63834 .IP \[bu] 2 63835 Add \f[C]--ftp-disable-msld\f[R] option to ignore MLSD for really old 63836 servers (Nick Craig-Wood) 63837 .IP \[bu] 2 63838 Make \f[C]--tpslimit apply\f[R] (Nick Craig-Wood) 63839 .RE 63840 .IP \[bu] 2 63841 Google Cloud Storage 63842 .RS 2 63843 .IP \[bu] 2 63844 Storage class object header support (Laurens Janssen) 63845 .IP \[bu] 2 63846 Fix anonymous client to use rclone\[aq]s HTTP client (Nick Craig-Wood) 63847 .IP \[bu] 2 63848 Fix 63849 \f[C]Entry doesn\[aq]t belong in directory \[dq]\[dq] (same as directory) - ignoring\f[R] 63850 (Nick Craig-Wood) 63851 .RE 63852 .IP \[bu] 2 63853 Googlephotos 63854 .RS 2 63855 .IP \[bu] 2 63856 New flag \f[C]--gphotos-include-archived\f[R] to show archived photos as 63857 well (Nicolas Rueff) 63858 .RE 63859 .IP \[bu] 2 63860 Jottacloud 63861 .RS 2 63862 .IP \[bu] 2 63863 Don\[aq]t erroneously report support for writing mime types (buengese) 63864 .IP \[bu] 2 63865 Add support for Telia Cloud (Patrik Nordl\['e]n) 63866 .RE 63867 .IP \[bu] 2 63868 Mailru 63869 .RS 2 63870 .IP \[bu] 2 63871 Accept special folders eg camera-upload (Ivan Andreev) 63872 .IP \[bu] 2 63873 Avoid prehashing of large local files (Ivan Andreev) 63874 .IP \[bu] 2 63875 Fix uploads after recent changes on server (Ivan Andreev) 63876 .IP \[bu] 2 63877 Fix range requests after June 2020 changes on server (Ivan Andreev) 63878 .IP \[bu] 2 63879 Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev) 63880 .IP \[bu] 2 63881 Remove deprecated protocol quirks (Ivan Andreev) 63882 .RE 63883 .IP \[bu] 2 63884 Memory 63885 .RS 2 63886 .IP \[bu] 2 63887 Fix setting of mime types (Nick Craig-Wood) 63888 .RE 63889 .IP \[bu] 2 63890 Onedrive 63891 .RS 2 63892 .IP \[bu] 2 63893 Add support for China region operated by 21vianet and other regional 63894 suppliers (NyaMisty) 63895 .IP \[bu] 2 63896 Warn on gateway timeout errors (Nick Craig-Wood) 63897 .IP \[bu] 2 63898 Fall back to normal copy if server-side copy unavailable (Alex Chen) 63899 .IP \[bu] 2 63900 Fix server-side copy completely disabled on OneDrive for Business (Cnly) 63901 .IP \[bu] 2 63902 (business only) workaround to replace existing file on server-side copy 63903 (Alex Chen) 63904 .IP \[bu] 2 63905 Enhance link creation with expiry, scope, type and password (Nick 63906 Craig-Wood) 63907 .IP \[bu] 2 63908 Remove % and # from the set of encoded characters (Alex Chen) 63909 .IP \[bu] 2 63910 Support addressing site by server-relative URL (kice) 63911 .RE 63912 .IP \[bu] 2 63913 Opendrive 63914 .RS 2 63915 .IP \[bu] 2 63916 Fix finding directories in a case insensitive way (Nick Craig-Wood) 63917 .RE 63918 .IP \[bu] 2 63919 Pcloud 63920 .RS 2 63921 .IP \[bu] 2 63922 Fix setting of mime types (Nick Craig-Wood) 63923 .RE 63924 .IP \[bu] 2 63925 Premiumizeme 63926 .RS 2 63927 .IP \[bu] 2 63928 Fix finding directories in a case insensitive way (Nick Craig-Wood) 63929 .RE 63930 .IP \[bu] 2 63931 Qingstor 63932 .RS 2 63933 .IP \[bu] 2 63934 Fix error propagation in CleanUp (Nick Craig-Wood) 63935 .IP \[bu] 2 63936 Fix rclone cleanup (Nick Craig-Wood) 63937 .RE 63938 .IP \[bu] 2 63939 S3 63940 .RS 2 63941 .IP \[bu] 2 63942 Added \f[C]--s3-disable-http2\f[R] to disable http/2 (Anagh Kumar 63943 Baranwal) 63944 .IP \[bu] 2 63945 Complete SSE-C implementation (Nick Craig-Wood) 63946 .RS 2 63947 .IP \[bu] 2 63948 Fix hashes on small files with AWS:KMS and SSE-C (Nick Craig-Wood) 63949 .IP \[bu] 2 63950 Add MD5 metadata to objects uploaded with SSE-AWS/SSE-C (Nick 63951 Craig-Wood) 63952 .RE 63953 .IP \[bu] 2 63954 Add \f[C]--s3-no-head parameter\f[R] to minimise transactions on upload 63955 (Nick Craig-Wood) 63956 .IP \[bu] 2 63957 Update docs with a Reducing Costs section (Nick Craig-Wood) 63958 .IP \[bu] 2 63959 Added error handling for error code 429 indicating too many requests 63960 (Anagh Kumar Baranwal) 63961 .IP \[bu] 2 63962 Add requester pays option (kelv) 63963 .IP \[bu] 2 63964 Fix copy multipart with v2 auth failing with 63965 \[aq]SignatureDoesNotMatch\[aq] (Louis Koo) 63966 .RE 63967 .IP \[bu] 2 63968 SFTP 63969 .RS 2 63970 .IP \[bu] 2 63971 Allow cert based auth via optional pubkey (Stephen Harris) 63972 .IP \[bu] 2 63973 Allow user to optionally check server hosts key to add security (Stephen 63974 Harris) 63975 .IP \[bu] 2 63976 Defer asking for user passwords until the SSH connection succeeds 63977 (Stephen Harris) 63978 .IP \[bu] 2 63979 Remember entered password in AskPass mode (Stephen Harris) 63980 .IP \[bu] 2 63981 Implement Shutdown method (Nick Craig-Wood) 63982 .IP \[bu] 2 63983 Implement keyboard interactive authentication (Nick Craig-Wood) 63984 .IP \[bu] 2 63985 Make \f[C]--tpslimit\f[R] apply (Nick Craig-Wood) 63986 .IP \[bu] 2 63987 Implement \f[C]--sftp-use-fstat\f[R] for unusual SFTP servers (Nick 63988 Craig-Wood) 63989 .RE 63990 .IP \[bu] 2 63991 Sugarsync 63992 .RS 2 63993 .IP \[bu] 2 63994 Fix NewObject for files that differ in case (Nick Craig-Wood) 63995 .IP \[bu] 2 63996 Fix finding directories in a case insensitive way (Nick Craig-Wood) 63997 .RE 63998 .IP \[bu] 2 63999 Swift 64000 .RS 2 64001 .IP \[bu] 2 64002 Fix deletion of parts of Static Large Object (SLO) (Nguy\[u1EC5]n 64003 H\[u1EEF]u Lu\[^a]n) 64004 .IP \[bu] 2 64005 Ensure partially uploaded large files are uploaded unless 64006 \f[C]--swift-leave-parts-on-error\f[R] (Nguy\[u1EC5]n H\[u1EEF]u 64007 Lu\[^a]n) 64008 .RE 64009 .IP \[bu] 2 64010 Tardigrade 64011 .RS 2 64012 .IP \[bu] 2 64013 Upgrade to uplink v1.4.1 (Caleb Case) 64014 .RE 64015 .IP \[bu] 2 64016 WebDAV 64017 .RS 2 64018 .IP \[bu] 2 64019 Updated docs to show streaming to nextcloud is working (Durval Menezes) 64020 .RE 64021 .IP \[bu] 2 64022 Yandex 64023 .RS 2 64024 .IP \[bu] 2 64025 Set Features WriteMimeType to false as Yandex ignores mime types (Nick 64026 Craig-Wood) 64027 .RE 64028 .SS v1.53.4 - 2021-01-20 64029 .PP 64030 See commits (https://github.com/divyam234/rclone/compare/v1.53.3...v1.53.4) 64031 .IP \[bu] 2 64032 Bug Fixes 64033 .RS 2 64034 .IP \[bu] 2 64035 accounting: Fix data race in Transferred() (Maciej Zimnoch) 64036 .IP \[bu] 2 64037 build 64038 .RS 2 64039 .IP \[bu] 2 64040 Stop tagged releases making a current beta (Nick Craig-Wood) 64041 .IP \[bu] 2 64042 Upgrade docker buildx action (Matteo Pietro Dazzi) 64043 .IP \[bu] 2 64044 Add -buildmode to cross-compile.go (Nick Craig-Wood) 64045 .IP \[bu] 2 64046 Fix docker build by upgrading ilteoood/docker_buildx (Nick Craig-Wood) 64047 .IP \[bu] 2 64048 Revert GitHub actions brew fix since this is now fixed (Nick Craig-Wood) 64049 .IP \[bu] 2 64050 Fix brew install --cask syntax for macOS build (Nick Craig-Wood) 64051 .IP \[bu] 2 64052 Update nfpm syntax to fix build of .deb/.rpm packages (Nick Craig-Wood) 64053 .IP \[bu] 2 64054 Fix for Windows build errors (Ivan Andreev) 64055 .RE 64056 .IP \[bu] 2 64057 fs: Parseduration: fixed tests to use UTC time (Ankur Gupta) 64058 .IP \[bu] 2 64059 fshttp: Prevent overlap of HTTP headers in logs (Nathan Collins) 64060 .IP \[bu] 2 64061 rc 64062 .RS 2 64063 .IP \[bu] 2 64064 Fix core/command giving 500 internal error (Nick Craig-Wood) 64065 .IP \[bu] 2 64066 Add Copy method to rc.Params (Nick Craig-Wood) 64067 .IP \[bu] 2 64068 Fix 500 error when marshalling errors from core/command (Nick 64069 Craig-Wood) 64070 .IP \[bu] 2 64071 plugins: Create plugins files only if webui is enabled. 64072 (negative0) 64073 .RE 64074 .IP \[bu] 2 64075 serve http: Fix serving files of unknown length (Nick Craig-Wood) 64076 .IP \[bu] 2 64077 serve sftp: Fix authentication on one connection blocking others (Nick 64078 Craig-Wood) 64079 .RE 64080 .IP \[bu] 2 64081 Mount 64082 .RS 2 64083 .IP \[bu] 2 64084 Add optional \f[C]brew\f[R] tag to throw an error when using mount in 64085 the binaries installed via Homebrew (Anagh Kumar Baranwal) 64086 .IP \[bu] 2 64087 Add \[dq].\[dq] and \[dq]..\[dq] to directories to match cmount and 64088 expectations (Nick Craig-Wood) 64089 .RE 64090 .IP \[bu] 2 64091 VFS 64092 .RS 2 64093 .IP \[bu] 2 64094 Make cache dir absolute before using it to fix path too long errors 64095 (Nick Craig-Wood) 64096 .RE 64097 .IP \[bu] 2 64098 Chunker 64099 .RS 2 64100 .IP \[bu] 2 64101 Improve detection of incompatible metadata (Ivan Andreev) 64102 .RE 64103 .IP \[bu] 2 64104 Google Cloud Storage 64105 .RS 2 64106 .IP \[bu] 2 64107 Fix server side copy of large objects (Nick Craig-Wood) 64108 .RE 64109 .IP \[bu] 2 64110 Jottacloud 64111 .RS 2 64112 .IP \[bu] 2 64113 Fix token renewer to fix long uploads (Nick Craig-Wood) 64114 .IP \[bu] 2 64115 Fix token refresh failed: is not a regular file error (Nick Craig-Wood) 64116 .RE 64117 .IP \[bu] 2 64118 Pcloud 64119 .RS 2 64120 .IP \[bu] 2 64121 Only use SHA1 hashes in EU region (Nick Craig-Wood) 64122 .RE 64123 .IP \[bu] 2 64124 Sharefile 64125 .RS 2 64126 .IP \[bu] 2 64127 Undo Fix backend due to API swapping integers for strings (Nick 64128 Craig-Wood) 64129 .RE 64130 .IP \[bu] 2 64131 WebDAV 64132 .RS 2 64133 .IP \[bu] 2 64134 Fix Open Range requests to fix 4shared mount (Nick Craig-Wood) 64135 .IP \[bu] 2 64136 Add \[dq]Depth: 0\[dq] to GET requests to fix bitrix (Nick Craig-Wood) 64137 .RE 64138 .SS v1.53.3 - 2020-11-19 64139 .PP 64140 See commits (https://github.com/divyam234/rclone/compare/v1.53.2...v1.53.3) 64141 .IP \[bu] 2 64142 Bug Fixes 64143 .RS 2 64144 .IP \[bu] 2 64145 random: Fix incorrect use of math/rand instead of crypto/rand 64146 CVE-2020-28924 (Nick Craig-Wood) 64147 .RS 2 64148 .IP \[bu] 2 64149 Passwords you have generated with \f[C]rclone config\f[R] may be 64150 insecure 64151 .IP \[bu] 2 64152 See issue #4783 (https://github.com/divyam234/rclone/issues/4783) for more 64153 details and a checking tool 64154 .RE 64155 .IP \[bu] 2 64156 random: Seed math/rand in one place with crypto strong seed (Nick 64157 Craig-Wood) 64158 .RE 64159 .IP \[bu] 2 64160 VFS 64161 .RS 2 64162 .IP \[bu] 2 64163 Fix vfs/refresh calls with fs= parameter (Nick Craig-Wood) 64164 .RE 64165 .IP \[bu] 2 64166 Sharefile 64167 .RS 2 64168 .IP \[bu] 2 64169 Fix backend due to API swapping integers for strings (Nick Craig-Wood) 64170 .RE 64171 .SS v1.53.2 - 2020-10-26 64172 .PP 64173 See commits (https://github.com/divyam234/rclone/compare/v1.53.1...v1.53.2) 64174 .IP \[bu] 2 64175 Bug Fixes 64176 .RS 2 64177 .IP \[bu] 2 64178 accounting 64179 .RS 2 64180 .IP \[bu] 2 64181 Fix incorrect speed and transferTime in core/stats (Nick Craig-Wood) 64182 .IP \[bu] 2 64183 Stabilize display order of transfers on Windows (Nick Craig-Wood) 64184 .RE 64185 .IP \[bu] 2 64186 operations 64187 .RS 2 64188 .IP \[bu] 2 64189 Fix use of --suffix without --backup-dir (Nick Craig-Wood) 64190 .IP \[bu] 2 64191 Fix spurious \[dq]--checksum is in use but the source and destination 64192 have no hashes in common\[dq] (Nick Craig-Wood) 64193 .RE 64194 .IP \[bu] 2 64195 build 64196 .RS 2 64197 .IP \[bu] 2 64198 Work around GitHub actions brew problem (Nick Craig-Wood) 64199 .IP \[bu] 2 64200 Stop using set-env and set-path in the GitHub actions (Nick Craig-Wood) 64201 .RE 64202 .RE 64203 .IP \[bu] 2 64204 Mount 64205 .RS 2 64206 .IP \[bu] 2 64207 mount2: Fix the swapped UID / GID values (Russell Cattelan) 64208 .RE 64209 .IP \[bu] 2 64210 VFS 64211 .RS 2 64212 .IP \[bu] 2 64213 Detect and recover from a file being removed externally from the cache 64214 (Nick Craig-Wood) 64215 .IP \[bu] 2 64216 Fix a deadlock vulnerability in downloaders.Close (Leo Luan) 64217 .IP \[bu] 2 64218 Fix a race condition in retryFailedResets (Leo Luan) 64219 .IP \[bu] 2 64220 Fix missed concurrency control between some item operations and reset 64221 (Leo Luan) 64222 .IP \[bu] 2 64223 Add exponential backoff during ENOSPC retries (Leo Luan) 64224 .IP \[bu] 2 64225 Add a missed update of used cache space (Leo Luan) 64226 .IP \[bu] 2 64227 Fix --no-modtime to not attempt to set modtimes (as documented) (Nick 64228 Craig-Wood) 64229 .RE 64230 .IP \[bu] 2 64231 Local 64232 .RS 2 64233 .IP \[bu] 2 64234 Fix sizes and syncing with --links option on Windows (Nick Craig-Wood) 64235 .RE 64236 .IP \[bu] 2 64237 Chunker 64238 .RS 2 64239 .IP \[bu] 2 64240 Disable ListR to fix missing files on GDrive (workaround) (Ivan Andreev) 64241 .IP \[bu] 2 64242 Fix upload over crypt (Ivan Andreev) 64243 .RE 64244 .IP \[bu] 2 64245 Fichier 64246 .RS 2 64247 .IP \[bu] 2 64248 Increase maximum file size from 100GB to 300GB (gyutw) 64249 .RE 64250 .IP \[bu] 2 64251 Jottacloud 64252 .RS 2 64253 .IP \[bu] 2 64254 Remove clientSecret from config when upgrading to token based 64255 authentication (buengese) 64256 .IP \[bu] 2 64257 Avoid double url escaping of device/mountpoint (albertony) 64258 .IP \[bu] 2 64259 Remove DirMove workaround as it\[aq]s not required anymore - also 64260 (buengese) 64261 .RE 64262 .IP \[bu] 2 64263 Mailru 64264 .RS 2 64265 .IP \[bu] 2 64266 Fix uploads after recent changes on server (Ivan Andreev) 64267 .IP \[bu] 2 64268 Fix range requests after june changes on server (Ivan Andreev) 64269 .IP \[bu] 2 64270 Fix invalid timestamp on corrupted files (fixes) (Ivan Andreev) 64271 .RE 64272 .IP \[bu] 2 64273 Onedrive 64274 .RS 2 64275 .IP \[bu] 2 64276 Fix disk usage for sharepoint (Nick Craig-Wood) 64277 .RE 64278 .IP \[bu] 2 64279 S3 64280 .RS 2 64281 .IP \[bu] 2 64282 Add missing regions for AWS (Anagh Kumar Baranwal) 64283 .RE 64284 .IP \[bu] 2 64285 Seafile 64286 .RS 2 64287 .IP \[bu] 2 64288 Fix accessing libraries > 2GB on 32 bit systems (Muffin King) 64289 .RE 64290 .IP \[bu] 2 64291 SFTP 64292 .RS 2 64293 .IP \[bu] 2 64294 Always convert the checksum to lower case (buengese) 64295 .RE 64296 .IP \[bu] 2 64297 Union 64298 .RS 2 64299 .IP \[bu] 2 64300 Create root directories if none exist (Nick Craig-Wood) 64301 .RE 64302 .SS v1.53.1 - 2020-09-13 64303 .PP 64304 See commits (https://github.com/divyam234/rclone/compare/v1.53.0...v1.53.1) 64305 .IP \[bu] 2 64306 Bug Fixes 64307 .RS 2 64308 .IP \[bu] 2 64309 accounting: Remove new line from end of --stats-one-line display (Nick 64310 Craig-Wood) 64311 .IP \[bu] 2 64312 check 64313 .RS 2 64314 .IP \[bu] 2 64315 Add back missing --download flag (Nick Craig-Wood) 64316 .IP \[bu] 2 64317 Fix docs (Nick Craig-Wood) 64318 .RE 64319 .IP \[bu] 2 64320 docs 64321 .RS 2 64322 .IP \[bu] 2 64323 Note --log-file does append (Nick Craig-Wood) 64324 .IP \[bu] 2 64325 Add full stops for consistency in rclone --help (edwardxml) 64326 .IP \[bu] 2 64327 Add Tencent COS to s3 provider list (wjielai) 64328 .IP \[bu] 2 64329 Updated mount command to reflect that it requires Go 1.13 or newer (Evan 64330 Harris) 64331 .IP \[bu] 2 64332 jottacloud: Mention that uploads from local disk will not need to cache 64333 files to disk for md5 calculation (albertony) 64334 .IP \[bu] 2 64335 Fix formatting of rc docs page (Nick Craig-Wood) 64336 .RE 64337 .IP \[bu] 2 64338 build 64339 .RS 2 64340 .IP \[bu] 2 64341 Include vendor tar ball in release and fix startdev (Nick Craig-Wood) 64342 .IP \[bu] 2 64343 Fix \[dq]Illegal instruction\[dq] error for ARMv6 builds (Nick 64344 Craig-Wood) 64345 .IP \[bu] 2 64346 Fix architecture name in ARMv7 build (Nick Craig-Wood) 64347 .RE 64348 .RE 64349 .IP \[bu] 2 64350 VFS 64351 .RS 2 64352 .IP \[bu] 2 64353 Fix spurious error \[dq]vfs cache: failed to _ensure cache EOF\[dq] 64354 (Nick Craig-Wood) 64355 .IP \[bu] 2 64356 Log an ERROR if we fail to set the file to be sparse (Nick Craig-Wood) 64357 .RE 64358 .IP \[bu] 2 64359 Local 64360 .RS 2 64361 .IP \[bu] 2 64362 Log an ERROR if we fail to set the file to be sparse (Nick Craig-Wood) 64363 .RE 64364 .IP \[bu] 2 64365 Drive 64366 .RS 2 64367 .IP \[bu] 2 64368 Re-adds special oauth help text (Tim Gallant) 64369 .RE 64370 .IP \[bu] 2 64371 Opendrive 64372 .RS 2 64373 .IP \[bu] 2 64374 Do not retry 400 errors (Evan Harris) 64375 .RE 64376 .SS v1.53.0 - 2020-09-02 64377 .PP 64378 See commits (https://github.com/divyam234/rclone/compare/v1.52.0...v1.53.0) 64379 .IP \[bu] 2 64380 New Features 64381 .RS 2 64382 .IP \[bu] 2 64383 The VFS 64384 layer (https://rclone.org/commands/rclone_mount/#vfs-virtual-file-system) 64385 was heavily reworked for this release - see below for more details 64386 .IP \[bu] 2 64387 Interactive mode -i/--interactive (https://rclone.org/docs/#interactive) 64388 for destructive operations (fishbullet) 64389 .IP \[bu] 2 64390 Add 64391 --bwlimit-file (https://rclone.org/docs/#bwlimit-file-bandwidth-spec) 64392 flag to limit speeds of individual file transfers (Nick Craig-Wood) 64393 .IP \[bu] 2 64394 Transfers are sorted by start time in the stats and progress output (Max 64395 Sum) 64396 .IP \[bu] 2 64397 Make sure backends expand \f[C]\[ti]\f[R] and environment vars in file 64398 names they use (Nick Craig-Wood) 64399 .IP \[bu] 2 64400 Add --refresh-times (https://rclone.org/docs/#refresh-times) flag to set 64401 modtimes on hashless backends (Nick Craig-Wood) 64402 .IP \[bu] 2 64403 build 64404 .RS 2 64405 .IP \[bu] 2 64406 Remove vendor directory in favour of Go modules (Nick Craig-Wood) 64407 .IP \[bu] 2 64408 Build with go1.15.x by default (Nick Craig-Wood) 64409 .IP \[bu] 2 64410 Drop macOS 386 build as it is no longer supported by go1.15 (Nick 64411 Craig-Wood) 64412 .IP \[bu] 2 64413 Add ARMv7 to the supported builds (Nick Craig-Wood) 64414 .IP \[bu] 2 64415 Enable \f[C]rclone cmount\f[R] on macOS (Nick Craig-Wood) 64416 .IP \[bu] 2 64417 Make rclone build with gccgo (Nick Craig-Wood) 64418 .IP \[bu] 2 64419 Make rclone build with wasm (Nick Craig-Wood) 64420 .IP \[bu] 2 64421 Change beta numbering to be semver compatible (Nick Craig-Wood) 64422 .IP \[bu] 2 64423 Add file properties and icon to Windows executable (albertony) 64424 .IP \[bu] 2 64425 Add experimental interface for integrating rclone into browsers (Nick 64426 Craig-Wood) 64427 .RE 64428 .IP \[bu] 2 64429 lib: Add file name compression (Klaus Post) 64430 .IP \[bu] 2 64431 rc 64432 .RS 2 64433 .IP \[bu] 2 64434 Allow installation and use of plugins and test plugins with rclone-webui 64435 (Chaitanya Bankanhal) 64436 .IP \[bu] 2 64437 Add reverse proxy pluginsHandler for serving plugins (Chaitanya 64438 Bankanhal) 64439 .IP \[bu] 2 64440 Add \f[C]mount/listmounts\f[R] option for listing current mounts 64441 (Chaitanya Bankanhal) 64442 .IP \[bu] 2 64443 Add \f[C]operations/uploadfile\f[R] to upload a file through rc using 64444 encoding multipart/form-data (Chaitanya Bankanhal) 64445 .IP \[bu] 2 64446 Add \f[C]core/command\f[R] to execute rclone terminal commands. 64447 (Chaitanya Bankanhal) 64448 .RE 64449 .IP \[bu] 2 64450 \f[C]rclone check\f[R] 64451 .RS 2 64452 .IP \[bu] 2 64453 Add reporting of filenames for same/missing/changed (Nick Craig-Wood) 64454 .IP \[bu] 2 64455 Make check command obey 64456 \f[C]--dry-run\f[R]/\f[C]-i\f[R]/\f[C]--interactive\f[R] (Nick 64457 Craig-Wood) 64458 .IP \[bu] 2 64459 Make check do \f[C]--checkers\f[R] files concurrently (Nick Craig-Wood) 64460 .IP \[bu] 2 64461 Retry downloads if they fail when using the \f[C]--download\f[R] flag 64462 (Nick Craig-Wood) 64463 .IP \[bu] 2 64464 Make it show stats by default (Nick Craig-Wood) 64465 .RE 64466 .IP \[bu] 2 64467 \f[C]rclone obscure\f[R]: Allow obscure command to accept password on 64468 STDIN (David Ibarra) 64469 .IP \[bu] 2 64470 \f[C]rclone config\f[R] 64471 .RS 2 64472 .IP \[bu] 2 64473 Set RCLONE_CONFIG_DIR for use in config files and subprocesses (Nick 64474 Craig-Wood) 64475 .IP \[bu] 2 64476 Reject remote names starting with a dash. 64477 (jtagcat) 64478 .RE 64479 .IP \[bu] 2 64480 \f[C]rclone cryptcheck\f[R]: Add reporting of filenames for 64481 same/missing/changed (Nick Craig-Wood) 64482 .IP \[bu] 2 64483 \f[C]rclone dedupe\f[R]: Make it obey the \f[C]--size-only\f[R] flag for 64484 duplicate detection (Nick Craig-Wood) 64485 .IP \[bu] 2 64486 \f[C]rclone link\f[R]: Add \f[C]--expire\f[R] and \f[C]--unlink\f[R] 64487 flags (Roman Kredentser) 64488 .IP \[bu] 2 64489 \f[C]rclone mkdir\f[R]: Warn when using mkdir on remotes which can\[aq]t 64490 have empty directories (Nick Craig-Wood) 64491 .IP \[bu] 2 64492 \f[C]rclone rc\f[R]: Allow JSON parameters to simplify command line 64493 usage (Nick Craig-Wood) 64494 .IP \[bu] 2 64495 \f[C]rclone serve ftp\f[R] 64496 .RS 2 64497 .IP \[bu] 2 64498 Don\[aq]t compile on < go1.13 after dependency update (Nick Craig-Wood) 64499 .IP \[bu] 2 64500 Add error message if auth proxy fails (Nick Craig-Wood) 64501 .IP \[bu] 2 64502 Use refactored goftp.io/server library for binary shrink (Nick 64503 Craig-Wood) 64504 .RE 64505 .IP \[bu] 2 64506 \f[C]rclone serve restic\f[R]: Expose interfaces so that rclone can be 64507 used as a library from within restic (Jack) 64508 .IP \[bu] 2 64509 \f[C]rclone sync\f[R]: Add \f[C]--track-renames-strategy leaf\f[R] (Nick 64510 Craig-Wood) 64511 .IP \[bu] 2 64512 \f[C]rclone touch\f[R]: Add ability to set nanosecond resolution times 64513 (Nick Craig-Wood) 64514 .IP \[bu] 2 64515 \f[C]rclone tree\f[R]: Remove \f[C]-i\f[R] shorthand for 64516 \f[C]--noindent\f[R] as it conflicts with 64517 \f[C]-i\f[R]/\f[C]--interactive\f[R] (Nick Craig-Wood) 64518 .RE 64519 .IP \[bu] 2 64520 Bug Fixes 64521 .RS 2 64522 .IP \[bu] 2 64523 accounting 64524 .RS 2 64525 .IP \[bu] 2 64526 Fix documentation for \f[C]speed\f[R]/\f[C]speedAvg\f[R] (Nick 64527 Craig-Wood) 64528 .IP \[bu] 2 64529 Fix elapsed time not show actual time since beginning (Chaitanya 64530 Bankanhal) 64531 .IP \[bu] 2 64532 Fix deadlock in stats printing (Nick Craig-Wood) 64533 .RE 64534 .IP \[bu] 2 64535 build 64536 .RS 2 64537 .IP \[bu] 2 64538 Fix file handle leak in GitHub release tool (Garrett Squire) 64539 .RE 64540 .IP \[bu] 2 64541 \f[C]rclone check\f[R]: Fix successful retries with \f[C]--download\f[R] 64542 counting errors (Nick Craig-Wood) 64543 .IP \[bu] 2 64544 \f[C]rclone dedupe\f[R]: Fix logging to be easier to understand (Nick 64545 Craig-Wood) 64546 .RE 64547 .IP \[bu] 2 64548 Mount 64549 .RS 2 64550 .IP \[bu] 2 64551 Warn macOS users that mount implementation is changing (Nick Craig-Wood) 64552 .RS 2 64553 .IP \[bu] 2 64554 to test the new implementation use \f[C]rclone cmount\f[R] instead of 64555 \f[C]rclone mount\f[R] 64556 .IP \[bu] 2 64557 this is because the library rclone uses has dropped macOS support 64558 .RE 64559 .IP \[bu] 2 64560 rc interface 64561 .RS 2 64562 .IP \[bu] 2 64563 Add call for unmount all (Chaitanya Bankanhal) 64564 .IP \[bu] 2 64565 Make \f[C]mount/mount\f[R] remote control take vfsOpt option (Nick 64566 Craig-Wood) 64567 .IP \[bu] 2 64568 Add mountOpt to \f[C]mount/mount\f[R] (Nick Craig-Wood) 64569 .IP \[bu] 2 64570 Add VFS and Mount options to \f[C]mount/listmounts\f[R] (Nick 64571 Craig-Wood) 64572 .RE 64573 .IP \[bu] 2 64574 Catch panics in cgofuse initialization and turn into error messages 64575 (Nick Craig-Wood) 64576 .IP \[bu] 2 64577 Always supply stat information in Readdir (Nick Craig-Wood) 64578 .IP \[bu] 2 64579 Add support for reading unknown length files using direct IO (Windows) 64580 (Nick Craig-Wood) 64581 .IP \[bu] 2 64582 Fix On Windows don\[aq]t add \f[C]-o uid/gid=-1\f[R] if user supplies 64583 \f[C]-o uid/gid\f[R]. 64584 (Nick Craig-Wood) 64585 .IP \[bu] 2 64586 Fix macOS losing directory contents in cmount (Nick Craig-Wood) 64587 .IP \[bu] 2 64588 Fix volume name broken in recent refactor (Nick Craig-Wood) 64589 .RE 64590 .IP \[bu] 2 64591 VFS 64592 .RS 2 64593 .IP \[bu] 2 64594 Implement partial reads for \f[C]--vfs-cache-mode full\f[R] (Nick 64595 Craig-Wood) 64596 .IP \[bu] 2 64597 Add \f[C]--vfs-writeback\f[R] option to delay writes back to cloud 64598 storage (Nick Craig-Wood) 64599 .IP \[bu] 2 64600 Add \f[C]--vfs-read-ahead\f[R] parameter for use with 64601 \f[C]--vfs-cache-mode full\f[R] (Nick Craig-Wood) 64602 .IP \[bu] 2 64603 Restart pending uploads on restart of the cache (Nick Craig-Wood) 64604 .IP \[bu] 2 64605 Support synchronous cache space recovery upon ENOSPC (Leo Luan) 64606 .IP \[bu] 2 64607 Allow ReadAt and WriteAt to run concurrently with themselves (Nick 64608 Craig-Wood) 64609 .IP \[bu] 2 64610 Change modtime of file before upload to current (Rob Calistri) 64611 .IP \[bu] 2 64612 Recommend \f[C]--vfs-cache-modes writes\f[R] on backends which can\[aq]t 64613 stream (Nick Craig-Wood) 64614 .IP \[bu] 2 64615 Add an optional \f[C]fs\f[R] parameter to vfs rc methods (Nick 64616 Craig-Wood) 64617 .IP \[bu] 2 64618 Fix errors when using > 260 char files in the cache in Windows (Nick 64619 Craig-Wood) 64620 .IP \[bu] 2 64621 Fix renaming of items while they are being uploaded (Nick Craig-Wood) 64622 .IP \[bu] 2 64623 Fix very high load caused by slow directory listings (Nick Craig-Wood) 64624 .IP \[bu] 2 64625 Fix renamed files not being uploaded with 64626 \f[C]--vfs-cache-mode minimal\f[R] (Nick Craig-Wood) 64627 .IP \[bu] 2 64628 Fix directory locking caused by slow directory listings (Nick 64629 Craig-Wood) 64630 .IP \[bu] 2 64631 Fix saving from chrome without \f[C]--vfs-cache-mode writes\f[R] (Nick 64632 Craig-Wood) 64633 .RE 64634 .IP \[bu] 2 64635 Local 64636 .RS 2 64637 .IP \[bu] 2 64638 Add \f[C]--local-no-updated\f[R] to provide a consistent view of 64639 changing objects (Nick Craig-Wood) 64640 .IP \[bu] 2 64641 Add \f[C]--local-no-set-modtime\f[R] option to prevent modtime changes 64642 (tyhuber1) 64643 .IP \[bu] 2 64644 Fix race conditions updating and reading Object metadata (Nick 64645 Craig-Wood) 64646 .RE 64647 .IP \[bu] 2 64648 Cache 64649 .RS 2 64650 .IP \[bu] 2 64651 Make any created backends be cached to fix rc problems (Nick Craig-Wood) 64652 .IP \[bu] 2 64653 Fix dedupe on caches wrapping drives (Nick Craig-Wood) 64654 .RE 64655 .IP \[bu] 2 64656 Crypt 64657 .RS 2 64658 .IP \[bu] 2 64659 Add \f[C]--crypt-server-side-across-configs\f[R] flag (Nick Craig-Wood) 64660 .IP \[bu] 2 64661 Make any created backends be cached to fix rc problems (Nick Craig-Wood) 64662 .RE 64663 .IP \[bu] 2 64664 Alias 64665 .RS 2 64666 .IP \[bu] 2 64667 Make any created backends be cached to fix rc problems (Nick Craig-Wood) 64668 .RE 64669 .IP \[bu] 2 64670 Azure Blob 64671 .RS 2 64672 .IP \[bu] 2 64673 Don\[aq]t compile on < go1.13 after dependency update (Nick Craig-Wood) 64674 .RE 64675 .IP \[bu] 2 64676 B2 64677 .RS 2 64678 .IP \[bu] 2 64679 Implement server-side copy for files > 5GB (Nick Craig-Wood) 64680 .IP \[bu] 2 64681 Cancel in progress multipart uploads and copies on rclone exit (Nick 64682 Craig-Wood) 64683 .IP \[bu] 2 64684 Note that b2\[aq]s encoding now allows \ but rclone\[aq]s hasn\[aq]t 64685 changed (Nick Craig-Wood) 64686 .IP \[bu] 2 64687 Fix transfers when using download_url (Nick Craig-Wood) 64688 .RE 64689 .IP \[bu] 2 64690 Box 64691 .RS 2 64692 .IP \[bu] 2 64693 Implement rclone cleanup (buengese) 64694 .IP \[bu] 2 64695 Cancel in progress multipart uploads and copies on rclone exit (Nick 64696 Craig-Wood) 64697 .IP \[bu] 2 64698 Allow authentication with access token (David) 64699 .RE 64700 .IP \[bu] 2 64701 Chunker 64702 .RS 2 64703 .IP \[bu] 2 64704 Make any created backends be cached to fix rc problems (Nick Craig-Wood) 64705 .RE 64706 .IP \[bu] 2 64707 Drive 64708 .RS 2 64709 .IP \[bu] 2 64710 Add \f[C]rclone backend drives\f[R] to list shared drives (teamdrives) 64711 (Nick Craig-Wood) 64712 .IP \[bu] 2 64713 Implement \f[C]rclone backend untrash\f[R] (Nick Craig-Wood) 64714 .IP \[bu] 2 64715 Work around drive bug which didn\[aq]t set modtime of copied docs (Nick 64716 Craig-Wood) 64717 .IP \[bu] 2 64718 Added \f[C]--drive-starred-only\f[R] to only show starred files (Jay 64719 McEntire) 64720 .IP \[bu] 2 64721 Deprecate \f[C]--drive-alternate-export\f[R] as it is no longer needed 64722 (themylogin) 64723 .IP \[bu] 2 64724 Fix duplication of Google docs on server-side copy (Nick Craig-Wood) 64725 .IP \[bu] 2 64726 Fix \[dq]panic: send on closed channel\[dq] when recycling dir entries 64727 (Nick Craig-Wood) 64728 .RE 64729 .IP \[bu] 2 64730 Dropbox 64731 .RS 2 64732 .IP \[bu] 2 64733 Add copyright detector info in limitations section in the docs (Alex 64734 Guerrero) 64735 .IP \[bu] 2 64736 Fix \f[C]rclone link\f[R] by removing expires parameter (Nick 64737 Craig-Wood) 64738 .RE 64739 .IP \[bu] 2 64740 Fichier 64741 .RS 2 64742 .IP \[bu] 2 64743 Detect Flood detected: IP Locked error and sleep for 30s (Nick 64744 Craig-Wood) 64745 .RE 64746 .IP \[bu] 2 64747 FTP 64748 .RS 2 64749 .IP \[bu] 2 64750 Add explicit TLS support (Heiko Bornholdt) 64751 .IP \[bu] 2 64752 Add support for \f[C]--dump bodies\f[R] and \f[C]--dump auth\f[R] for 64753 debugging (Nick Craig-Wood) 64754 .IP \[bu] 2 64755 Fix interoperation with pure-ftpd (Nick Craig-Wood) 64756 .RE 64757 .IP \[bu] 2 64758 Google Cloud Storage 64759 .RS 2 64760 .IP \[bu] 2 64761 Add support for anonymous access (Kai L\[:u]ke) 64762 .RE 64763 .IP \[bu] 2 64764 Jottacloud 64765 .RS 2 64766 .IP \[bu] 2 64767 Bring back legacy authentication for use with whitelabel versions 64768 (buengese) 64769 .IP \[bu] 2 64770 Switch to new api root - also implement a very ugly workaround for the 64771 DirMove failures (buengese) 64772 .RE 64773 .IP \[bu] 2 64774 Onedrive 64775 .RS 2 64776 .IP \[bu] 2 64777 Rework cancel of multipart uploads on rclone exit (Nick Craig-Wood) 64778 .IP \[bu] 2 64779 Implement rclone cleanup (Nick Craig-Wood) 64780 .IP \[bu] 2 64781 Add \f[C]--onedrive-no-versions\f[R] flag to remove old versions (Nick 64782 Craig-Wood) 64783 .RE 64784 .IP \[bu] 2 64785 Pcloud 64786 .RS 2 64787 .IP \[bu] 2 64788 Implement \f[C]rclone link\f[R] for public link creation (buengese) 64789 .RE 64790 .IP \[bu] 2 64791 Qingstor 64792 .RS 2 64793 .IP \[bu] 2 64794 Cancel in progress multipart uploads on rclone exit (Nick Craig-Wood) 64795 .RE 64796 .IP \[bu] 2 64797 S3 64798 .RS 2 64799 .IP \[bu] 2 64800 Preserve metadata when doing multipart copy (Nick Craig-Wood) 64801 .IP \[bu] 2 64802 Cancel in progress multipart uploads and copies on rclone exit (Nick 64803 Craig-Wood) 64804 .IP \[bu] 2 64805 Add \f[C]rclone link\f[R] for public link sharing (Roman Kredentser) 64806 .IP \[bu] 2 64807 Add \f[C]rclone backend restore\f[R] command to restore objects from 64808 GLACIER (Nick Craig-Wood) 64809 .IP \[bu] 2 64810 Add \f[C]rclone cleanup\f[R] and \f[C]rclone backend cleanup\f[R] to 64811 clean unfinished multipart uploads (Nick Craig-Wood) 64812 .IP \[bu] 2 64813 Add \f[C]rclone backend list-multipart-uploads\f[R] to list unfinished 64814 multipart uploads (Nick Craig-Wood) 64815 .IP \[bu] 2 64816 Add \f[C]--s3-max-upload-parts\f[R] support (Kamil Trzci\[u0144]ski) 64817 .IP \[bu] 2 64818 Add \f[C]--s3-no-check-bucket\f[R] for minimising rclone transactions 64819 and perms (Nick Craig-Wood) 64820 .IP \[bu] 2 64821 Add \f[C]--s3-profile\f[R] and \f[C]--s3-shared-credentials-file\f[R] 64822 options (Nick Craig-Wood) 64823 .IP \[bu] 2 64824 Use regional s3 us-east-1 endpoint (David) 64825 .IP \[bu] 2 64826 Add Scaleway provider (Vincent Feltz) 64827 .IP \[bu] 2 64828 Update IBM COS endpoints (Egor Margineanu) 64829 .IP \[bu] 2 64830 Reduce the default \f[C]--s3-copy-cutoff\f[R] to < 5GB for Backblaze S3 64831 compatibility (Nick Craig-Wood) 64832 .IP \[bu] 2 64833 Fix detection of bucket existing (Nick Craig-Wood) 64834 .RE 64835 .IP \[bu] 2 64836 SFTP 64837 .RS 2 64838 .IP \[bu] 2 64839 Use the absolute path instead of the relative path for listing for 64840 improved compatibility (Nick Craig-Wood) 64841 .IP \[bu] 2 64842 Add \f[C]--sftp-subsystem\f[R] and \f[C]--sftp-server-command\f[R] 64843 options (aus) 64844 .RE 64845 .IP \[bu] 2 64846 Swift 64847 .RS 2 64848 .IP \[bu] 2 64849 Fix dangling large objects breaking the listing (Nick Craig-Wood) 64850 .IP \[bu] 2 64851 Fix purge not deleting directory markers (Nick Craig-Wood) 64852 .IP \[bu] 2 64853 Fix update multipart object removing all of its own parts (Nick 64854 Craig-Wood) 64855 .IP \[bu] 2 64856 Fix missing hash from object returned from upload (Nick Craig-Wood) 64857 .RE 64858 .IP \[bu] 2 64859 Tardigrade 64860 .RS 2 64861 .IP \[bu] 2 64862 Upgrade to uplink v1.2.0 (Kaloyan Raev) 64863 .RE 64864 .IP \[bu] 2 64865 Union 64866 .RS 2 64867 .IP \[bu] 2 64868 Fix writing with the all policy (Nick Craig-Wood) 64869 .RE 64870 .IP \[bu] 2 64871 WebDAV 64872 .RS 2 64873 .IP \[bu] 2 64874 Fix directory creation with 4shared (Nick Craig-Wood) 64875 .RE 64876 .SS v1.52.3 - 2020-08-07 64877 .PP 64878 See commits (https://github.com/divyam234/rclone/compare/v1.52.2...v1.52.3) 64879 .IP \[bu] 2 64880 Bug Fixes 64881 .RS 2 64882 .IP \[bu] 2 64883 docs 64884 .RS 2 64885 .IP \[bu] 2 64886 Disable smart typography (e.g. 64887 en-dash) in MANUAL.* and man page (Nick Craig-Wood) 64888 .IP \[bu] 2 64889 Update install.md to reflect minimum Go version (Evan Harris) 64890 .IP \[bu] 2 64891 Update install from source instructions (Nick Craig-Wood) 64892 .IP \[bu] 2 64893 make_manual: Support SOURCE_DATE_EPOCH (Morten Linderud) 64894 .RE 64895 .IP \[bu] 2 64896 log: Fix --use-json-log going to stderr not --log-file on Windows (Nick 64897 Craig-Wood) 64898 .IP \[bu] 2 64899 serve dlna: Fix file list on Samsung Series 6+ TVs (Matteo Pietro Dazzi) 64900 .IP \[bu] 2 64901 sync: Fix deadlock with --track-renames-strategy modtime (Nick 64902 Craig-Wood) 64903 .RE 64904 .IP \[bu] 2 64905 Cache 64906 .RS 2 64907 .IP \[bu] 2 64908 Fix moveto/copyto remote:file remote:file2 (Nick Craig-Wood) 64909 .RE 64910 .IP \[bu] 2 64911 Drive 64912 .RS 2 64913 .IP \[bu] 2 64914 Stop using root_folder_id as a cache (Nick Craig-Wood) 64915 .IP \[bu] 2 64916 Make dangling shortcuts appear in listings (Nick Craig-Wood) 64917 .IP \[bu] 2 64918 Drop \[dq]Disabling ListR\[dq] messages down to debug (Nick Craig-Wood) 64919 .IP \[bu] 2 64920 Workaround and policy for Google Drive API (Dmitry Ustalov) 64921 .RE 64922 .IP \[bu] 2 64923 FTP 64924 .RS 2 64925 .IP \[bu] 2 64926 Add note to docs about home vs root directory selection (Nick 64927 Craig-Wood) 64928 .RE 64929 .IP \[bu] 2 64930 Onedrive 64931 .RS 2 64932 .IP \[bu] 2 64933 Fix reverting to Copy when Move would have worked (Nick Craig-Wood) 64934 .IP \[bu] 2 64935 Avoid comma rendered in URL in onedrive.md (Kevin) 64936 .RE 64937 .IP \[bu] 2 64938 Pcloud 64939 .RS 2 64940 .IP \[bu] 2 64941 Fix oauth on European region \[dq]eapi.pcloud.com\[dq] (Nick Craig-Wood) 64942 .RE 64943 .IP \[bu] 2 64944 S3 64945 .RS 2 64946 .IP \[bu] 2 64947 Fix bucket Region auto detection when Region unset in config (Nick 64948 Craig-Wood) 64949 .RE 64950 .SS v1.52.2 - 2020-06-24 64951 .PP 64952 See commits (https://github.com/divyam234/rclone/compare/v1.52.1...v1.52.2) 64953 .IP \[bu] 2 64954 Bug Fixes 64955 .RS 2 64956 .IP \[bu] 2 64957 build 64958 .RS 2 64959 .IP \[bu] 2 64960 Fix docker release build action (Nick Craig-Wood) 64961 .IP \[bu] 2 64962 Fix custom timezone in Docker image (NoLooseEnds) 64963 .RE 64964 .IP \[bu] 2 64965 check: Fix misleading message which printed errors instead of 64966 differences (Nick Craig-Wood) 64967 .IP \[bu] 2 64968 errors: Add WSAECONNREFUSED and more to the list of retriable Windows 64969 errors (Nick Craig-Wood) 64970 .IP \[bu] 2 64971 rcd: Fix incorrect prometheus metrics (Gary Kim) 64972 .IP \[bu] 2 64973 serve restic: Fix flags so they use environment variables (Nick 64974 Craig-Wood) 64975 .IP \[bu] 2 64976 serve webdav: Fix flags so they use environment variables (Nick 64977 Craig-Wood) 64978 .IP \[bu] 2 64979 sync: Fix --track-renames-strategy modtime (Nick Craig-Wood) 64980 .RE 64981 .IP \[bu] 2 64982 Drive 64983 .RS 2 64984 .IP \[bu] 2 64985 Fix not being able to delete a directory with a trashed shortcut (Nick 64986 Craig-Wood) 64987 .IP \[bu] 2 64988 Fix creating a directory inside a shortcut (Nick Craig-Wood) 64989 .IP \[bu] 2 64990 Fix --drive-impersonate with cached root_folder_id (Nick Craig-Wood) 64991 .RE 64992 .IP \[bu] 2 64993 SFTP 64994 .RS 2 64995 .IP \[bu] 2 64996 Fix SSH key PEM loading (Zac Rubin) 64997 .RE 64998 .IP \[bu] 2 64999 Swift 65000 .RS 2 65001 .IP \[bu] 2 65002 Speed up deletes by not retrying segment container deletes (Nick 65003 Craig-Wood) 65004 .RE 65005 .IP \[bu] 2 65006 Tardigrade 65007 .RS 2 65008 .IP \[bu] 2 65009 Upgrade to uplink v1.1.1 (Caleb Case) 65010 .RE 65011 .IP \[bu] 2 65012 WebDAV 65013 .RS 2 65014 .IP \[bu] 2 65015 Fix free/used display for rclone about/df for certain backends (Nick 65016 Craig-Wood) 65017 .RE 65018 .SS v1.52.1 - 2020-06-10 65019 .PP 65020 See commits (https://github.com/divyam234/rclone/compare/v1.52.0...v1.52.1) 65021 .IP \[bu] 2 65022 Bug Fixes 65023 .RS 2 65024 .IP \[bu] 2 65025 lib/file: Fix SetSparse on Windows 7 which fixes downloads of files > 65026 250MB (Nick Craig-Wood) 65027 .IP \[bu] 2 65028 build 65029 .RS 2 65030 .IP \[bu] 2 65031 Update go.mod to go1.14 to enable -mod=vendor build (Nick Craig-Wood) 65032 .IP \[bu] 2 65033 Remove quicktest from Dockerfile (Nick Craig-Wood) 65034 .IP \[bu] 2 65035 Build Docker images with GitHub actions (Matteo Pietro Dazzi) 65036 .IP \[bu] 2 65037 Update Docker build workflows (Nick Craig-Wood) 65038 .IP \[bu] 2 65039 Set user_allow_other in /etc/fuse.conf in the Docker image (Nick 65040 Craig-Wood) 65041 .IP \[bu] 2 65042 Fix xgo build after go1.14 go.mod update (Nick Craig-Wood) 65043 .RE 65044 .IP \[bu] 2 65045 docs 65046 .RS 2 65047 .IP \[bu] 2 65048 Add link to source and modified time to footer of every page (Nick 65049 Craig-Wood) 65050 .IP \[bu] 2 65051 Remove manually set dates and use git dates instead (Nick Craig-Wood) 65052 .IP \[bu] 2 65053 Minor tense, punctuation, brevity and positivity changes for the home 65054 page (edwardxml) 65055 .IP \[bu] 2 65056 Remove leading slash in page reference in footer when present (Nick 65057 Craig-Wood) 65058 .IP \[bu] 2 65059 Note commands which need obscured input in the docs (Nick Craig-Wood) 65060 .IP \[bu] 2 65061 obscure: Write more help as we are referencing it elsewhere (Nick 65062 Craig-Wood) 65063 .RE 65064 .RE 65065 .IP \[bu] 2 65066 VFS 65067 .RS 2 65068 .IP \[bu] 2 65069 Fix OS vs Unix path confusion - fixes ChangeNotify on Windows (Nick 65070 Craig-Wood) 65071 .RE 65072 .IP \[bu] 2 65073 Drive 65074 .RS 2 65075 .IP \[bu] 2 65076 Fix missing items when listing using --fast-list / ListR (Nick 65077 Craig-Wood) 65078 .RE 65079 .IP \[bu] 2 65080 Putio 65081 .RS 2 65082 .IP \[bu] 2 65083 Fix panic on Object.Open (Cenk Alti) 65084 .RE 65085 .IP \[bu] 2 65086 S3 65087 .RS 2 65088 .IP \[bu] 2 65089 Fix upload of single files into buckets without create permission (Nick 65090 Craig-Wood) 65091 .IP \[bu] 2 65092 Fix --header-upload (Nick Craig-Wood) 65093 .RE 65094 .IP \[bu] 2 65095 Tardigrade 65096 .RS 2 65097 .IP \[bu] 2 65098 Fix listing bug by upgrading to v1.0.7 65099 .IP \[bu] 2 65100 Set UserAgent to rclone (Caleb Case) 65101 .RE 65102 .SS v1.52.0 - 2020-05-27 65103 .PP 65104 Special thanks to Martin Michlmayr for proof reading and correcting all 65105 the docs and Edward Barker for helping re-write the front page. 65106 .PP 65107 See commits (https://github.com/divyam234/rclone/compare/v1.51.0...v1.52.0) 65108 .IP \[bu] 2 65109 New backends 65110 .RS 2 65111 .IP \[bu] 2 65112 Tardigrade (https://rclone.org/tardigrade/) backend for use with 65113 storj.io (Caleb Case) 65114 .IP \[bu] 2 65115 Union (https://rclone.org/union/) re-write to have multiple writable 65116 remotes (Max Sum) 65117 .IP \[bu] 2 65118 Seafile for Seafile server (Fred \[at]creativeprojects) 65119 .RE 65120 .IP \[bu] 2 65121 New commands 65122 .RS 2 65123 .IP \[bu] 2 65124 backend: command for backend-specific commands (see backends) (Nick 65125 Craig-Wood) 65126 .IP \[bu] 2 65127 cachestats: Deprecate in favour of \f[C]rclone backend stats cache:\f[R] 65128 (Nick Craig-Wood) 65129 .IP \[bu] 2 65130 dbhashsum: Deprecate in favour of \f[C]rclone hashsum DropboxHash\f[R] 65131 (Nick Craig-Wood) 65132 .RE 65133 .IP \[bu] 2 65134 New Features 65135 .RS 2 65136 .IP \[bu] 2 65137 Add \f[C]--header-download\f[R] and \f[C]--header-upload\f[R] flags for 65138 setting HTTP headers when uploading/downloading (Tim Gallant) 65139 .IP \[bu] 2 65140 Add \f[C]--header\f[R] flag to add HTTP headers to every HTTP 65141 transaction (Nick Craig-Wood) 65142 .IP \[bu] 2 65143 Add \f[C]--check-first\f[R] to do all checking before starting transfers 65144 (Nick Craig-Wood) 65145 .IP \[bu] 2 65146 Add \f[C]--track-renames-strategy\f[R] for configurable matching 65147 criteria for \f[C]--track-renames\f[R] (Bernd Schoolmann) 65148 .IP \[bu] 2 65149 Add \f[C]--cutoff-mode\f[R] hard,soft,cautious (Shing Kit Chan & 65150 Franklyn Tackitt) 65151 .IP \[bu] 2 65152 Filter flags (e.g. 65153 \f[C]--files-from -\f[R]) can read from stdin (fishbullet) 65154 .IP \[bu] 2 65155 Add \f[C]--error-on-no-transfer\f[R] option (Jon Fautley) 65156 .IP \[bu] 2 65157 Implement \f[C]--order-by xxx,mixed\f[R] for copying some small and some 65158 big files (Nick Craig-Wood) 65159 .IP \[bu] 2 65160 Allow \f[C]--max-backlog\f[R] to be negative meaning as large as 65161 possible (Nick Craig-Wood) 65162 .IP \[bu] 2 65163 Added \f[C]--no-unicode-normalization\f[R] flag to allow Unicode 65164 filenames to remain unique (Ben Zenker) 65165 .IP \[bu] 2 65166 Allow \f[C]--min-age\f[R]/\f[C]--max-age\f[R] to take a date as well as 65167 a duration (Nick Craig-Wood) 65168 .IP \[bu] 2 65169 Add rename statistics for file and directory renames (Nick Craig-Wood) 65170 .IP \[bu] 2 65171 Add statistics output to JSON log (reddi) 65172 .IP \[bu] 2 65173 Make stats be printed on non-zero exit code (Nick Craig-Wood) 65174 .IP \[bu] 2 65175 When running \f[C]--password-command\f[R] allow use of stdin 65176 (S\['e]bastien Gross) 65177 .IP \[bu] 2 65178 Stop empty strings being a valid remote path (Nick Craig-Wood) 65179 .IP \[bu] 2 65180 accounting: support WriterTo for less memory copying (Nick Craig-Wood) 65181 .IP \[bu] 2 65182 build 65183 .RS 2 65184 .IP \[bu] 2 65185 Update to use go1.14 for the build (Nick Craig-Wood) 65186 .IP \[bu] 2 65187 Add \f[C]-trimpath\f[R] to release build for reproduceable builds (Nick 65188 Craig-Wood) 65189 .IP \[bu] 2 65190 Remove GOOS and GOARCH from Dockerfile (Brandon Philips) 65191 .RE 65192 .IP \[bu] 2 65193 config 65194 .RS 2 65195 .IP \[bu] 2 65196 Fsync the config file after writing to save more reliably (Nick 65197 Craig-Wood) 65198 .IP \[bu] 2 65199 Add \f[C]--obscure\f[R] and \f[C]--no-obscure\f[R] flags to 65200 \f[C]config create\f[R]/\f[C]update\f[R] (Nick Craig-Wood) 65201 .IP \[bu] 2 65202 Make \f[C]config show\f[R] take \f[C]remote:\f[R] as well as 65203 \f[C]remote\f[R] (Nick Craig-Wood) 65204 .RE 65205 .IP \[bu] 2 65206 copyurl: Add \f[C]--no-clobber\f[R] flag (Denis) 65207 .IP \[bu] 2 65208 delete: Added \f[C]--rmdirs\f[R] flag to delete directories as well 65209 (Kush) 65210 .IP \[bu] 2 65211 filter: Added \f[C]--files-from-raw\f[R] flag (Ankur Gupta) 65212 .IP \[bu] 2 65213 genautocomplete: Add support for fish shell (Matan Rosenberg) 65214 .IP \[bu] 2 65215 log: Add support for syslog LOCAL facilities (Patryk Jakuszew) 65216 .IP \[bu] 2 65217 lsjson: Add \f[C]--hash-type\f[R] parameter and use it in lsf to speed 65218 up hashing (Nick Craig-Wood) 65219 .IP \[bu] 2 65220 rc 65221 .RS 2 65222 .IP \[bu] 2 65223 Add \f[C]-o\f[R]/\f[C]--opt\f[R] and \f[C]-a\f[R]/\f[C]--arg\f[R] for 65224 more structured input (Nick Craig-Wood) 65225 .IP \[bu] 2 65226 Implement \f[C]backend/command\f[R] for running backend-specific 65227 commands remotely (Nick Craig-Wood) 65228 .IP \[bu] 2 65229 Add \f[C]mount/mount\f[R] command for starting \f[C]rclone mount\f[R] 65230 via the API (Chaitanya) 65231 .RE 65232 .IP \[bu] 2 65233 rcd: Add Prometheus metrics support (Gary Kim) 65234 .IP \[bu] 2 65235 serve http 65236 .RS 2 65237 .IP \[bu] 2 65238 Added a \f[C]--template\f[R] flag for user defined markup (calistri) 65239 .IP \[bu] 2 65240 Add Last-Modified headers to files and directories (Nick Craig-Wood) 65241 .RE 65242 .IP \[bu] 2 65243 serve sftp: Add support for multiple host keys by repeating 65244 \f[C]--key\f[R] flag (Maxime Suret) 65245 .IP \[bu] 2 65246 touch: Add \f[C]--localtime\f[R] flag to make \f[C]--timestamp\f[R] 65247 localtime not UTC (Nick Craig-Wood) 65248 .RE 65249 .IP \[bu] 2 65250 Bug Fixes 65251 .RS 2 65252 .IP \[bu] 2 65253 accounting 65254 .RS 2 65255 .IP \[bu] 2 65256 Restore \[dq]Max number of stats groups reached\[dq] log line 65257 (Micha\[/l] Matczuk) 65258 .IP \[bu] 2 65259 Correct exitcode on Transfer Limit Exceeded flag. 65260 (Anuar Serdaliyev) 65261 .IP \[bu] 2 65262 Reset bytes read during copy retry (Ankur Gupta) 65263 .IP \[bu] 2 65264 Fix race clearing stats (Nick Craig-Wood) 65265 .RE 65266 .IP \[bu] 2 65267 copy: Only create empty directories when they don\[aq]t exist on the 65268 remote (Ishuah Kariuki) 65269 .IP \[bu] 2 65270 dedupe: Stop dedupe deleting files with identical IDs (Nick Craig-Wood) 65271 .IP \[bu] 2 65272 oauth 65273 .RS 2 65274 .IP \[bu] 2 65275 Use custom http client so that \f[C]--no-check-certificate\f[R] is 65276 honored by oauth token fetch (Mark Spieth) 65277 .IP \[bu] 2 65278 Replace deprecated oauth2.NoContext (Lars Lehtonen) 65279 .RE 65280 .IP \[bu] 2 65281 operations 65282 .RS 2 65283 .IP \[bu] 2 65284 Fix setting the timestamp on Windows for multithread copy (Nick 65285 Craig-Wood) 65286 .IP \[bu] 2 65287 Make rcat obey \f[C]--ignore-checksum\f[R] (Nick Craig-Wood) 65288 .IP \[bu] 2 65289 Make \f[C]--max-transfer\f[R] more accurate (Nick Craig-Wood) 65290 .RE 65291 .IP \[bu] 2 65292 rc 65293 .RS 2 65294 .IP \[bu] 2 65295 Fix dropped error (Lars Lehtonen) 65296 .IP \[bu] 2 65297 Fix misplaced http server config (Xiaoxing Ye) 65298 .IP \[bu] 2 65299 Disable duplicate log (ElonH) 65300 .RE 65301 .IP \[bu] 2 65302 serve dlna 65303 .RS 2 65304 .IP \[bu] 2 65305 Cds: don\[aq]t specify childCount at all when unknown (Dan Walters) 65306 .IP \[bu] 2 65307 Cds: use modification time as date in dlna metadata (Dan Walters) 65308 .RE 65309 .IP \[bu] 2 65310 serve restic: Fix tests after restic project removed vendoring (Nick 65311 Craig-Wood) 65312 .IP \[bu] 2 65313 sync 65314 .RS 2 65315 .IP \[bu] 2 65316 Fix incorrect \[dq]nothing to transfer\[dq] message using 65317 \f[C]--delete-before\f[R] (Nick Craig-Wood) 65318 .IP \[bu] 2 65319 Only create empty directories when they don\[aq]t exist on the remote 65320 (Ishuah Kariuki) 65321 .RE 65322 .RE 65323 .IP \[bu] 2 65324 Mount 65325 .RS 2 65326 .IP \[bu] 2 65327 Add \f[C]--async-read\f[R] flag to disable asynchronous reads (Nick 65328 Craig-Wood) 65329 .IP \[bu] 2 65330 Ignore \f[C]--allow-root\f[R] flag with a warning as it has been removed 65331 upstream (Nick Craig-Wood) 65332 .IP \[bu] 2 65333 Warn if \f[C]--allow-non-empty\f[R] used on Windows and clarify docs 65334 (Nick Craig-Wood) 65335 .IP \[bu] 2 65336 Constrain to go1.13 or above otherwise bazil.org/fuse fails to compile 65337 (Nick Craig-Wood) 65338 .IP \[bu] 2 65339 Fix fail because of too long volume name (evileye) 65340 .IP \[bu] 2 65341 Report 1PB free for unknown disk sizes (Nick Craig-Wood) 65342 .IP \[bu] 2 65343 Map more rclone errors into file systems errors (Nick Craig-Wood) 65344 .IP \[bu] 2 65345 Fix disappearing cwd problem (Nick Craig-Wood) 65346 .IP \[bu] 2 65347 Use ReaddirPlus on Windows to improve directory listing performance 65348 (Nick Craig-Wood) 65349 .IP \[bu] 2 65350 Send a hint as to whether the filesystem is case insensitive or not 65351 (Nick Craig-Wood) 65352 .IP \[bu] 2 65353 Add rc command \f[C]mount/types\f[R] (Nick Craig-Wood) 65354 .IP \[bu] 2 65355 Change maximum leaf name length to 1024 bytes (Nick Craig-Wood) 65356 .RE 65357 .IP \[bu] 2 65358 VFS 65359 .RS 2 65360 .IP \[bu] 2 65361 Add \f[C]--vfs-read-wait\f[R] and \f[C]--vfs-write-wait\f[R] flags to 65362 control time waiting for a sequential read/write (Nick Craig-Wood) 65363 .IP \[bu] 2 65364 Change default \f[C]--vfs-read-wait\f[R] to 20ms (it was 5ms and not 65365 configurable) (Nick Craig-Wood) 65366 .IP \[bu] 2 65367 Make \f[C]df\f[R] output more consistent on a rclone mount. 65368 (Yves G) 65369 .IP \[bu] 2 65370 Report 1PB free for unknown disk sizes (Nick Craig-Wood) 65371 .IP \[bu] 2 65372 Fix race condition caused by unlocked reading of Dir.path (Nick 65373 Craig-Wood) 65374 .IP \[bu] 2 65375 Make File lock and Dir lock not overlap to avoid deadlock (Nick 65376 Craig-Wood) 65377 .IP \[bu] 2 65378 Implement lock ordering between File and Dir to eliminate deadlocks 65379 (Nick Craig-Wood) 65380 .IP \[bu] 2 65381 Factor the vfs cache into its own package (Nick Craig-Wood) 65382 .IP \[bu] 2 65383 Pin the Fs in use in the Fs cache (Nick Craig-Wood) 65384 .IP \[bu] 2 65385 Add SetSys() methods to Node to allow caching stuff on a node (Nick 65386 Craig-Wood) 65387 .IP \[bu] 2 65388 Ignore file not found errors from Hash in Read.Release (Nick Craig-Wood) 65389 .IP \[bu] 2 65390 Fix hang in read wait code (Nick Craig-Wood) 65391 .RE 65392 .IP \[bu] 2 65393 Local 65394 .RS 2 65395 .IP \[bu] 2 65396 Speed up multi thread downloads by using sparse files on Windows (Nick 65397 Craig-Wood) 65398 .IP \[bu] 2 65399 Implement \f[C]--local-no-sparse\f[R] flag for disabling sparse files 65400 (Nick Craig-Wood) 65401 .IP \[bu] 2 65402 Implement \f[C]rclone backend noop\f[R] for testing purposes (Nick 65403 Craig-Wood) 65404 .IP \[bu] 2 65405 Fix \[dq]file not found\[dq] errors on post transfer Hash calculation 65406 (Nick Craig-Wood) 65407 .RE 65408 .IP \[bu] 2 65409 Cache 65410 .RS 2 65411 .IP \[bu] 2 65412 Implement \f[C]rclone backend stats\f[R] command (Nick Craig-Wood) 65413 .IP \[bu] 2 65414 Fix Server Side Copy with Temp Upload (Brandon McNama) 65415 .IP \[bu] 2 65416 Remove Unused Functions (Lars Lehtonen) 65417 .IP \[bu] 2 65418 Disable race tests until bbolt is fixed (Nick Craig-Wood) 65419 .IP \[bu] 2 65420 Move methods used for testing into test file (greatroar) 65421 .IP \[bu] 2 65422 Add Pin and Unpin and canonicalised lookup (Nick Craig-Wood) 65423 .IP \[bu] 2 65424 Use proper import path go.etcd.io/bbolt (Robert-Andr\['e] Mauchin) 65425 .RE 65426 .IP \[bu] 2 65427 Crypt 65428 .RS 2 65429 .IP \[bu] 2 65430 Calculate hashes for uploads from local disk (Nick Craig-Wood) 65431 .RS 2 65432 .IP \[bu] 2 65433 This allows encrypted Jottacloud uploads without using local disk 65434 .IP \[bu] 2 65435 This means encrypted s3/b2 uploads will now have hashes 65436 .RE 65437 .IP \[bu] 2 65438 Added \f[C]rclone backend decode\f[R]/\f[C]encode\f[R] commands to 65439 replicate functionality of \f[C]cryptdecode\f[R] (Anagh Kumar Baranwal) 65440 .IP \[bu] 2 65441 Get rid of the unused Cipher interface as it obfuscated the code (Nick 65442 Craig-Wood) 65443 .RE 65444 .IP \[bu] 2 65445 Azure Blob 65446 .RS 2 65447 .IP \[bu] 2 65448 Implement streaming of unknown sized files so \f[C]rcat\f[R] is now 65449 supported (Nick Craig-Wood) 65450 .IP \[bu] 2 65451 Implement memory pooling to control memory use (Nick Craig-Wood) 65452 .IP \[bu] 2 65453 Add \f[C]--azureblob-disable-checksum\f[R] flag (Nick Craig-Wood) 65454 .IP \[bu] 2 65455 Retry \f[C]InvalidBlobOrBlock\f[R] error as it may indicate block 65456 concurrency problems (Nick Craig-Wood) 65457 .IP \[bu] 2 65458 Remove unused \f[C]Object.parseTimeString()\f[R] (Lars Lehtonen) 65459 .IP \[bu] 2 65460 Fix permission error on SAS URL limited to container (Nick Craig-Wood) 65461 .RE 65462 .IP \[bu] 2 65463 B2 65464 .RS 2 65465 .IP \[bu] 2 65466 Add support for \f[C]--header-upload\f[R] and 65467 \f[C]--header-download\f[R] (Tim Gallant) 65468 .IP \[bu] 2 65469 Ignore directory markers at the root also (Nick Craig-Wood) 65470 .IP \[bu] 2 65471 Force the case of the SHA1 to lowercase (Nick Craig-Wood) 65472 .IP \[bu] 2 65473 Remove unused \f[C]largeUpload.clearUploadURL()\f[R] (Lars Lehtonen) 65474 .RE 65475 .IP \[bu] 2 65476 Box 65477 .RS 2 65478 .IP \[bu] 2 65479 Add support for \f[C]--header-upload\f[R] and 65480 \f[C]--header-download\f[R] (Tim Gallant) 65481 .IP \[bu] 2 65482 Implement About to read size used (Nick Craig-Wood) 65483 .IP \[bu] 2 65484 Add token renew function for jwt auth (David Bramwell) 65485 .IP \[bu] 2 65486 Added support for interchangeable root folder for Box backend (Sunil 65487 Patra) 65488 .IP \[bu] 2 65489 Remove unnecessary iat from jws claims (David) 65490 .RE 65491 .IP \[bu] 2 65492 Drive 65493 .RS 2 65494 .IP \[bu] 2 65495 Follow shortcuts by default, skip with \f[C]--drive-skip-shortcuts\f[R] 65496 (Nick Craig-Wood) 65497 .IP \[bu] 2 65498 Implement \f[C]rclone backend shortcut\f[R] command for creating 65499 shortcuts (Nick Craig-Wood) 65500 .IP \[bu] 2 65501 Added \f[C]rclone backend\f[R] command to change 65502 \f[C]service_account_file\f[R] and \f[C]chunk_size\f[R] (Anagh Kumar 65503 Baranwal) 65504 .IP \[bu] 2 65505 Fix missing files when using \f[C]--fast-list\f[R] and 65506 \f[C]--drive-shared-with-me\f[R] (Nick Craig-Wood) 65507 .IP \[bu] 2 65508 Fix duplicate items when using \f[C]--drive-shared-with-me\f[R] (Nick 65509 Craig-Wood) 65510 .IP \[bu] 2 65511 Extend \f[C]--drive-stop-on-upload-limit\f[R] to respond to 65512 \f[C]teamDriveFileLimitExceeded\f[R]. 65513 (harry) 65514 .IP \[bu] 2 65515 Don\[aq]t delete files with multiple parents to avoid data loss (Nick 65516 Craig-Wood) 65517 .IP \[bu] 2 65518 Server side copy docs use default description if empty (Nick Craig-Wood) 65519 .RE 65520 .IP \[bu] 2 65521 Dropbox 65522 .RS 2 65523 .IP \[bu] 2 65524 Make error insufficient space to be fatal (harry) 65525 .IP \[bu] 2 65526 Add info about required redirect url (Elan Ruusam\[:a]e) 65527 .RE 65528 .IP \[bu] 2 65529 Fichier 65530 .RS 2 65531 .IP \[bu] 2 65532 Add support for \f[C]--header-upload\f[R] and 65533 \f[C]--header-download\f[R] (Tim Gallant) 65534 .IP \[bu] 2 65535 Implement custom pacer to deal with the new rate limiting (buengese) 65536 .RE 65537 .IP \[bu] 2 65538 FTP 65539 .RS 2 65540 .IP \[bu] 2 65541 Fix lockup when using concurrency limit on failed connections (Nick 65542 Craig-Wood) 65543 .IP \[bu] 2 65544 Fix lockup on failed upload when using concurrency limit (Nick 65545 Craig-Wood) 65546 .IP \[bu] 2 65547 Fix lockup on Close failures when using concurrency limit (Nick 65548 Craig-Wood) 65549 .IP \[bu] 2 65550 Work around pureftp sending spurious 150 messages (Nick Craig-Wood) 65551 .RE 65552 .IP \[bu] 2 65553 Google Cloud Storage 65554 .RS 2 65555 .IP \[bu] 2 65556 Add support for \f[C]--header-upload\f[R] and 65557 \f[C]--header-download\f[R] (Nick Craig-Wood) 65558 .IP \[bu] 2 65559 Add \f[C]ARCHIVE\f[R] storage class to help (Adam Stroud) 65560 .IP \[bu] 2 65561 Ignore directory markers at the root (Nick Craig-Wood) 65562 .RE 65563 .IP \[bu] 2 65564 Googlephotos 65565 .RS 2 65566 .IP \[bu] 2 65567 Make the start year configurable (Daven) 65568 .IP \[bu] 2 65569 Add support for \f[C]--header-upload\f[R] and 65570 \f[C]--header-download\f[R] (Tim Gallant) 65571 .IP \[bu] 2 65572 Create feature/favorites directory (Brandon Philips) 65573 .IP \[bu] 2 65574 Fix \[dq]concurrent map write\[dq] error (Nick Craig-Wood) 65575 .IP \[bu] 2 65576 Don\[aq]t put an image in error message (Nick Craig-Wood) 65577 .RE 65578 .IP \[bu] 2 65579 HTTP 65580 .RS 2 65581 .IP \[bu] 2 65582 Improved directory listing with new template from Caddy project 65583 (calisro) 65584 .RE 65585 .IP \[bu] 2 65586 Jottacloud 65587 .RS 2 65588 .IP \[bu] 2 65589 Implement \f[C]--jottacloud-trashed-only\f[R] (buengese) 65590 .IP \[bu] 2 65591 Add support for \f[C]--header-upload\f[R] and 65592 \f[C]--header-download\f[R] (Tim Gallant) 65593 .IP \[bu] 2 65594 Use \f[C]RawURLEncoding\f[R] when decoding base64 encoded login token 65595 (buengese) 65596 .IP \[bu] 2 65597 Implement cleanup (buengese) 65598 .IP \[bu] 2 65599 Update docs regarding cleanup, removed remains from old auth, and added 65600 warning about special mountpoints. 65601 (albertony) 65602 .RE 65603 .IP \[bu] 2 65604 Mailru 65605 .RS 2 65606 .IP \[bu] 2 65607 Describe 2FA requirements (valery1707) 65608 .RE 65609 .IP \[bu] 2 65610 Onedrive 65611 .RS 2 65612 .IP \[bu] 2 65613 Implement \f[C]--onedrive-server-side-across-configs\f[R] (Nick 65614 Craig-Wood) 65615 .IP \[bu] 2 65616 Add support for \f[C]--header-upload\f[R] and 65617 \f[C]--header-download\f[R] (Tim Gallant) 65618 .IP \[bu] 2 65619 Fix occasional 416 errors on multipart uploads (Nick Craig-Wood) 65620 .IP \[bu] 2 65621 Added maximum chunk size limit warning in the docs (Harry) 65622 .IP \[bu] 2 65623 Fix missing drive on config (Nick Craig-Wood) 65624 .IP \[bu] 2 65625 Make error \f[C]quotaLimitReached\f[R] to be fatal (harry) 65626 .RE 65627 .IP \[bu] 2 65628 Opendrive 65629 .RS 2 65630 .IP \[bu] 2 65631 Add support for \f[C]--header-upload\f[R] and 65632 \f[C]--header-download\f[R] (Tim Gallant) 65633 .RE 65634 .IP \[bu] 2 65635 Pcloud 65636 .RS 2 65637 .IP \[bu] 2 65638 Added support for interchangeable root folder for pCloud backend (Sunil 65639 Patra) 65640 .IP \[bu] 2 65641 Add support for \f[C]--header-upload\f[R] and 65642 \f[C]--header-download\f[R] (Tim Gallant) 65643 .IP \[bu] 2 65644 Fix initial config \[dq]Auth state doesn\[aq]t match\[dq] message (Nick 65645 Craig-Wood) 65646 .RE 65647 .IP \[bu] 2 65648 Premiumizeme 65649 .RS 2 65650 .IP \[bu] 2 65651 Add support for \f[C]--header-upload\f[R] and 65652 \f[C]--header-download\f[R] (Tim Gallant) 65653 .IP \[bu] 2 65654 Prune unused functions (Lars Lehtonen) 65655 .RE 65656 .IP \[bu] 2 65657 Putio 65658 .RS 2 65659 .IP \[bu] 2 65660 Add support for \f[C]--header-upload\f[R] and 65661 \f[C]--header-download\f[R] (Nick Craig-Wood) 65662 .IP \[bu] 2 65663 Make downloading files use the rclone http Client (Nick Craig-Wood) 65664 .IP \[bu] 2 65665 Fix parsing of remotes with leading and trailing / (Nick Craig-Wood) 65666 .RE 65667 .IP \[bu] 2 65668 Qingstor 65669 .RS 2 65670 .IP \[bu] 2 65671 Make \f[C]rclone cleanup\f[R] remove pending multipart uploads older 65672 than 24h (Nick Craig-Wood) 65673 .IP \[bu] 2 65674 Try harder to cancel failed multipart uploads (Nick Craig-Wood) 65675 .IP \[bu] 2 65676 Prune \f[C]multiUploader.list()\f[R] (Lars Lehtonen) 65677 .IP \[bu] 2 65678 Lint fix (Lars Lehtonen) 65679 .RE 65680 .IP \[bu] 2 65681 S3 65682 .RS 2 65683 .IP \[bu] 2 65684 Add support for \f[C]--header-upload\f[R] and 65685 \f[C]--header-download\f[R] (Tim Gallant) 65686 .IP \[bu] 2 65687 Use memory pool for buffer allocations (Maciej Zimnoch) 65688 .IP \[bu] 2 65689 Add SSE-C support for AWS, Ceph, and MinIO (Jack Anderson) 65690 .IP \[bu] 2 65691 Fail fast multipart upload (Micha\[/l] Matczuk) 65692 .IP \[bu] 2 65693 Report errors on bucket creation (mkdir) correctly (Nick Craig-Wood) 65694 .IP \[bu] 2 65695 Specify that Minio supports URL encoding in listings (Nick Craig-Wood) 65696 .IP \[bu] 2 65697 Added 500 as retryErrorCode (Micha\[/l] Matczuk) 65698 .IP \[bu] 2 65699 Use \f[C]--low-level-retries\f[R] as the number of SDK retries 65700 (Aleksandar Jankovi\['c]) 65701 .IP \[bu] 2 65702 Fix multipart abort context (Aleksandar Jankovic) 65703 .IP \[bu] 2 65704 Replace deprecated \f[C]session.New()\f[R] with 65705 \f[C]session.NewSession()\f[R] (Lars Lehtonen) 65706 .IP \[bu] 2 65707 Use the provided size parameter when allocating a new memory pool 65708 (Joachim Brandon LeBlanc) 65709 .IP \[bu] 2 65710 Use rclone\[aq]s low level retries instead of AWS SDK to fix listing 65711 retries (Nick Craig-Wood) 65712 .IP \[bu] 2 65713 Ignore directory markers at the root also (Nick Craig-Wood) 65714 .IP \[bu] 2 65715 Use single memory pool (Micha\[/l] Matczuk) 65716 .IP \[bu] 2 65717 Do not resize buf on put to memBuf (Micha\[/l] Matczuk) 65718 .IP \[bu] 2 65719 Improve docs for \f[C]--s3-disable-checksum\f[R] (Nick Craig-Wood) 65720 .IP \[bu] 2 65721 Don\[aq]t leak memory or tokens in edge cases for multipart upload (Nick 65722 Craig-Wood) 65723 .RE 65724 .IP \[bu] 2 65725 Seafile 65726 .RS 2 65727 .IP \[bu] 2 65728 Implement 2FA (Fred) 65729 .RE 65730 .IP \[bu] 2 65731 SFTP 65732 .RS 2 65733 .IP \[bu] 2 65734 Added \f[C]--sftp-pem-key\f[R] to support inline key files (calisro) 65735 .IP \[bu] 2 65736 Fix post transfer copies failing with 0 size when using 65737 \f[C]set_modtime=false\f[R] (Nick Craig-Wood) 65738 .RE 65739 .IP \[bu] 2 65740 Sharefile 65741 .RS 2 65742 .IP \[bu] 2 65743 Add support for \f[C]--header-upload\f[R] and 65744 \f[C]--header-download\f[R] (Tim Gallant) 65745 .RE 65746 .IP \[bu] 2 65747 Sugarsync 65748 .RS 2 65749 .IP \[bu] 2 65750 Add support for \f[C]--header-upload\f[R] and 65751 \f[C]--header-download\f[R] (Tim Gallant) 65752 .RE 65753 .IP \[bu] 2 65754 Swift 65755 .RS 2 65756 .IP \[bu] 2 65757 Add support for \f[C]--header-upload\f[R] and 65758 \f[C]--header-download\f[R] (Nick Craig-Wood) 65759 .IP \[bu] 2 65760 Fix cosmetic issue in error message (Martin Michlmayr) 65761 .RE 65762 .IP \[bu] 2 65763 Union 65764 .RS 2 65765 .IP \[bu] 2 65766 Implement multiple writable remotes (Max Sum) 65767 .IP \[bu] 2 65768 Fix server-side copy (Max Sum) 65769 .IP \[bu] 2 65770 Implement ListR (Max Sum) 65771 .IP \[bu] 2 65772 Enable ListR when upstreams contain local (Max Sum) 65773 .RE 65774 .IP \[bu] 2 65775 WebDAV 65776 .RS 2 65777 .IP \[bu] 2 65778 Add support for \f[C]--header-upload\f[R] and 65779 \f[C]--header-download\f[R] (Tim Gallant) 65780 .IP \[bu] 2 65781 Fix \f[C]X-OC-Mtime\f[R] header for Transip compatibility (Nick 65782 Craig-Wood) 65783 .IP \[bu] 2 65784 Report full and consistent usage with \f[C]about\f[R] (Yves G) 65785 .RE 65786 .IP \[bu] 2 65787 Yandex 65788 .RS 2 65789 .IP \[bu] 2 65790 Add support for \f[C]--header-upload\f[R] and 65791 \f[C]--header-download\f[R] (Tim Gallant) 65792 .RE 65793 .SS v1.51.0 - 2020-02-01 65794 .IP \[bu] 2 65795 New backends 65796 .RS 2 65797 .IP \[bu] 2 65798 Memory (https://rclone.org/memory/) (Nick Craig-Wood) 65799 .IP \[bu] 2 65800 Sugarsync (https://rclone.org/sugarsync/) (Nick Craig-Wood) 65801 .RE 65802 .IP \[bu] 2 65803 New Features 65804 .RS 2 65805 .IP \[bu] 2 65806 Adjust all backends to have \f[C]--backend-encoding\f[R] parameter (Nick 65807 Craig-Wood) 65808 .RS 2 65809 .IP \[bu] 2 65810 this enables the encoding for special characters to be adjusted or 65811 disabled 65812 .RE 65813 .IP \[bu] 2 65814 Add \f[C]--max-duration\f[R] flag to control the maximum duration of a 65815 transfer session (boosh) 65816 .IP \[bu] 2 65817 Add \f[C]--expect-continue-timeout\f[R] flag, default 1s (Nick 65818 Craig-Wood) 65819 .IP \[bu] 2 65820 Add \f[C]--no-check-dest\f[R] flag for copying without testing the 65821 destination (Nick Craig-Wood) 65822 .IP \[bu] 2 65823 Implement \f[C]--order-by\f[R] flag to order transfers (Nick Craig-Wood) 65824 .IP \[bu] 2 65825 accounting 65826 .RS 2 65827 .IP \[bu] 2 65828 Don\[aq]t show entries in both transferring and checking (Nick 65829 Craig-Wood) 65830 .IP \[bu] 2 65831 Add option to delete stats (Aleksandar Jankovic) 65832 .RE 65833 .IP \[bu] 2 65834 build 65835 .RS 2 65836 .IP \[bu] 2 65837 Compress the test builds with gzip (Nick Craig-Wood) 65838 .IP \[bu] 2 65839 Implement a framework for starting test servers during tests (Nick 65840 Craig-Wood) 65841 .RE 65842 .IP \[bu] 2 65843 cmd: Always print elapsed time to tenth place seconds in progress (Gary 65844 Kim) 65845 .IP \[bu] 2 65846 config 65847 .RS 2 65848 .IP \[bu] 2 65849 Add \f[C]--password-command\f[R] to allow dynamic config password (Damon 65850 Permezel) 65851 .IP \[bu] 2 65852 Give config questions default values (Nick Craig-Wood) 65853 .IP \[bu] 2 65854 Check a remote exists when creating a new one (Nick Craig-Wood) 65855 .RE 65856 .IP \[bu] 2 65857 copyurl: Add \f[C]--stdout\f[R] flag to write to stdout (Nick 65858 Craig-Wood) 65859 .IP \[bu] 2 65860 dedupe: Implement keep smallest too (Nick Craig-Wood) 65861 .IP \[bu] 2 65862 hashsum: Add flag \f[C]--base64\f[R] flag (landall) 65863 .IP \[bu] 2 65864 lsf: Speed up on s3/swift/etc by not reading mimetype by default (Nick 65865 Craig-Wood) 65866 .IP \[bu] 2 65867 lsjson: Add \f[C]--no-mimetype\f[R] flag (Nick Craig-Wood) 65868 .IP \[bu] 2 65869 rc: Add methods to turn on blocking and mutex profiling (Nick 65870 Craig-Wood) 65871 .IP \[bu] 2 65872 rcd 65873 .RS 2 65874 .IP \[bu] 2 65875 Adding group parameter to stats (Chaitanya) 65876 .IP \[bu] 2 65877 Move webgui apart; option to disable browser (Xiaoxing Ye) 65878 .RE 65879 .IP \[bu] 2 65880 serve sftp: Add support for public key with auth proxy (Paul Tinsley) 65881 .IP \[bu] 2 65882 stats: Show deletes in stats and hide zero stats (anuar45) 65883 .RE 65884 .IP \[bu] 2 65885 Bug Fixes 65886 .RS 2 65887 .IP \[bu] 2 65888 accounting 65889 .RS 2 65890 .IP \[bu] 2 65891 Fix error counter counting multiple times (Ankur Gupta) 65892 .IP \[bu] 2 65893 Fix error count shown as checks (Cnly) 65894 .IP \[bu] 2 65895 Clear finished transfer in stats-reset (Maciej Zimnoch) 65896 .IP \[bu] 2 65897 Added StatsInfo locking in statsGroups sum function (Micha\[/l] Matczuk) 65898 .RE 65899 .IP \[bu] 2 65900 asyncreader: Fix EOF error (buengese) 65901 .IP \[bu] 2 65902 check: Fix \f[C]--one-way\f[R] recursing more directories than it needs 65903 to (Nick Craig-Wood) 65904 .IP \[bu] 2 65905 chunkedreader: Disable hash calculation for first segment (Nick 65906 Craig-Wood) 65907 .IP \[bu] 2 65908 config 65909 .RS 2 65910 .IP \[bu] 2 65911 Do not open browser on headless on drive/gcs/google photos (Xiaoxing Ye) 65912 .IP \[bu] 2 65913 SetValueAndSave ignore error if config section does not exist yet 65914 (buengese) 65915 .RE 65916 .IP \[bu] 2 65917 cmd: Fix completion with an encrypted config (Danil Semelenov) 65918 .IP \[bu] 2 65919 dbhashsum: Stop it returning UNSUPPORTED on dropbox (Nick Craig-Wood) 65920 .IP \[bu] 2 65921 dedupe: Add missing modes to help string (Nick Craig-Wood) 65922 .IP \[bu] 2 65923 operations 65924 .RS 2 65925 .IP \[bu] 2 65926 Fix dedupe continuing on errors like insufficientFilePersimmon 65927 (SezalAgrawal) 65928 .IP \[bu] 2 65929 Clear accounting before low level retry (Maciej Zimnoch) 65930 .IP \[bu] 2 65931 Write debug message when hashes could not be checked (Ole Sch\[:u]tt) 65932 .IP \[bu] 2 65933 Move interface assertion to tests to remove pflag dependency (Nick 65934 Craig-Wood) 65935 .IP \[bu] 2 65936 Make NewOverrideObjectInfo public and factor uses (Nick Craig-Wood) 65937 .RE 65938 .IP \[bu] 2 65939 proxy: Replace use of bcrypt with sha256 (Nick Craig-Wood) 65940 .IP \[bu] 2 65941 vendor 65942 .RS 2 65943 .IP \[bu] 2 65944 Update bazil.org/fuse to fix FreeBSD 12.1 (Nick Craig-Wood) 65945 .IP \[bu] 2 65946 Update github.com/t3rm1n4l/go-mega to fix mega \[dq]illegal base64 data 65947 at input byte 22\[dq] (Nick Craig-Wood) 65948 .IP \[bu] 2 65949 Update termbox-go to fix ncdu command on FreeBSD (Kuang-che Wu) 65950 .IP \[bu] 2 65951 Update t3rm1n4l/go-mega - fixes mega: couldn\[aq]t login: crypto/aes: 65952 invalid key size 0 (Nick Craig-Wood) 65953 .RE 65954 .RE 65955 .IP \[bu] 2 65956 Mount 65957 .RS 2 65958 .IP \[bu] 2 65959 Enable async reads for a 20% speedup (Nick Craig-Wood) 65960 .IP \[bu] 2 65961 Replace use of WriteAt with Write for cache mode >= writes and O_APPEND 65962 (Brett Dutro) 65963 .IP \[bu] 2 65964 Make sure we call unmount when exiting (Nick Craig-Wood) 65965 .IP \[bu] 2 65966 Don\[aq]t build on go1.10 as bazil/fuse no longer supports it (Nick 65967 Craig-Wood) 65968 .IP \[bu] 2 65969 When setting dates discard out of range dates (Nick Craig-Wood) 65970 .RE 65971 .IP \[bu] 2 65972 VFS 65973 .RS 2 65974 .IP \[bu] 2 65975 Add a newly created file straight into the directory (Nick Craig-Wood) 65976 .IP \[bu] 2 65977 Only calculate one hash for reads for a speedup (Nick Craig-Wood) 65978 .IP \[bu] 2 65979 Make ReadAt for non cached files work better with non-sequential reads 65980 (Nick Craig-Wood) 65981 .IP \[bu] 2 65982 Fix edge cases when reading ModTime from file (Nick Craig-Wood) 65983 .IP \[bu] 2 65984 Make sure existing files opened for write show correct size (Nick 65985 Craig-Wood) 65986 .IP \[bu] 2 65987 Don\[aq]t cache the path in RW file objects to fix renaming (Nick 65988 Craig-Wood) 65989 .IP \[bu] 2 65990 Fix rename of open files when using the VFS cache (Nick Craig-Wood) 65991 .IP \[bu] 2 65992 When renaming files in the cache, rename the cache item in memory too 65993 (Nick Craig-Wood) 65994 .IP \[bu] 2 65995 Fix open file renaming on drive when using 65996 \f[C]--vfs-cache-mode writes\f[R] (Nick Craig-Wood) 65997 .IP \[bu] 2 65998 Fix incorrect modtime for mv into mount with 65999 \f[C]--vfs-cache-modes writes\f[R] (Nick Craig-Wood) 66000 .IP \[bu] 2 66001 On rename, rename in cache too if the file exists (Anagh Kumar Baranwal) 66002 .RE 66003 .IP \[bu] 2 66004 Local 66005 .RS 2 66006 .IP \[bu] 2 66007 Make source file being updated errors be NoLowLevelRetry errors (Nick 66008 Craig-Wood) 66009 .IP \[bu] 2 66010 Fix update of hidden files on Windows (Nick Craig-Wood) 66011 .RE 66012 .IP \[bu] 2 66013 Cache 66014 .RS 2 66015 .IP \[bu] 2 66016 Follow move of upstream library github.com/coreos/bbolt 66017 github.com/etcd-io/bbolt (Nick Craig-Wood) 66018 .IP \[bu] 2 66019 Fix \f[C]fatal error: concurrent map writes\f[R] (Nick Craig-Wood) 66020 .RE 66021 .IP \[bu] 2 66022 Crypt 66023 .RS 2 66024 .IP \[bu] 2 66025 Reorder the filename encryption options (Thomas Eales) 66026 .IP \[bu] 2 66027 Correctly handle trailing dot (buengese) 66028 .RE 66029 .IP \[bu] 2 66030 Chunker 66031 .RS 2 66032 .IP \[bu] 2 66033 Reduce length of temporary suffix (Ivan Andreev) 66034 .RE 66035 .IP \[bu] 2 66036 Drive 66037 .RS 2 66038 .IP \[bu] 2 66039 Add \f[C]--drive-stop-on-upload-limit\f[R] flag to stop syncs when 66040 upload limit reached (Nick Craig-Wood) 66041 .IP \[bu] 2 66042 Add \f[C]--drive-use-shared-date\f[R] to use date file was shared 66043 instead of modified date (Garry McNulty) 66044 .IP \[bu] 2 66045 Make sure invalid auth for teamdrives always reports an error (Nick 66046 Craig-Wood) 66047 .IP \[bu] 2 66048 Fix \f[C]--fast-list\f[R] when using appDataFolder (Nick Craig-Wood) 66049 .IP \[bu] 2 66050 Use multipart resumable uploads for streaming and uploads in mount (Nick 66051 Craig-Wood) 66052 .IP \[bu] 2 66053 Log an ERROR if an incomplete search is returned (Nick Craig-Wood) 66054 .IP \[bu] 2 66055 Hide dangerous config from the configurator (Nick Craig-Wood) 66056 .RE 66057 .IP \[bu] 2 66058 Dropbox 66059 .RS 2 66060 .IP \[bu] 2 66061 Treat \f[C]insufficient_space\f[R] errors as non retriable errors (Nick 66062 Craig-Wood) 66063 .RE 66064 .IP \[bu] 2 66065 Jottacloud 66066 .RS 2 66067 .IP \[bu] 2 66068 Use new auth method used by official client (buengese) 66069 .IP \[bu] 2 66070 Add URL to generate Login Token to config wizard (Nick Craig-Wood) 66071 .IP \[bu] 2 66072 Add support whitelabel versions (buengese) 66073 .RE 66074 .IP \[bu] 2 66075 Koofr 66076 .RS 2 66077 .IP \[bu] 2 66078 Use rclone HTTP client. 66079 (jaKa) 66080 .RE 66081 .IP \[bu] 2 66082 Onedrive 66083 .RS 2 66084 .IP \[bu] 2 66085 Add Sites.Read.All permission (Benjamin Richter) 66086 .IP \[bu] 2 66087 Add support \[dq]Retry-After\[dq] header (Motonori IWAMURO) 66088 .RE 66089 .IP \[bu] 2 66090 Opendrive 66091 .RS 2 66092 .IP \[bu] 2 66093 Implement \f[C]--opendrive-chunk-size\f[R] (Nick Craig-Wood) 66094 .RE 66095 .IP \[bu] 2 66096 S3 66097 .RS 2 66098 .IP \[bu] 2 66099 Re-implement multipart upload to fix memory issues (Nick Craig-Wood) 66100 .IP \[bu] 2 66101 Add \f[C]--s3-copy-cutoff\f[R] for size to switch to multipart copy 66102 (Nick Craig-Wood) 66103 .IP \[bu] 2 66104 Add new region Asia Pacific (Hong Kong) (Outvi V) 66105 .IP \[bu] 2 66106 Reduce memory usage streaming files by reducing max stream upload size 66107 (Nick Craig-Wood) 66108 .IP \[bu] 2 66109 Add \f[C]--s3-list-chunk\f[R] option for bucket listing (Thomas 66110 Kriechbaumer) 66111 .IP \[bu] 2 66112 Force path style bucket access to off for AWS deprecation (Nick 66113 Craig-Wood) 66114 .IP \[bu] 2 66115 Use AWS web identity role provider if available (Tennix) 66116 .IP \[bu] 2 66117 Add StackPath Object Storage Support (Dave Koston) 66118 .IP \[bu] 2 66119 Fix ExpiryWindow value (Aleksandar Jankovic) 66120 .IP \[bu] 2 66121 Fix DisableChecksum condition (Aleksandar Jankovi\['c]) 66122 .IP \[bu] 2 66123 Fix URL decoding of NextMarker (Nick Craig-Wood) 66124 .RE 66125 .IP \[bu] 2 66126 SFTP 66127 .RS 2 66128 .IP \[bu] 2 66129 Add \f[C]--sftp-skip-links\f[R] to skip symlinks and non regular files 66130 (Nick Craig-Wood) 66131 .IP \[bu] 2 66132 Retry Creation of Connection (Sebastian Brandt) 66133 .IP \[bu] 2 66134 Fix \[dq]failed to parse private key file: ssh: not an encrypted 66135 key\[dq] error (Nick Craig-Wood) 66136 .IP \[bu] 2 66137 Open files for update write only to fix AWS SFTP interop (Nick 66138 Craig-Wood) 66139 .RE 66140 .IP \[bu] 2 66141 Swift 66142 .RS 2 66143 .IP \[bu] 2 66144 Reserve segments of dynamic large object when delete objects in 66145 container what was enabled versioning. 66146 (Nguy\[u1EC5]n H\[u1EEF]u Lu\[^a]n) 66147 .IP \[bu] 2 66148 Fix parsing of X-Object-Manifest (Nick Craig-Wood) 66149 .IP \[bu] 2 66150 Update OVH API endpoint (unbelauscht) 66151 .RE 66152 .IP \[bu] 2 66153 WebDAV 66154 .RS 2 66155 .IP \[bu] 2 66156 Make nextcloud only upload SHA1 checksums (Nick Craig-Wood) 66157 .IP \[bu] 2 66158 Fix case of \[dq]Bearer\[dq] in Authorization: header to agree with RFC 66159 (Nick Craig-Wood) 66160 .IP \[bu] 2 66161 Add Referer header to fix problems with WAFs (Nick Craig-Wood) 66162 .RE 66163 .SS v1.50.2 - 2019-11-19 66164 .IP \[bu] 2 66165 Bug Fixes 66166 .RS 2 66167 .IP \[bu] 2 66168 accounting: Fix memory leak on retries operations (Nick Craig-Wood) 66169 .RE 66170 .IP \[bu] 2 66171 Drive 66172 .RS 2 66173 .IP \[bu] 2 66174 Fix listing of the root directory with drive.files scope (Nick 66175 Craig-Wood) 66176 .IP \[bu] 2 66177 Fix --drive-root-folder-id with team/shared drives (Nick Craig-Wood) 66178 .RE 66179 .SS v1.50.1 - 2019-11-02 66180 .IP \[bu] 2 66181 Bug Fixes 66182 .RS 2 66183 .IP \[bu] 2 66184 hash: Fix accidentally changed hash names for \f[C]DropboxHash\f[R] and 66185 \f[C]CRC-32\f[R] (Nick Craig-Wood) 66186 .IP \[bu] 2 66187 fshttp: Fix error reporting on tpslimit token bucket errors (Nick 66188 Craig-Wood) 66189 .IP \[bu] 2 66190 fshttp: Don\[aq]t print token bucket errors on context cancelled (Nick 66191 Craig-Wood) 66192 .RE 66193 .IP \[bu] 2 66194 Local 66195 .RS 2 66196 .IP \[bu] 2 66197 Fix listings of . 66198 on Windows (Nick Craig-Wood) 66199 .RE 66200 .IP \[bu] 2 66201 Onedrive 66202 .RS 2 66203 .IP \[bu] 2 66204 Fix DirMove/Move after Onedrive change (Xiaoxing Ye) 66205 .RE 66206 .SS v1.50.0 - 2019-10-26 66207 .IP \[bu] 2 66208 New backends 66209 .RS 2 66210 .IP \[bu] 2 66211 Citrix Sharefile (https://rclone.org/sharefile/) (Nick Craig-Wood) 66212 .IP \[bu] 2 66213 Chunker (https://rclone.org/chunker/) - an overlay backend to split 66214 files into smaller parts (Ivan Andreev) 66215 .IP \[bu] 2 66216 Mail.ru Cloud (https://rclone.org/mailru/) (Ivan Andreev) 66217 .RE 66218 .IP \[bu] 2 66219 New Features 66220 .RS 2 66221 .IP \[bu] 2 66222 encodings (Fabian M\[:o]ller & Nick Craig-Wood) 66223 .RS 2 66224 .IP \[bu] 2 66225 All backends now use file name encoding to ensure any file name can be 66226 written to any backend. 66227 .IP \[bu] 2 66228 See the restricted file name 66229 docs (https://rclone.org/overview/#restricted-filenames) for more info 66230 and the local backend docs. 66231 .IP \[bu] 2 66232 Some file names may look different in rclone if you are using any 66233 control characters in names or unicode FULLWIDTH 66234 symbols (https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)). 66235 .RE 66236 .IP \[bu] 2 66237 build 66238 .RS 2 66239 .IP \[bu] 2 66240 Update to use go1.13 for the build (Nick Craig-Wood) 66241 .IP \[bu] 2 66242 Drop support for go1.9 (Nick Craig-Wood) 66243 .IP \[bu] 2 66244 Build rclone with GitHub actions (Nick Craig-Wood) 66245 .IP \[bu] 2 66246 Convert python scripts to python3 (Nick Craig-Wood) 66247 .IP \[bu] 2 66248 Swap Azure/go-ansiterm for mattn/go-colorable (Nick Craig-Wood) 66249 .IP \[bu] 2 66250 Dockerfile fixes (Matei David) 66251 .IP \[bu] 2 66252 Add plugin 66253 support (https://github.com/divyam234/rclone/blob/master/CONTRIBUTING.md#writing-a-plugin) 66254 for backends and commands (Richard Patel) 66255 .RE 66256 .IP \[bu] 2 66257 config 66258 .RS 2 66259 .IP \[bu] 2 66260 Use alternating Red/Green in config to make more obvious (Nick 66261 Craig-Wood) 66262 .RE 66263 .IP \[bu] 2 66264 contrib 66265 .RS 2 66266 .IP \[bu] 2 66267 Add sample DLNA server Docker Compose manifest. 66268 (pataquets) 66269 .IP \[bu] 2 66270 Add sample WebDAV server Docker Compose manifest. 66271 (pataquets) 66272 .RE 66273 .IP \[bu] 2 66274 copyurl 66275 .RS 2 66276 .IP \[bu] 2 66277 Add \f[C]--auto-filename\f[R] flag for using file name from URL in 66278 destination path (Denis) 66279 .RE 66280 .IP \[bu] 2 66281 serve dlna: 66282 .RS 2 66283 .IP \[bu] 2 66284 Many compatibility improvements (Dan Walters) 66285 .IP \[bu] 2 66286 Support for external srt subtitles (Dan Walters) 66287 .RE 66288 .IP \[bu] 2 66289 rc 66290 .RS 2 66291 .IP \[bu] 2 66292 Added command core/quit (Saksham Khanna) 66293 .RE 66294 .RE 66295 .IP \[bu] 2 66296 Bug Fixes 66297 .RS 2 66298 .IP \[bu] 2 66299 sync 66300 .RS 2 66301 .IP \[bu] 2 66302 Make \f[C]--update\f[R]/\f[C]-u\f[R] not transfer files that haven\[aq]t 66303 changed (Nick Craig-Wood) 66304 .IP \[bu] 2 66305 Free objects after they come out of the transfer pipe to save memory 66306 (Nick Craig-Wood) 66307 .IP \[bu] 2 66308 Fix \f[C]--files-from without --no-traverse\f[R] doing a recursive scan 66309 (Nick Craig-Wood) 66310 .RE 66311 .IP \[bu] 2 66312 operations 66313 .RS 2 66314 .IP \[bu] 2 66315 Fix accounting for server-side copies (Nick Craig-Wood) 66316 .IP \[bu] 2 66317 Display \[aq]All duplicates removed\[aq] only if dedupe successful 66318 (Sezal Agrawal) 66319 .IP \[bu] 2 66320 Display \[aq]Deleted X extra copies\[aq] only if dedupe successful 66321 (Sezal Agrawal) 66322 .RE 66323 .IP \[bu] 2 66324 accounting 66325 .RS 2 66326 .IP \[bu] 2 66327 Only allow up to 100 completed transfers in the accounting list to save 66328 memory (Nick Craig-Wood) 66329 .IP \[bu] 2 66330 Cull the old time ranges when possible to save memory (Nick Craig-Wood) 66331 .IP \[bu] 2 66332 Fix panic due to server-side copy fallback (Ivan Andreev) 66333 .IP \[bu] 2 66334 Fix memory leak noticeable for transfers of large numbers of objects 66335 (Nick Craig-Wood) 66336 .IP \[bu] 2 66337 Fix total duration calculation (Nick Craig-Wood) 66338 .RE 66339 .IP \[bu] 2 66340 cmd 66341 .RS 2 66342 .IP \[bu] 2 66343 Fix environment variables not setting command line flags (Nick 66344 Craig-Wood) 66345 .IP \[bu] 2 66346 Make autocomplete compatible with bash\[aq]s posix mode for macOS (Danil 66347 Semelenov) 66348 .IP \[bu] 2 66349 Make \f[C]--progress\f[R] work in git bash on Windows (Nick Craig-Wood) 66350 .IP \[bu] 2 66351 Fix \[aq]compopt: command not found\[aq] on autocomplete on macOS (Danil 66352 Semelenov) 66353 .RE 66354 .IP \[bu] 2 66355 config 66356 .RS 2 66357 .IP \[bu] 2 66358 Fix setting of non top level flags from environment variables (Nick 66359 Craig-Wood) 66360 .IP \[bu] 2 66361 Check config names more carefully and report errors (Nick Craig-Wood) 66362 .IP \[bu] 2 66363 Remove error: can\[aq]t use \f[C]--size-only\f[R] and 66364 \f[C]--ignore-size\f[R] together. 66365 (Nick Craig-Wood) 66366 .RE 66367 .IP \[bu] 2 66368 filter: Prevent mixing options when \f[C]--files-from\f[R] is in use 66369 (Michele Caci) 66370 .IP \[bu] 2 66371 serve sftp: Fix crash on unsupported operations (e.g. 66372 Readlink) (Nick Craig-Wood) 66373 .RE 66374 .IP \[bu] 2 66375 Mount 66376 .RS 2 66377 .IP \[bu] 2 66378 Allow files of unknown size to be read properly (Nick Craig-Wood) 66379 .IP \[bu] 2 66380 Skip tests on <= 2 CPUs to avoid lockup (Nick Craig-Wood) 66381 .IP \[bu] 2 66382 Fix panic on File.Open (Nick Craig-Wood) 66383 .IP \[bu] 2 66384 Fix \[dq]mount_fusefs: -o timeout=: option not supported\[dq] on FreeBSD 66385 (Nick Craig-Wood) 66386 .IP \[bu] 2 66387 Don\[aq]t pass huge filenames (>4k) to FUSE as it can\[aq]t cope (Nick 66388 Craig-Wood) 66389 .RE 66390 .IP \[bu] 2 66391 VFS 66392 .RS 2 66393 .IP \[bu] 2 66394 Add flag \f[C]--vfs-case-insensitive\f[R] for windows/macOS mounts (Ivan 66395 Andreev) 66396 .IP \[bu] 2 66397 Make objects of unknown size readable through the VFS (Nick Craig-Wood) 66398 .IP \[bu] 2 66399 Move writeback of dirty data out of close() method into its own method 66400 (FlushWrites) and remove close() call from Flush() (Brett Dutro) 66401 .IP \[bu] 2 66402 Stop empty dirs disappearing when renamed on bucket-based remotes (Nick 66403 Craig-Wood) 66404 .IP \[bu] 2 66405 Stop change notify polling clearing so much of the directory cache (Nick 66406 Craig-Wood) 66407 .RE 66408 .IP \[bu] 2 66409 Azure Blob 66410 .RS 2 66411 .IP \[bu] 2 66412 Disable logging to the Windows event log (Nick Craig-Wood) 66413 .RE 66414 .IP \[bu] 2 66415 B2 66416 .RS 2 66417 .IP \[bu] 2 66418 Remove \f[C]unverified:\f[R] prefix on sha1 to improve interop (e.g. 66419 with CyberDuck) (Nick Craig-Wood) 66420 .RE 66421 .IP \[bu] 2 66422 Box 66423 .RS 2 66424 .IP \[bu] 2 66425 Add options to get access token via JWT auth (David) 66426 .RE 66427 .IP \[bu] 2 66428 Drive 66429 .RS 2 66430 .IP \[bu] 2 66431 Disable HTTP/2 by default to work around INTERNAL_ERROR problems (Nick 66432 Craig-Wood) 66433 .IP \[bu] 2 66434 Make sure that drive root ID is always canonical (Nick Craig-Wood) 66435 .IP \[bu] 2 66436 Fix \f[C]--drive-shared-with-me\f[R] from the root with lsand 66437 \f[C]--fast-list\f[R] (Nick Craig-Wood) 66438 .IP \[bu] 2 66439 Fix ChangeNotify polling for shared drives (Nick Craig-Wood) 66440 .IP \[bu] 2 66441 Fix change notify polling when using appDataFolder (Nick Craig-Wood) 66442 .RE 66443 .IP \[bu] 2 66444 Dropbox 66445 .RS 2 66446 .IP \[bu] 2 66447 Make disallowed filenames errors not retry (Nick Craig-Wood) 66448 .IP \[bu] 2 66449 Fix nil pointer exception on restricted files (Nick Craig-Wood) 66450 .RE 66451 .IP \[bu] 2 66452 Fichier 66453 .RS 2 66454 .IP \[bu] 2 66455 Fix accessing files > 2GB on 32 bit systems (Nick Craig-Wood) 66456 .RE 66457 .IP \[bu] 2 66458 FTP 66459 .RS 2 66460 .IP \[bu] 2 66461 Allow disabling EPSV mode (Jon Fautley) 66462 .RE 66463 .IP \[bu] 2 66464 HTTP 66465 .RS 2 66466 .IP \[bu] 2 66467 HEAD directory entries in parallel to speedup (Nick Craig-Wood) 66468 .IP \[bu] 2 66469 Add \f[C]--http-no-head\f[R] to stop rclone doing HEAD in listings (Nick 66470 Craig-Wood) 66471 .RE 66472 .IP \[bu] 2 66473 Putio 66474 .RS 2 66475 .IP \[bu] 2 66476 Add ability to resume uploads (Cenk Alti) 66477 .RE 66478 .IP \[bu] 2 66479 S3 66480 .RS 2 66481 .IP \[bu] 2 66482 Fix signature v2_auth headers (Anthony Rusdi) 66483 .IP \[bu] 2 66484 Fix encoding for control characters (Nick Craig-Wood) 66485 .IP \[bu] 2 66486 Only ask for URL encoded directory listings if we need them on Ceph 66487 (Nick Craig-Wood) 66488 .IP \[bu] 2 66489 Add option for multipart failure behaviour (Aleksandar Jankovic) 66490 .IP \[bu] 2 66491 Support for multipart copy (\[u5E84]\[u5929]\[u7FFC]) 66492 .IP \[bu] 2 66493 Fix nil pointer reference if no metadata returned for object (Nick 66494 Craig-Wood) 66495 .RE 66496 .IP \[bu] 2 66497 SFTP 66498 .RS 2 66499 .IP \[bu] 2 66500 Fix \f[C]--sftp-ask-password\f[R] trying to contact the ssh agent (Nick 66501 Craig-Wood) 66502 .IP \[bu] 2 66503 Fix hashes of files with backslashes (Nick Craig-Wood) 66504 .IP \[bu] 2 66505 Include more ciphers with \f[C]--sftp-use-insecure-cipher\f[R] (Carlos 66506 Ferreyra) 66507 .RE 66508 .IP \[bu] 2 66509 WebDAV 66510 .RS 2 66511 .IP \[bu] 2 66512 Parse and return Sharepoint error response (Henning Surmeier) 66513 .RE 66514 .SS v1.49.5 - 2019-10-05 66515 .IP \[bu] 2 66516 Bug Fixes 66517 .RS 2 66518 .IP \[bu] 2 66519 Revert back to go1.12.x for the v1.49.x builds as go1.13.x was causing 66520 issues (Nick Craig-Wood) 66521 .IP \[bu] 2 66522 Fix rpm packages by using master builds of nfpm (Nick Craig-Wood) 66523 .IP \[bu] 2 66524 Fix macOS build after brew changes (Nick Craig-Wood) 66525 .RE 66526 .SS v1.49.4 - 2019-09-29 66527 .IP \[bu] 2 66528 Bug Fixes 66529 .RS 2 66530 .IP \[bu] 2 66531 cmd/rcd: Address ZipSlip vulnerability (Richard Patel) 66532 .IP \[bu] 2 66533 accounting: Fix file handle leak on errors (Nick Craig-Wood) 66534 .IP \[bu] 2 66535 oauthutil: Fix security problem when running with two users on the same 66536 machine (Nick Craig-Wood) 66537 .RE 66538 .IP \[bu] 2 66539 FTP 66540 .RS 2 66541 .IP \[bu] 2 66542 Fix listing of an empty root returning: error dir not found (Nick 66543 Craig-Wood) 66544 .RE 66545 .IP \[bu] 2 66546 S3 66547 .RS 2 66548 .IP \[bu] 2 66549 Fix SetModTime on GLACIER/ARCHIVE objects and implement set/get tier 66550 (Nick Craig-Wood) 66551 .RE 66552 .SS v1.49.3 - 2019-09-15 66553 .IP \[bu] 2 66554 Bug Fixes 66555 .RS 2 66556 .IP \[bu] 2 66557 accounting 66558 .RS 2 66559 .IP \[bu] 2 66560 Fix total duration calculation (Aleksandar Jankovic) 66561 .IP \[bu] 2 66562 Fix \[dq]file already closed\[dq] on transfer retries (Nick Craig-Wood) 66563 .RE 66564 .RE 66565 .SS v1.49.2 - 2019-09-08 66566 .IP \[bu] 2 66567 New Features 66568 .RS 2 66569 .IP \[bu] 2 66570 build: Add Docker workflow support (Alfonso Montero) 66571 .RE 66572 .IP \[bu] 2 66573 Bug Fixes 66574 .RS 2 66575 .IP \[bu] 2 66576 accounting: Fix locking in Transfer to avoid deadlock with 66577 \f[C]--progress\f[R] (Nick Craig-Wood) 66578 .IP \[bu] 2 66579 docs: Fix template argument for mktemp in install.sh (Cnly) 66580 .IP \[bu] 2 66581 operations: Fix \f[C]-u\f[R]/\f[C]--update\f[R] with google photos / 66582 files of unknown size (Nick Craig-Wood) 66583 .IP \[bu] 2 66584 rc: Fix docs for config/create /update /password (Nick Craig-Wood) 66585 .RE 66586 .IP \[bu] 2 66587 Google Cloud Storage 66588 .RS 2 66589 .IP \[bu] 2 66590 Fix need for elevated permissions on SetModTime (Nick Craig-Wood) 66591 .RE 66592 .SS v1.49.1 - 2019-08-28 66593 .IP \[bu] 2 66594 Bug Fixes 66595 .RS 2 66596 .IP \[bu] 2 66597 config: Fix generated passwords being stored as empty password (Nick 66598 Craig-Wood) 66599 .IP \[bu] 2 66600 rcd: Added missing parameter for web-gui info logs. 66601 (Chaitanya) 66602 .RE 66603 .IP \[bu] 2 66604 Googlephotos 66605 .RS 2 66606 .IP \[bu] 2 66607 Fix crash on error response (Nick Craig-Wood) 66608 .RE 66609 .IP \[bu] 2 66610 Onedrive 66611 .RS 2 66612 .IP \[bu] 2 66613 Fix crash on error response (Nick Craig-Wood) 66614 .RE 66615 .SS v1.49.0 - 2019-08-26 66616 .IP \[bu] 2 66617 New backends 66618 .RS 2 66619 .IP \[bu] 2 66620 1fichier (https://rclone.org/fichier/) (Laura Hausmann) 66621 .IP \[bu] 2 66622 Google Photos (https://rclone.org/googlephotos/) (Nick Craig-Wood) 66623 .IP \[bu] 2 66624 Putio (https://rclone.org/putio/) (Cenk Alti) 66625 .IP \[bu] 2 66626 premiumize.me (https://rclone.org/premiumizeme/) (Nick Craig-Wood) 66627 .RE 66628 .IP \[bu] 2 66629 New Features 66630 .RS 2 66631 .IP \[bu] 2 66632 Experimental web GUI (https://rclone.org/gui/) (Chaitanya Bankanhal) 66633 .IP \[bu] 2 66634 Implement \f[C]--compare-dest\f[R] & \f[C]--copy-dest\f[R] (yparitcher) 66635 .IP \[bu] 2 66636 Implement \f[C]--suffix\f[R] without \f[C]--backup-dir\f[R] for backup 66637 to current dir (yparitcher) 66638 .IP \[bu] 2 66639 \f[C]config reconnect\f[R] to re-login (re-run the oauth login) for the 66640 backend. 66641 (Nick Craig-Wood) 66642 .IP \[bu] 2 66643 \f[C]config userinfo\f[R] to discover which user you are logged in as. 66644 (Nick Craig-Wood) 66645 .IP \[bu] 2 66646 \f[C]config disconnect\f[R] to disconnect you (log out) from the 66647 backend. 66648 (Nick Craig-Wood) 66649 .IP \[bu] 2 66650 Add \f[C]--use-json-log\f[R] for JSON logging (justinalin) 66651 .IP \[bu] 2 66652 Add context propagation to rclone (Aleksandar Jankovic) 66653 .IP \[bu] 2 66654 Reworking internal statistics interfaces so they work with rc jobs 66655 (Aleksandar Jankovic) 66656 .IP \[bu] 2 66657 Add Higher units for ETA (AbelThar) 66658 .IP \[bu] 2 66659 Update rclone logos to new design (Andreas Chlupka) 66660 .IP \[bu] 2 66661 hash: Add CRC-32 support (Cenk Alti) 66662 .IP \[bu] 2 66663 help showbackend: Fixed advanced option category when there are no 66664 standard options (buengese) 66665 .IP \[bu] 2 66666 ncdu: Display/Copy to Clipboard Current Path (Gary Kim) 66667 .IP \[bu] 2 66668 operations: 66669 .RS 2 66670 .IP \[bu] 2 66671 Run hashing operations in parallel (Nick Craig-Wood) 66672 .IP \[bu] 2 66673 Don\[aq]t calculate checksums when using \f[C]--ignore-checksum\f[R] 66674 (Nick Craig-Wood) 66675 .IP \[bu] 2 66676 Check transfer hashes when using \f[C]--size-only\f[R] mode (Nick 66677 Craig-Wood) 66678 .IP \[bu] 2 66679 Disable multi thread copy for local to local copies (Nick Craig-Wood) 66680 .IP \[bu] 2 66681 Debug successful hashes as well as failures (Nick Craig-Wood) 66682 .RE 66683 .IP \[bu] 2 66684 rc 66685 .RS 2 66686 .IP \[bu] 2 66687 Add ability to stop async jobs (Aleksandar Jankovic) 66688 .IP \[bu] 2 66689 Return current settings if core/bwlimit called without parameters (Nick 66690 Craig-Wood) 66691 .IP \[bu] 2 66692 Rclone-WebUI integration with rclone (Chaitanya Bankanhal) 66693 .IP \[bu] 2 66694 Added command line parameter to control the cross origin resource 66695 sharing (CORS) in the rcd. 66696 (Security Improvement) (Chaitanya Bankanhal) 66697 .IP \[bu] 2 66698 Add anchor tags to the docs so links are consistent (Nick Craig-Wood) 66699 .IP \[bu] 2 66700 Remove _async key from input parameters after parsing so later 66701 operations won\[aq]t get confused (buengese) 66702 .IP \[bu] 2 66703 Add call to clear stats (Aleksandar Jankovic) 66704 .RE 66705 .IP \[bu] 2 66706 rcd 66707 .RS 2 66708 .IP \[bu] 2 66709 Auto-login for web-gui (Chaitanya Bankanhal) 66710 .IP \[bu] 2 66711 Implement \f[C]--baseurl\f[R] for rcd and web-gui (Chaitanya Bankanhal) 66712 .RE 66713 .IP \[bu] 2 66714 serve dlna 66715 .RS 2 66716 .IP \[bu] 2 66717 Only select interfaces which can multicast for SSDP (Nick Craig-Wood) 66718 .IP \[bu] 2 66719 Add more builtin mime types to cover standard audio/video (Nick 66720 Craig-Wood) 66721 .IP \[bu] 2 66722 Fix missing mime types on Android causing missing videos (Nick 66723 Craig-Wood) 66724 .RE 66725 .IP \[bu] 2 66726 serve ftp 66727 .RS 2 66728 .IP \[bu] 2 66729 Refactor to bring into line with other serve commands (Nick Craig-Wood) 66730 .IP \[bu] 2 66731 Implement \f[C]--auth-proxy\f[R] (Nick Craig-Wood) 66732 .RE 66733 .IP \[bu] 2 66734 serve http: Implement \f[C]--baseurl\f[R] (Nick Craig-Wood) 66735 .IP \[bu] 2 66736 serve restic: Implement \f[C]--baseurl\f[R] (Nick Craig-Wood) 66737 .IP \[bu] 2 66738 serve sftp 66739 .RS 2 66740 .IP \[bu] 2 66741 Implement auth proxy (Nick Craig-Wood) 66742 .IP \[bu] 2 66743 Fix detection of whether server is authorized (Nick Craig-Wood) 66744 .RE 66745 .IP \[bu] 2 66746 serve webdav 66747 .RS 2 66748 .IP \[bu] 2 66749 Implement \f[C]--baseurl\f[R] (Nick Craig-Wood) 66750 .IP \[bu] 2 66751 Support \f[C]--auth-proxy\f[R] (Nick Craig-Wood) 66752 .RE 66753 .RE 66754 .IP \[bu] 2 66755 Bug Fixes 66756 .RS 2 66757 .IP \[bu] 2 66758 Make \[dq]bad record MAC\[dq] a retriable error (Nick Craig-Wood) 66759 .IP \[bu] 2 66760 copyurl: Fix copying files that return HTTP errors (Nick Craig-Wood) 66761 .IP \[bu] 2 66762 march: Fix checking sub-directories when using \f[C]--no-traverse\f[R] 66763 (buengese) 66764 .IP \[bu] 2 66765 rc 66766 .RS 2 66767 .IP \[bu] 2 66768 Fix unmarshalable http.AuthFn in options and put in test for 66769 marshalability (Nick Craig-Wood) 66770 .IP \[bu] 2 66771 Move job expire flags to rc to fix initialization problem (Nick 66772 Craig-Wood) 66773 .IP \[bu] 2 66774 Fix \f[C]--loopback\f[R] with rc/list and others (Nick Craig-Wood) 66775 .RE 66776 .IP \[bu] 2 66777 rcat: Fix slowdown on systems with multiple hashes (Nick Craig-Wood) 66778 .IP \[bu] 2 66779 rcd: Fix permissions problems on cache directory with web gui download 66780 (Nick Craig-Wood) 66781 .RE 66782 .IP \[bu] 2 66783 Mount 66784 .RS 2 66785 .IP \[bu] 2 66786 Default \f[C]--daemon-timeout\f[R] to 15 minutes on macOS and FreeBSD 66787 (Nick Craig-Wood) 66788 .IP \[bu] 2 66789 Update docs to show mounting from root OK for bucket-based (Nick 66790 Craig-Wood) 66791 .IP \[bu] 2 66792 Remove nonseekable flag from write files (Nick Craig-Wood) 66793 .RE 66794 .IP \[bu] 2 66795 VFS 66796 .RS 2 66797 .IP \[bu] 2 66798 Make write without cache more efficient (Nick Craig-Wood) 66799 .IP \[bu] 2 66800 Fix \f[C]--vfs-cache-mode minimal\f[R] and \f[C]writes\f[R] ignoring 66801 cached files (Nick Craig-Wood) 66802 .RE 66803 .IP \[bu] 2 66804 Local 66805 .RS 2 66806 .IP \[bu] 2 66807 Add \f[C]--local-case-sensitive\f[R] and 66808 \f[C]--local-case-insensitive\f[R] (Nick Craig-Wood) 66809 .IP \[bu] 2 66810 Avoid polluting page cache when uploading local files to remote backends 66811 (Micha\[/l] Matczuk) 66812 .IP \[bu] 2 66813 Don\[aq]t calculate any hashes by default (Nick Craig-Wood) 66814 .IP \[bu] 2 66815 Fadvise run syscall on a dedicated go routine (Micha\[/l] Matczuk) 66816 .RE 66817 .IP \[bu] 2 66818 Azure Blob 66819 .RS 2 66820 .IP \[bu] 2 66821 Azure Storage Emulator support (Sandeep) 66822 .IP \[bu] 2 66823 Updated config help details to remove connection string references 66824 (Sandeep) 66825 .IP \[bu] 2 66826 Make all operations work from the root (Nick Craig-Wood) 66827 .RE 66828 .IP \[bu] 2 66829 B2 66830 .RS 2 66831 .IP \[bu] 2 66832 Implement link sharing (yparitcher) 66833 .IP \[bu] 2 66834 Enable server-side copy to copy between buckets (Nick Craig-Wood) 66835 .IP \[bu] 2 66836 Make all operations work from the root (Nick Craig-Wood) 66837 .RE 66838 .IP \[bu] 2 66839 Drive 66840 .RS 2 66841 .IP \[bu] 2 66842 Fix server-side copy of big files (Nick Craig-Wood) 66843 .IP \[bu] 2 66844 Update API for teamdrive use (Nick Craig-Wood) 66845 .IP \[bu] 2 66846 Add error for purge with \f[C]--drive-trashed-only\f[R] (ginvine) 66847 .RE 66848 .IP \[bu] 2 66849 Fichier 66850 .RS 2 66851 .IP \[bu] 2 66852 Make FolderID int and adjust related code (buengese) 66853 .RE 66854 .IP \[bu] 2 66855 Google Cloud Storage 66856 .RS 2 66857 .IP \[bu] 2 66858 Reduce oauth scope requested as suggested by Google (Nick Craig-Wood) 66859 .IP \[bu] 2 66860 Make all operations work from the root (Nick Craig-Wood) 66861 .RE 66862 .IP \[bu] 2 66863 HTTP 66864 .RS 2 66865 .IP \[bu] 2 66866 Add \f[C]--http-headers\f[R] flag for setting arbitrary headers (Nick 66867 Craig-Wood) 66868 .RE 66869 .IP \[bu] 2 66870 Jottacloud 66871 .RS 2 66872 .IP \[bu] 2 66873 Use new api for retrieving internal username (buengese) 66874 .IP \[bu] 2 66875 Refactor configuration and minor cleanup (buengese) 66876 .RE 66877 .IP \[bu] 2 66878 Koofr 66879 .RS 2 66880 .IP \[bu] 2 66881 Support setting modification times on Koofr backend. 66882 (jaKa) 66883 .RE 66884 .IP \[bu] 2 66885 Opendrive 66886 .RS 2 66887 .IP \[bu] 2 66888 Refactor to use existing lib/rest facilities for uploads (Nick 66889 Craig-Wood) 66890 .RE 66891 .IP \[bu] 2 66892 Qingstor 66893 .RS 2 66894 .IP \[bu] 2 66895 Upgrade to v3 SDK and fix listing loop (Nick Craig-Wood) 66896 .IP \[bu] 2 66897 Make all operations work from the root (Nick Craig-Wood) 66898 .RE 66899 .IP \[bu] 2 66900 S3 66901 .RS 2 66902 .IP \[bu] 2 66903 Add INTELLIGENT_TIERING storage class (Matti Niemenmaa) 66904 .IP \[bu] 2 66905 Make all operations work from the root (Nick Craig-Wood) 66906 .RE 66907 .IP \[bu] 2 66908 SFTP 66909 .RS 2 66910 .IP \[bu] 2 66911 Add missing interface check and fix About (Nick Craig-Wood) 66912 .IP \[bu] 2 66913 Completely ignore all modtime checks if SetModTime=false (Jon Fautley) 66914 .IP \[bu] 2 66915 Support md5/sha1 with rsync.net (Nick Craig-Wood) 66916 .IP \[bu] 2 66917 Save the md5/sha1 command in use to the config file for efficiency (Nick 66918 Craig-Wood) 66919 .IP \[bu] 2 66920 Opt-in support for diffie-hellman-group-exchange-sha256 66921 diffie-hellman-group-exchange-sha1 (Yi FU) 66922 .RE 66923 .IP \[bu] 2 66924 Swift 66925 .RS 2 66926 .IP \[bu] 2 66927 Use FixRangeOption to fix 0 length files via the VFS (Nick Craig-Wood) 66928 .IP \[bu] 2 66929 Fix upload when using no_chunk to return the correct size (Nick 66930 Craig-Wood) 66931 .IP \[bu] 2 66932 Make all operations work from the root (Nick Craig-Wood) 66933 .IP \[bu] 2 66934 Fix segments leak during failed large file uploads. 66935 (nguyenhuuluan434) 66936 .RE 66937 .IP \[bu] 2 66938 WebDAV 66939 .RS 2 66940 .IP \[bu] 2 66941 Add \f[C]--webdav-bearer-token-command\f[R] (Nick Craig-Wood) 66942 .IP \[bu] 2 66943 Refresh token when it expires with 66944 \f[C]--webdav-bearer-token-command\f[R] (Nick Craig-Wood) 66945 .IP \[bu] 2 66946 Add docs for using bearer_token_command with oidc-agent (Paul Millar) 66947 .RE 66948 .SS v1.48.0 - 2019-06-15 66949 .IP \[bu] 2 66950 New commands 66951 .RS 2 66952 .IP \[bu] 2 66953 serve sftp: Serve an rclone remote over SFTP (Nick Craig-Wood) 66954 .RE 66955 .IP \[bu] 2 66956 New Features 66957 .RS 2 66958 .IP \[bu] 2 66959 Multi threaded downloads to local storage (Nick Craig-Wood) 66960 .RS 2 66961 .IP \[bu] 2 66962 controlled with \f[C]--multi-thread-cutoff\f[R] and 66963 \f[C]--multi-thread-streams\f[R] 66964 .RE 66965 .IP \[bu] 2 66966 Use rclone.conf from rclone executable directory to enable portable use 66967 (albertony) 66968 .IP \[bu] 2 66969 Allow sync of a file and a directory with the same name (forgems) 66970 .RS 2 66971 .IP \[bu] 2 66972 this is common on bucket-based remotes, e.g. 66973 s3, gcs 66974 .RE 66975 .IP \[bu] 2 66976 Add \f[C]--ignore-case-sync\f[R] for forced case insensitivity 66977 (garry415) 66978 .IP \[bu] 2 66979 Implement \f[C]--stats-one-line-date\f[R] and 66980 \f[C]--stats-one-line-date-format\f[R] (Peter Berbec) 66981 .IP \[bu] 2 66982 Log an ERROR for all commands which exit with non-zero status (Nick 66983 Craig-Wood) 66984 .IP \[bu] 2 66985 Use go-homedir to read the home directory more reliably (Nick 66986 Craig-Wood) 66987 .IP \[bu] 2 66988 Enable creating encrypted config through external script invocation 66989 (Wojciech Smigielski) 66990 .IP \[bu] 2 66991 build: Drop support for go1.8 (Nick Craig-Wood) 66992 .IP \[bu] 2 66993 config: Make config create/update encrypt passwords where necessary 66994 (Nick Craig-Wood) 66995 .IP \[bu] 2 66996 copyurl: Honor \f[C]--no-check-certificate\f[R] (Stefan Breunig) 66997 .IP \[bu] 2 66998 install: Linux skip man pages if no mandb (didil) 66999 .IP \[bu] 2 67000 lsf: Support showing the Tier of the object (Nick Craig-Wood) 67001 .IP \[bu] 2 67002 lsjson 67003 .RS 2 67004 .IP \[bu] 2 67005 Added EncryptedPath to output (calisro) 67006 .IP \[bu] 2 67007 Support showing the Tier of the object (Nick Craig-Wood) 67008 .IP \[bu] 2 67009 Add IsBucket field for bucket-based remote listing of the root (Nick 67010 Craig-Wood) 67011 .RE 67012 .IP \[bu] 2 67013 rc 67014 .RS 2 67015 .IP \[bu] 2 67016 Add \f[C]--loopback\f[R] flag to run commands directly without a server 67017 (Nick Craig-Wood) 67018 .IP \[bu] 2 67019 Add operations/fsinfo: Return information about the remote (Nick 67020 Craig-Wood) 67021 .IP \[bu] 2 67022 Skip auth for OPTIONS request (Nick Craig-Wood) 67023 .IP \[bu] 2 67024 cmd/providers: Add DefaultStr, ValueStr and Type fields (Nick 67025 Craig-Wood) 67026 .IP \[bu] 2 67027 jobs: Make job expiry timeouts configurable (Aleksandar Jankovic) 67028 .RE 67029 .IP \[bu] 2 67030 serve dlna reworked and improved (Dan Walters) 67031 .IP \[bu] 2 67032 serve ftp: add \f[C]--ftp-public-ip\f[R] flag to specify public IP 67033 (calistri) 67034 .IP \[bu] 2 67035 serve restic: Add support for \f[C]--private-repos\f[R] in 67036 \f[C]serve restic\f[R] (Florian Apolloner) 67037 .IP \[bu] 2 67038 serve webdav: Combine serve webdav and serve http (Gary Kim) 67039 .IP \[bu] 2 67040 size: Ignore negative sizes when calculating total (Garry McNulty) 67041 .RE 67042 .IP \[bu] 2 67043 Bug Fixes 67044 .RS 2 67045 .IP \[bu] 2 67046 Make move and copy individual files obey \f[C]--backup-dir\f[R] (Nick 67047 Craig-Wood) 67048 .IP \[bu] 2 67049 If \f[C]--ignore-checksum\f[R] is in effect, don\[aq]t calculate 67050 checksum (Nick Craig-Wood) 67051 .IP \[bu] 2 67052 moveto: Fix case-insensitive same remote move (Gary Kim) 67053 .IP \[bu] 2 67054 rc: Fix serving bucket-based objects with \f[C]--rc-serve\f[R] (Nick 67055 Craig-Wood) 67056 .IP \[bu] 2 67057 serve webdav: Fix serveDir not being updated with changes from webdav 67058 (Gary Kim) 67059 .RE 67060 .IP \[bu] 2 67061 Mount 67062 .RS 2 67063 .IP \[bu] 2 67064 Fix poll interval documentation (Animosity022) 67065 .RE 67066 .IP \[bu] 2 67067 VFS 67068 .RS 2 67069 .IP \[bu] 2 67070 Make WriteAt for non cached files work with non-sequential writes (Nick 67071 Craig-Wood) 67072 .RE 67073 .IP \[bu] 2 67074 Local 67075 .RS 2 67076 .IP \[bu] 2 67077 Only calculate the required hashes for big speedup (Nick Craig-Wood) 67078 .IP \[bu] 2 67079 Log errors when listing instead of returning an error (Nick Craig-Wood) 67080 .IP \[bu] 2 67081 Fix preallocate warning on Linux with ZFS (Nick Craig-Wood) 67082 .RE 67083 .IP \[bu] 2 67084 Crypt 67085 .RS 2 67086 .IP \[bu] 2 67087 Make rclone dedupe work through crypt (Nick Craig-Wood) 67088 .IP \[bu] 2 67089 Fix wrapping of ChangeNotify to decrypt directories properly (Nick 67090 Craig-Wood) 67091 .IP \[bu] 2 67092 Support PublicLink (rclone link) of underlying backend (Nick Craig-Wood) 67093 .IP \[bu] 2 67094 Implement Optional methods SetTier, GetTier (Nick Craig-Wood) 67095 .RE 67096 .IP \[bu] 2 67097 B2 67098 .RS 2 67099 .IP \[bu] 2 67100 Implement server-side copy (Nick Craig-Wood) 67101 .IP \[bu] 2 67102 Implement SetModTime (Nick Craig-Wood) 67103 .RE 67104 .IP \[bu] 2 67105 Drive 67106 .RS 2 67107 .IP \[bu] 2 67108 Fix move and copy from TeamDrive to GDrive (Fionera) 67109 .IP \[bu] 2 67110 Add notes that cleanup works in the background on drive (Nick 67111 Craig-Wood) 67112 .IP \[bu] 2 67113 Add \f[C]--drive-server-side-across-configs\f[R] to default back to old 67114 server-side copy semantics by default (Nick Craig-Wood) 67115 .IP \[bu] 2 67116 Add \f[C]--drive-size-as-quota\f[R] to show storage quota usage for file 67117 size (Garry McNulty) 67118 .RE 67119 .IP \[bu] 2 67120 FTP 67121 .RS 2 67122 .IP \[bu] 2 67123 Add FTP List timeout (Jeff Quinn) 67124 .IP \[bu] 2 67125 Add FTP over TLS support (Gary Kim) 67126 .IP \[bu] 2 67127 Add \f[C]--ftp-no-check-certificate\f[R] option for FTPS (Gary Kim) 67128 .RE 67129 .IP \[bu] 2 67130 Google Cloud Storage 67131 .RS 2 67132 .IP \[bu] 2 67133 Fix upload errors when uploading pre 1970 files (Nick Craig-Wood) 67134 .RE 67135 .IP \[bu] 2 67136 Jottacloud 67137 .RS 2 67138 .IP \[bu] 2 67139 Add support for selecting device and mountpoint. 67140 (buengese) 67141 .RE 67142 .IP \[bu] 2 67143 Mega 67144 .RS 2 67145 .IP \[bu] 2 67146 Add cleanup support (Gary Kim) 67147 .RE 67148 .IP \[bu] 2 67149 Onedrive 67150 .RS 2 67151 .IP \[bu] 2 67152 More accurately check if root is found (Cnly) 67153 .RE 67154 .IP \[bu] 2 67155 S3 67156 .RS 2 67157 .IP \[bu] 2 67158 Support S3 Accelerated endpoints with 67159 \f[C]--s3-use-accelerate-endpoint\f[R] (Nick Craig-Wood) 67160 .IP \[bu] 2 67161 Add config info for Wasabi\[aq]s EU Central endpoint (Robert Marko) 67162 .IP \[bu] 2 67163 Make SetModTime work for GLACIER while syncing (Philip Harvey) 67164 .RE 67165 .IP \[bu] 2 67166 SFTP 67167 .RS 2 67168 .IP \[bu] 2 67169 Add About support (Gary Kim) 67170 .IP \[bu] 2 67171 Fix about parsing of \f[C]df\f[R] results so it can cope with -ve 67172 results (Nick Craig-Wood) 67173 .IP \[bu] 2 67174 Send custom client version and debug server version (Nick Craig-Wood) 67175 .RE 67176 .IP \[bu] 2 67177 WebDAV 67178 .RS 2 67179 .IP \[bu] 2 67180 Retry on 423 Locked errors (Nick Craig-Wood) 67181 .RE 67182 .SS v1.47.0 - 2019-04-13 67183 .IP \[bu] 2 67184 New backends 67185 .RS 2 67186 .IP \[bu] 2 67187 Backend for Koofr cloud storage service. 67188 (jaKa) 67189 .RE 67190 .IP \[bu] 2 67191 New Features 67192 .RS 2 67193 .IP \[bu] 2 67194 Resume downloads if the reader fails in copy (Nick Craig-Wood) 67195 .RS 2 67196 .IP \[bu] 2 67197 this means rclone will restart transfers if the source has an error 67198 .IP \[bu] 2 67199 this is most useful for downloads or cloud to cloud copies 67200 .RE 67201 .IP \[bu] 2 67202 Use \f[C]--fast-list\f[R] for listing operations where it won\[aq]t use 67203 more memory (Nick Craig-Wood) 67204 .RS 2 67205 .IP \[bu] 2 67206 this should speed up the following operations on remotes which support 67207 \f[C]ListR\f[R] 67208 .IP \[bu] 2 67209 \f[C]dedupe\f[R], \f[C]serve restic\f[R] \f[C]lsf\f[R], \f[C]ls\f[R], 67210 \f[C]lsl\f[R], \f[C]lsjson\f[R], \f[C]lsd\f[R], \f[C]md5sum\f[R], 67211 \f[C]sha1sum\f[R], \f[C]hashsum\f[R], \f[C]size\f[R], \f[C]delete\f[R], 67212 \f[C]cat\f[R], \f[C]settier\f[R] 67213 .IP \[bu] 2 67214 use \f[C]--disable ListR\f[R] to get old behaviour if required 67215 .RE 67216 .IP \[bu] 2 67217 Make \f[C]--files-from\f[R] traverse the destination unless 67218 \f[C]--no-traverse\f[R] is set (Nick Craig-Wood) 67219 .RS 2 67220 .IP \[bu] 2 67221 this fixes \f[C]--files-from\f[R] with Google drive and excessive API 67222 use in general. 67223 .RE 67224 .IP \[bu] 2 67225 Make server-side copy account bytes and obey \f[C]--max-transfer\f[R] 67226 (Nick Craig-Wood) 67227 .IP \[bu] 2 67228 Add \f[C]--create-empty-src-dirs\f[R] flag and default to not creating 67229 empty dirs (ishuah) 67230 .IP \[bu] 2 67231 Add client side TLS/SSL flags 67232 \f[C]--ca-cert\f[R]/\f[C]--client-cert\f[R]/\f[C]--client-key\f[R] (Nick 67233 Craig-Wood) 67234 .IP \[bu] 2 67235 Implement \f[C]--suffix-keep-extension\f[R] for use with 67236 \f[C]--suffix\f[R] (Nick Craig-Wood) 67237 .IP \[bu] 2 67238 build: 67239 .RS 2 67240 .IP \[bu] 2 67241 Switch to semver compliant version tags to be go modules compliant (Nick 67242 Craig-Wood) 67243 .IP \[bu] 2 67244 Update to use go1.12.x for the build (Nick Craig-Wood) 67245 .RE 67246 .IP \[bu] 2 67247 serve dlna: Add connection manager service description to improve 67248 compatibility (Dan Walters) 67249 .IP \[bu] 2 67250 lsf: Add \[aq]e\[aq] format to show encrypted names and \[aq]o\[aq] for 67251 original IDs (Nick Craig-Wood) 67252 .IP \[bu] 2 67253 lsjson: Added \f[C]--files-only\f[R] and \f[C]--dirs-only\f[R] flags 67254 (calistri) 67255 .IP \[bu] 2 67256 rc: Implement operations/publiclink the equivalent of 67257 \f[C]rclone link\f[R] (Nick Craig-Wood) 67258 .RE 67259 .IP \[bu] 2 67260 Bug Fixes 67261 .RS 2 67262 .IP \[bu] 2 67263 accounting: Fix total ETA when \f[C]--stats-unit bits\f[R] is in effect 67264 (Nick Craig-Wood) 67265 .IP \[bu] 2 67266 Bash TAB completion 67267 .RS 2 67268 .IP \[bu] 2 67269 Use private custom func to fix clash between rclone and kubectl (Nick 67270 Craig-Wood) 67271 .IP \[bu] 2 67272 Fix for remotes with underscores in their names (Six) 67273 .IP \[bu] 2 67274 Fix completion of remotes (Florian Gamb\[:o]ck) 67275 .IP \[bu] 2 67276 Fix autocompletion of remote paths with spaces (Danil Semelenov) 67277 .RE 67278 .IP \[bu] 2 67279 serve dlna: Fix root XML service descriptor (Dan Walters) 67280 .IP \[bu] 2 67281 ncdu: Fix display corruption with Chinese characters (Nick Craig-Wood) 67282 .IP \[bu] 2 67283 Add SIGTERM to signals which run the exit handlers on unix (Nick 67284 Craig-Wood) 67285 .IP \[bu] 2 67286 rc: Reload filter when the options are set via the rc (Nick Craig-Wood) 67287 .RE 67288 .IP \[bu] 2 67289 VFS / Mount 67290 .RS 2 67291 .IP \[bu] 2 67292 Fix FreeBSD: Ignore Truncate if called with no readers and already the 67293 correct size (Nick Craig-Wood) 67294 .IP \[bu] 2 67295 Read directory and check for a file before mkdir (Nick Craig-Wood) 67296 .IP \[bu] 2 67297 Shorten the locking window for vfs/refresh (Nick Craig-Wood) 67298 .RE 67299 .IP \[bu] 2 67300 Azure Blob 67301 .RS 2 67302 .IP \[bu] 2 67303 Enable MD5 checksums when uploading files bigger than the 67304 \[dq]Cutoff\[dq] (Dr.Rx) 67305 .IP \[bu] 2 67306 Fix SAS URL support (Nick Craig-Wood) 67307 .RE 67308 .IP \[bu] 2 67309 B2 67310 .RS 2 67311 .IP \[bu] 2 67312 Allow manual configuration of backblaze downloadUrl (Vince) 67313 .IP \[bu] 2 67314 Ignore already_hidden error on remove (Nick Craig-Wood) 67315 .IP \[bu] 2 67316 Ignore malformed \f[C]src_last_modified_millis\f[R] (Nick Craig-Wood) 67317 .RE 67318 .IP \[bu] 2 67319 Drive 67320 .RS 2 67321 .IP \[bu] 2 67322 Add \f[C]--skip-checksum-gphotos\f[R] to ignore incorrect checksums on 67323 Google Photos (Nick Craig-Wood) 67324 .IP \[bu] 2 67325 Allow server-side move/copy between different remotes. 67326 (Fionera) 67327 .IP \[bu] 2 67328 Add docs on team drives and \f[C]--fast-list\f[R] eventual consistency 67329 (Nestar47) 67330 .IP \[bu] 2 67331 Fix imports of text files (Nick Craig-Wood) 67332 .IP \[bu] 2 67333 Fix range requests on 0 length files (Nick Craig-Wood) 67334 .IP \[bu] 2 67335 Fix creation of duplicates with server-side copy (Nick Craig-Wood) 67336 .RE 67337 .IP \[bu] 2 67338 Dropbox 67339 .RS 2 67340 .IP \[bu] 2 67341 Retry blank errors to fix long listings (Nick Craig-Wood) 67342 .RE 67343 .IP \[bu] 2 67344 FTP 67345 .RS 2 67346 .IP \[bu] 2 67347 Add \f[C]--ftp-concurrency\f[R] to limit maximum number of connections 67348 (Nick Craig-Wood) 67349 .RE 67350 .IP \[bu] 2 67351 Google Cloud Storage 67352 .RS 2 67353 .IP \[bu] 2 67354 Fall back to default application credentials (marcintustin) 67355 .IP \[bu] 2 67356 Allow bucket policy only buckets (Nick Craig-Wood) 67357 .RE 67358 .IP \[bu] 2 67359 HTTP 67360 .RS 2 67361 .IP \[bu] 2 67362 Add \f[C]--http-no-slash\f[R] for websites with directories with no 67363 slashes (Nick Craig-Wood) 67364 .IP \[bu] 2 67365 Remove duplicates from listings (Nick Craig-Wood) 67366 .IP \[bu] 2 67367 Fix socket leak on 404 errors (Nick Craig-Wood) 67368 .RE 67369 .IP \[bu] 2 67370 Jottacloud 67371 .RS 2 67372 .IP \[bu] 2 67373 Fix token refresh (Sebastian B\[:u]nger) 67374 .IP \[bu] 2 67375 Add device registration (Oliver Heyme) 67376 .RE 67377 .IP \[bu] 2 67378 Onedrive 67379 .RS 2 67380 .IP \[bu] 2 67381 Implement graceful cancel of multipart uploads if rclone is interrupted 67382 (Cnly) 67383 .IP \[bu] 2 67384 Always add trailing colon to path when addressing items, (Cnly) 67385 .IP \[bu] 2 67386 Return errors instead of panic for invalid uploads (Fabian M\[:o]ller) 67387 .RE 67388 .IP \[bu] 2 67389 S3 67390 .RS 2 67391 .IP \[bu] 2 67392 Add support for \[dq]Glacier Deep Archive\[dq] storage class (Manu) 67393 .IP \[bu] 2 67394 Update Dreamhost endpoint (Nick Craig-Wood) 67395 .IP \[bu] 2 67396 Note incompatibility with CEPH Jewel (Nick Craig-Wood) 67397 .RE 67398 .IP \[bu] 2 67399 SFTP 67400 .RS 2 67401 .IP \[bu] 2 67402 Allow custom ssh client config (Alexandru Bumbacea) 67403 .RE 67404 .IP \[bu] 2 67405 Swift 67406 .RS 2 67407 .IP \[bu] 2 67408 Obey Retry-After to enable OVH restore from cold storage (Nick 67409 Craig-Wood) 67410 .IP \[bu] 2 67411 Work around token expiry on CEPH (Nick Craig-Wood) 67412 .RE 67413 .IP \[bu] 2 67414 WebDAV 67415 .RS 2 67416 .IP \[bu] 2 67417 Allow IsCollection property to be integer or boolean (Nick Craig-Wood) 67418 .IP \[bu] 2 67419 Fix race when creating directories (Nick Craig-Wood) 67420 .IP \[bu] 2 67421 Fix About/df when reading the available/total returns 0 (Nick 67422 Craig-Wood) 67423 .RE 67424 .SS v1.46 - 2019-02-09 67425 .IP \[bu] 2 67426 New backends 67427 .RS 2 67428 .IP \[bu] 2 67429 Support Alibaba Cloud (Aliyun) OSS via the s3 backend (Nick Craig-Wood) 67430 .RE 67431 .IP \[bu] 2 67432 New commands 67433 .RS 2 67434 .IP \[bu] 2 67435 serve dlna: serves a remove via DLNA for the local network (nicolov) 67436 .RE 67437 .IP \[bu] 2 67438 New Features 67439 .RS 2 67440 .IP \[bu] 2 67441 copy, move: Restore deprecated \f[C]--no-traverse\f[R] flag (Nick 67442 Craig-Wood) 67443 .RS 2 67444 .IP \[bu] 2 67445 This is useful for when transferring a small number of files into a 67446 large destination 67447 .RE 67448 .IP \[bu] 2 67449 genautocomplete: Add remote path completion for bash completion 67450 (Christopher Peterson & Danil Semelenov) 67451 .IP \[bu] 2 67452 Buffer memory handling reworked to return memory to the OS better (Nick 67453 Craig-Wood) 67454 .RS 2 67455 .IP \[bu] 2 67456 Buffer recycling library to replace sync.Pool 67457 .IP \[bu] 2 67458 Optionally use memory mapped memory for better memory shrinking 67459 .IP \[bu] 2 67460 Enable with \f[C]--use-mmap\f[R] if having memory problems - not default 67461 yet 67462 .RE 67463 .IP \[bu] 2 67464 Parallelise reading of files specified by \f[C]--files-from\f[R] (Nick 67465 Craig-Wood) 67466 .IP \[bu] 2 67467 check: Add stats showing total files matched. 67468 (Dario Guzik) 67469 .IP \[bu] 2 67470 Allow rename/delete open files under Windows (Nick Craig-Wood) 67471 .IP \[bu] 2 67472 lsjson: Use exactly the correct number of decimal places in the seconds 67473 (Nick Craig-Wood) 67474 .IP \[bu] 2 67475 Add cookie support with cmdline switch \f[C]--use-cookies\f[R] for all 67476 HTTP based remotes (qip) 67477 .IP \[bu] 2 67478 Warn if \f[C]--checksum\f[R] is set but there are no hashes available 67479 (Nick Craig-Wood) 67480 .IP \[bu] 2 67481 Rework rate limiting (pacer) to be more accurate and allow bursting 67482 (Nick Craig-Wood) 67483 .IP \[bu] 2 67484 Improve error reporting for too many/few arguments in commands (Nick 67485 Craig-Wood) 67486 .IP \[bu] 2 67487 listremotes: Remove \f[C]-l\f[R] short flag as it conflicts with the new 67488 global flag (weetmuts) 67489 .IP \[bu] 2 67490 Make http serving with auth generate INFO messages on auth fail (Nick 67491 Craig-Wood) 67492 .RE 67493 .IP \[bu] 2 67494 Bug Fixes 67495 .RS 2 67496 .IP \[bu] 2 67497 Fix layout of stats (Nick Craig-Wood) 67498 .IP \[bu] 2 67499 Fix \f[C]--progress\f[R] crash under Windows Jenkins (Nick Craig-Wood) 67500 .IP \[bu] 2 67501 Fix transfer of google/onedrive docs by calling Rcat in Copy when size 67502 is -1 (Cnly) 67503 .IP \[bu] 2 67504 copyurl: Fix checking of \f[C]--dry-run\f[R] (Denis Skovpen) 67505 .RE 67506 .IP \[bu] 2 67507 Mount 67508 .RS 2 67509 .IP \[bu] 2 67510 Check that mountpoint and local directory to mount don\[aq]t overlap 67511 (Nick Craig-Wood) 67512 .IP \[bu] 2 67513 Fix mount size under 32 bit Windows (Nick Craig-Wood) 67514 .RE 67515 .IP \[bu] 2 67516 VFS 67517 .RS 2 67518 .IP \[bu] 2 67519 Implement renaming of directories for backends without DirMove (Nick 67520 Craig-Wood) 67521 .RS 2 67522 .IP \[bu] 2 67523 now all backends except b2 support renaming directories 67524 .RE 67525 .IP \[bu] 2 67526 Implement \f[C]--vfs-cache-max-size\f[R] to limit the total size of the 67527 cache (Nick Craig-Wood) 67528 .IP \[bu] 2 67529 Add \f[C]--dir-perms\f[R] and \f[C]--file-perms\f[R] flags to set 67530 default permissions (Nick Craig-Wood) 67531 .IP \[bu] 2 67532 Fix deadlock on concurrent operations on a directory (Nick Craig-Wood) 67533 .IP \[bu] 2 67534 Fix deadlock between RWFileHandle.close and File.Remove (Nick 67535 Craig-Wood) 67536 .IP \[bu] 2 67537 Fix renaming/deleting open files with cache mode \[dq]writes\[dq] under 67538 Windows (Nick Craig-Wood) 67539 .IP \[bu] 2 67540 Fix panic on rename with \f[C]--dry-run\f[R] set (Nick Craig-Wood) 67541 .IP \[bu] 2 67542 Fix vfs/refresh with recurse=true needing the \f[C]--fast-list\f[R] flag 67543 .RE 67544 .IP \[bu] 2 67545 Local 67546 .RS 2 67547 .IP \[bu] 2 67548 Add support for \f[C]-l\f[R]/\f[C]--links\f[R] (symbolic link 67549 translation) (yair\[at]unicorn) 67550 .RS 2 67551 .IP \[bu] 2 67552 this works by showing links as \f[C]link.rclonelink\f[R] - see local 67553 backend docs for more info 67554 .IP \[bu] 2 67555 this errors if used with \f[C]-L\f[R]/\f[C]--copy-links\f[R] 67556 .RE 67557 .IP \[bu] 2 67558 Fix renaming/deleting open files on Windows (Nick Craig-Wood) 67559 .RE 67560 .IP \[bu] 2 67561 Crypt 67562 .RS 2 67563 .IP \[bu] 2 67564 Check for maximum length before decrypting filename to fix panic (Garry 67565 McNulty) 67566 .RE 67567 .IP \[bu] 2 67568 Azure Blob 67569 .RS 2 67570 .IP \[bu] 2 67571 Allow building azureblob backend on *BSD (themylogin) 67572 .IP \[bu] 2 67573 Use the rclone HTTP client to support \f[C]--dump headers\f[R], 67574 \f[C]--tpslimit\f[R], etc. 67575 (Nick Craig-Wood) 67576 .IP \[bu] 2 67577 Use the s3 pacer for 0 delay in non error conditions (Nick Craig-Wood) 67578 .IP \[bu] 2 67579 Ignore directory markers (Nick Craig-Wood) 67580 .IP \[bu] 2 67581 Stop Mkdir attempting to create existing containers (Nick Craig-Wood) 67582 .RE 67583 .IP \[bu] 2 67584 B2 67585 .RS 2 67586 .IP \[bu] 2 67587 cleanup: will remove unfinished large files >24hrs old (Garry McNulty) 67588 .IP \[bu] 2 67589 For a bucket limited application key check the bucket name (Nick 67590 Craig-Wood) 67591 .RS 2 67592 .IP \[bu] 2 67593 before this, rclone would use the authorised bucket regardless of what 67594 you put on the command line 67595 .RE 67596 .IP \[bu] 2 67597 Added \f[C]--b2-disable-checksum\f[R] flag (Wojciech Smigielski) 67598 .RS 2 67599 .IP \[bu] 2 67600 this enables large files to be uploaded without a SHA-1 hash for speed 67601 reasons 67602 .RE 67603 .RE 67604 .IP \[bu] 2 67605 Drive 67606 .RS 2 67607 .IP \[bu] 2 67608 Set default pacer to 100ms for 10 tps (Nick Craig-Wood) 67609 .RS 2 67610 .IP \[bu] 2 67611 This fits the Google defaults much better and reduces the 403 errors 67612 massively 67613 .IP \[bu] 2 67614 Add \f[C]--drive-pacer-min-sleep\f[R] and \f[C]--drive-pacer-burst\f[R] 67615 to control the pacer 67616 .RE 67617 .IP \[bu] 2 67618 Improve ChangeNotify support for items with multiple parents (Fabian 67619 M\[:o]ller) 67620 .IP \[bu] 2 67621 Fix ListR for items with multiple parents - this fixes oddities with 67622 \f[C]vfs/refresh\f[R] (Fabian M\[:o]ller) 67623 .IP \[bu] 2 67624 Fix using \f[C]--drive-impersonate\f[R] and appfolders (Nick Craig-Wood) 67625 .IP \[bu] 2 67626 Fix google docs in rclone mount for some (not all) applications (Nick 67627 Craig-Wood) 67628 .RE 67629 .IP \[bu] 2 67630 Dropbox 67631 .RS 2 67632 .IP \[bu] 2 67633 Retry-After support for Dropbox backend (Mathieu Carbou) 67634 .RE 67635 .IP \[bu] 2 67636 FTP 67637 .RS 2 67638 .IP \[bu] 2 67639 Wait for 60 seconds for a connection to Close then declare it dead (Nick 67640 Craig-Wood) 67641 .RS 2 67642 .IP \[bu] 2 67643 helps with indefinite hangs on some FTP servers 67644 .RE 67645 .RE 67646 .IP \[bu] 2 67647 Google Cloud Storage 67648 .RS 2 67649 .IP \[bu] 2 67650 Update google cloud storage endpoints (weetmuts) 67651 .RE 67652 .IP \[bu] 2 67653 HTTP 67654 .RS 2 67655 .IP \[bu] 2 67656 Add an example with username and password which is supported but 67657 wasn\[aq]t documented (Nick Craig-Wood) 67658 .IP \[bu] 2 67659 Fix backend with \f[C]--files-from\f[R] and nonexistent files (Nick 67660 Craig-Wood) 67661 .RE 67662 .IP \[bu] 2 67663 Hubic 67664 .RS 2 67665 .IP \[bu] 2 67666 Make error message more informative if authentication fails (Nick 67667 Craig-Wood) 67668 .RE 67669 .IP \[bu] 2 67670 Jottacloud 67671 .RS 2 67672 .IP \[bu] 2 67673 Resume and deduplication support (Oliver Heyme) 67674 .IP \[bu] 2 67675 Use token auth for all API requests Don\[aq]t store password anymore 67676 (Sebastian B\[:u]nger) 67677 .IP \[bu] 2 67678 Add support for 2-factor authentication (Sebastian B\[:u]nger) 67679 .RE 67680 .IP \[bu] 2 67681 Mega 67682 .RS 2 67683 .IP \[bu] 2 67684 Implement v2 account login which fixes logins for newer Mega accounts 67685 (Nick Craig-Wood) 67686 .IP \[bu] 2 67687 Return error if an unknown length file is attempted to be uploaded (Nick 67688 Craig-Wood) 67689 .IP \[bu] 2 67690 Add new error codes for better error reporting (Nick Craig-Wood) 67691 .RE 67692 .IP \[bu] 2 67693 Onedrive 67694 .RS 2 67695 .IP \[bu] 2 67696 Fix broken support for \[dq]shared with me\[dq] folders (Alex Chen) 67697 .IP \[bu] 2 67698 Fix root ID not normalised (Cnly) 67699 .IP \[bu] 2 67700 Return err instead of panic on unknown-sized uploads (Cnly) 67701 .RE 67702 .IP \[bu] 2 67703 Qingstor 67704 .RS 2 67705 .IP \[bu] 2 67706 Fix go routine leak on multipart upload errors (Nick Craig-Wood) 67707 .IP \[bu] 2 67708 Add upload chunk size/concurrency/cutoff control (Nick Craig-Wood) 67709 .IP \[bu] 2 67710 Default \f[C]--qingstor-upload-concurrency\f[R] to 1 to work around bug 67711 (Nick Craig-Wood) 67712 .RE 67713 .IP \[bu] 2 67714 S3 67715 .RS 2 67716 .IP \[bu] 2 67717 Implement \f[C]--s3-upload-cutoff\f[R] for single part uploads below 67718 this (Nick Craig-Wood) 67719 .IP \[bu] 2 67720 Change \f[C]--s3-upload-concurrency\f[R] default to 4 to increase 67721 performance (Nick Craig-Wood) 67722 .IP \[bu] 2 67723 Add \f[C]--s3-bucket-acl\f[R] to control bucket ACL (Nick Craig-Wood) 67724 .IP \[bu] 2 67725 Auto detect region for buckets on operation failure (Nick Craig-Wood) 67726 .IP \[bu] 2 67727 Add GLACIER storage class (William Cocker) 67728 .IP \[bu] 2 67729 Add Scaleway to s3 documentation (R\['e]my L\['e]one) 67730 .IP \[bu] 2 67731 Add AWS endpoint eu-north-1 (weetmuts) 67732 .RE 67733 .IP \[bu] 2 67734 SFTP 67735 .RS 2 67736 .IP \[bu] 2 67737 Add support for PEM encrypted private keys (Fabian M\[:o]ller) 67738 .IP \[bu] 2 67739 Add option to force the usage of an ssh-agent (Fabian M\[:o]ller) 67740 .IP \[bu] 2 67741 Perform environment variable expansion on key-file (Fabian M\[:o]ller) 67742 .IP \[bu] 2 67743 Fix rmdir on Windows based servers (e.g. 67744 CrushFTP) (Nick Craig-Wood) 67745 .IP \[bu] 2 67746 Fix rmdir deleting directory contents on some SFTP servers (Nick 67747 Craig-Wood) 67748 .IP \[bu] 2 67749 Fix error on dangling symlinks (Nick Craig-Wood) 67750 .RE 67751 .IP \[bu] 2 67752 Swift 67753 .RS 2 67754 .IP \[bu] 2 67755 Add \f[C]--swift-no-chunk\f[R] to disable segmented uploads in 67756 rcat/mount (Nick Craig-Wood) 67757 .IP \[bu] 2 67758 Introduce application credential auth support (kayrus) 67759 .IP \[bu] 2 67760 Fix memory usage by slimming Object (Nick Craig-Wood) 67761 .IP \[bu] 2 67762 Fix extra requests on upload (Nick Craig-Wood) 67763 .IP \[bu] 2 67764 Fix reauth on big files (Nick Craig-Wood) 67765 .RE 67766 .IP \[bu] 2 67767 Union 67768 .RS 2 67769 .IP \[bu] 2 67770 Fix poll-interval not working (Nick Craig-Wood) 67771 .RE 67772 .IP \[bu] 2 67773 WebDAV 67774 .RS 2 67775 .IP \[bu] 2 67776 Support About which means rclone mount will show the correct disk size 67777 (Nick Craig-Wood) 67778 .IP \[bu] 2 67779 Support MD5 and SHA1 hashes with Owncloud and Nextcloud (Nick 67780 Craig-Wood) 67781 .IP \[bu] 2 67782 Fail soft on time parsing errors (Nick Craig-Wood) 67783 .IP \[bu] 2 67784 Fix infinite loop on failed directory creation (Nick Craig-Wood) 67785 .IP \[bu] 2 67786 Fix identification of directories for Bitrix Site Manager (Nick 67787 Craig-Wood) 67788 .IP \[bu] 2 67789 Fix upload of 0 length files on some servers (Nick Craig-Wood) 67790 .IP \[bu] 2 67791 Fix if MKCOL fails with 423 Locked assume the directory exists (Nick 67792 Craig-Wood) 67793 .RE 67794 .SS v1.45 - 2018-11-24 67795 .IP \[bu] 2 67796 New backends 67797 .RS 2 67798 .IP \[bu] 2 67799 The Yandex backend was re-written - see below for details (Sebastian 67800 B\[:u]nger) 67801 .RE 67802 .IP \[bu] 2 67803 New commands 67804 .RS 2 67805 .IP \[bu] 2 67806 rcd: New command just to serve the remote control API (Nick Craig-Wood) 67807 .RE 67808 .IP \[bu] 2 67809 New Features 67810 .RS 2 67811 .IP \[bu] 2 67812 The remote control API (rc) was greatly expanded to allow full control 67813 over rclone (Nick Craig-Wood) 67814 .RS 2 67815 .IP \[bu] 2 67816 sensitive operations require authorization or the \f[C]--rc-no-auth\f[R] 67817 flag 67818 .IP \[bu] 2 67819 config/* operations to configure rclone 67820 .IP \[bu] 2 67821 options/* for reading/setting command line flags 67822 .IP \[bu] 2 67823 operations/* for all low level operations, e.g. 67824 copy file, list directory 67825 .IP \[bu] 2 67826 sync/* for sync, copy and move 67827 .IP \[bu] 2 67828 \f[C]--rc-files\f[R] flag to serve files on the rc http server 67829 .RS 2 67830 .IP \[bu] 2 67831 this is for building web native GUIs for rclone 67832 .RE 67833 .IP \[bu] 2 67834 Optionally serving objects on the rc http server 67835 .IP \[bu] 2 67836 Ensure rclone fails to start up if the \f[C]--rc\f[R] port is in use 67837 already 67838 .IP \[bu] 2 67839 See the rc docs (https://rclone.org/rc/) for more info 67840 .RE 67841 .IP \[bu] 2 67842 sync/copy/move 67843 .RS 2 67844 .IP \[bu] 2 67845 Make \f[C]--files-from\f[R] only read the objects specified and 67846 don\[aq]t scan directories (Nick Craig-Wood) 67847 .RS 2 67848 .IP \[bu] 2 67849 This is a huge speed improvement for destinations with lots of files 67850 .RE 67851 .RE 67852 .IP \[bu] 2 67853 filter: Add \f[C]--ignore-case\f[R] flag (Nick Craig-Wood) 67854 .IP \[bu] 2 67855 ncdu: Add remove function (\[aq]d\[aq] key) (Henning Surmeier) 67856 .IP \[bu] 2 67857 rc command 67858 .RS 2 67859 .IP \[bu] 2 67860 Add \f[C]--json\f[R] flag for structured JSON input (Nick Craig-Wood) 67861 .IP \[bu] 2 67862 Add \f[C]--user\f[R] and \f[C]--pass\f[R] flags and interpret 67863 \f[C]--rc-user\f[R], \f[C]--rc-pass\f[R], \f[C]--rc-addr\f[R] (Nick 67864 Craig-Wood) 67865 .RE 67866 .IP \[bu] 2 67867 build 67868 .RS 2 67869 .IP \[bu] 2 67870 Require go1.8 or later for compilation (Nick Craig-Wood) 67871 .IP \[bu] 2 67872 Enable softfloat on MIPS arch (Scott Edlund) 67873 .IP \[bu] 2 67874 Integration test framework revamped with a better report and better 67875 retries (Nick Craig-Wood) 67876 .RE 67877 .RE 67878 .IP \[bu] 2 67879 Bug Fixes 67880 .RS 2 67881 .IP \[bu] 2 67882 cmd: Make \f[C]--progress\f[R] update the stats correctly at the end 67883 (Nick Craig-Wood) 67884 .IP \[bu] 2 67885 config: Create config directory on save if it is missing (Nick 67886 Craig-Wood) 67887 .IP \[bu] 2 67888 dedupe: Check for existing filename before renaming a dupe file (ssaqua) 67889 .IP \[bu] 2 67890 move: Don\[aq]t create directories with \f[C]--dry-run\f[R] (Nick 67891 Craig-Wood) 67892 .IP \[bu] 2 67893 operations: Fix Purge and Rmdirs when dir is not the root (Nick 67894 Craig-Wood) 67895 .IP \[bu] 2 67896 serve http/webdav/restic: Ensure rclone exits if the port is in use 67897 (Nick Craig-Wood) 67898 .RE 67899 .IP \[bu] 2 67900 Mount 67901 .RS 2 67902 .IP \[bu] 2 67903 Make \f[C]--volname\f[R] work for Windows and macOS (Nick Craig-Wood) 67904 .RE 67905 .IP \[bu] 2 67906 Azure Blob 67907 .RS 2 67908 .IP \[bu] 2 67909 Avoid context deadline exceeded error by setting a large TryTimeout 67910 value (brused27) 67911 .IP \[bu] 2 67912 Fix erroneous Rmdir error \[dq]directory not empty\[dq] (Nick 67913 Craig-Wood) 67914 .IP \[bu] 2 67915 Wait for up to 60s to create a just deleted container (Nick Craig-Wood) 67916 .RE 67917 .IP \[bu] 2 67918 Dropbox 67919 .RS 2 67920 .IP \[bu] 2 67921 Add dropbox impersonate support (Jake Coggiano) 67922 .RE 67923 .IP \[bu] 2 67924 Jottacloud 67925 .RS 2 67926 .IP \[bu] 2 67927 Fix bug in \f[C]--fast-list\f[R] handing of empty folders (albertony) 67928 .RE 67929 .IP \[bu] 2 67930 Opendrive 67931 .RS 2 67932 .IP \[bu] 2 67933 Fix transfer of files with \f[C]+\f[R] and \f[C]&\f[R] in (Nick 67934 Craig-Wood) 67935 .IP \[bu] 2 67936 Fix retries of upload chunks (Nick Craig-Wood) 67937 .RE 67938 .IP \[bu] 2 67939 S3 67940 .RS 2 67941 .IP \[bu] 2 67942 Set ACL for server-side copies to that provided by the user (Nick 67943 Craig-Wood) 67944 .IP \[bu] 2 67945 Fix role_arn, credential_source, ... 67946 (Erik Swanson) 67947 .IP \[bu] 2 67948 Add config info for Wasabi\[aq]s US-West endpoint (Henry Ptasinski) 67949 .RE 67950 .IP \[bu] 2 67951 SFTP 67952 .RS 2 67953 .IP \[bu] 2 67954 Ensure file hash checking is really disabled (Jon Fautley) 67955 .RE 67956 .IP \[bu] 2 67957 Swift 67958 .RS 2 67959 .IP \[bu] 2 67960 Add pacer for retries to make swift more reliable (Nick Craig-Wood) 67961 .RE 67962 .IP \[bu] 2 67963 WebDAV 67964 .RS 2 67965 .IP \[bu] 2 67966 Add Content-Type to PUT requests (Nick Craig-Wood) 67967 .IP \[bu] 2 67968 Fix config parsing so \f[C]--webdav-user\f[R] and 67969 \f[C]--webdav-pass\f[R] flags work (Nick Craig-Wood) 67970 .IP \[bu] 2 67971 Add RFC3339 date format (Ralf Hemberger) 67972 .RE 67973 .IP \[bu] 2 67974 Yandex 67975 .RS 2 67976 .IP \[bu] 2 67977 The yandex backend was re-written (Sebastian B\[:u]nger) 67978 .RS 2 67979 .IP \[bu] 2 67980 This implements low level retries (Sebastian B\[:u]nger) 67981 .IP \[bu] 2 67982 Copy, Move, DirMove, PublicLink and About optional interfaces (Sebastian 67983 B\[:u]nger) 67984 .IP \[bu] 2 67985 Improved general error handling (Sebastian B\[:u]nger) 67986 .IP \[bu] 2 67987 Removed ListR for now due to inconsistent behaviour (Sebastian 67988 B\[:u]nger) 67989 .RE 67990 .RE 67991 .SS v1.44 - 2018-10-15 67992 .IP \[bu] 2 67993 New commands 67994 .RS 2 67995 .IP \[bu] 2 67996 serve ftp: Add ftp server (Antoine GIRARD) 67997 .IP \[bu] 2 67998 settier: perform storage tier changes on supported remotes (sandeepkru) 67999 .RE 68000 .IP \[bu] 2 68001 New Features 68002 .RS 2 68003 .IP \[bu] 2 68004 Reworked command line help 68005 .RS 2 68006 .IP \[bu] 2 68007 Make default help less verbose (Nick Craig-Wood) 68008 .IP \[bu] 2 68009 Split flags up into global and backend flags (Nick Craig-Wood) 68010 .IP \[bu] 2 68011 Implement specialised help for flags and backends (Nick Craig-Wood) 68012 .IP \[bu] 2 68013 Show URL of backend help page when starting config (Nick Craig-Wood) 68014 .RE 68015 .IP \[bu] 2 68016 stats: Long names now split in center (Joanna Marek) 68017 .IP \[bu] 2 68018 Add \f[C]--log-format\f[R] flag for more control over log output (dcpu) 68019 .IP \[bu] 2 68020 rc: Add support for OPTIONS and basic CORS (frenos) 68021 .IP \[bu] 2 68022 stats: show FatalErrors and NoRetryErrors in stats (C\['e]dric Connes) 68023 .RE 68024 .IP \[bu] 2 68025 Bug Fixes 68026 .RS 2 68027 .IP \[bu] 2 68028 Fix -P not ending with a new line (Nick Craig-Wood) 68029 .IP \[bu] 2 68030 config: don\[aq]t create default config dir when user supplies 68031 \f[C]--config\f[R] (albertony) 68032 .IP \[bu] 2 68033 Don\[aq]t print non-ASCII characters with \f[C]--progress\f[R] on 68034 windows (Nick Craig-Wood) 68035 .IP \[bu] 2 68036 Correct logs for excluded items (ssaqua) 68037 .RE 68038 .IP \[bu] 2 68039 Mount 68040 .RS 2 68041 .IP \[bu] 2 68042 Remove EXPERIMENTAL tags (Nick Craig-Wood) 68043 .RE 68044 .IP \[bu] 2 68045 VFS 68046 .RS 2 68047 .IP \[bu] 2 68048 Fix race condition detected by serve ftp tests (Nick Craig-Wood) 68049 .IP \[bu] 2 68050 Add vfs/poll-interval rc command (Fabian M\[:o]ller) 68051 .IP \[bu] 2 68052 Enable rename for nearly all remotes using server-side Move or Copy 68053 (Nick Craig-Wood) 68054 .IP \[bu] 2 68055 Reduce directory cache cleared by poll-interval (Fabian M\[:o]ller) 68056 .IP \[bu] 2 68057 Remove EXPERIMENTAL tags (Nick Craig-Wood) 68058 .RE 68059 .IP \[bu] 2 68060 Local 68061 .RS 2 68062 .IP \[bu] 2 68063 Skip bad symlinks in dir listing with -L enabled (C\['e]dric Connes) 68064 .IP \[bu] 2 68065 Preallocate files on Windows to reduce fragmentation (Nick Craig-Wood) 68066 .IP \[bu] 2 68067 Preallocate files on linux with fallocate(2) (Nick Craig-Wood) 68068 .RE 68069 .IP \[bu] 2 68070 Cache 68071 .RS 2 68072 .IP \[bu] 2 68073 Add cache/fetch rc function (Fabian M\[:o]ller) 68074 .IP \[bu] 2 68075 Fix worker scale down (Fabian M\[:o]ller) 68076 .IP \[bu] 2 68077 Improve performance by not sending info requests for cached chunks 68078 (dcpu) 68079 .IP \[bu] 2 68080 Fix error return value of cache/fetch rc method (Fabian M\[:o]ller) 68081 .IP \[bu] 2 68082 Documentation fix for cache-chunk-total-size (Anagh Kumar Baranwal) 68083 .IP \[bu] 2 68084 Preserve leading / in wrapped remote path (Fabian M\[:o]ller) 68085 .IP \[bu] 2 68086 Add plex_insecure option to skip certificate validation (Fabian 68087 M\[:o]ller) 68088 .IP \[bu] 2 68089 Remove entries that no longer exist in the source (dcpu) 68090 .RE 68091 .IP \[bu] 2 68092 Crypt 68093 .RS 2 68094 .IP \[bu] 2 68095 Preserve leading / in wrapped remote path (Fabian M\[:o]ller) 68096 .RE 68097 .IP \[bu] 2 68098 Alias 68099 .RS 2 68100 .IP \[bu] 2 68101 Fix handling of Windows network paths (Nick Craig-Wood) 68102 .RE 68103 .IP \[bu] 2 68104 Azure Blob 68105 .RS 2 68106 .IP \[bu] 2 68107 Add \f[C]--azureblob-list-chunk\f[R] parameter (Santiago Rodr\['i]guez) 68108 .IP \[bu] 2 68109 Implemented settier command support on azureblob remote. 68110 (sandeepkru) 68111 .IP \[bu] 2 68112 Work around SDK bug which causes errors for chunk-sized files (Nick 68113 Craig-Wood) 68114 .RE 68115 .IP \[bu] 2 68116 Box 68117 .RS 2 68118 .IP \[bu] 2 68119 Implement link sharing. 68120 (Sebastian B\[:u]nger) 68121 .RE 68122 .IP \[bu] 2 68123 Drive 68124 .RS 2 68125 .IP \[bu] 2 68126 Add \f[C]--drive-import-formats\f[R] - google docs can now be imported 68127 (Fabian M\[:o]ller) 68128 .RS 2 68129 .IP \[bu] 2 68130 Rewrite mime type and extension handling (Fabian M\[:o]ller) 68131 .IP \[bu] 2 68132 Add document links (Fabian M\[:o]ller) 68133 .IP \[bu] 2 68134 Add support for multipart document extensions (Fabian M\[:o]ller) 68135 .IP \[bu] 2 68136 Add support for apps-script to json export (Fabian M\[:o]ller) 68137 .IP \[bu] 2 68138 Fix escaped chars in documents during list (Fabian M\[:o]ller) 68139 .RE 68140 .IP \[bu] 2 68141 Add \f[C]--drive-v2-download-min-size\f[R] a workaround for slow 68142 downloads (Fabian M\[:o]ller) 68143 .IP \[bu] 2 68144 Improve directory notifications in ChangeNotify (Fabian M\[:o]ller) 68145 .IP \[bu] 2 68146 When listing team drives in config, continue on failure (Nick 68147 Craig-Wood) 68148 .RE 68149 .IP \[bu] 2 68150 FTP 68151 .RS 2 68152 .IP \[bu] 2 68153 Add a small pause after failed upload before deleting file (Nick 68154 Craig-Wood) 68155 .RE 68156 .IP \[bu] 2 68157 Google Cloud Storage 68158 .RS 2 68159 .IP \[bu] 2 68160 Fix service_account_file being ignored (Fabian M\[:o]ller) 68161 .RE 68162 .IP \[bu] 2 68163 Jottacloud 68164 .RS 2 68165 .IP \[bu] 2 68166 Minor improvement in quota info (omit if unlimited) (albertony) 68167 .IP \[bu] 2 68168 Add \f[C]--fast-list\f[R] support (albertony) 68169 .IP \[bu] 2 68170 Add permanent delete support: \f[C]--jottacloud-hard-delete\f[R] 68171 (albertony) 68172 .IP \[bu] 2 68173 Add link sharing support (albertony) 68174 .IP \[bu] 2 68175 Fix handling of reserved characters. 68176 (Sebastian B\[:u]nger) 68177 .IP \[bu] 2 68178 Fix socket leak on Object.Remove (Nick Craig-Wood) 68179 .RE 68180 .IP \[bu] 2 68181 Onedrive 68182 .RS 2 68183 .IP \[bu] 2 68184 Rework to support Microsoft Graph (Cnly) 68185 .RS 2 68186 .IP \[bu] 2 68187 \f[B]NB\f[R] this will require re-authenticating the remote 68188 .RE 68189 .IP \[bu] 2 68190 Removed upload cutoff and always do session uploads (Oliver Heyme) 68191 .IP \[bu] 2 68192 Use single-part upload for empty files (Cnly) 68193 .IP \[bu] 2 68194 Fix new fields not saved when editing old config (Alex Chen) 68195 .IP \[bu] 2 68196 Fix sometimes special chars in filenames not replaced (Alex Chen) 68197 .IP \[bu] 2 68198 Ignore OneNote files by default (Alex Chen) 68199 .IP \[bu] 2 68200 Add link sharing support (jackyzy823) 68201 .RE 68202 .IP \[bu] 2 68203 S3 68204 .RS 2 68205 .IP \[bu] 2 68206 Use custom pacer, to retry operations when reasonable (Craig Miskell) 68207 .IP \[bu] 2 68208 Use configured server-side-encryption and storage class options when 68209 calling CopyObject() (Paul Kohout) 68210 .IP \[bu] 2 68211 Make \f[C]--s3-v2-auth\f[R] flag (Nick Craig-Wood) 68212 .IP \[bu] 2 68213 Fix v2 auth on files with spaces (Nick Craig-Wood) 68214 .RE 68215 .IP \[bu] 2 68216 Union 68217 .RS 2 68218 .IP \[bu] 2 68219 Implement union backend which reads from multiple backends (Felix 68220 Brucker) 68221 .IP \[bu] 2 68222 Implement optional interfaces (Move, DirMove, Copy, etc.) (Nick 68223 Craig-Wood) 68224 .IP \[bu] 2 68225 Fix ChangeNotify to support multiple remotes (Fabian M\[:o]ller) 68226 .IP \[bu] 2 68227 Fix \f[C]--backup-dir\f[R] on union backend (Nick Craig-Wood) 68228 .RE 68229 .IP \[bu] 2 68230 WebDAV 68231 .RS 2 68232 .IP \[bu] 2 68233 Add another time format (Nick Craig-Wood) 68234 .IP \[bu] 2 68235 Add a small pause after failed upload before deleting file (Nick 68236 Craig-Wood) 68237 .IP \[bu] 2 68238 Add workaround for missing mtime (buergi) 68239 .IP \[bu] 2 68240 Sharepoint: Renew cookies after 12hrs (Henning Surmeier) 68241 .RE 68242 .IP \[bu] 2 68243 Yandex 68244 .RS 2 68245 .IP \[bu] 2 68246 Remove redundant nil checks (teresy) 68247 .RE 68248 .SS v1.43.1 - 2018-09-07 68249 .PP 68250 Point release to fix hubic and azureblob backends. 68251 .IP \[bu] 2 68252 Bug Fixes 68253 .RS 2 68254 .IP \[bu] 2 68255 ncdu: Return error instead of log.Fatal in Show (Fabian M\[:o]ller) 68256 .IP \[bu] 2 68257 cmd: Fix crash with \f[C]--progress\f[R] and \f[C]--stats 0\f[R] (Nick 68258 Craig-Wood) 68259 .IP \[bu] 2 68260 docs: Tidy website display (Anagh Kumar Baranwal) 68261 .RE 68262 .IP \[bu] 2 68263 Azure Blob: 68264 .RS 2 68265 .IP \[bu] 2 68266 Fix multi-part uploads. 68267 (sandeepkru) 68268 .RE 68269 .IP \[bu] 2 68270 Hubic 68271 .RS 2 68272 .IP \[bu] 2 68273 Fix uploads (Nick Craig-Wood) 68274 .IP \[bu] 2 68275 Retry auth fetching if it fails to make hubic more reliable (Nick 68276 Craig-Wood) 68277 .RE 68278 .SS v1.43 - 2018-09-01 68279 .IP \[bu] 2 68280 New backends 68281 .RS 2 68282 .IP \[bu] 2 68283 Jottacloud (Sebastian B\[:u]nger) 68284 .RE 68285 .IP \[bu] 2 68286 New commands 68287 .RS 2 68288 .IP \[bu] 2 68289 copyurl: copies a URL to a remote (Denis) 68290 .RE 68291 .IP \[bu] 2 68292 New Features 68293 .RS 2 68294 .IP \[bu] 2 68295 Reworked config for backends (Nick Craig-Wood) 68296 .RS 2 68297 .IP \[bu] 2 68298 All backend config can now be supplied by command line, env var or 68299 config file 68300 .IP \[bu] 2 68301 Advanced section in the config wizard for the optional items 68302 .IP \[bu] 2 68303 A large step towards rclone backends being usable in other go software 68304 .IP \[bu] 2 68305 Allow on the fly remotes with :backend: syntax 68306 .RE 68307 .IP \[bu] 2 68308 Stats revamp 68309 .RS 2 68310 .IP \[bu] 2 68311 Add \f[C]--progress\f[R]/\f[C]-P\f[R] flag to show interactive progress 68312 (Nick Craig-Wood) 68313 .IP \[bu] 2 68314 Show the total progress of the sync in the stats (Nick Craig-Wood) 68315 .IP \[bu] 2 68316 Add \f[C]--stats-one-line\f[R] flag for single line stats (Nick 68317 Craig-Wood) 68318 .RE 68319 .IP \[bu] 2 68320 Added weekday schedule into \f[C]--bwlimit\f[R] (Mateusz) 68321 .IP \[bu] 2 68322 lsjson: Add option to show the original object IDs (Fabian M\[:o]ller) 68323 .IP \[bu] 2 68324 serve webdav: Make Content-Type without reading the file and add 68325 \f[C]--etag-hash\f[R] (Nick Craig-Wood) 68326 .IP \[bu] 2 68327 build 68328 .RS 2 68329 .IP \[bu] 2 68330 Build macOS with native compiler (Nick Craig-Wood) 68331 .IP \[bu] 2 68332 Update to use go1.11 for the build (Nick Craig-Wood) 68333 .RE 68334 .IP \[bu] 2 68335 rc 68336 .RS 2 68337 .IP \[bu] 2 68338 Added core/stats to return the stats (reddi1) 68339 .RE 68340 .IP \[bu] 2 68341 \f[C]version --check\f[R]: Prints the current release and beta versions 68342 (Nick Craig-Wood) 68343 .RE 68344 .IP \[bu] 2 68345 Bug Fixes 68346 .RS 2 68347 .IP \[bu] 2 68348 accounting 68349 .RS 2 68350 .IP \[bu] 2 68351 Fix time to completion estimates (Nick Craig-Wood) 68352 .IP \[bu] 2 68353 Fix moving average speed for file stats (Nick Craig-Wood) 68354 .RE 68355 .IP \[bu] 2 68356 config: Fix error reading password from piped input (Nick Craig-Wood) 68357 .IP \[bu] 2 68358 move: Fix \f[C]--delete-empty-src-dirs\f[R] flag to delete all empty 68359 dirs on move (ishuah) 68360 .RE 68361 .IP \[bu] 2 68362 Mount 68363 .RS 2 68364 .IP \[bu] 2 68365 Implement \f[C]--daemon-timeout\f[R] flag for OSXFUSE (Nick Craig-Wood) 68366 .IP \[bu] 2 68367 Fix mount \f[C]--daemon\f[R] not working with encrypted config (Alex 68368 Chen) 68369 .IP \[bu] 2 68370 Clip the number of blocks to 2\[ha]32-1 on macOS - fixes borg backup 68371 (Nick Craig-Wood) 68372 .RE 68373 .IP \[bu] 2 68374 VFS 68375 .RS 2 68376 .IP \[bu] 2 68377 Enable vfs-read-chunk-size by default (Fabian M\[:o]ller) 68378 .IP \[bu] 2 68379 Add the vfs/refresh rc command (Fabian M\[:o]ller) 68380 .IP \[bu] 2 68381 Add non recursive mode to vfs/refresh rc command (Fabian M\[:o]ller) 68382 .IP \[bu] 2 68383 Try to seek buffer on read only files (Fabian M\[:o]ller) 68384 .RE 68385 .IP \[bu] 2 68386 Local 68387 .RS 2 68388 .IP \[bu] 2 68389 Fix crash when deprecated \f[C]--local-no-unicode-normalization\f[R] is 68390 supplied (Nick Craig-Wood) 68391 .IP \[bu] 2 68392 Fix mkdir error when trying to copy files to the root of a drive on 68393 windows (Nick Craig-Wood) 68394 .RE 68395 .IP \[bu] 2 68396 Cache 68397 .RS 2 68398 .IP \[bu] 2 68399 Fix nil pointer deref when using lsjson on cached directory (Nick 68400 Craig-Wood) 68401 .IP \[bu] 2 68402 Fix nil pointer deref for occasional crash on playback (Nick Craig-Wood) 68403 .RE 68404 .IP \[bu] 2 68405 Crypt 68406 .RS 2 68407 .IP \[bu] 2 68408 Fix accounting when checking hashes on upload (Nick Craig-Wood) 68409 .RE 68410 .IP \[bu] 2 68411 Amazon Cloud Drive 68412 .RS 2 68413 .IP \[bu] 2 68414 Make very clear in the docs that rclone has no ACD keys (Nick 68415 Craig-Wood) 68416 .RE 68417 .IP \[bu] 2 68418 Azure Blob 68419 .RS 2 68420 .IP \[bu] 2 68421 Add connection string and SAS URL auth (Nick Craig-Wood) 68422 .IP \[bu] 2 68423 List the container to see if it exists (Nick Craig-Wood) 68424 .IP \[bu] 2 68425 Port new Azure Blob Storage SDK (sandeepkru) 68426 .IP \[bu] 2 68427 Added blob tier, tier between Hot, Cool and Archive. 68428 (sandeepkru) 68429 .IP \[bu] 2 68430 Remove leading / from paths (Nick Craig-Wood) 68431 .RE 68432 .IP \[bu] 2 68433 B2 68434 .RS 2 68435 .IP \[bu] 2 68436 Support Application Keys (Nick Craig-Wood) 68437 .IP \[bu] 2 68438 Remove leading / from paths (Nick Craig-Wood) 68439 .RE 68440 .IP \[bu] 2 68441 Box 68442 .RS 2 68443 .IP \[bu] 2 68444 Fix upload of > 2GB files on 32 bit platforms (Nick Craig-Wood) 68445 .IP \[bu] 2 68446 Make \f[C]--box-commit-retries\f[R] flag defaulting to 100 to fix large 68447 uploads (Nick Craig-Wood) 68448 .RE 68449 .IP \[bu] 2 68450 Drive 68451 .RS 2 68452 .IP \[bu] 2 68453 Add \f[C]--drive-keep-revision-forever\f[R] flag (lewapm) 68454 .IP \[bu] 2 68455 Handle gdocs when filtering file names in list (Fabian M\[:o]ller) 68456 .IP \[bu] 2 68457 Support using \f[C]--fast-list\f[R] for large speedups (Fabian 68458 M\[:o]ller) 68459 .RE 68460 .IP \[bu] 2 68461 FTP 68462 .RS 2 68463 .IP \[bu] 2 68464 Fix Put mkParentDir failed: 521 for BunnyCDN (Nick Craig-Wood) 68465 .RE 68466 .IP \[bu] 2 68467 Google Cloud Storage 68468 .RS 2 68469 .IP \[bu] 2 68470 Fix index out of range error with \f[C]--fast-list\f[R] (Nick 68471 Craig-Wood) 68472 .RE 68473 .IP \[bu] 2 68474 Jottacloud 68475 .RS 2 68476 .IP \[bu] 2 68477 Fix MD5 error check (Oliver Heyme) 68478 .IP \[bu] 2 68479 Handle empty time values (Martin Polden) 68480 .IP \[bu] 2 68481 Calculate missing MD5s (Oliver Heyme) 68482 .IP \[bu] 2 68483 Docs, fixes and tests for MD5 calculation (Nick Craig-Wood) 68484 .IP \[bu] 2 68485 Add optional MimeTyper interface. 68486 (Sebastian B\[:u]nger) 68487 .IP \[bu] 2 68488 Implement optional About interface (for \f[C]df\f[R] support). 68489 (Sebastian B\[:u]nger) 68490 .RE 68491 .IP \[bu] 2 68492 Mega 68493 .RS 2 68494 .IP \[bu] 2 68495 Wait for events instead of arbitrary sleeping (Nick Craig-Wood) 68496 .IP \[bu] 2 68497 Add \f[C]--mega-hard-delete\f[R] flag (Nick Craig-Wood) 68498 .IP \[bu] 2 68499 Fix failed logins with upper case chars in email (Nick Craig-Wood) 68500 .RE 68501 .IP \[bu] 2 68502 Onedrive 68503 .RS 2 68504 .IP \[bu] 2 68505 Shared folder support (Yoni Jah) 68506 .IP \[bu] 2 68507 Implement DirMove (Cnly) 68508 .IP \[bu] 2 68509 Fix rmdir sometimes deleting directories with contents (Nick Craig-Wood) 68510 .RE 68511 .IP \[bu] 2 68512 Pcloud 68513 .RS 2 68514 .IP \[bu] 2 68515 Delete half uploaded files on upload error (Nick Craig-Wood) 68516 .RE 68517 .IP \[bu] 2 68518 Qingstor 68519 .RS 2 68520 .IP \[bu] 2 68521 Remove leading / from paths (Nick Craig-Wood) 68522 .RE 68523 .IP \[bu] 2 68524 S3 68525 .RS 2 68526 .IP \[bu] 2 68527 Fix index out of range error with \f[C]--fast-list\f[R] (Nick 68528 Craig-Wood) 68529 .IP \[bu] 2 68530 Add \f[C]--s3-force-path-style\f[R] (Nick Craig-Wood) 68531 .IP \[bu] 2 68532 Add support for KMS Key ID (bsteiss) 68533 .IP \[bu] 2 68534 Remove leading / from paths (Nick Craig-Wood) 68535 .RE 68536 .IP \[bu] 2 68537 Swift 68538 .RS 2 68539 .IP \[bu] 2 68540 Add \f[C]storage_policy\f[R] (Ruben Vandamme) 68541 .IP \[bu] 2 68542 Make it so just \f[C]storage_url\f[R] or \f[C]auth_token\f[R] can be 68543 overridden (Nick Craig-Wood) 68544 .IP \[bu] 2 68545 Fix server-side copy bug for unusual file names (Nick Craig-Wood) 68546 .IP \[bu] 2 68547 Remove leading / from paths (Nick Craig-Wood) 68548 .RE 68549 .IP \[bu] 2 68550 WebDAV 68551 .RS 2 68552 .IP \[bu] 2 68553 Ensure we call MKCOL with a URL with a trailing / for QNAP interop (Nick 68554 Craig-Wood) 68555 .IP \[bu] 2 68556 If root ends with / then don\[aq]t check if it is a file (Nick 68557 Craig-Wood) 68558 .IP \[bu] 2 68559 Don\[aq]t accept redirects when reading metadata (Nick Craig-Wood) 68560 .IP \[bu] 2 68561 Add bearer token (Macaroon) support for dCache (Nick Craig-Wood) 68562 .IP \[bu] 2 68563 Document dCache and Macaroons (Onno Zweers) 68564 .IP \[bu] 2 68565 Sharepoint recursion with different depth (Henning) 68566 .IP \[bu] 2 68567 Attempt to remove failed uploads (Nick Craig-Wood) 68568 .RE 68569 .IP \[bu] 2 68570 Yandex 68571 .RS 2 68572 .IP \[bu] 2 68573 Fix listing/deleting files in the root (Nick Craig-Wood) 68574 .RE 68575 .SS v1.42 - 2018-06-16 68576 .IP \[bu] 2 68577 New backends 68578 .RS 2 68579 .IP \[bu] 2 68580 OpenDrive (Oliver Heyme, Jakub Karlicek, ncw) 68581 .RE 68582 .IP \[bu] 2 68583 New commands 68584 .RS 2 68585 .IP \[bu] 2 68586 deletefile command (Filip Bartodziej) 68587 .RE 68588 .IP \[bu] 2 68589 New Features 68590 .RS 2 68591 .IP \[bu] 2 68592 copy, move: Copy single files directly, don\[aq]t use 68593 \f[C]--files-from\f[R] work-around 68594 .RS 2 68595 .IP \[bu] 2 68596 this makes them much more efficient 68597 .RE 68598 .IP \[bu] 2 68599 Implement \f[C]--max-transfer\f[R] flag to quit transferring at a limit 68600 .RS 2 68601 .IP \[bu] 2 68602 make exit code 8 for \f[C]--max-transfer\f[R] exceeded 68603 .RE 68604 .IP \[bu] 2 68605 copy: copy empty source directories to destination (Ishuah Kariuki) 68606 .IP \[bu] 2 68607 check: Add \f[C]--one-way\f[R] flag (Kasper Byrdal Nielsen) 68608 .IP \[bu] 2 68609 Add siginfo handler for macOS for ctrl-T stats (kubatasiemski) 68610 .IP \[bu] 2 68611 rc 68612 .RS 2 68613 .IP \[bu] 2 68614 add core/gc to run a garbage collection on demand 68615 .IP \[bu] 2 68616 enable go profiling by default on the \f[C]--rc\f[R] port 68617 .IP \[bu] 2 68618 return error from remote on failure 68619 .RE 68620 .IP \[bu] 2 68621 lsf 68622 .RS 2 68623 .IP \[bu] 2 68624 Add \f[C]--absolute\f[R] flag to add a leading / onto path names 68625 .IP \[bu] 2 68626 Add \f[C]--csv\f[R] flag for compliant CSV output 68627 .IP \[bu] 2 68628 Add \[aq]m\[aq] format specifier to show the MimeType 68629 .IP \[bu] 2 68630 Implement \[aq]i\[aq] format for showing object ID 68631 .RE 68632 .IP \[bu] 2 68633 lsjson 68634 .RS 2 68635 .IP \[bu] 2 68636 Add MimeType to the output 68637 .IP \[bu] 2 68638 Add ID field to output to show Object ID 68639 .RE 68640 .IP \[bu] 2 68641 Add \f[C]--retries-sleep\f[R] flag (Benjamin Joseph Dag) 68642 .IP \[bu] 2 68643 Oauth tidy up web page and error handling (Henning Surmeier) 68644 .RE 68645 .IP \[bu] 2 68646 Bug Fixes 68647 .RS 2 68648 .IP \[bu] 2 68649 Password prompt output with \f[C]--log-file\f[R] fixed for unix (Filip 68650 Bartodziej) 68651 .IP \[bu] 2 68652 Calculate ModifyWindow each time on the fly to fix various problems 68653 (Stefan Breunig) 68654 .RE 68655 .IP \[bu] 2 68656 Mount 68657 .RS 2 68658 .IP \[bu] 2 68659 Only print \[dq]File.rename error\[dq] if there actually is an error 68660 (Stefan Breunig) 68661 .IP \[bu] 2 68662 Delay rename if file has open writers instead of failing outright 68663 (Stefan Breunig) 68664 .IP \[bu] 2 68665 Ensure atexit gets run on interrupt 68666 .IP \[bu] 2 68667 macOS enhancements 68668 .RS 2 68669 .IP \[bu] 2 68670 Make \f[C]--noappledouble\f[R] \f[C]--noapplexattr\f[R] 68671 .IP \[bu] 2 68672 Add \f[C]--volname\f[R] flag and remove special chars from it 68673 .IP \[bu] 2 68674 Make Get/List/Set/Remove xattr return ENOSYS for efficiency 68675 .IP \[bu] 2 68676 Make \f[C]--daemon\f[R] work for macOS without CGO 68677 .RE 68678 .RE 68679 .IP \[bu] 2 68680 VFS 68681 .RS 2 68682 .IP \[bu] 2 68683 Add \f[C]--vfs-read-chunk-size\f[R] and 68684 \f[C]--vfs-read-chunk-size-limit\f[R] (Fabian M\[:o]ller) 68685 .IP \[bu] 2 68686 Fix ChangeNotify for new or changed folders (Fabian M\[:o]ller) 68687 .RE 68688 .IP \[bu] 2 68689 Local 68690 .RS 2 68691 .IP \[bu] 2 68692 Fix symlink/junction point directory handling under Windows 68693 .RS 2 68694 .IP \[bu] 2 68695 \f[B]NB\f[R] you will need to add \f[C]-L\f[R] to your command line to 68696 copy files with reparse points 68697 .RE 68698 .RE 68699 .IP \[bu] 2 68700 Cache 68701 .RS 2 68702 .IP \[bu] 2 68703 Add non cached dirs on notifications (Remus Bunduc) 68704 .IP \[bu] 2 68705 Allow root to be expired from rc (Remus Bunduc) 68706 .IP \[bu] 2 68707 Clean remaining empty folders from temp upload path (Remus Bunduc) 68708 .IP \[bu] 2 68709 Cache lists using batch writes (Remus Bunduc) 68710 .IP \[bu] 2 68711 Use secure websockets for HTTPS Plex addresses (John Clayton) 68712 .IP \[bu] 2 68713 Reconnect plex websocket on failures (Remus Bunduc) 68714 .IP \[bu] 2 68715 Fix panic when running without plex configs (Remus Bunduc) 68716 .IP \[bu] 2 68717 Fix root folder caching (Remus Bunduc) 68718 .RE 68719 .IP \[bu] 2 68720 Crypt 68721 .RS 2 68722 .IP \[bu] 2 68723 Check the encrypted hash of files when uploading for extra data security 68724 .RE 68725 .IP \[bu] 2 68726 Dropbox 68727 .RS 2 68728 .IP \[bu] 2 68729 Make Dropbox for business folders accessible using an initial 68730 \f[C]/\f[R] in the path 68731 .RE 68732 .IP \[bu] 2 68733 Google Cloud Storage 68734 .RS 2 68735 .IP \[bu] 2 68736 Low level retry all operations if necessary 68737 .RE 68738 .IP \[bu] 2 68739 Google Drive 68740 .RS 2 68741 .IP \[bu] 2 68742 Add \f[C]--drive-acknowledge-abuse\f[R] to download flagged files 68743 .IP \[bu] 2 68744 Add \f[C]--drive-alternate-export\f[R] to fix large doc export 68745 .IP \[bu] 2 68746 Don\[aq]t attempt to choose Team Drives when using rclone config create 68747 .IP \[bu] 2 68748 Fix change list polling with team drives 68749 .IP \[bu] 2 68750 Fix ChangeNotify for folders (Fabian M\[:o]ller) 68751 .IP \[bu] 2 68752 Fix about (and df on a mount) for team drives 68753 .RE 68754 .IP \[bu] 2 68755 Onedrive 68756 .RS 2 68757 .IP \[bu] 2 68758 Errorhandler for onedrive for business requests (Henning Surmeier) 68759 .RE 68760 .IP \[bu] 2 68761 S3 68762 .RS 2 68763 .IP \[bu] 2 68764 Adjust upload concurrency with \f[C]--s3-upload-concurrency\f[R] 68765 (themylogin) 68766 .IP \[bu] 2 68767 Fix \f[C]--s3-chunk-size\f[R] which was always using the minimum 68768 .RE 68769 .IP \[bu] 2 68770 SFTP 68771 .RS 2 68772 .IP \[bu] 2 68773 Add \f[C]--ssh-path-override\f[R] flag (Piotr Oleszczyk) 68774 .IP \[bu] 2 68775 Fix slow downloads for long latency connections 68776 .RE 68777 .IP \[bu] 2 68778 Webdav 68779 .RS 2 68780 .IP \[bu] 2 68781 Add workarounds for biz.mail.ru 68782 .IP \[bu] 2 68783 Ignore Reason-Phrase in status line to fix 4shared (Rodrigo) 68784 .IP \[bu] 2 68785 Better error message generation 68786 .RE 68787 .SS v1.41 - 2018-04-28 68788 .IP \[bu] 2 68789 New backends 68790 .RS 2 68791 .IP \[bu] 2 68792 Mega support added 68793 .IP \[bu] 2 68794 Webdav now supports SharePoint cookie authentication (hensur) 68795 .RE 68796 .IP \[bu] 2 68797 New commands 68798 .RS 2 68799 .IP \[bu] 2 68800 link: create public link to files and folders (Stefan Breunig) 68801 .IP \[bu] 2 68802 about: gets quota info from a remote (a-roussos, ncw) 68803 .IP \[bu] 2 68804 hashsum: a generic tool for any hash to produce md5sum like output 68805 .RE 68806 .IP \[bu] 2 68807 New Features 68808 .RS 2 68809 .IP \[bu] 2 68810 lsd: Add -R flag and fix and update docs for all ls commands 68811 .IP \[bu] 2 68812 ncdu: added a \[dq]refresh\[dq] key - CTRL-L (Keith Goldfarb) 68813 .IP \[bu] 2 68814 serve restic: Add append-only mode (Steve Kriss) 68815 .IP \[bu] 2 68816 serve restic: Disallow overwriting files in append-only mode (Alexander 68817 Neumann) 68818 .IP \[bu] 2 68819 serve restic: Print actual listener address (Matt Holt) 68820 .IP \[bu] 2 68821 size: Add --json flag (Matthew Holt) 68822 .IP \[bu] 2 68823 sync: implement --ignore-errors (Mateusz Pabian) 68824 .IP \[bu] 2 68825 dedupe: Add dedupe largest functionality (Richard Yang) 68826 .IP \[bu] 2 68827 fs: Extend SizeSuffix to include TB and PB for rclone about 68828 .IP \[bu] 2 68829 fs: add --dump goroutines and --dump openfiles for debugging 68830 .IP \[bu] 2 68831 rc: implement core/memstats to print internal memory usage info 68832 .IP \[bu] 2 68833 rc: new call rc/pid (Michael P. 68834 Dubner) 68835 .RE 68836 .IP \[bu] 2 68837 Compile 68838 .RS 2 68839 .IP \[bu] 2 68840 Drop support for go1.6 68841 .RE 68842 .IP \[bu] 2 68843 Release 68844 .RS 2 68845 .IP \[bu] 2 68846 Fix \f[C]make tarball\f[R] (Chih-Hsuan Yen) 68847 .RE 68848 .IP \[bu] 2 68849 Bug Fixes 68850 .RS 2 68851 .IP \[bu] 2 68852 filter: fix --min-age and --max-age together check 68853 .IP \[bu] 2 68854 fs: limit MaxIdleConns and MaxIdleConnsPerHost in transport 68855 .IP \[bu] 2 68856 lsd,lsf: make sure all times we output are in local time 68857 .IP \[bu] 2 68858 rc: fix setting bwlimit to unlimited 68859 .IP \[bu] 2 68860 rc: take note of the --rc-addr flag too as per the docs 68861 .RE 68862 .IP \[bu] 2 68863 Mount 68864 .RS 2 68865 .IP \[bu] 2 68866 Use About to return the correct disk total/used/free (e.g. 68867 in \f[C]df\f[R]) 68868 .IP \[bu] 2 68869 Set \f[C]--attr-timeout default\f[R] to \f[C]1s\f[R] - fixes: 68870 .RS 2 68871 .IP \[bu] 2 68872 rclone using too much memory 68873 .IP \[bu] 2 68874 rclone not serving files to samba 68875 .IP \[bu] 2 68876 excessive time listing directories 68877 .RE 68878 .IP \[bu] 2 68879 Fix \f[C]df -i\f[R] (upstream fix) 68880 .RE 68881 .IP \[bu] 2 68882 VFS 68883 .RS 2 68884 .IP \[bu] 2 68885 Filter files \f[C].\f[R] and \f[C]..\f[R] from directory listing 68886 .IP \[bu] 2 68887 Only make the VFS cache if --vfs-cache-mode > Off 68888 .RE 68889 .IP \[bu] 2 68890 Local 68891 .RS 2 68892 .IP \[bu] 2 68893 Add --local-no-check-updated to disable updated file checks 68894 .IP \[bu] 2 68895 Retry remove on Windows sharing violation error 68896 .RE 68897 .IP \[bu] 2 68898 Cache 68899 .RS 2 68900 .IP \[bu] 2 68901 Flush the memory cache after close 68902 .IP \[bu] 2 68903 Purge file data on notification 68904 .IP \[bu] 2 68905 Always forget parent dir for notifications 68906 .IP \[bu] 2 68907 Integrate with Plex websocket 68908 .IP \[bu] 2 68909 Add rc cache/stats (seuffert) 68910 .IP \[bu] 2 68911 Add info log on notification 68912 .RE 68913 .IP \[bu] 2 68914 Box 68915 .RS 2 68916 .IP \[bu] 2 68917 Fix failure reading large directories - parse file/directory size as 68918 float 68919 .RE 68920 .IP \[bu] 2 68921 Dropbox 68922 .RS 2 68923 .IP \[bu] 2 68924 Fix crypt+obfuscate on dropbox 68925 .IP \[bu] 2 68926 Fix repeatedly uploading the same files 68927 .RE 68928 .IP \[bu] 2 68929 FTP 68930 .RS 2 68931 .IP \[bu] 2 68932 Work around strange response from box FTP server 68933 .IP \[bu] 2 68934 More workarounds for FTP servers to fix mkParentDir error 68935 .IP \[bu] 2 68936 Fix no error on listing nonexistent directory 68937 .RE 68938 .IP \[bu] 2 68939 Google Cloud Storage 68940 .RS 2 68941 .IP \[bu] 2 68942 Add service_account_credentials (Matt Holt) 68943 .IP \[bu] 2 68944 Detect bucket presence by listing it - minimises permissions needed 68945 .IP \[bu] 2 68946 Ignore zero length directory markers 68947 .RE 68948 .IP \[bu] 2 68949 Google Drive 68950 .RS 2 68951 .IP \[bu] 2 68952 Add service_account_credentials (Matt Holt) 68953 .IP \[bu] 2 68954 Fix directory move leaving a hardlinked directory behind 68955 .IP \[bu] 2 68956 Return proper google errors when Opening files 68957 .IP \[bu] 2 68958 When initialized with a filepath, optional features used incorrect root 68959 path (Stefan Breunig) 68960 .RE 68961 .IP \[bu] 2 68962 HTTP 68963 .RS 2 68964 .IP \[bu] 2 68965 Fix sync for servers which don\[aq]t return Content-Length in HEAD 68966 .RE 68967 .IP \[bu] 2 68968 Onedrive 68969 .RS 2 68970 .IP \[bu] 2 68971 Add QuickXorHash support for OneDrive for business 68972 .IP \[bu] 2 68973 Fix socket leak in multipart session upload 68974 .RE 68975 .IP \[bu] 2 68976 S3 68977 .RS 2 68978 .IP \[bu] 2 68979 Look in S3 named profile files for credentials 68980 .IP \[bu] 2 68981 Add \f[C]--s3-disable-checksum\f[R] to disable checksum uploading (Chris 68982 Redekop) 68983 .IP \[bu] 2 68984 Hierarchical configuration support (Giri Badanahatti) 68985 .IP \[bu] 2 68986 Add in config for all the supported S3 providers 68987 .IP \[bu] 2 68988 Add One Zone Infrequent Access storage class (Craig Rachel) 68989 .IP \[bu] 2 68990 Add --use-server-modtime support (Peter Baumgartner) 68991 .IP \[bu] 2 68992 Add --s3-chunk-size option to control multipart uploads 68993 .IP \[bu] 2 68994 Ignore zero length directory markers 68995 .RE 68996 .IP \[bu] 2 68997 SFTP 68998 .RS 2 68999 .IP \[bu] 2 69000 Update docs to match code, fix typos and clarify disable_hashcheck 69001 prompt (Michael G. 69002 Noll) 69003 .IP \[bu] 2 69004 Update docs with Synology quirks 69005 .IP \[bu] 2 69006 Fail soft with a debug on hash failure 69007 .RE 69008 .IP \[bu] 2 69009 Swift 69010 .RS 2 69011 .IP \[bu] 2 69012 Add --use-server-modtime support (Peter Baumgartner) 69013 .RE 69014 .IP \[bu] 2 69015 Webdav 69016 .RS 2 69017 .IP \[bu] 2 69018 Support SharePoint cookie authentication (hensur) 69019 .IP \[bu] 2 69020 Strip leading and trailing / off root 69021 .RE 69022 .SS v1.40 - 2018-03-19 69023 .IP \[bu] 2 69024 New backends 69025 .RS 2 69026 .IP \[bu] 2 69027 Alias backend to create aliases for existing remote names (Fabian 69028 M\[:o]ller) 69029 .RE 69030 .IP \[bu] 2 69031 New commands 69032 .RS 2 69033 .IP \[bu] 2 69034 \f[C]lsf\f[R]: list for parsing purposes (Jakub Tasiemski) 69035 .RS 2 69036 .IP \[bu] 2 69037 by default this is a simple non recursive list of files and directories 69038 .IP \[bu] 2 69039 it can be configured to add more info in an easy to parse way 69040 .RE 69041 .IP \[bu] 2 69042 \f[C]serve restic\f[R]: for serving a remote as a Restic REST endpoint 69043 .RS 2 69044 .IP \[bu] 2 69045 This enables restic to use any backends that rclone can access 69046 .IP \[bu] 2 69047 Thanks Alexander Neumann for help, patches and review 69048 .RE 69049 .IP \[bu] 2 69050 \f[C]rc\f[R]: enable the remote control of a running rclone 69051 .RS 2 69052 .IP \[bu] 2 69053 The running rclone must be started with --rc and related flags. 69054 .IP \[bu] 2 69055 Currently there is support for bwlimit, and flushing for mount and 69056 cache. 69057 .RE 69058 .RE 69059 .IP \[bu] 2 69060 New Features 69061 .RS 2 69062 .IP \[bu] 2 69063 \f[C]--max-delete\f[R] flag to add a delete threshold (Bj\[/o]rn Erik 69064 Pedersen) 69065 .IP \[bu] 2 69066 All backends now support RangeOption for ranged Open 69067 .RS 2 69068 .IP \[bu] 2 69069 \f[C]cat\f[R]: Use RangeOption for limited fetches to make more 69070 efficient 69071 .IP \[bu] 2 69072 \f[C]cryptcheck\f[R]: make reading of nonce more efficient with 69073 RangeOption 69074 .RE 69075 .IP \[bu] 2 69076 serve http/webdav/restic 69077 .RS 2 69078 .IP \[bu] 2 69079 support SSL/TLS 69080 .IP \[bu] 2 69081 add \f[C]--user\f[R] \f[C]--pass\f[R] and \f[C]--htpasswd\f[R] for 69082 authentication 69083 .RE 69084 .IP \[bu] 2 69085 \f[C]copy\f[R]/\f[C]move\f[R]: detect file size change during copy/move 69086 and abort transfer (ishuah) 69087 .IP \[bu] 2 69088 \f[C]cryptdecode\f[R]: added option to return encrypted file names. 69089 (ishuah) 69090 .IP \[bu] 2 69091 \f[C]lsjson\f[R]: add \f[C]--encrypted\f[R] to show encrypted name 69092 (Jakub Tasiemski) 69093 .IP \[bu] 2 69094 Add \f[C]--stats-file-name-length\f[R] to specify the printed file name 69095 length for stats (Will Gunn) 69096 .RE 69097 .IP \[bu] 2 69098 Compile 69099 .RS 2 69100 .IP \[bu] 2 69101 Code base was shuffled and factored 69102 .RS 2 69103 .IP \[bu] 2 69104 backends moved into a backend directory 69105 .IP \[bu] 2 69106 large packages split up 69107 .IP \[bu] 2 69108 See the CONTRIBUTING.md doc for info as to what lives where now 69109 .RE 69110 .IP \[bu] 2 69111 Update to using go1.10 as the default go version 69112 .IP \[bu] 2 69113 Implement daily full integration 69114 tests (https://pub.rclone.org/integration-tests/) 69115 .RE 69116 .IP \[bu] 2 69117 Release 69118 .RS 2 69119 .IP \[bu] 2 69120 Include a source tarball and sign it and the binaries 69121 .IP \[bu] 2 69122 Sign the git tags as part of the release process 69123 .IP \[bu] 2 69124 Add .deb and .rpm packages as part of the build 69125 .IP \[bu] 2 69126 Make a beta release for all branches on the main repo (but not pull 69127 requests) 69128 .RE 69129 .IP \[bu] 2 69130 Bug Fixes 69131 .RS 2 69132 .IP \[bu] 2 69133 config: fixes errors on nonexistent config by loading config file only 69134 on first access 69135 .IP \[bu] 2 69136 config: retry saving the config after failure (Mateusz) 69137 .IP \[bu] 2 69138 sync: when using \f[C]--backup-dir\f[R] don\[aq]t delete files if we 69139 can\[aq]t set their modtime 69140 .RS 2 69141 .IP \[bu] 2 69142 this fixes odd behaviour with Dropbox and \f[C]--backup-dir\f[R] 69143 .RE 69144 .IP \[bu] 2 69145 fshttp: fix idle timeouts for HTTP connections 69146 .IP \[bu] 2 69147 \f[C]serve http\f[R]: fix serving files with : in - fixes 69148 .IP \[bu] 2 69149 Fix \f[C]--exclude-if-present\f[R] to ignore directories which it 69150 doesn\[aq]t have permission for (Iakov Davydov) 69151 .IP \[bu] 2 69152 Make accounting work properly with crypt and b2 69153 .IP \[bu] 2 69154 remove \f[C]--no-traverse\f[R] flag because it is obsolete 69155 .RE 69156 .IP \[bu] 2 69157 Mount 69158 .RS 2 69159 .IP \[bu] 2 69160 Add \f[C]--attr-timeout\f[R] flag to control attribute caching in kernel 69161 .RS 2 69162 .IP \[bu] 2 69163 this now defaults to 0 which is correct but less efficient 69164 .IP \[bu] 2 69165 see the mount 69166 docs (https://rclone.org/commands/rclone_mount/#attribute-caching) for 69167 more info 69168 .RE 69169 .IP \[bu] 2 69170 Add \f[C]--daemon\f[R] flag to allow mount to run in the background 69171 (ishuah) 69172 .IP \[bu] 2 69173 Fix: Return ENOSYS rather than EIO on attempted link 69174 .RS 2 69175 .IP \[bu] 2 69176 This fixes FileZilla accessing an rclone mount served over sftp. 69177 .RE 69178 .IP \[bu] 2 69179 Fix setting modtime twice 69180 .IP \[bu] 2 69181 Mount tests now run on CI for Linux (mount & cmount)/Mac/Windows 69182 .IP \[bu] 2 69183 Many bugs fixed in the VFS layer - see below 69184 .RE 69185 .IP \[bu] 2 69186 VFS 69187 .RS 2 69188 .IP \[bu] 2 69189 Many fixes for \f[C]--vfs-cache-mode\f[R] writes and above 69190 .RS 2 69191 .IP \[bu] 2 69192 Update cached copy if we know it has changed (fixes stale data) 69193 .IP \[bu] 2 69194 Clean path names before using them in the cache 69195 .IP \[bu] 2 69196 Disable cache cleaner if \f[C]--vfs-cache-poll-interval=0\f[R] 69197 .IP \[bu] 2 69198 Fill and clean the cache immediately on startup 69199 .RE 69200 .IP \[bu] 2 69201 Fix Windows opening every file when it stats the file 69202 .IP \[bu] 2 69203 Fix applying modtime for an open Write Handle 69204 .IP \[bu] 2 69205 Fix creation of files when truncating 69206 .IP \[bu] 2 69207 Write 0 bytes when flushing unwritten handles to avoid race conditions 69208 in FUSE 69209 .IP \[bu] 2 69210 Downgrade \[dq]poll-interval is not supported\[dq] message to Info 69211 .IP \[bu] 2 69212 Make OpenFile and friends return EINVAL if O_RDONLY and O_TRUNC 69213 .RE 69214 .IP \[bu] 2 69215 Local 69216 .RS 2 69217 .IP \[bu] 2 69218 Downgrade \[dq]invalid cross-device link: trying copy\[dq] to debug 69219 .IP \[bu] 2 69220 Make DirMove return fs.ErrorCantDirMove to allow fallback to Copy for 69221 cross device 69222 .IP \[bu] 2 69223 Fix race conditions updating the hashes 69224 .RE 69225 .IP \[bu] 2 69226 Cache 69227 .RS 2 69228 .IP \[bu] 2 69229 Add support for polling - cache will update when remote changes on 69230 supported backends 69231 .IP \[bu] 2 69232 Reduce log level for Plex api 69233 .IP \[bu] 2 69234 Fix dir cache issue 69235 .IP \[bu] 2 69236 Implement \f[C]--cache-db-wait-time\f[R] flag 69237 .IP \[bu] 2 69238 Improve efficiency with RangeOption and RangeSeek 69239 .IP \[bu] 2 69240 Fix dirmove with temp fs enabled 69241 .IP \[bu] 2 69242 Notify vfs when using temp fs 69243 .IP \[bu] 2 69244 Offline uploading 69245 .IP \[bu] 2 69246 Remote control support for path flushing 69247 .RE 69248 .IP \[bu] 2 69249 Amazon cloud drive 69250 .RS 2 69251 .IP \[bu] 2 69252 Rclone no longer has any working keys - disable integration tests 69253 .IP \[bu] 2 69254 Implement DirChangeNotify to notify cache/vfs/mount of changes 69255 .RE 69256 .IP \[bu] 2 69257 Azureblob 69258 .RS 2 69259 .IP \[bu] 2 69260 Don\[aq]t check for bucket/container presence if listing was OK 69261 .RS 2 69262 .IP \[bu] 2 69263 this makes rclone do one less request per invocation 69264 .RE 69265 .IP \[bu] 2 69266 Improve accounting for chunked uploads 69267 .RE 69268 .IP \[bu] 2 69269 Backblaze B2 69270 .RS 2 69271 .IP \[bu] 2 69272 Don\[aq]t check for bucket/container presence if listing was OK 69273 .RS 2 69274 .IP \[bu] 2 69275 this makes rclone do one less request per invocation 69276 .RE 69277 .RE 69278 .IP \[bu] 2 69279 Box 69280 .RS 2 69281 .IP \[bu] 2 69282 Improve accounting for chunked uploads 69283 .RE 69284 .IP \[bu] 2 69285 Dropbox 69286 .RS 2 69287 .IP \[bu] 2 69288 Fix custom oauth client parameters 69289 .RE 69290 .IP \[bu] 2 69291 Google Cloud Storage 69292 .RS 2 69293 .IP \[bu] 2 69294 Don\[aq]t check for bucket/container presence if listing was OK 69295 .RS 2 69296 .IP \[bu] 2 69297 this makes rclone do one less request per invocation 69298 .RE 69299 .RE 69300 .IP \[bu] 2 69301 Google Drive 69302 .RS 2 69303 .IP \[bu] 2 69304 Migrate to api v3 (Fabian M\[:o]ller) 69305 .IP \[bu] 2 69306 Add scope configuration and root folder selection 69307 .IP \[bu] 2 69308 Add \f[C]--drive-impersonate\f[R] for service accounts 69309 .RS 2 69310 .IP \[bu] 2 69311 thanks to everyone who tested, explored and contributed docs 69312 .RE 69313 .IP \[bu] 2 69314 Add \f[C]--drive-use-created-date\f[R] to use created date as modified 69315 date (nbuchanan) 69316 .IP \[bu] 2 69317 Request the export formats only when required 69318 .RS 2 69319 .IP \[bu] 2 69320 This makes rclone quicker when there are no google docs 69321 .RE 69322 .IP \[bu] 2 69323 Fix finding paths with latin1 chars (a workaround for a drive bug) 69324 .IP \[bu] 2 69325 Fix copying of a single Google doc file 69326 .IP \[bu] 2 69327 Fix \f[C]--drive-auth-owner-only\f[R] to look in all directories 69328 .RE 69329 .IP \[bu] 2 69330 HTTP 69331 .RS 2 69332 .IP \[bu] 2 69333 Fix handling of directories with & in 69334 .RE 69335 .IP \[bu] 2 69336 Onedrive 69337 .RS 2 69338 .IP \[bu] 2 69339 Removed upload cutoff and always do session uploads 69340 .RS 2 69341 .IP \[bu] 2 69342 this stops the creation of multiple versions on business onedrive 69343 .RE 69344 .IP \[bu] 2 69345 Overwrite object size value with real size when reading file. 69346 (Victor) 69347 .RS 2 69348 .IP \[bu] 2 69349 this fixes oddities when onedrive misreports the size of images 69350 .RE 69351 .RE 69352 .IP \[bu] 2 69353 Pcloud 69354 .RS 2 69355 .IP \[bu] 2 69356 Remove unused chunked upload flag and code 69357 .RE 69358 .IP \[bu] 2 69359 Qingstor 69360 .RS 2 69361 .IP \[bu] 2 69362 Don\[aq]t check for bucket/container presence if listing was OK 69363 .RS 2 69364 .IP \[bu] 2 69365 this makes rclone do one less request per invocation 69366 .RE 69367 .RE 69368 .IP \[bu] 2 69369 S3 69370 .RS 2 69371 .IP \[bu] 2 69372 Support hashes for multipart files (Chris Redekop) 69373 .IP \[bu] 2 69374 Initial support for IBM COS (S3) (Giri Badanahatti) 69375 .IP \[bu] 2 69376 Update docs to discourage use of v2 auth with CEPH and others 69377 .IP \[bu] 2 69378 Don\[aq]t check for bucket/container presence if listing was OK 69379 .RS 2 69380 .IP \[bu] 2 69381 this makes rclone do one less request per invocation 69382 .RE 69383 .IP \[bu] 2 69384 Fix server-side copy and set modtime on files with + in 69385 .RE 69386 .IP \[bu] 2 69387 SFTP 69388 .RS 2 69389 .IP \[bu] 2 69390 Add option to disable remote hash check command execution (Jon Fautley) 69391 .IP \[bu] 2 69392 Add \f[C]--sftp-ask-password\f[R] flag to prompt for password when 69393 needed (Leo R. 69394 Lundgren) 69395 .IP \[bu] 2 69396 Add \f[C]set_modtime\f[R] configuration option 69397 .IP \[bu] 2 69398 Fix following of symlinks 69399 .IP \[bu] 2 69400 Fix reading config file outside of Fs setup 69401 .IP \[bu] 2 69402 Fix reading $USER in username fallback not $HOME 69403 .IP \[bu] 2 69404 Fix running under crontab - Use correct OS way of reading username 69405 .RE 69406 .IP \[bu] 2 69407 Swift 69408 .RS 2 69409 .IP \[bu] 2 69410 Fix refresh of authentication token 69411 .RS 2 69412 .IP \[bu] 2 69413 in v1.39 a bug was introduced which ignored new tokens - this fixes it 69414 .RE 69415 .IP \[bu] 2 69416 Fix extra HEAD transaction when uploading a new file 69417 .IP \[bu] 2 69418 Don\[aq]t check for bucket/container presence if listing was OK 69419 .RS 2 69420 .IP \[bu] 2 69421 this makes rclone do one less request per invocation 69422 .RE 69423 .RE 69424 .IP \[bu] 2 69425 Webdav 69426 .RS 2 69427 .IP \[bu] 2 69428 Add new time formats to support mydrive.ch and others 69429 .RE 69430 .SS v1.39 - 2017-12-23 69431 .IP \[bu] 2 69432 New backends 69433 .RS 2 69434 .IP \[bu] 2 69435 WebDAV 69436 .RS 2 69437 .IP \[bu] 2 69438 tested with nextcloud, owncloud, put.io and others! 69439 .RE 69440 .IP \[bu] 2 69441 Pcloud 69442 .IP \[bu] 2 69443 cache - wraps a cache around other backends (Remus Bunduc) 69444 .RS 2 69445 .IP \[bu] 2 69446 useful in combination with mount 69447 .IP \[bu] 2 69448 NB this feature is in beta so use with care 69449 .RE 69450 .RE 69451 .IP \[bu] 2 69452 New commands 69453 .RS 2 69454 .IP \[bu] 2 69455 serve command with subcommands: 69456 .RS 2 69457 .IP \[bu] 2 69458 serve webdav: this implements a webdav server for any rclone remote. 69459 .IP \[bu] 2 69460 serve http: command to serve a remote over HTTP 69461 .RE 69462 .IP \[bu] 2 69463 config: add sub commands for full config file management 69464 .RS 2 69465 .IP \[bu] 2 69466 create/delete/dump/edit/file/password/providers/show/update 69467 .RE 69468 .IP \[bu] 2 69469 touch: to create or update the timestamp of a file (Jakub Tasiemski) 69470 .RE 69471 .IP \[bu] 2 69472 New Features 69473 .RS 2 69474 .IP \[bu] 2 69475 curl install for rclone (Filip Bartodziej) 69476 .IP \[bu] 2 69477 --stats now shows percentage, size, rate and ETA in condensed form 69478 (Ishuah Kariuki) 69479 .IP \[bu] 2 69480 --exclude-if-present to exclude a directory if a file is present (Iakov 69481 Davydov) 69482 .IP \[bu] 2 69483 rmdirs: add --leave-root flag (lewapm) 69484 .IP \[bu] 2 69485 move: add --delete-empty-src-dirs flag to remove dirs after move (Ishuah 69486 Kariuki) 69487 .IP \[bu] 2 69488 Add --dump flag, introduce --dump requests, responses and remove 69489 --dump-auth, --dump-filters 69490 .RS 2 69491 .IP \[bu] 2 69492 Obscure X-Auth-Token: from headers when dumping too 69493 .RE 69494 .IP \[bu] 2 69495 Document and implement exit codes for different failure modes (Ishuah 69496 Kariuki) 69497 .RE 69498 .IP \[bu] 2 69499 Compile 69500 .IP \[bu] 2 69501 Bug Fixes 69502 .RS 2 69503 .IP \[bu] 2 69504 Retry lots more different types of errors to make multipart transfers 69505 more reliable 69506 .IP \[bu] 2 69507 Save the config before asking for a token, fixes disappearing oauth 69508 config 69509 .IP \[bu] 2 69510 Warn the user if --include and --exclude are used together (Ernest 69511 Borowski) 69512 .IP \[bu] 2 69513 Fix duplicate files (e.g. 69514 on Google drive) causing spurious copies 69515 .IP \[bu] 2 69516 Allow trailing and leading whitespace for passwords (Jason Rose) 69517 .IP \[bu] 2 69518 ncdu: fix crashes on empty directories 69519 .IP \[bu] 2 69520 rcat: fix goroutine leak 69521 .IP \[bu] 2 69522 moveto/copyto: Fix to allow copying to the same name 69523 .RE 69524 .IP \[bu] 2 69525 Mount 69526 .RS 2 69527 .IP \[bu] 2 69528 --vfs-cache mode to make writes into mounts more reliable. 69529 .RS 2 69530 .IP \[bu] 2 69531 this requires caching files on the disk (see --cache-dir) 69532 .IP \[bu] 2 69533 As this is a new feature, use with care 69534 .RE 69535 .IP \[bu] 2 69536 Use sdnotify to signal systemd the mount is ready (Fabian M\[:o]ller) 69537 .IP \[bu] 2 69538 Check if directory is not empty before mounting (Ernest Borowski) 69539 .RE 69540 .IP \[bu] 2 69541 Local 69542 .RS 2 69543 .IP \[bu] 2 69544 Add error message for cross file system moves 69545 .IP \[bu] 2 69546 Fix equality check for times 69547 .RE 69548 .IP \[bu] 2 69549 Dropbox 69550 .RS 2 69551 .IP \[bu] 2 69552 Rework multipart upload 69553 .RS 2 69554 .IP \[bu] 2 69555 buffer the chunks when uploading large files so they can be retried 69556 .IP \[bu] 2 69557 change default chunk size to 48MB now we are buffering them in memory 69558 .IP \[bu] 2 69559 retry every error after the first chunk is done successfully 69560 .RE 69561 .IP \[bu] 2 69562 Fix error when renaming directories 69563 .RE 69564 .IP \[bu] 2 69565 Swift 69566 .RS 2 69567 .IP \[bu] 2 69568 Fix crash on bad authentication 69569 .RE 69570 .IP \[bu] 2 69571 Google Drive 69572 .RS 2 69573 .IP \[bu] 2 69574 Add service account support (Tim Cooijmans) 69575 .RE 69576 .IP \[bu] 2 69577 S3 69578 .RS 2 69579 .IP \[bu] 2 69580 Make it work properly with Digital Ocean Spaces (Andrew 69581 Starr-Bochicchio) 69582 .IP \[bu] 2 69583 Fix crash if a bad listing is received 69584 .IP \[bu] 2 69585 Add support for ECS task IAM roles (David Minor) 69586 .RE 69587 .IP \[bu] 2 69588 Backblaze B2 69589 .RS 2 69590 .IP \[bu] 2 69591 Fix multipart upload retries 69592 .IP \[bu] 2 69593 Fix --hard-delete to make it work 100% of the time 69594 .RE 69595 .IP \[bu] 2 69596 Swift 69597 .RS 2 69598 .IP \[bu] 2 69599 Allow authentication with storage URL and auth key (Giovanni Pizzi) 69600 .IP \[bu] 2 69601 Add new fields for swift configuration to support IBM Bluemix Swift 69602 (Pierre Carlson) 69603 .IP \[bu] 2 69604 Add OS_TENANT_ID and OS_USER_ID to config 69605 .IP \[bu] 2 69606 Allow configs with user id instead of user name 69607 .IP \[bu] 2 69608 Check if swift segments container exists before creating (John Leach) 69609 .IP \[bu] 2 69610 Fix memory leak in swift transfers (upstream fix) 69611 .RE 69612 .IP \[bu] 2 69613 SFTP 69614 .RS 2 69615 .IP \[bu] 2 69616 Add option to enable the use of aes128-cbc cipher (Jon Fautley) 69617 .RE 69618 .IP \[bu] 2 69619 Amazon cloud drive 69620 .RS 2 69621 .IP \[bu] 2 69622 Fix download of large files failing with \[dq]Only one auth mechanism 69623 allowed\[dq] 69624 .RE 69625 .IP \[bu] 2 69626 crypt 69627 .RS 2 69628 .IP \[bu] 2 69629 Option to encrypt directory names or leave them intact 69630 .IP \[bu] 2 69631 Implement DirChangeNotify (Fabian M\[:o]ller) 69632 .RE 69633 .IP \[bu] 2 69634 onedrive 69635 .RS 2 69636 .IP \[bu] 2 69637 Add option to choose resourceURL during setup of OneDrive Business 69638 account if more than one is available for user 69639 .RE 69640 .SS v1.38 - 2017-09-30 69641 .IP \[bu] 2 69642 New backends 69643 .RS 2 69644 .IP \[bu] 2 69645 Azure Blob Storage (thanks Andrei Dragomir) 69646 .IP \[bu] 2 69647 Box 69648 .IP \[bu] 2 69649 Onedrive for Business (thanks Oliver Heyme) 69650 .IP \[bu] 2 69651 QingStor from QingCloud (thanks wuyu) 69652 .RE 69653 .IP \[bu] 2 69654 New commands 69655 .RS 2 69656 .IP \[bu] 2 69657 \f[C]rcat\f[R] - read from standard input and stream upload 69658 .IP \[bu] 2 69659 \f[C]tree\f[R] - shows a nicely formatted recursive listing 69660 .IP \[bu] 2 69661 \f[C]cryptdecode\f[R] - decode encrypted file names (thanks ishuah) 69662 .IP \[bu] 2 69663 \f[C]config show\f[R] - print the config file 69664 .IP \[bu] 2 69665 \f[C]config file\f[R] - print the config file location 69666 .RE 69667 .IP \[bu] 2 69668 New Features 69669 .RS 2 69670 .IP \[bu] 2 69671 Empty directories are deleted on \f[C]sync\f[R] 69672 .IP \[bu] 2 69673 \f[C]dedupe\f[R] - implement merging of duplicate directories 69674 .IP \[bu] 2 69675 \f[C]check\f[R] and \f[C]cryptcheck\f[R] made more consistent and use 69676 less memory 69677 .IP \[bu] 2 69678 \f[C]cleanup\f[R] for remaining remotes (thanks ishuah) 69679 .IP \[bu] 2 69680 \f[C]--immutable\f[R] for ensuring that files don\[aq]t change (thanks 69681 Jacob McNamee) 69682 .IP \[bu] 2 69683 \f[C]--user-agent\f[R] option (thanks Alex McGrath Kraak) 69684 .IP \[bu] 2 69685 \f[C]--disable\f[R] flag to disable optional features 69686 .IP \[bu] 2 69687 \f[C]--bind\f[R] flag for choosing the local addr on outgoing 69688 connections 69689 .IP \[bu] 2 69690 Support for zsh auto-completion (thanks bpicode) 69691 .IP \[bu] 2 69692 Stop normalizing file names but do a normalized compare in 69693 \f[C]sync\f[R] 69694 .RE 69695 .IP \[bu] 2 69696 Compile 69697 .RS 2 69698 .IP \[bu] 2 69699 Update to using go1.9 as the default go version 69700 .IP \[bu] 2 69701 Remove snapd build due to maintenance problems 69702 .RE 69703 .IP \[bu] 2 69704 Bug Fixes 69705 .RS 2 69706 .IP \[bu] 2 69707 Improve retriable error detection which makes multipart uploads better 69708 .IP \[bu] 2 69709 Make \f[C]check\f[R] obey \f[C]--ignore-size\f[R] 69710 .IP \[bu] 2 69711 Fix bwlimit toggle in conjunction with schedules (thanks cbruegg) 69712 .IP \[bu] 2 69713 \f[C]config\f[R] ensures newly written config is on the same mount 69714 .RE 69715 .IP \[bu] 2 69716 Local 69717 .RS 2 69718 .IP \[bu] 2 69719 Revert to copy when moving file across file system boundaries 69720 .IP \[bu] 2 69721 \f[C]--skip-links\f[R] to suppress symlink warnings (thanks Zhiming 69722 Wang) 69723 .RE 69724 .IP \[bu] 2 69725 Mount 69726 .RS 2 69727 .IP \[bu] 2 69728 Re-use \f[C]rcat\f[R] internals to support uploads from all remotes 69729 .RE 69730 .IP \[bu] 2 69731 Dropbox 69732 .RS 2 69733 .IP \[bu] 2 69734 Fix \[dq]entry doesn\[aq]t belong in directory\[dq] error 69735 .IP \[bu] 2 69736 Stop using deprecated API methods 69737 .RE 69738 .IP \[bu] 2 69739 Swift 69740 .RS 2 69741 .IP \[bu] 2 69742 Fix server-side copy to empty container with \f[C]--fast-list\f[R] 69743 .RE 69744 .IP \[bu] 2 69745 Google Drive 69746 .RS 2 69747 .IP \[bu] 2 69748 Change the default for \f[C]--drive-use-trash\f[R] to \f[C]true\f[R] 69749 .RE 69750 .IP \[bu] 2 69751 S3 69752 .RS 2 69753 .IP \[bu] 2 69754 Set session token when using STS (thanks Girish Ramakrishnan) 69755 .IP \[bu] 2 69756 Glacier docs and error messages (thanks Jan Varho) 69757 .IP \[bu] 2 69758 Read 1000 (not 1024) items in dir listings to fix Wasabi 69759 .RE 69760 .IP \[bu] 2 69761 Backblaze B2 69762 .RS 2 69763 .IP \[bu] 2 69764 Fix SHA1 mismatch when downloading files with no SHA1 69765 .IP \[bu] 2 69766 Calculate missing hashes on the fly instead of spooling 69767 .IP \[bu] 2 69768 \f[C]--b2-hard-delete\f[R] to permanently delete (not hide) files 69769 (thanks John Papandriopoulos) 69770 .RE 69771 .IP \[bu] 2 69772 Hubic 69773 .RS 2 69774 .IP \[bu] 2 69775 Fix creating containers - no longer have to use the \f[C]default\f[R] 69776 container 69777 .RE 69778 .IP \[bu] 2 69779 Swift 69780 .RS 2 69781 .IP \[bu] 2 69782 Optionally configure from a standard set of OpenStack environment vars 69783 .IP \[bu] 2 69784 Add \f[C]endpoint_type\f[R] config 69785 .RE 69786 .IP \[bu] 2 69787 Google Cloud Storage 69788 .RS 2 69789 .IP \[bu] 2 69790 Fix bucket creation to work with limited permission users 69791 .RE 69792 .IP \[bu] 2 69793 SFTP 69794 .RS 2 69795 .IP \[bu] 2 69796 Implement connection pooling for multiple ssh connections 69797 .IP \[bu] 2 69798 Limit new connections per second 69799 .IP \[bu] 2 69800 Add support for MD5 and SHA1 hashes where available (thanks Christian 69801 Br\[:u]ggemann) 69802 .RE 69803 .IP \[bu] 2 69804 HTTP 69805 .RS 2 69806 .IP \[bu] 2 69807 Fix URL encoding issues 69808 .IP \[bu] 2 69809 Fix directories with \f[C]:\f[R] in 69810 .IP \[bu] 2 69811 Fix panic with URL encoded content 69812 .RE 69813 .SS v1.37 - 2017-07-22 69814 .IP \[bu] 2 69815 New backends 69816 .RS 2 69817 .IP \[bu] 2 69818 FTP - thanks to Antonio Messina 69819 .IP \[bu] 2 69820 HTTP - thanks to Vasiliy Tolstov 69821 .RE 69822 .IP \[bu] 2 69823 New commands 69824 .RS 2 69825 .IP \[bu] 2 69826 rclone ncdu - for exploring a remote with a text based user interface. 69827 .IP \[bu] 2 69828 rclone lsjson - for listing with a machine-readable output 69829 .IP \[bu] 2 69830 rclone dbhashsum - to show Dropbox style hashes of files (local or 69831 Dropbox) 69832 .RE 69833 .IP \[bu] 2 69834 New Features 69835 .RS 2 69836 .IP \[bu] 2 69837 Implement --fast-list flag 69838 .RS 2 69839 .IP \[bu] 2 69840 This allows remotes to list recursively if they can 69841 .IP \[bu] 2 69842 This uses less transactions (important if you pay for them) 69843 .IP \[bu] 2 69844 This may or may not be quicker 69845 .IP \[bu] 2 69846 This will use more memory as it has to hold the listing in memory 69847 .IP \[bu] 2 69848 --old-sync-method deprecated - the remaining uses are covered by 69849 --fast-list 69850 .IP \[bu] 2 69851 This involved a major re-write of all the listing code 69852 .RE 69853 .IP \[bu] 2 69854 Add --tpslimit and --tpslimit-burst to limit transactions per second 69855 .RS 2 69856 .IP \[bu] 2 69857 this is useful in conjunction with \f[C]rclone mount\f[R] to limit 69858 external apps 69859 .RE 69860 .IP \[bu] 2 69861 Add --stats-log-level so can see --stats without -v 69862 .IP \[bu] 2 69863 Print password prompts to stderr - Hraban Luyat 69864 .IP \[bu] 2 69865 Warn about duplicate files when syncing 69866 .IP \[bu] 2 69867 Oauth improvements 69868 .RS 2 69869 .IP \[bu] 2 69870 allow auth_url and token_url to be set in the config file 69871 .IP \[bu] 2 69872 Print redirection URI if using own credentials. 69873 .RE 69874 .IP \[bu] 2 69875 Don\[aq]t Mkdir at the start of sync to save transactions 69876 .RE 69877 .IP \[bu] 2 69878 Compile 69879 .RS 2 69880 .IP \[bu] 2 69881 Update build to go1.8.3 69882 .IP \[bu] 2 69883 Require go1.6 for building rclone 69884 .IP \[bu] 2 69885 Compile 386 builds with \[dq]GO386=387\[dq] for maximum compatibility 69886 .RE 69887 .IP \[bu] 2 69888 Bug Fixes 69889 .RS 2 69890 .IP \[bu] 2 69891 Fix menu selection when no remotes 69892 .IP \[bu] 2 69893 Config saving reworked to not kill the file if disk gets full 69894 .IP \[bu] 2 69895 Don\[aq]t delete remote if name does not change while renaming 69896 .IP \[bu] 2 69897 moveto, copyto: report transfers and checks as per move and copy 69898 .RE 69899 .IP \[bu] 2 69900 Local 69901 .RS 2 69902 .IP \[bu] 2 69903 Add --local-no-unicode-normalization flag - Bob Potter 69904 .RE 69905 .IP \[bu] 2 69906 Mount 69907 .RS 2 69908 .IP \[bu] 2 69909 Now supported on Windows using cgofuse and WinFsp - thanks to Bill 69910 Zissimopoulos for much help 69911 .IP \[bu] 2 69912 Compare checksums on upload/download via FUSE 69913 .IP \[bu] 2 69914 Unmount when program ends with SIGINT (Ctrl+C) or SIGTERM - 69915 J\['e]r\[^o]me Vizcaino 69916 .IP \[bu] 2 69917 On read only open of file, make open pending until first read 69918 .IP \[bu] 2 69919 Make --read-only reject modify operations 69920 .IP \[bu] 2 69921 Implement ModTime via FUSE for remotes that support it 69922 .IP \[bu] 2 69923 Allow modTime to be changed even before all writers are closed 69924 .IP \[bu] 2 69925 Fix panic on renames 69926 .IP \[bu] 2 69927 Fix hang on errored upload 69928 .RE 69929 .IP \[bu] 2 69930 Crypt 69931 .RS 2 69932 .IP \[bu] 2 69933 Report the name:root as specified by the user 69934 .IP \[bu] 2 69935 Add an \[dq]obfuscate\[dq] option for filename encryption - Stephen 69936 Harris 69937 .RE 69938 .IP \[bu] 2 69939 Amazon Drive 69940 .RS 2 69941 .IP \[bu] 2 69942 Fix initialization order for token renewer 69943 .IP \[bu] 2 69944 Remove revoked credentials, allow oauth proxy config and update docs 69945 .RE 69946 .IP \[bu] 2 69947 B2 69948 .RS 2 69949 .IP \[bu] 2 69950 Reduce minimum chunk size to 5MB 69951 .RE 69952 .IP \[bu] 2 69953 Drive 69954 .RS 2 69955 .IP \[bu] 2 69956 Add team drive support 69957 .IP \[bu] 2 69958 Reduce bandwidth by adding fields for partial responses - Martin 69959 Kristensen 69960 .IP \[bu] 2 69961 Implement --drive-shared-with-me flag to view shared with me files - 69962 Danny Tsai 69963 .IP \[bu] 2 69964 Add --drive-trashed-only to read only the files in the trash 69965 .IP \[bu] 2 69966 Remove obsolete --drive-full-list 69967 .IP \[bu] 2 69968 Add missing seek to start on retries of chunked uploads 69969 .IP \[bu] 2 69970 Fix stats accounting for upload 69971 .IP \[bu] 2 69972 Convert / in names to a unicode equivalent (\[uFF0F]) 69973 .IP \[bu] 2 69974 Poll for Google Drive changes when mounted 69975 .RE 69976 .IP \[bu] 2 69977 OneDrive 69978 .RS 2 69979 .IP \[bu] 2 69980 Fix the uploading of files with spaces 69981 .IP \[bu] 2 69982 Fix initialization order for token renewer 69983 .IP \[bu] 2 69984 Display speeds accurately when uploading - Yoni Jah 69985 .IP \[bu] 2 69986 Swap to using http://localhost:53682/ as redirect URL - Michael Ledin 69987 .IP \[bu] 2 69988 Retry on token expired error, reset upload body on retry - Yoni Jah 69989 .RE 69990 .IP \[bu] 2 69991 Google Cloud Storage 69992 .RS 2 69993 .IP \[bu] 2 69994 Add ability to specify location and storage class via config and command 69995 line - thanks gdm85 69996 .IP \[bu] 2 69997 Create container if necessary on server-side copy 69998 .IP \[bu] 2 69999 Increase directory listing chunk to 1000 to increase performance 70000 .IP \[bu] 2 70001 Obtain a refresh token for GCS - Steven Lu 70002 .RE 70003 .IP \[bu] 2 70004 Yandex 70005 .RS 2 70006 .IP \[bu] 2 70007 Fix the name reported in log messages (was empty) 70008 .IP \[bu] 2 70009 Correct error return for listing empty directory 70010 .RE 70011 .IP \[bu] 2 70012 Dropbox 70013 .RS 2 70014 .IP \[bu] 2 70015 Rewritten to use the v2 API 70016 .RS 2 70017 .IP \[bu] 2 70018 Now supports ModTime 70019 .RS 2 70020 .IP \[bu] 2 70021 Can only set by uploading the file again 70022 .IP \[bu] 2 70023 If you uploaded with an old rclone, rclone may upload everything again 70024 .IP \[bu] 2 70025 Use \f[C]--size-only\f[R] or \f[C]--checksum\f[R] to avoid this 70026 .RE 70027 .IP \[bu] 2 70028 Now supports the Dropbox content hashing scheme 70029 .IP \[bu] 2 70030 Now supports low level retries 70031 .RE 70032 .RE 70033 .IP \[bu] 2 70034 S3 70035 .RS 2 70036 .IP \[bu] 2 70037 Work around eventual consistency in bucket creation 70038 .IP \[bu] 2 70039 Create container if necessary on server-side copy 70040 .IP \[bu] 2 70041 Add us-east-2 (Ohio) and eu-west-2 (London) S3 regions - Zahiar Ahmed 70042 .RE 70043 .IP \[bu] 2 70044 Swift, Hubic 70045 .RS 2 70046 .IP \[bu] 2 70047 Fix zero length directory markers showing in the subdirectory listing 70048 .RS 2 70049 .IP \[bu] 2 70050 this caused lots of duplicate transfers 70051 .RE 70052 .IP \[bu] 2 70053 Fix paged directory listings 70054 .RS 2 70055 .IP \[bu] 2 70056 this caused duplicate directory errors 70057 .RE 70058 .IP \[bu] 2 70059 Create container if necessary on server-side copy 70060 .IP \[bu] 2 70061 Increase directory listing chunk to 1000 to increase performance 70062 .IP \[bu] 2 70063 Make sensible error if the user forgets the container 70064 .RE 70065 .IP \[bu] 2 70066 SFTP 70067 .RS 2 70068 .IP \[bu] 2 70069 Add support for using ssh key files 70070 .IP \[bu] 2 70071 Fix under Windows 70072 .IP \[bu] 2 70073 Fix ssh agent on Windows 70074 .IP \[bu] 2 70075 Adapt to latest version of library - Igor Kharin 70076 .RE 70077 .SS v1.36 - 2017-03-18 70078 .IP \[bu] 2 70079 New Features 70080 .RS 2 70081 .IP \[bu] 2 70082 SFTP remote (Jack Schmidt) 70083 .IP \[bu] 2 70084 Re-implement sync routine to work a directory at a time reducing memory 70085 usage 70086 .IP \[bu] 2 70087 Logging revamped to be more inline with rsync - now much quieter * -v 70088 only shows transfers * -vv is for full debug * --syslog to log to syslog 70089 on capable platforms 70090 .IP \[bu] 2 70091 Implement --backup-dir and --suffix 70092 .IP \[bu] 2 70093 Implement --track-renames (initial implementation by Bj\[/o]rn Erik 70094 Pedersen) 70095 .IP \[bu] 2 70096 Add time-based bandwidth limits (Lukas Loesche) 70097 .IP \[bu] 2 70098 rclone cryptcheck: checks integrity of crypt remotes 70099 .IP \[bu] 2 70100 Allow all config file variables and options to be set from environment 70101 variables 70102 .IP \[bu] 2 70103 Add --buffer-size parameter to control buffer size for copy 70104 .IP \[bu] 2 70105 Make --delete-after the default 70106 .IP \[bu] 2 70107 Add --ignore-checksum flag (fixed by Hisham Zarka) 70108 .IP \[bu] 2 70109 rclone check: Add --download flag to check all the data, not just hashes 70110 .IP \[bu] 2 70111 rclone cat: add --head, --tail, --offset, --count and --discard 70112 .IP \[bu] 2 70113 rclone config: when choosing from a list, allow the value to be entered 70114 too 70115 .IP \[bu] 2 70116 rclone config: allow rename and copy of remotes 70117 .IP \[bu] 2 70118 rclone obscure: for generating encrypted passwords for rclone\[aq]s 70119 config (T.C. 70120 Ferguson) 70121 .IP \[bu] 2 70122 Comply with XDG Base Directory specification (Dario Giovannetti) 70123 .RS 2 70124 .IP \[bu] 2 70125 this moves the default location of the config file in a backwards 70126 compatible way 70127 .RE 70128 .IP \[bu] 2 70129 Release changes 70130 .RS 2 70131 .IP \[bu] 2 70132 Ubuntu snap support (Dedsec1) 70133 .IP \[bu] 2 70134 Compile with go 1.8 70135 .IP \[bu] 2 70136 MIPS/Linux big and little endian support 70137 .RE 70138 .RE 70139 .IP \[bu] 2 70140 Bug Fixes 70141 .RS 2 70142 .IP \[bu] 2 70143 Fix copyto copying things to the wrong place if the destination dir 70144 didn\[aq]t exist 70145 .IP \[bu] 2 70146 Fix parsing of remotes in moveto and copyto 70147 .IP \[bu] 2 70148 Fix --delete-before deleting files on copy 70149 .IP \[bu] 2 70150 Fix --files-from with an empty file copying everything 70151 .IP \[bu] 2 70152 Fix sync: don\[aq]t update mod times if --dry-run set 70153 .IP \[bu] 2 70154 Fix MimeType propagation 70155 .IP \[bu] 2 70156 Fix filters to add ** rules to directory rules 70157 .RE 70158 .IP \[bu] 2 70159 Local 70160 .RS 2 70161 .IP \[bu] 2 70162 Implement -L, --copy-links flag to allow rclone to follow symlinks 70163 .IP \[bu] 2 70164 Open files in write only mode so rclone can write to an rclone mount 70165 .IP \[bu] 2 70166 Fix unnormalised unicode causing problems reading directories 70167 .IP \[bu] 2 70168 Fix interaction between -x flag and --max-depth 70169 .RE 70170 .IP \[bu] 2 70171 Mount 70172 .RS 2 70173 .IP \[bu] 2 70174 Implement proper directory handling (mkdir, rmdir, renaming) 70175 .IP \[bu] 2 70176 Make include and exclude filters apply to mount 70177 .IP \[bu] 2 70178 Implement read and write async buffers - control with --buffer-size 70179 .IP \[bu] 2 70180 Fix fsync on for directories 70181 .IP \[bu] 2 70182 Fix retry on network failure when reading off crypt 70183 .RE 70184 .IP \[bu] 2 70185 Crypt 70186 .RS 2 70187 .IP \[bu] 2 70188 Add --crypt-show-mapping to show encrypted file mapping 70189 .IP \[bu] 2 70190 Fix crypt writer getting stuck in a loop 70191 .RS 2 70192 .IP \[bu] 2 70193 \f[B]IMPORTANT\f[R] this bug had the potential to cause data corruption 70194 when 70195 .RS 2 70196 .IP \[bu] 2 70197 reading data from a network based remote and 70198 .IP \[bu] 2 70199 writing to a crypt on Google Drive 70200 .RE 70201 .IP \[bu] 2 70202 Use the cryptcheck command to validate your data if you are concerned 70203 .IP \[bu] 2 70204 If syncing two crypt remotes, sync the unencrypted remote 70205 .RE 70206 .RE 70207 .IP \[bu] 2 70208 Amazon Drive 70209 .RS 2 70210 .IP \[bu] 2 70211 Fix panics on Move (rename) 70212 .IP \[bu] 2 70213 Fix panic on token expiry 70214 .RE 70215 .IP \[bu] 2 70216 B2 70217 .RS 2 70218 .IP \[bu] 2 70219 Fix inconsistent listings and rclone check 70220 .IP \[bu] 2 70221 Fix uploading empty files with go1.8 70222 .IP \[bu] 2 70223 Constrain memory usage when doing multipart uploads 70224 .IP \[bu] 2 70225 Fix upload url not being refreshed properly 70226 .RE 70227 .IP \[bu] 2 70228 Drive 70229 .RS 2 70230 .IP \[bu] 2 70231 Fix Rmdir on directories with trashed files 70232 .IP \[bu] 2 70233 Fix \[dq]Ignoring unknown object\[dq] when downloading 70234 .IP \[bu] 2 70235 Add --drive-list-chunk 70236 .IP \[bu] 2 70237 Add --drive-skip-gdocs (K\['a]roly Ol\['a]h) 70238 .RE 70239 .IP \[bu] 2 70240 OneDrive 70241 .RS 2 70242 .IP \[bu] 2 70243 Implement Move 70244 .IP \[bu] 2 70245 Fix Copy 70246 .RS 2 70247 .IP \[bu] 2 70248 Fix overwrite detection in Copy 70249 .IP \[bu] 2 70250 Fix waitForJob to parse errors correctly 70251 .RE 70252 .IP \[bu] 2 70253 Use token renewer to stop auth errors on long uploads 70254 .IP \[bu] 2 70255 Fix uploading empty files with go1.8 70256 .RE 70257 .IP \[bu] 2 70258 Google Cloud Storage 70259 .RS 2 70260 .IP \[bu] 2 70261 Fix depth 1 directory listings 70262 .RE 70263 .IP \[bu] 2 70264 Yandex 70265 .RS 2 70266 .IP \[bu] 2 70267 Fix single level directory listing 70268 .RE 70269 .IP \[bu] 2 70270 Dropbox 70271 .RS 2 70272 .IP \[bu] 2 70273 Normalise the case for single level directory listings 70274 .IP \[bu] 2 70275 Fix depth 1 listing 70276 .RE 70277 .IP \[bu] 2 70278 S3 70279 .RS 2 70280 .IP \[bu] 2 70281 Added ca-central-1 region (Jon Yergatian) 70282 .RE 70283 .SS v1.35 - 2017-01-02 70284 .IP \[bu] 2 70285 New Features 70286 .RS 2 70287 .IP \[bu] 2 70288 moveto and copyto commands for choosing a destination name on copy/move 70289 .IP \[bu] 2 70290 rmdirs command to recursively delete empty directories 70291 .IP \[bu] 2 70292 Allow repeated --include/--exclude/--filter options 70293 .IP \[bu] 2 70294 Only show transfer stats on commands which transfer stuff 70295 .RS 2 70296 .IP \[bu] 2 70297 show stats on any command using the \f[C]--stats\f[R] flag 70298 .RE 70299 .IP \[bu] 2 70300 Allow overlapping directories in move when server-side dir move is 70301 supported 70302 .IP \[bu] 2 70303 Add --stats-unit option - thanks Scott McGillivray 70304 .RE 70305 .IP \[bu] 2 70306 Bug Fixes 70307 .RS 2 70308 .IP \[bu] 2 70309 Fix the config file being overwritten when two rclone instances are 70310 running 70311 .IP \[bu] 2 70312 Make rclone lsd obey the filters properly 70313 .IP \[bu] 2 70314 Fix compilation on mips 70315 .IP \[bu] 2 70316 Fix not transferring files that don\[aq]t differ in size 70317 .IP \[bu] 2 70318 Fix panic on nil retry/fatal error 70319 .RE 70320 .IP \[bu] 2 70321 Mount 70322 .RS 2 70323 .IP \[bu] 2 70324 Retry reads on error - should help with reliability a lot 70325 .IP \[bu] 2 70326 Report the modification times for directories from the remote 70327 .IP \[bu] 2 70328 Add bandwidth accounting and limiting (fixes --bwlimit) 70329 .IP \[bu] 2 70330 If --stats provided will show stats and which files are transferring 70331 .IP \[bu] 2 70332 Support R/W files if truncate is set. 70333 .IP \[bu] 2 70334 Implement statfs interface so df works 70335 .IP \[bu] 2 70336 Note that write is now supported on Amazon Drive 70337 .IP \[bu] 2 70338 Report number of blocks in a file - thanks Stefan Breunig 70339 .RE 70340 .IP \[bu] 2 70341 Crypt 70342 .RS 2 70343 .IP \[bu] 2 70344 Prevent the user pointing crypt at itself 70345 .IP \[bu] 2 70346 Fix failed to authenticate decrypted block errors 70347 .RS 2 70348 .IP \[bu] 2 70349 these will now return the underlying unexpected EOF instead 70350 .RE 70351 .RE 70352 .IP \[bu] 2 70353 Amazon Drive 70354 .RS 2 70355 .IP \[bu] 2 70356 Add support for server-side move and directory move - thanks Stefan 70357 Breunig 70358 .IP \[bu] 2 70359 Fix nil pointer deref on size attribute 70360 .RE 70361 .IP \[bu] 2 70362 B2 70363 .RS 2 70364 .IP \[bu] 2 70365 Use new prefix and delimiter parameters in directory listings 70366 .RS 2 70367 .IP \[bu] 2 70368 This makes --max-depth 1 dir listings as used in mount much faster 70369 .RE 70370 .IP \[bu] 2 70371 Reauth the account while doing uploads too - should help with token 70372 expiry 70373 .RE 70374 .IP \[bu] 2 70375 Drive 70376 .RS 2 70377 .IP \[bu] 2 70378 Make DirMove more efficient and complain about moving the root 70379 .IP \[bu] 2 70380 Create destination directory on Move() 70381 .RE 70382 .SS v1.34 - 2016-11-06 70383 .IP \[bu] 2 70384 New Features 70385 .RS 2 70386 .IP \[bu] 2 70387 Stop single file and \f[C]--files-from\f[R] operations iterating through 70388 the source bucket. 70389 .IP \[bu] 2 70390 Stop removing failed upload to cloud storage remotes 70391 .IP \[bu] 2 70392 Make ContentType be preserved for cloud to cloud copies 70393 .IP \[bu] 2 70394 Add support to toggle bandwidth limits via SIGUSR2 - thanks Marco 70395 Paganini 70396 .IP \[bu] 2 70397 \f[C]rclone check\f[R] shows count of hashes that couldn\[aq]t be 70398 checked 70399 .IP \[bu] 2 70400 \f[C]rclone listremotes\f[R] command 70401 .IP \[bu] 2 70402 Support linux/arm64 build - thanks Fredrik Fornwall 70403 .IP \[bu] 2 70404 Remove \f[C]Authorization:\f[R] lines from \f[C]--dump-headers\f[R] 70405 output 70406 .RE 70407 .IP \[bu] 2 70408 Bug Fixes 70409 .RS 2 70410 .IP \[bu] 2 70411 Ignore files with control characters in the names 70412 .IP \[bu] 2 70413 Fix \f[C]rclone move\f[R] command 70414 .RS 2 70415 .IP \[bu] 2 70416 Delete src files which already existed in dst 70417 .IP \[bu] 2 70418 Fix deletion of src file when dst file older 70419 .RE 70420 .IP \[bu] 2 70421 Fix \f[C]rclone check\f[R] on encrypted file systems 70422 .IP \[bu] 2 70423 Make failed uploads not count as \[dq]Transferred\[dq] 70424 .IP \[bu] 2 70425 Make sure high level retries show with \f[C]-q\f[R] 70426 .IP \[bu] 2 70427 Use a vendor directory with godep for repeatable builds 70428 .RE 70429 .IP \[bu] 2 70430 \f[C]rclone mount\f[R] - FUSE 70431 .RS 2 70432 .IP \[bu] 2 70433 Implement FUSE mount options 70434 .RS 2 70435 .IP \[bu] 2 70436 \f[C]--no-modtime\f[R], \f[C]--debug-fuse\f[R], \f[C]--read-only\f[R], 70437 \f[C]--allow-non-empty\f[R], \f[C]--allow-root\f[R], 70438 \f[C]--allow-other\f[R] 70439 .IP \[bu] 2 70440 \f[C]--default-permissions\f[R], \f[C]--write-back-cache\f[R], 70441 \f[C]--max-read-ahead\f[R], \f[C]--umask\f[R], \f[C]--uid\f[R], 70442 \f[C]--gid\f[R] 70443 .RE 70444 .IP \[bu] 2 70445 Add \f[C]--dir-cache-time\f[R] to control caching of directory entries 70446 .IP \[bu] 2 70447 Implement seek for files opened for read (useful for video players) 70448 .RS 2 70449 .IP \[bu] 2 70450 with \f[C]-no-seek\f[R] flag to disable 70451 .RE 70452 .IP \[bu] 2 70453 Fix crash on 32 bit ARM (alignment of 64 bit counter) 70454 .IP \[bu] 2 70455 \&...and many more internal fixes and improvements! 70456 .RE 70457 .IP \[bu] 2 70458 Crypt 70459 .RS 2 70460 .IP \[bu] 2 70461 Don\[aq]t show encrypted password in configurator to stop confusion 70462 .RE 70463 .IP \[bu] 2 70464 Amazon Drive 70465 .RS 2 70466 .IP \[bu] 2 70467 New wait for upload option \f[C]--acd-upload-wait-per-gb\f[R] 70468 .RS 2 70469 .IP \[bu] 2 70470 upload timeouts scale by file size and can be disabled 70471 .RE 70472 .IP \[bu] 2 70473 Add 502 Bad Gateway to list of errors we retry 70474 .IP \[bu] 2 70475 Fix overwriting a file with a zero length file 70476 .IP \[bu] 2 70477 Fix ACD file size warning limit - thanks Felix B\[:u]nemann 70478 .RE 70479 .IP \[bu] 2 70480 Local 70481 .RS 2 70482 .IP \[bu] 2 70483 Unix: implement \f[C]-x\f[R]/\f[C]--one-file-system\f[R] to stay on a 70484 single file system 70485 .RS 2 70486 .IP \[bu] 2 70487 thanks Durval Menezes and Luiz Carlos Rumbelsperger Viana 70488 .RE 70489 .IP \[bu] 2 70490 Windows: ignore the symlink bit on files 70491 .IP \[bu] 2 70492 Windows: Ignore directory-based junction points 70493 .RE 70494 .IP \[bu] 2 70495 B2 70496 .RS 2 70497 .IP \[bu] 2 70498 Make sure each upload has at least one upload slot - fixes strange 70499 upload stats 70500 .IP \[bu] 2 70501 Fix uploads when using crypt 70502 .IP \[bu] 2 70503 Fix download of large files (sha1 mismatch) 70504 .IP \[bu] 2 70505 Return error when we try to create a bucket which someone else owns 70506 .IP \[bu] 2 70507 Update B2 docs with Data usage, and Crypt section - thanks Tomasz Mazur 70508 .RE 70509 .IP \[bu] 2 70510 S3 70511 .RS 2 70512 .IP \[bu] 2 70513 Command line and config file support for 70514 .RS 2 70515 .IP \[bu] 2 70516 Setting/overriding ACL - thanks Radek \[vS]enfeld 70517 .IP \[bu] 2 70518 Setting storage class - thanks Asko Tamm 70519 .RE 70520 .RE 70521 .IP \[bu] 2 70522 Drive 70523 .RS 2 70524 .IP \[bu] 2 70525 Make exponential backoff work exactly as per Google specification 70526 .IP \[bu] 2 70527 add \f[C].epub\f[R], \f[C].odp\f[R] and \f[C].tsv\f[R] as export 70528 formats. 70529 .RE 70530 .IP \[bu] 2 70531 Swift 70532 .RS 2 70533 .IP \[bu] 2 70534 Don\[aq]t read metadata for directory marker objects 70535 .RE 70536 .SS v1.33 - 2016-08-24 70537 .IP \[bu] 2 70538 New Features 70539 .RS 2 70540 .IP \[bu] 2 70541 Implement encryption 70542 .RS 2 70543 .IP \[bu] 2 70544 data encrypted in NACL secretbox format 70545 .IP \[bu] 2 70546 with optional file name encryption 70547 .RE 70548 .IP \[bu] 2 70549 New commands 70550 .RS 2 70551 .IP \[bu] 2 70552 rclone mount - implements FUSE mounting of remotes (EXPERIMENTAL) 70553 .RS 2 70554 .IP \[bu] 2 70555 works on Linux, FreeBSD and OS X (need testers for the last 2!) 70556 .RE 70557 .IP \[bu] 2 70558 rclone cat - outputs remote file or files to the terminal 70559 .IP \[bu] 2 70560 rclone genautocomplete - command to make a bash completion script for 70561 rclone 70562 .RE 70563 .IP \[bu] 2 70564 Editing a remote using \f[C]rclone config\f[R] now goes through the 70565 wizard 70566 .IP \[bu] 2 70567 Compile with go 1.7 - this fixes rclone on macOS Sierra and on 386 70568 processors 70569 .IP \[bu] 2 70570 Use cobra for sub commands and docs generation 70571 .RE 70572 .IP \[bu] 2 70573 drive 70574 .RS 2 70575 .IP \[bu] 2 70576 Document how to make your own client_id 70577 .RE 70578 .IP \[bu] 2 70579 s3 70580 .RS 2 70581 .IP \[bu] 2 70582 User-configurable Amazon S3 ACL (thanks Radek \[vS]enfeld) 70583 .RE 70584 .IP \[bu] 2 70585 b2 70586 .RS 2 70587 .IP \[bu] 2 70588 Fix stats accounting for upload - no more jumping to 100% done 70589 .IP \[bu] 2 70590 On cleanup delete hide marker if it is the current file 70591 .IP \[bu] 2 70592 New B2 API endpoint (thanks Per Cederberg) 70593 .IP \[bu] 2 70594 Set maximum backoff to 5 Minutes 70595 .RE 70596 .IP \[bu] 2 70597 onedrive 70598 .RS 2 70599 .IP \[bu] 2 70600 Fix URL escaping in file names - e.g. 70601 uploading files with \f[C]+\f[R] in them. 70602 .RE 70603 .IP \[bu] 2 70604 amazon cloud drive 70605 .RS 2 70606 .IP \[bu] 2 70607 Fix token expiry during large uploads 70608 .IP \[bu] 2 70609 Work around 408 REQUEST_TIMEOUT and 504 GATEWAY_TIMEOUT errors 70610 .RE 70611 .IP \[bu] 2 70612 local 70613 .RS 2 70614 .IP \[bu] 2 70615 Fix filenames with invalid UTF-8 not being uploaded 70616 .IP \[bu] 2 70617 Fix problem with some UTF-8 characters on OS X 70618 .RE 70619 .SS v1.32 - 2016-07-13 70620 .IP \[bu] 2 70621 Backblaze B2 70622 .RS 2 70623 .IP \[bu] 2 70624 Fix upload of files large files not in root 70625 .RE 70626 .SS v1.31 - 2016-07-13 70627 .IP \[bu] 2 70628 New Features 70629 .RS 2 70630 .IP \[bu] 2 70631 Reduce memory on sync by about 50% 70632 .IP \[bu] 2 70633 Implement --no-traverse flag to stop copy traversing the destination 70634 remote. 70635 .RS 2 70636 .IP \[bu] 2 70637 This can be used to reduce memory usage down to the smallest possible. 70638 .IP \[bu] 2 70639 Useful to copy a small number of files into a large destination folder. 70640 .RE 70641 .IP \[bu] 2 70642 Implement cleanup command for emptying trash / removing old versions of 70643 files 70644 .RS 2 70645 .IP \[bu] 2 70646 Currently B2 only 70647 .RE 70648 .IP \[bu] 2 70649 Single file handling improved 70650 .RS 2 70651 .IP \[bu] 2 70652 Now copied with --files-from 70653 .IP \[bu] 2 70654 Automatically sets --no-traverse when copying a single file 70655 .RE 70656 .IP \[bu] 2 70657 Info on using installing with ansible - thanks Stefan Weichinger 70658 .IP \[bu] 2 70659 Implement --no-update-modtime flag to stop rclone fixing the remote 70660 modified times. 70661 .RE 70662 .IP \[bu] 2 70663 Bug Fixes 70664 .RS 2 70665 .IP \[bu] 2 70666 Fix move command - stop it running for overlapping Fses - this was 70667 causing data loss. 70668 .RE 70669 .IP \[bu] 2 70670 Local 70671 .RS 2 70672 .IP \[bu] 2 70673 Fix incomplete hashes - this was causing problems for B2. 70674 .RE 70675 .IP \[bu] 2 70676 Amazon Drive 70677 .RS 2 70678 .IP \[bu] 2 70679 Rename Amazon Cloud Drive to Amazon Drive - no changes to config file 70680 needed. 70681 .RE 70682 .IP \[bu] 2 70683 Swift 70684 .RS 2 70685 .IP \[bu] 2 70686 Add support for non-default project domain - thanks Antonio Messina. 70687 .RE 70688 .IP \[bu] 2 70689 S3 70690 .RS 2 70691 .IP \[bu] 2 70692 Add instructions on how to use rclone with minio. 70693 .IP \[bu] 2 70694 Add ap-northeast-2 (Seoul) and ap-south-1 (Mumbai) regions. 70695 .IP \[bu] 2 70696 Skip setting the modified time for objects > 5GB as it isn\[aq]t 70697 possible. 70698 .RE 70699 .IP \[bu] 2 70700 Backblaze B2 70701 .RS 2 70702 .IP \[bu] 2 70703 Add --b2-versions flag so old versions can be listed and retrieved. 70704 .IP \[bu] 2 70705 Treat 403 errors (e.g. 70706 cap exceeded) as fatal. 70707 .IP \[bu] 2 70708 Implement cleanup command for deleting old file versions. 70709 .IP \[bu] 2 70710 Make error handling compliant with B2 integrations notes. 70711 .IP \[bu] 2 70712 Fix handling of token expiry. 70713 .IP \[bu] 2 70714 Implement --b2-test-mode to set \f[C]X-Bz-Test-Mode\f[R] header. 70715 .IP \[bu] 2 70716 Set cutoff for chunked upload to 200MB as per B2 guidelines. 70717 .IP \[bu] 2 70718 Make upload multi-threaded. 70719 .RE 70720 .IP \[bu] 2 70721 Dropbox 70722 .RS 2 70723 .IP \[bu] 2 70724 Don\[aq]t retry 461 errors. 70725 .RE 70726 .SS v1.30 - 2016-06-18 70727 .IP \[bu] 2 70728 New Features 70729 .RS 2 70730 .IP \[bu] 2 70731 Directory listing code reworked for more features and better error 70732 reporting (thanks to Klaus Post for help). 70733 This enables 70734 .RS 2 70735 .IP \[bu] 2 70736 Directory include filtering for efficiency 70737 .IP \[bu] 2 70738 --max-depth parameter 70739 .IP \[bu] 2 70740 Better error reporting 70741 .IP \[bu] 2 70742 More to come 70743 .RE 70744 .IP \[bu] 2 70745 Retry more errors 70746 .IP \[bu] 2 70747 Add --ignore-size flag - for uploading images to onedrive 70748 .IP \[bu] 2 70749 Log -v output to stdout by default 70750 .IP \[bu] 2 70751 Display the transfer stats in more human-readable form 70752 .IP \[bu] 2 70753 Make 0 size files specifiable with \f[C]--max-size 0b\f[R] 70754 .IP \[bu] 2 70755 Add \f[C]b\f[R] suffix so we can specify bytes in --bwlimit, --min-size, 70756 etc. 70757 .IP \[bu] 2 70758 Use \[dq]password:\[dq] instead of \[dq]password>\[dq] prompt - thanks 70759 Klaus Post and Leigh Klotz 70760 .RE 70761 .IP \[bu] 2 70762 Bug Fixes 70763 .RS 2 70764 .IP \[bu] 2 70765 Fix retry doing one too many retries 70766 .RE 70767 .IP \[bu] 2 70768 Local 70769 .RS 2 70770 .IP \[bu] 2 70771 Fix problems with OS X and UTF-8 characters 70772 .RE 70773 .IP \[bu] 2 70774 Amazon Drive 70775 .RS 2 70776 .IP \[bu] 2 70777 Check a file exists before uploading to help with 408 Conflict errors 70778 .IP \[bu] 2 70779 Reauth on 401 errors - this has been causing a lot of problems 70780 .IP \[bu] 2 70781 Work around spurious 403 errors 70782 .IP \[bu] 2 70783 Restart directory listings on error 70784 .RE 70785 .IP \[bu] 2 70786 Google Drive 70787 .RS 2 70788 .IP \[bu] 2 70789 Check a file exists before uploading to help with duplicates 70790 .IP \[bu] 2 70791 Fix retry of multipart uploads 70792 .RE 70793 .IP \[bu] 2 70794 Backblaze B2 70795 .RS 2 70796 .IP \[bu] 2 70797 Implement large file uploading 70798 .RE 70799 .IP \[bu] 2 70800 S3 70801 .RS 2 70802 .IP \[bu] 2 70803 Add AES256 server-side encryption for - thanks Justin R. 70804 Wilson 70805 .RE 70806 .IP \[bu] 2 70807 Google Cloud Storage 70808 .RS 2 70809 .IP \[bu] 2 70810 Make sure we don\[aq]t use conflicting content types on upload 70811 .IP \[bu] 2 70812 Add service account support - thanks Michal Witkowski 70813 .RE 70814 .IP \[bu] 2 70815 Swift 70816 .RS 2 70817 .IP \[bu] 2 70818 Add auth version parameter 70819 .IP \[bu] 2 70820 Add domain option for openstack (v3 auth) - thanks Fabian Ruff 70821 .RE 70822 .SS v1.29 - 2016-04-18 70823 .IP \[bu] 2 70824 New Features 70825 .RS 2 70826 .IP \[bu] 2 70827 Implement \f[C]-I, --ignore-times\f[R] for unconditional upload 70828 .IP \[bu] 2 70829 Improve \f[C]dedupe\f[R]command 70830 .RS 2 70831 .IP \[bu] 2 70832 Now removes identical copies without asking 70833 .IP \[bu] 2 70834 Now obeys \f[C]--dry-run\f[R] 70835 .IP \[bu] 2 70836 Implement \f[C]--dedupe-mode\f[R] for non interactive running 70837 .RS 2 70838 .IP \[bu] 2 70839 \f[C]--dedupe-mode interactive\f[R] - interactive the default. 70840 .IP \[bu] 2 70841 \f[C]--dedupe-mode skip\f[R] - removes identical files then skips 70842 anything left. 70843 .IP \[bu] 2 70844 \f[C]--dedupe-mode first\f[R] - removes identical files then keeps the 70845 first one. 70846 .IP \[bu] 2 70847 \f[C]--dedupe-mode newest\f[R] - removes identical files then keeps the 70848 newest one. 70849 .IP \[bu] 2 70850 \f[C]--dedupe-mode oldest\f[R] - removes identical files then keeps the 70851 oldest one. 70852 .IP \[bu] 2 70853 \f[C]--dedupe-mode rename\f[R] - removes identical files then renames 70854 the rest to be different. 70855 .RE 70856 .RE 70857 .RE 70858 .IP \[bu] 2 70859 Bug fixes 70860 .RS 2 70861 .IP \[bu] 2 70862 Make rclone check obey the \f[C]--size-only\f[R] flag. 70863 .IP \[bu] 2 70864 Use \[dq]application/octet-stream\[dq] if discovered mime type is 70865 invalid. 70866 .IP \[bu] 2 70867 Fix missing \[dq]quit\[dq] option when there are no remotes. 70868 .RE 70869 .IP \[bu] 2 70870 Google Drive 70871 .RS 2 70872 .IP \[bu] 2 70873 Increase default chunk size to 8 MB - increases upload speed of big 70874 files 70875 .IP \[bu] 2 70876 Speed up directory listings and make more reliable 70877 .IP \[bu] 2 70878 Add missing retries for Move and DirMove - increases reliability 70879 .IP \[bu] 2 70880 Preserve mime type on file update 70881 .RE 70882 .IP \[bu] 2 70883 Backblaze B2 70884 .RS 2 70885 .IP \[bu] 2 70886 Enable mod time syncing 70887 .RS 2 70888 .IP \[bu] 2 70889 This means that B2 will now check modification times 70890 .IP \[bu] 2 70891 It will upload new files to update the modification times 70892 .IP \[bu] 2 70893 (there isn\[aq]t an API to just set the mod time.) 70894 .IP \[bu] 2 70895 If you want the old behaviour use \f[C]--size-only\f[R]. 70896 .RE 70897 .IP \[bu] 2 70898 Update API to new version 70899 .IP \[bu] 2 70900 Fix parsing of mod time when not in metadata 70901 .RE 70902 .IP \[bu] 2 70903 Swift/Hubic 70904 .RS 2 70905 .IP \[bu] 2 70906 Don\[aq]t return an MD5SUM for static large objects 70907 .RE 70908 .IP \[bu] 2 70909 S3 70910 .RS 2 70911 .IP \[bu] 2 70912 Fix uploading files bigger than 50GB 70913 .RE 70914 .SS v1.28 - 2016-03-01 70915 .IP \[bu] 2 70916 New Features 70917 .RS 2 70918 .IP \[bu] 2 70919 Configuration file encryption - thanks Klaus Post 70920 .IP \[bu] 2 70921 Improve \f[C]rclone config\f[R] adding more help and making it easier to 70922 understand 70923 .IP \[bu] 2 70924 Implement \f[C]-u\f[R]/\f[C]--update\f[R] so creation times can be used 70925 on all remotes 70926 .IP \[bu] 2 70927 Implement \f[C]--low-level-retries\f[R] flag 70928 .IP \[bu] 2 70929 Optionally disable gzip compression on downloads with 70930 \f[C]--no-gzip-encoding\f[R] 70931 .RE 70932 .IP \[bu] 2 70933 Bug fixes 70934 .RS 2 70935 .IP \[bu] 2 70936 Don\[aq]t make directories if \f[C]--dry-run\f[R] set 70937 .IP \[bu] 2 70938 Fix and document the \f[C]move\f[R] command 70939 .IP \[bu] 2 70940 Fix redirecting stderr on unix-like OSes when using \f[C]--log-file\f[R] 70941 .IP \[bu] 2 70942 Fix \f[C]delete\f[R] command to wait until all finished - fixes missing 70943 deletes. 70944 .RE 70945 .IP \[bu] 2 70946 Backblaze B2 70947 .RS 2 70948 .IP \[bu] 2 70949 Use one upload URL per go routine fixes 70950 \f[C]more than one upload using auth token\f[R] 70951 .IP \[bu] 2 70952 Add pacing, retries and reauthentication - fixes token expiry problems 70953 .IP \[bu] 2 70954 Upload without using a temporary file from local (and remotes which 70955 support SHA1) 70956 .IP \[bu] 2 70957 Fix reading metadata for all files when it shouldn\[aq]t have been 70958 .RE 70959 .IP \[bu] 2 70960 Drive 70961 .RS 2 70962 .IP \[bu] 2 70963 Fix listing drive documents at root 70964 .IP \[bu] 2 70965 Disable copy and move for Google docs 70966 .RE 70967 .IP \[bu] 2 70968 Swift 70969 .RS 2 70970 .IP \[bu] 2 70971 Fix uploading of chunked files with non ASCII characters 70972 .IP \[bu] 2 70973 Allow setting of \f[C]storage_url\f[R] in the config - thanks Xavier 70974 Lucas 70975 .RE 70976 .IP \[bu] 2 70977 S3 70978 .RS 2 70979 .IP \[bu] 2 70980 Allow IAM role and credentials from environment variables - thanks Brian 70981 Stengaard 70982 .IP \[bu] 2 70983 Allow low privilege users to use S3 (check if directory exists during 70984 Mkdir) - thanks Jakub Gedeon 70985 .RE 70986 .IP \[bu] 2 70987 Amazon Drive 70988 .RS 2 70989 .IP \[bu] 2 70990 Retry on more things to make directory listings more reliable 70991 .RE 70992 .SS v1.27 - 2016-01-31 70993 .IP \[bu] 2 70994 New Features 70995 .RS 2 70996 .IP \[bu] 2 70997 Easier headless configuration with \f[C]rclone authorize\f[R] 70998 .IP \[bu] 2 70999 Add support for multiple hash types - we now check SHA1 as well as MD5 71000 hashes. 71001 .IP \[bu] 2 71002 \f[C]delete\f[R] command which does obey the filters (unlike 71003 \f[C]purge\f[R]) 71004 .IP \[bu] 2 71005 \f[C]dedupe\f[R] command to deduplicate a remote. 71006 Useful with Google Drive. 71007 .IP \[bu] 2 71008 Add \f[C]--ignore-existing\f[R] flag to skip all files that exist on 71009 destination. 71010 .IP \[bu] 2 71011 Add \f[C]--delete-before\f[R], \f[C]--delete-during\f[R], 71012 \f[C]--delete-after\f[R] flags. 71013 .IP \[bu] 2 71014 Add \f[C]--memprofile\f[R] flag to debug memory use. 71015 .IP \[bu] 2 71016 Warn the user about files with same name but different case 71017 .IP \[bu] 2 71018 Make \f[C]--include\f[R] rules add their implicit exclude * at the end 71019 of the filter list 71020 .IP \[bu] 2 71021 Deprecate compiling with go1.3 71022 .RE 71023 .IP \[bu] 2 71024 Amazon Drive 71025 .RS 2 71026 .IP \[bu] 2 71027 Fix download of files > 10 GB 71028 .IP \[bu] 2 71029 Fix directory traversal (\[dq]Next token is expired\[dq]) for large 71030 directory listings 71031 .IP \[bu] 2 71032 Remove 409 conflict from error codes we will retry - stops very long 71033 pauses 71034 .RE 71035 .IP \[bu] 2 71036 Backblaze B2 71037 .RS 2 71038 .IP \[bu] 2 71039 SHA1 hashes now checked by rclone core 71040 .RE 71041 .IP \[bu] 2 71042 Drive 71043 .RS 2 71044 .IP \[bu] 2 71045 Add \f[C]--drive-auth-owner-only\f[R] to only consider files owned by 71046 the user - thanks Bj\[:o]rn Harrtell 71047 .IP \[bu] 2 71048 Export Google documents 71049 .RE 71050 .IP \[bu] 2 71051 Dropbox 71052 .RS 2 71053 .IP \[bu] 2 71054 Make file exclusion error controllable with -q 71055 .RE 71056 .IP \[bu] 2 71057 Swift 71058 .RS 2 71059 .IP \[bu] 2 71060 Fix upload from unprivileged user. 71061 .RE 71062 .IP \[bu] 2 71063 S3 71064 .RS 2 71065 .IP \[bu] 2 71066 Fix updating of mod times of files with \f[C]+\f[R] in. 71067 .RE 71068 .IP \[bu] 2 71069 Local 71070 .RS 2 71071 .IP \[bu] 2 71072 Add local file system option to disable UNC on Windows. 71073 .RE 71074 .SS v1.26 - 2016-01-02 71075 .IP \[bu] 2 71076 New Features 71077 .RS 2 71078 .IP \[bu] 2 71079 Yandex storage backend - thank you Dmitry Burdeev (\[dq]dibu\[dq]) 71080 .IP \[bu] 2 71081 Implement Backblaze B2 storage backend 71082 .IP \[bu] 2 71083 Add --min-age and --max-age flags - thank you Adriano Aur\['e]lio 71084 Meirelles 71085 .IP \[bu] 2 71086 Make ls/lsl/md5sum/size/check obey includes and excludes 71087 .RE 71088 .IP \[bu] 2 71089 Fixes 71090 .RS 2 71091 .IP \[bu] 2 71092 Fix crash in http logging 71093 .IP \[bu] 2 71094 Upload releases to github too 71095 .RE 71096 .IP \[bu] 2 71097 Swift 71098 .RS 2 71099 .IP \[bu] 2 71100 Fix sync for chunked files 71101 .RE 71102 .IP \[bu] 2 71103 OneDrive 71104 .RS 2 71105 .IP \[bu] 2 71106 Re-enable server-side copy 71107 .IP \[bu] 2 71108 Don\[aq]t mask HTTP error codes with JSON decode error 71109 .RE 71110 .IP \[bu] 2 71111 S3 71112 .RS 2 71113 .IP \[bu] 2 71114 Fix corrupting Content-Type on mod time update (thanks Joseph Spurrier) 71115 .RE 71116 .SS v1.25 - 2015-11-14 71117 .IP \[bu] 2 71118 New features 71119 .RS 2 71120 .IP \[bu] 2 71121 Implement Hubic storage system 71122 .RE 71123 .IP \[bu] 2 71124 Fixes 71125 .RS 2 71126 .IP \[bu] 2 71127 Fix deletion of some excluded files without --delete-excluded 71128 .RS 2 71129 .IP \[bu] 2 71130 This could have deleted files unexpectedly on sync 71131 .IP \[bu] 2 71132 Always check first with \f[C]--dry-run\f[R]! 71133 .RE 71134 .RE 71135 .IP \[bu] 2 71136 Swift 71137 .RS 2 71138 .IP \[bu] 2 71139 Stop SetModTime losing metadata (e.g. 71140 X-Object-Manifest) 71141 .RS 2 71142 .IP \[bu] 2 71143 This could have caused data loss for files > 5GB in size 71144 .RE 71145 .IP \[bu] 2 71146 Use ContentType from Object to avoid lookups in listings 71147 .RE 71148 .IP \[bu] 2 71149 OneDrive 71150 .RS 2 71151 .IP \[bu] 2 71152 disable server-side copy as it seems to be broken at Microsoft 71153 .RE 71154 .SS v1.24 - 2015-11-07 71155 .IP \[bu] 2 71156 New features 71157 .RS 2 71158 .IP \[bu] 2 71159 Add support for Microsoft OneDrive 71160 .IP \[bu] 2 71161 Add \f[C]--no-check-certificate\f[R] option to disable server 71162 certificate verification 71163 .IP \[bu] 2 71164 Add async readahead buffer for faster transfer of big files 71165 .RE 71166 .IP \[bu] 2 71167 Fixes 71168 .RS 2 71169 .IP \[bu] 2 71170 Allow spaces in remotes and check remote names for validity at creation 71171 time 71172 .IP \[bu] 2 71173 Allow \[aq]&\[aq] and disallow \[aq]:\[aq] in Windows filenames. 71174 .RE 71175 .IP \[bu] 2 71176 Swift 71177 .RS 2 71178 .IP \[bu] 2 71179 Ignore directory marker objects where appropriate - allows working with 71180 Hubic 71181 .IP \[bu] 2 71182 Don\[aq]t delete the container if fs wasn\[aq]t at root 71183 .RE 71184 .IP \[bu] 2 71185 S3 71186 .RS 2 71187 .IP \[bu] 2 71188 Don\[aq]t delete the bucket if fs wasn\[aq]t at root 71189 .RE 71190 .IP \[bu] 2 71191 Google Cloud Storage 71192 .RS 2 71193 .IP \[bu] 2 71194 Don\[aq]t delete the bucket if fs wasn\[aq]t at root 71195 .RE 71196 .SS v1.23 - 2015-10-03 71197 .IP \[bu] 2 71198 New features 71199 .RS 2 71200 .IP \[bu] 2 71201 Implement \f[C]rclone size\f[R] for measuring remotes 71202 .RE 71203 .IP \[bu] 2 71204 Fixes 71205 .RS 2 71206 .IP \[bu] 2 71207 Fix headless config for drive and gcs 71208 .IP \[bu] 2 71209 Tell the user they should try again if the webserver method failed 71210 .IP \[bu] 2 71211 Improve output of \f[C]--dump-headers\f[R] 71212 .RE 71213 .IP \[bu] 2 71214 S3 71215 .RS 2 71216 .IP \[bu] 2 71217 Allow anonymous access to public buckets 71218 .RE 71219 .IP \[bu] 2 71220 Swift 71221 .RS 2 71222 .IP \[bu] 2 71223 Stop chunked operations logging \[dq]Failed to read info: Object Not 71224 Found\[dq] 71225 .IP \[bu] 2 71226 Use Content-Length on uploads for extra reliability 71227 .RE 71228 .SS v1.22 - 2015-09-28 71229 .IP \[bu] 2 71230 Implement rsync like include and exclude flags 71231 .IP \[bu] 2 71232 swift 71233 .RS 2 71234 .IP \[bu] 2 71235 Support files > 5GB - thanks Sergey Tolmachev 71236 .RE 71237 .SS v1.21 - 2015-09-22 71238 .IP \[bu] 2 71239 New features 71240 .RS 2 71241 .IP \[bu] 2 71242 Display individual transfer progress 71243 .IP \[bu] 2 71244 Make lsl output times in localtime 71245 .RE 71246 .IP \[bu] 2 71247 Fixes 71248 .RS 2 71249 .IP \[bu] 2 71250 Fix allowing user to override credentials again in Drive, GCS and ACD 71251 .RE 71252 .IP \[bu] 2 71253 Amazon Drive 71254 .RS 2 71255 .IP \[bu] 2 71256 Implement compliant pacing scheme 71257 .RE 71258 .IP \[bu] 2 71259 Google Drive 71260 .RS 2 71261 .IP \[bu] 2 71262 Make directory reads concurrent for increased speed. 71263 .RE 71264 .SS v1.20 - 2015-09-15 71265 .IP \[bu] 2 71266 New features 71267 .RS 2 71268 .IP \[bu] 2 71269 Amazon Drive support 71270 .IP \[bu] 2 71271 Oauth support redone - fix many bugs and improve usability 71272 .RS 2 71273 .IP \[bu] 2 71274 Use \[dq]golang.org/x/oauth2\[dq] as oauth library of choice 71275 .IP \[bu] 2 71276 Improve oauth usability for smoother initial signup 71277 .IP \[bu] 2 71278 drive, googlecloudstorage: optionally use auto config for the oauth 71279 token 71280 .RE 71281 .IP \[bu] 2 71282 Implement --dump-headers and --dump-bodies debug flags 71283 .IP \[bu] 2 71284 Show multiple matched commands if abbreviation too short 71285 .IP \[bu] 2 71286 Implement server-side move where possible 71287 .RE 71288 .IP \[bu] 2 71289 local 71290 .RS 2 71291 .IP \[bu] 2 71292 Always use UNC paths internally on Windows - fixes a lot of bugs 71293 .RE 71294 .IP \[bu] 2 71295 dropbox 71296 .RS 2 71297 .IP \[bu] 2 71298 force use of our custom transport which makes timeouts work 71299 .RE 71300 .IP \[bu] 2 71301 Thanks to Klaus Post for lots of help with this release 71302 .SS v1.19 - 2015-08-28 71303 .IP \[bu] 2 71304 New features 71305 .RS 2 71306 .IP \[bu] 2 71307 Server side copies for s3/swift/drive/dropbox/gcs 71308 .IP \[bu] 2 71309 Move command - uses server-side copies if it can 71310 .IP \[bu] 2 71311 Implement --retries flag - tries 3 times by default 71312 .IP \[bu] 2 71313 Build for plan9/amd64 and solaris/amd64 too 71314 .RE 71315 .IP \[bu] 2 71316 Fixes 71317 .RS 2 71318 .IP \[bu] 2 71319 Make a current version download with a fixed URL for scripting 71320 .IP \[bu] 2 71321 Ignore rmdir in limited fs rather than throwing error 71322 .RE 71323 .IP \[bu] 2 71324 dropbox 71325 .RS 2 71326 .IP \[bu] 2 71327 Increase chunk size to improve upload speeds massively 71328 .IP \[bu] 2 71329 Issue an error message when trying to upload bad file name 71330 .RE 71331 .SS v1.18 - 2015-08-17 71332 .IP \[bu] 2 71333 drive 71334 .RS 2 71335 .IP \[bu] 2 71336 Add \f[C]--drive-use-trash\f[R] flag so rclone trashes instead of 71337 deletes 71338 .IP \[bu] 2 71339 Add \[dq]Forbidden to download\[dq] message for files with no 71340 downloadURL 71341 .RE 71342 .IP \[bu] 2 71343 dropbox 71344 .RS 2 71345 .IP \[bu] 2 71346 Remove datastore 71347 .RS 2 71348 .IP \[bu] 2 71349 This was deprecated and it caused a lot of problems 71350 .IP \[bu] 2 71351 Modification times and MD5SUMs no longer stored 71352 .RE 71353 .IP \[bu] 2 71354 Fix uploading files > 2GB 71355 .RE 71356 .IP \[bu] 2 71357 s3 71358 .RS 2 71359 .IP \[bu] 2 71360 use official AWS SDK from github.com/aws/aws-sdk-go 71361 .IP \[bu] 2 71362 \f[B]NB\f[R] will most likely require you to delete and recreate remote 71363 .IP \[bu] 2 71364 enable multipart upload which enables files > 5GB 71365 .IP \[bu] 2 71366 tested with Ceph / RadosGW / S3 emulation 71367 .IP \[bu] 2 71368 many thanks to Sam Liston and Brian Haymore at the Utah Center for High 71369 Performance Computing (https://www.chpc.utah.edu/) for a Ceph test 71370 account 71371 .RE 71372 .IP \[bu] 2 71373 misc 71374 .RS 2 71375 .IP \[bu] 2 71376 Show errors when reading the config file 71377 .IP \[bu] 2 71378 Do not print stats in quiet mode - thanks Leonid Shalupov 71379 .IP \[bu] 2 71380 Add FAQ 71381 .IP \[bu] 2 71382 Fix created directories not obeying umask 71383 .IP \[bu] 2 71384 Linux installation instructions - thanks Shimon Doodkin 71385 .RE 71386 .SS v1.17 - 2015-06-14 71387 .IP \[bu] 2 71388 dropbox: fix case insensitivity issues - thanks Leonid Shalupov 71389 .SS v1.16 - 2015-06-09 71390 .IP \[bu] 2 71391 Fix uploading big files which was causing timeouts or panics 71392 .IP \[bu] 2 71393 Don\[aq]t check md5sum after download with --size-only 71394 .SS v1.15 - 2015-06-06 71395 .IP \[bu] 2 71396 Add --checksum flag to only discard transfers by MD5SUM - thanks Alex 71397 Couper 71398 .IP \[bu] 2 71399 Implement --size-only flag to sync on size not checksum & modtime 71400 .IP \[bu] 2 71401 Expand docs and remove duplicated information 71402 .IP \[bu] 2 71403 Document rclone\[aq]s limitations with directories 71404 .IP \[bu] 2 71405 dropbox: update docs about case insensitivity 71406 .SS v1.14 - 2015-05-21 71407 .IP \[bu] 2 71408 local: fix encoding of non utf-8 file names - fixes a duplicate file 71409 problem 71410 .IP \[bu] 2 71411 drive: docs about rate limiting 71412 .IP \[bu] 2 71413 google cloud storage: Fix compile after API change in 71414 \[dq]google.golang.org/api/storage/v1\[dq] 71415 .SS v1.13 - 2015-05-10 71416 .IP \[bu] 2 71417 Revise documentation (especially sync) 71418 .IP \[bu] 2 71419 Implement --timeout and --conntimeout 71420 .IP \[bu] 2 71421 s3: ignore etags from multipart uploads which aren\[aq]t md5sums 71422 .SS v1.12 - 2015-03-15 71423 .IP \[bu] 2 71424 drive: Use chunked upload for files above a certain size 71425 .IP \[bu] 2 71426 drive: add --drive-chunk-size and --drive-upload-cutoff parameters 71427 .IP \[bu] 2 71428 drive: switch to insert from update when a failed copy deletes the 71429 upload 71430 .IP \[bu] 2 71431 core: Log duplicate files if they are detected 71432 .SS v1.11 - 2015-03-04 71433 .IP \[bu] 2 71434 swift: add region parameter 71435 .IP \[bu] 2 71436 drive: fix crash on failed to update remote mtime 71437 .IP \[bu] 2 71438 In remote paths, change native directory separators to / 71439 .IP \[bu] 2 71440 Add synchronization to ls/lsl/lsd output to stop corruptions 71441 .IP \[bu] 2 71442 Ensure all stats/log messages to go stderr 71443 .IP \[bu] 2 71444 Add --log-file flag to log everything (including panics) to file 71445 .IP \[bu] 2 71446 Make it possible to disable stats printing with --stats=0 71447 .IP \[bu] 2 71448 Implement --bwlimit to limit data transfer bandwidth 71449 .SS v1.10 - 2015-02-12 71450 .IP \[bu] 2 71451 s3: list an unlimited number of items 71452 .IP \[bu] 2 71453 Fix getting stuck in the configurator 71454 .SS v1.09 - 2015-02-07 71455 .IP \[bu] 2 71456 windows: Stop drive letters (e.g. 71457 C:) getting mixed up with remotes (e.g. 71458 drive:) 71459 .IP \[bu] 2 71460 local: Fix directory separators on Windows 71461 .IP \[bu] 2 71462 drive: fix rate limit exceeded errors 71463 .SS v1.08 - 2015-02-04 71464 .IP \[bu] 2 71465 drive: fix subdirectory listing to not list entire drive 71466 .IP \[bu] 2 71467 drive: Fix SetModTime 71468 .IP \[bu] 2 71469 dropbox: adapt code to recent library changes 71470 .SS v1.07 - 2014-12-23 71471 .IP \[bu] 2 71472 google cloud storage: fix memory leak 71473 .SS v1.06 - 2014-12-12 71474 .IP \[bu] 2 71475 Fix \[dq]Couldn\[aq]t find home directory\[dq] on OSX 71476 .IP \[bu] 2 71477 swift: Add tenant parameter 71478 .IP \[bu] 2 71479 Use new location of Google API packages 71480 .SS v1.05 - 2014-08-09 71481 .IP \[bu] 2 71482 Improved tests and consequently lots of minor fixes 71483 .IP \[bu] 2 71484 core: Fix race detected by go race detector 71485 .IP \[bu] 2 71486 core: Fixes after running errcheck 71487 .IP \[bu] 2 71488 drive: reset root directory on Rmdir and Purge 71489 .IP \[bu] 2 71490 fs: Document that Purger returns error on empty directory, test and fix 71491 .IP \[bu] 2 71492 google cloud storage: fix ListDir on subdirectory 71493 .IP \[bu] 2 71494 google cloud storage: re-read metadata in SetModTime 71495 .IP \[bu] 2 71496 s3: make reading metadata more reliable to work around eventual 71497 consistency problems 71498 .IP \[bu] 2 71499 s3: strip trailing / from ListDir() 71500 .IP \[bu] 2 71501 swift: return directories without / in ListDir 71502 .SS v1.04 - 2014-07-21 71503 .IP \[bu] 2 71504 google cloud storage: Fix crash on Update 71505 .SS v1.03 - 2014-07-20 71506 .IP \[bu] 2 71507 swift, s3, dropbox: fix updated files being marked as corrupted 71508 .IP \[bu] 2 71509 Make compile with go 1.1 again 71510 .SS v1.02 - 2014-07-19 71511 .IP \[bu] 2 71512 Implement Dropbox remote 71513 .IP \[bu] 2 71514 Implement Google Cloud Storage remote 71515 .IP \[bu] 2 71516 Verify Md5sums and Sizes after copies 71517 .IP \[bu] 2 71518 Remove times from \[dq]ls\[dq] command - lists sizes only 71519 .IP \[bu] 2 71520 Add add \[dq]lsl\[dq] - lists times and sizes 71521 .IP \[bu] 2 71522 Add \[dq]md5sum\[dq] command 71523 .SS v1.01 - 2014-07-04 71524 .IP \[bu] 2 71525 drive: fix transfer of big files using up lots of memory 71526 .SS v1.00 - 2014-07-03 71527 .IP \[bu] 2 71528 drive: fix whole second dates 71529 .SS v0.99 - 2014-06-26 71530 .IP \[bu] 2 71531 Fix --dry-run not working 71532 .IP \[bu] 2 71533 Make compatible with go 1.1 71534 .SS v0.98 - 2014-05-30 71535 .IP \[bu] 2 71536 s3: Treat missing Content-Length as 0 for some ceph installations 71537 .IP \[bu] 2 71538 rclonetest: add file with a space in 71539 .SS v0.97 - 2014-05-05 71540 .IP \[bu] 2 71541 Implement copying of single files 71542 .IP \[bu] 2 71543 s3 & swift: support paths inside containers/buckets 71544 .SS v0.96 - 2014-04-24 71545 .IP \[bu] 2 71546 drive: Fix multiple files of same name being created 71547 .IP \[bu] 2 71548 drive: Use o.Update and fs.Put to optimise transfers 71549 .IP \[bu] 2 71550 Add version number, -V and --version 71551 .SS v0.95 - 2014-03-28 71552 .IP \[bu] 2 71553 rclone.org: website, docs and graphics 71554 .IP \[bu] 2 71555 drive: fix path parsing 71556 .SS v0.94 - 2014-03-27 71557 .IP \[bu] 2 71558 Change remote format one last time 71559 .IP \[bu] 2 71560 GNU style flags 71561 .SS v0.93 - 2014-03-16 71562 .IP \[bu] 2 71563 drive: store token in config file 71564 .IP \[bu] 2 71565 cross compile other versions 71566 .IP \[bu] 2 71567 set strict permissions on config file 71568 .SS v0.92 - 2014-03-15 71569 .IP \[bu] 2 71570 Config fixes and --config option 71571 .SS v0.91 - 2014-03-15 71572 .IP \[bu] 2 71573 Make config file 71574 .SS v0.90 - 2013-06-27 71575 .IP \[bu] 2 71576 Project named rclone 71577 .SS v0.00 - 2012-11-18 71578 .IP \[bu] 2 71579 Project started 71580 .SH Bugs and Limitations 71581 .SS Limitations 71582 .SS Directory timestamps aren\[aq]t preserved 71583 .PP 71584 Rclone doesn\[aq]t currently preserve the timestamps of directories. 71585 This is because rclone only really considers objects when syncing. 71586 .SS Rclone struggles with millions of files in a directory/bucket 71587 .PP 71588 Currently rclone loads each directory/bucket entirely into memory before 71589 using it. 71590 Since each rclone object takes 0.5k-1k of memory this can take a very 71591 long time and use a large amount of memory. 71592 .PP 71593 Millions of files in a directory tends to occur on bucket-based remotes 71594 (e.g. 71595 S3 buckets) since those remotes do not segregate subdirectories within 71596 the bucket. 71597 .SS Bucket-based remotes and folders 71598 .PP 71599 Bucket-based remotes (e.g. 71600 S3/GCS/Swift/B2) do not have a concept of directories. 71601 Rclone therefore cannot create directories in them which means that 71602 empty directories on a bucket-based remote will tend to disappear. 71603 .PP 71604 Some software creates empty keys ending in \f[C]/\f[R] as directory 71605 markers. 71606 Rclone doesn\[aq]t do this as it potentially creates more objects and 71607 costs more. 71608 This ability may be added in the future (probably via a flag/option). 71609 .SS Bugs 71610 .PP 71611 Bugs are stored in rclone\[aq]s GitHub project: 71612 .IP \[bu] 2 71613 Reported 71614 bugs (https://github.com/divyam234/rclone/issues?q=is%3Aopen+is%3Aissue+label%3Abug) 71615 .IP \[bu] 2 71616 Known 71617 issues (https://github.com/divyam234/rclone/issues?q=is%3Aopen+is%3Aissue+milestone%3A%22Known+Problem%22) 71618 .SH Frequently Asked Questions 71619 .SS Do all cloud storage systems support all rclone commands 71620 .PP 71621 Yes they do. 71622 All the rclone commands (e.g. 71623 \f[C]sync\f[R], \f[C]copy\f[R], etc.) will work on all the remote 71624 storage systems. 71625 .SS Can I copy the config from one machine to another 71626 .PP 71627 Sure! Rclone stores all of its config in a single file. 71628 If you want to find this file, run \f[C]rclone config file\f[R] which 71629 will tell you where it is. 71630 .PP 71631 See the remote setup docs (https://rclone.org/remote_setup/) for more 71632 info. 71633 .SS How do I configure rclone on a remote / headless box with no browser? 71634 .PP 71635 This has now been documented in its own remote setup 71636 page (https://rclone.org/remote_setup/). 71637 .SS Can rclone sync directly from drive to s3 71638 .PP 71639 Rclone can sync between two remote cloud storage systems just fine. 71640 .PP 71641 Note that it effectively downloads the file and uploads it again, so the 71642 node running rclone would need to have lots of bandwidth. 71643 .PP 71644 The syncs would be incremental (on a file by file basis). 71645 .PP 71646 e.g. 71647 .IP 71648 .nf 71649 \f[C] 71650 rclone sync --interactive drive:Folder s3:bucket 71651 \f[R] 71652 .fi 71653 .SS Using rclone from multiple locations at the same time 71654 .PP 71655 You can use rclone from multiple places at the same time if you choose 71656 different subdirectory for the output, e.g. 71657 .IP 71658 .nf 71659 \f[C] 71660 Server A> rclone sync --interactive /tmp/whatever remote:ServerA 71661 Server B> rclone sync --interactive /tmp/whatever remote:ServerB 71662 \f[R] 71663 .fi 71664 .PP 71665 If you sync to the same directory then you should use rclone copy 71666 otherwise the two instances of rclone may delete each other\[aq]s files, 71667 e.g. 71668 .IP 71669 .nf 71670 \f[C] 71671 Server A> rclone copy /tmp/whatever remote:Backup 71672 Server B> rclone copy /tmp/whatever remote:Backup 71673 \f[R] 71674 .fi 71675 .PP 71676 The file names you upload from Server A and Server B should be different 71677 in this case, otherwise some file systems (e.g. 71678 Drive) may make duplicates. 71679 .SS Why doesn\[aq]t rclone support partial transfers / binary diffs like rsync? 71680 .PP 71681 Rclone stores each file you transfer as a native object on the remote 71682 cloud storage system. 71683 This means that you can see the files you upload as expected using 71684 alternative access methods (e.g. 71685 using the Google Drive web interface). 71686 There is a 1:1 mapping between files on your hard disk and objects 71687 created in the cloud storage system. 71688 .PP 71689 Cloud storage systems (at least none I\[aq]ve come across yet) don\[aq]t 71690 support partially uploading an object. 71691 You can\[aq]t take an existing object, and change some bytes in the 71692 middle of it. 71693 .PP 71694 It would be possible to make a sync system which stored binary diffs 71695 instead of whole objects like rclone does, but that would break the 1:1 71696 mapping of files on your hard disk to objects in the remote cloud 71697 storage system. 71698 .PP 71699 All the cloud storage systems support partial downloads of content, so 71700 it would be possible to make partial downloads work. 71701 However to make this work efficiently this would require storing a 71702 significant amount of metadata, which breaks the desired 1:1 mapping of 71703 files to objects. 71704 .SS Can rclone do bi-directional sync? 71705 .PP 71706 Yes, since rclone v1.58.0, bidirectional cloud 71707 sync (https://rclone.org/bisync/) is available. 71708 .SS Can I use rclone with an HTTP proxy? 71709 .PP 71710 Yes. 71711 rclone will follow the standard environment variables for proxies, 71712 similar to cURL and other programs. 71713 .PP 71714 In general the variables are called \f[C]http_proxy\f[R] (for services 71715 reached over \f[C]http\f[R]) and \f[C]https_proxy\f[R] (for services 71716 reached over \f[C]https\f[R]). 71717 Most public services will be using \f[C]https\f[R], but you may wish to 71718 set both. 71719 .PP 71720 The content of the variable is \f[C]protocol://server:port\f[R]. 71721 The protocol value is the one used to talk to the proxy server, itself, 71722 and is commonly either \f[C]http\f[R] or \f[C]socks5\f[R]. 71723 .PP 71724 Slightly annoyingly, there is no \f[I]standard\f[R] for the name; some 71725 applications may use \f[C]http_proxy\f[R] but another one 71726 \f[C]HTTP_PROXY\f[R]. 71727 The \f[C]Go\f[R] libraries used by \f[C]rclone\f[R] will try both 71728 variations, but you may wish to set all possibilities. 71729 So, on Linux, you may end up with code similar to 71730 .IP 71731 .nf 71732 \f[C] 71733 export http_proxy=http://proxyserver:12345 71734 export https_proxy=$http_proxy 71735 export HTTP_PROXY=$http_proxy 71736 export HTTPS_PROXY=$http_proxy 71737 \f[R] 71738 .fi 71739 .PP 71740 Note: If the proxy server requires a username and password, then use 71741 .IP 71742 .nf 71743 \f[C] 71744 export http_proxy=http://username:password\[at]proxyserver:12345 71745 export https_proxy=$http_proxy 71746 export HTTP_PROXY=$http_proxy 71747 export HTTPS_PROXY=$http_proxy 71748 \f[R] 71749 .fi 71750 .PP 71751 The \f[C]NO_PROXY\f[R] allows you to disable the proxy for specific 71752 hosts. 71753 Hosts must be comma separated, and can contain domains or parts. 71754 For instance \[dq]foo.com\[dq] also matches \[dq]bar.foo.com\[dq]. 71755 .PP 71756 e.g. 71757 .IP 71758 .nf 71759 \f[C] 71760 export no_proxy=localhost,127.0.0.0/8,my.host.name 71761 export NO_PROXY=$no_proxy 71762 \f[R] 71763 .fi 71764 .PP 71765 Note that the FTP backend does not support \f[C]ftp_proxy\f[R] yet. 71766 .SS Rclone gives x509: failed to load system roots and no roots provided error 71767 .PP 71768 This means that \f[C]rclone\f[R] can\[aq]t find the SSL root 71769 certificates. 71770 Likely you are running \f[C]rclone\f[R] on a NAS with a cut-down Linux 71771 OS, or possibly on Solaris. 71772 .PP 71773 Rclone (via the Go runtime) tries to load the root certificates from 71774 these places on Linux. 71775 .IP 71776 .nf 71777 \f[C] 71778 \[dq]/etc/ssl/certs/ca-certificates.crt\[dq], // Debian/Ubuntu/Gentoo etc. 71779 \[dq]/etc/pki/tls/certs/ca-bundle.crt\[dq], // Fedora/RHEL 71780 \[dq]/etc/ssl/ca-bundle.pem\[dq], // OpenSUSE 71781 \[dq]/etc/pki/tls/cacert.pem\[dq], // OpenELEC 71782 \f[R] 71783 .fi 71784 .PP 71785 So doing something like this should fix the problem. 71786 It also sets the time which is important for SSL to work properly. 71787 .IP 71788 .nf 71789 \f[C] 71790 mkdir -p /etc/ssl/certs/ 71791 curl -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt 71792 ntpclient -s -h pool.ntp.org 71793 \f[R] 71794 .fi 71795 .PP 71796 The two environment variables \f[C]SSL_CERT_FILE\f[R] and 71797 \f[C]SSL_CERT_DIR\f[R], mentioned in the x509 71798 package (https://godoc.org/crypto/x509), provide an additional way to 71799 provide the SSL root certificates. 71800 .PP 71801 Note that you may need to add the \f[C]--insecure\f[R] option to the 71802 \f[C]curl\f[R] command line if it doesn\[aq]t work without. 71803 .IP 71804 .nf 71805 \f[C] 71806 curl --insecure -o /etc/ssl/certs/ca-certificates.crt https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt 71807 \f[R] 71808 .fi 71809 .SS Rclone gives Failed to load config file: function not implemented error 71810 .PP 71811 Likely this means that you are running rclone on Linux version not 71812 supported by the go runtime, ie earlier than version 2.6.23. 71813 .PP 71814 See the system requirements section in the go install 71815 docs (https://golang.org/doc/install) for full details. 71816 .SS All my uploaded docx/xlsx/pptx files appear as archive/zip 71817 .PP 71818 This is caused by uploading these files from a Windows computer which 71819 hasn\[aq]t got the Microsoft Office suite installed. 71820 The easiest way to fix is to install the Word viewer and the Microsoft 71821 Office Compatibility Pack for Word, Excel, and PowerPoint 2007 and later 71822 versions\[aq] file formats 71823 .SS tcp lookup some.domain.com no such host 71824 .PP 71825 This happens when rclone cannot resolve a domain. 71826 Please check that your DNS setup is generally working, e.g. 71827 .IP 71828 .nf 71829 \f[C] 71830 # both should print a long list of possible IP addresses 71831 dig www.googleapis.com # resolve using your default DNS 71832 dig www.googleapis.com \[at]8.8.8.8 # resolve with Google\[aq]s DNS server 71833 \f[R] 71834 .fi 71835 .PP 71836 If you are using \f[C]systemd-resolved\f[R] (default on Arch Linux), 71837 ensure it is at version 233 or higher. 71838 Previous releases contain a bug which causes not all domains to be 71839 resolved properly. 71840 .PP 71841 The Go resolver decision can be influenced with the 71842 \f[C]GODEBUG=netdns=...\f[R] environment variable. 71843 This also allows to resolve certain issues with DNS resolution. 71844 On Windows or MacOS systems, try forcing use of the internal Go resolver 71845 by setting \f[C]GODEBUG=netdns=go\f[R] at runtime. 71846 On other systems (Linux, *BSD, etc) try forcing use of the system name 71847 resolver by setting \f[C]GODEBUG=netdns=cgo\f[R] (and recompile rclone 71848 from source with CGO enabled if necessary). 71849 See the name resolution section in the go 71850 docs (https://golang.org/pkg/net/#hdr-Name_Resolution). 71851 .SS Failed to start auth webserver on Windows 71852 .IP 71853 .nf 71854 \f[C] 71855 Error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 71856 \&... 71857 yyyy/mm/dd hh:mm:ss Fatal error: config failed to refresh token: failed to start auth webserver: listen tcp 127.0.0.1:53682: bind: An attempt was made to access a socket in a way forbidden by its access permissions. 71858 \f[R] 71859 .fi 71860 .PP 71861 This is sometimes caused by the Host Network Service causing issues with 71862 opening the port on the host. 71863 .PP 71864 A simple solution may be restarting the Host Network Service with eg. 71865 Powershell 71866 .IP 71867 .nf 71868 \f[C] 71869 Restart-Service hns 71870 \f[R] 71871 .fi 71872 .SS The total size reported in the stats for a sync is wrong and keeps changing 71873 .PP 71874 It is likely you have more than 10,000 files that need to be synced. 71875 By default, rclone only gets 10,000 files ahead in a sync so as not to 71876 use up too much memory. 71877 You can change this default with the 71878 --max-backlog (https://rclone.org/docs/#max-backlog-n) flag. 71879 .SS Rclone is using too much memory or appears to have a memory leak 71880 .PP 71881 Rclone is written in Go which uses a garbage collector. 71882 The default settings for the garbage collector mean that it runs when 71883 the heap size has doubled. 71884 .PP 71885 However it is possible to tune the garbage collector to use less memory 71886 by setting GOGC (https://dave.cheney.net/tag/gogc) to a lower value, say 71887 \f[C]export GOGC=20\f[R]. 71888 This will make the garbage collector work harder, reducing memory size 71889 at the expense of CPU usage. 71890 .PP 71891 The most common cause of rclone using lots of memory is a single 71892 directory with thousands or millions of files in. 71893 Rclone has to load this entirely into memory as rclone objects. 71894 Each rclone object takes 0.5k-1k of memory. 71895 .SS Rclone changes fullwidth Unicode punctuation marks in file names 71896 .PP 71897 For example: On a Windows system, you have a file with name 71898 \f[C]Test\[uFF1A]1.jpg\f[R], where \f[C]\[uFF1A]\f[R] is the Unicode 71899 fullwidth colon symbol. 71900 When using rclone to copy this to your Google Drive, you will notice 71901 that the file gets renamed to \f[C]Test:1.jpg\f[R], where \f[C]:\f[R] is 71902 the regular (halfwidth) colon. 71903 .PP 71904 The reason for such renames is the way rclone handles different 71905 restricted filenames (https://rclone.org/overview/#restricted-filenames) 71906 on different cloud storage systems. 71907 It tries to avoid ambiguous file names as much and allow moving files 71908 between many cloud storage systems transparently, by replacing invalid 71909 characters with similar looking Unicode characters when transferring to 71910 one storage system, and replacing back again when transferring to a 71911 different storage system where the original characters are supported. 71912 When the same Unicode characters are intentionally used in file names, 71913 this replacement strategy leads to unwanted renames. 71914 Read more 71915 here (https://rclone.org/overview/#restricted-filenames-caveats). 71916 .SH License 71917 .PP 71918 This is free software under the terms of the MIT license (check the 71919 COPYING file included with the source code). 71920 .IP 71921 .nf 71922 \f[C] 71923 Copyright (C) 2019 by Nick Craig-Wood https://www.craig-wood.com/nick/ 71924 71925 Permission is hereby granted, free of charge, to any person obtaining a copy 71926 of this software and associated documentation files (the \[dq]Software\[dq]), to deal 71927 in the Software without restriction, including without limitation the rights 71928 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 71929 copies of the Software, and to permit persons to whom the Software is 71930 furnished to do so, subject to the following conditions: 71931 71932 The above copyright notice and this permission notice shall be included in 71933 all copies or substantial portions of the Software. 71934 71935 THE SOFTWARE IS PROVIDED \[dq]AS IS\[dq], WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 71936 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 71937 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 71938 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 71939 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 71940 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 71941 THE SOFTWARE. 71942 \f[R] 71943 .fi 71944 .SH Authors and contributors 71945 .SS Authors 71946 .IP \[bu] 2 71947 Nick Craig-Wood <nick@craig-wood.com> 71948 .SS Contributors 71949 .PP 71950 {{< rem 71951 \f[C]email addresses removed from here need to be added to bin/.ignore-emails to make sure update-authors.py doesn\[aq]t immediately put them back in again.\f[R] 71952 >}} 71953 .IP \[bu] 2 71954 Alex Couper <amcouper@gmail.com> 71955 .IP \[bu] 2 71956 Leonid Shalupov <leonid@shalupov.com> <shalupov@diverse.org.ru> 71957 .IP \[bu] 2 71958 Shimon Doodkin <helpmepro1@gmail.com> 71959 .IP \[bu] 2 71960 Colin Nicholson <colin@colinn.com> 71961 .IP \[bu] 2 71962 Klaus Post <klauspost@gmail.com> 71963 .IP \[bu] 2 71964 Sergey Tolmachev <tolsi.ru@gmail.com> 71965 .IP \[bu] 2 71966 Adriano Aur\['e]lio Meirelles <adriano@atinge.com> 71967 .IP \[bu] 2 71968 C. 71969 Bess <cbess@users.noreply.github.com> 71970 .IP \[bu] 2 71971 Dmitry Burdeev <dibu28@gmail.com> 71972 .IP \[bu] 2 71973 Joseph Spurrier <github@josephspurrier.com> 71974 .IP \[bu] 2 71975 Bj\[:o]rn Harrtell <bjorn@wololo.org> 71976 .IP \[bu] 2 71977 Xavier Lucas <xavier.lucas@corp.ovh.com> 71978 .IP \[bu] 2 71979 Werner Beroux <werner@beroux.com> 71980 .IP \[bu] 2 71981 Brian Stengaard <brian@stengaard.eu> 71982 .IP \[bu] 2 71983 Jakub Gedeon <jgedeon@sofi.com> 71984 .IP \[bu] 2 71985 Jim Tittsler <jwt@onjapan.net> 71986 .IP \[bu] 2 71987 Michal Witkowski <michal@improbable.io> 71988 .IP \[bu] 2 71989 Fabian Ruff <fabian.ruff@sap.com> 71990 .IP \[bu] 2 71991 Leigh Klotz <klotz@quixey.com> 71992 .IP \[bu] 2 71993 Romain Lapray <lapray.romain@gmail.com> 71994 .IP \[bu] 2 71995 Justin R. 71996 Wilson <jrw972@gmail.com> 71997 .IP \[bu] 2 71998 Antonio Messina <antonio.s.messina@gmail.com> 71999 .IP \[bu] 2 72000 Stefan G. 72001 Weichinger <office@oops.co.at> 72002 .IP \[bu] 2 72003 Per Cederberg <cederberg@gmail.com> 72004 .IP \[bu] 2 72005 Radek \[vS]enfeld <rush@logic.cz> 72006 .IP \[bu] 2 72007 Fredrik Fornwall <fredrik@fornwall.net> 72008 .IP \[bu] 2 72009 Asko Tamm <asko@deekit.net> 72010 .IP \[bu] 2 72011 xor-zz <xor@gstocco.com> 72012 .IP \[bu] 2 72013 Tomasz Mazur <tmazur90@gmail.com> 72014 .IP \[bu] 2 72015 Marco Paganini <paganini@paganini.net> 72016 .IP \[bu] 2 72017 Felix B\[:u]nemann <buenemann@louis.info> 72018 .IP \[bu] 2 72019 Durval Menezes <jmrclone@durval.com> 72020 .IP \[bu] 2 72021 Luiz Carlos Rumbelsperger Viana <maxd13_luiz_carlos@hotmail.com> 72022 .IP \[bu] 2 72023 Stefan Breunig <stefan-github@yrden.de> 72024 .IP \[bu] 2 72025 Alishan Ladhani <ali-l@users.noreply.github.com> 72026 .IP \[bu] 2 72027 0xJAKE <0xJAKE@users.noreply.github.com> 72028 .IP \[bu] 2 72029 Thibault Molleman <thibaultmol@users.noreply.github.com> 72030 .IP \[bu] 2 72031 Scott McGillivray <scott.mcgillivray@gmail.com> 72032 .IP \[bu] 2 72033 Bj\[/o]rn Erik Pedersen <bjorn.erik.pedersen@gmail.com> 72034 .IP \[bu] 2 72035 Lukas Loesche <lukas@mesosphere.io> 72036 .IP \[bu] 2 72037 emyarod <allllaboutyou@gmail.com> 72038 .IP \[bu] 2 72039 T.C. 72040 Ferguson <tcf909@gmail.com> 72041 .IP \[bu] 2 72042 Brandur <brandur@mutelight.org> 72043 .IP \[bu] 2 72044 Dario Giovannetti <dev@dariogiovannetti.net> 72045 .IP \[bu] 2 72046 K\['a]roly Ol\['a]h <okaresz@aol.com> 72047 .IP \[bu] 2 72048 Jon Yergatian <jon@macfanatic.ca> 72049 .IP \[bu] 2 72050 Jack Schmidt <github@mowsey.org> 72051 .IP \[bu] 2 72052 Dedsec1 <Dedsec1@users.noreply.github.com> 72053 .IP \[bu] 2 72054 Hisham Zarka <hzarka@gmail.com> 72055 .IP \[bu] 2 72056 J\['e]r\[^o]me Vizcaino <jerome.vizcaino@gmail.com> 72057 .IP \[bu] 2 72058 Mike Tesch <mjt6129@rit.edu> 72059 .IP \[bu] 2 72060 Marvin Watson <marvwatson@users.noreply.github.com> 72061 .IP \[bu] 2 72062 Danny Tsai <danny8376@gmail.com> 72063 .IP \[bu] 2 72064 Yoni Jah <yonjah+git@gmail.com> <yonjah+github@gmail.com> 72065 .IP \[bu] 2 72066 Stephen Harris <github@spuddy.org> <sweharris@users.noreply.github.com> 72067 .IP \[bu] 2 72068 Ihor Dvoretskyi <ihor.dvoretskyi@gmail.com> 72069 .IP \[bu] 2 72070 Jon Craton <jncraton@gmail.com> 72071 .IP \[bu] 2 72072 Hraban Luyat <hraban@0brg.net> 72073 .IP \[bu] 2 72074 Michael Ledin <mledin89@gmail.com> 72075 .IP \[bu] 2 72076 Martin Kristensen <me@azgul.com> 72077 .IP \[bu] 2 72078 Too Much IO <toomuchio@users.noreply.github.com> 72079 .IP \[bu] 2 72080 Anisse Astier <anisse@astier.eu> 72081 .IP \[bu] 2 72082 Zahiar Ahmed <zahiar@live.com> 72083 .IP \[bu] 2 72084 Igor Kharin <igorkharin@gmail.com> 72085 .IP \[bu] 2 72086 Bill Zissimopoulos <billziss@navimatics.com> 72087 .IP \[bu] 2 72088 Bob Potter <bobby.potter@gmail.com> 72089 .IP \[bu] 2 72090 Steven Lu <tacticalazn@gmail.com> 72091 .IP \[bu] 2 72092 Sjur Fredriksen <sjurtf@ifi.uio.no> 72093 .IP \[bu] 2 72094 Ruwbin <hubus12345@gmail.com> 72095 .IP \[bu] 2 72096 Fabian M\[:o]ller <fabianm88@gmail.com> <f.moeller@nynex.de> 72097 .IP \[bu] 2 72098 Edward Q. 72099 Bridges <github@eqbridges.com> 72100 .IP \[bu] 2 72101 Vasiliy Tolstov <v.tolstov@selfip.ru> 72102 .IP \[bu] 2 72103 Harshavardhana <harsha@minio.io> 72104 .IP \[bu] 2 72105 sainaen <sainaen@gmail.com> 72106 .IP \[bu] 2 72107 gdm85 <gdm85@users.noreply.github.com> 72108 .IP \[bu] 2 72109 Yaroslav Halchenko <debian@onerussian.com> 72110 .IP \[bu] 2 72111 John Papandriopoulos <jpap@users.noreply.github.com> 72112 .IP \[bu] 2 72113 Zhiming Wang <zmwangx@gmail.com> 72114 .IP \[bu] 2 72115 Andy Pilate <cubox@cubox.me> 72116 .IP \[bu] 2 72117 Oliver Heyme <olihey@googlemail.com> <olihey@users.noreply.github.com> 72118 <de8olihe@lego.com> 72119 .IP \[bu] 2 72120 wuyu <wuyu@yunify.com> 72121 .IP \[bu] 2 72122 Andrei Dragomir <adragomi@adobe.com> 72123 .IP \[bu] 2 72124 Christian Br\[:u]ggemann <mail@cbruegg.com> 72125 .IP \[bu] 2 72126 Alex McGrath Kraak <amkdude@gmail.com> 72127 .IP \[bu] 2 72128 bpicode <bjoern.pirnay@googlemail.com> 72129 .IP \[bu] 2 72130 Daniel Jagszent <daniel@jagszent.de> 72131 .IP \[bu] 2 72132 Josiah White <thegenius2009@gmail.com> 72133 .IP \[bu] 2 72134 Ishuah Kariuki <kariuki@ishuah.com> <ishuah91@gmail.com> 72135 .IP \[bu] 2 72136 Jan Varho <jan@varho.org> 72137 .IP \[bu] 2 72138 Girish Ramakrishnan <girish@cloudron.io> 72139 .IP \[bu] 2 72140 LingMan <LingMan@users.noreply.github.com> 72141 .IP \[bu] 2 72142 Jacob McNamee <jacobmcnamee@gmail.com> 72143 .IP \[bu] 2 72144 jersou <jertux@gmail.com> 72145 .IP \[bu] 2 72146 thierry <thierry@substantiel.fr> 72147 .IP \[bu] 2 72148 Simon Leinen <simon.leinen@gmail.com> <ubuntu@s3-test.novalocal> 72149 .IP \[bu] 2 72150 Dan Dascalescu <ddascalescu+github@gmail.com> 72151 .IP \[bu] 2 72152 Jason Rose <jason@jro.io> 72153 .IP \[bu] 2 72154 Andrew Starr-Bochicchio <a.starr.b@gmail.com> 72155 .IP \[bu] 2 72156 John Leach <john@johnleach.co.uk> 72157 .IP \[bu] 2 72158 Corban Raun <craun@instructure.com> 72159 .IP \[bu] 2 72160 Pierre Carlson <mpcarl@us.ibm.com> 72161 .IP \[bu] 2 72162 Ernest Borowski <er.borowski@gmail.com> 72163 .IP \[bu] 2 72164 Remus Bunduc <remus.bunduc@gmail.com> 72165 .IP \[bu] 2 72166 Iakov Davydov <iakov.davydov@unil.ch> <dav05.gith@myths.ru> 72167 .IP \[bu] 2 72168 Jakub Tasiemski <tasiemski@gmail.com> 72169 .IP \[bu] 2 72170 David Minor <dminor@saymedia.com> 72171 .IP \[bu] 2 72172 Tim Cooijmans <cooijmans.tim@gmail.com> 72173 .IP \[bu] 2 72174 Laurence <liuxy6@gmail.com> 72175 .IP \[bu] 2 72176 Giovanni Pizzi <gio.piz@gmail.com> 72177 .IP \[bu] 2 72178 Filip Bartodziej <filipbartodziej@gmail.com> 72179 .IP \[bu] 2 72180 Jon Fautley <jon@dead.li> 72181 .IP \[bu] 2 72182 lewapm <32110057+lewapm@users.noreply.github.com> 72183 .IP \[bu] 2 72184 Yassine Imounachen <yassine256@gmail.com> 72185 .IP \[bu] 2 72186 Chris Redekop <chris-redekop@users.noreply.github.com> 72187 <chris.redekop@gmail.com> 72188 .IP \[bu] 2 72189 Jon Fautley <jon@adenoid.appstal.co.uk> 72190 .IP \[bu] 2 72191 Will Gunn <WillGunn@users.noreply.github.com> 72192 .IP \[bu] 2 72193 Lucas Bremgartner <lucas@bremis.ch> 72194 .IP \[bu] 2 72195 Jody Frankowski <jody.frankowski@gmail.com> 72196 .IP \[bu] 2 72197 Andreas Roussos <arouss1980@gmail.com> 72198 .IP \[bu] 2 72199 nbuchanan <nbuchanan@utah.gov> 72200 .IP \[bu] 2 72201 Durval Menezes <rclone@durval.com> 72202 .IP \[bu] 2 72203 Victor <vb-github@viblo.se> 72204 .IP \[bu] 2 72205 Mateusz <pabian.mateusz@gmail.com> 72206 .IP \[bu] 2 72207 Daniel Loader <spicypixel@gmail.com> 72208 .IP \[bu] 2 72209 David0rk <davidork@gmail.com> 72210 .IP \[bu] 2 72211 Alexander Neumann <alexander@bumpern.de> 72212 .IP \[bu] 2 72213 Giri Badanahatti <gbadanahatti@us.ibm.com@Giris-MacBook-Pro.local> 72214 .IP \[bu] 2 72215 Leo R. 72216 Lundgren <leo@finalresort.org> 72217 .IP \[bu] 2 72218 wolfv <wolfv6@users.noreply.github.com> 72219 .IP \[bu] 2 72220 Dave Pedu <dave@davepedu.com> 72221 .IP \[bu] 2 72222 Stefan Lindblom <lindblom@spotify.com> 72223 .IP \[bu] 2 72224 seuffert <oliver@seuffert.biz> 72225 .IP \[bu] 2 72226 gbadanahatti <37121690+gbadanahatti@users.noreply.github.com> 72227 .IP \[bu] 2 72228 Keith Goldfarb <barkofdelight@gmail.com> 72229 .IP \[bu] 2 72230 Steve Kriss <steve@heptio.com> 72231 .IP \[bu] 2 72232 Chih-Hsuan Yen <yan12125@gmail.com> 72233 .IP \[bu] 2 72234 Alexander Neumann <fd0@users.noreply.github.com> 72235 .IP \[bu] 2 72236 Matt Holt <mholt@users.noreply.github.com> 72237 .IP \[bu] 2 72238 Eri Bastos <bastos.eri@gmail.com> 72239 .IP \[bu] 2 72240 Michael P. 72241 Dubner <pywebmail@list.ru> 72242 .IP \[bu] 2 72243 Antoine GIRARD <sapk@users.noreply.github.com> 72244 .IP \[bu] 2 72245 Mateusz Piotrowski <mpp302@gmail.com> 72246 .IP \[bu] 2 72247 Animosity022 <animosity22@users.noreply.github.com> 72248 <earl.texter@gmail.com> 72249 .IP \[bu] 2 72250 Peter Baumgartner <pete@lincolnloop.com> 72251 .IP \[bu] 2 72252 Craig Rachel <craig@craigrachel.com> 72253 .IP \[bu] 2 72254 Michael G. 72255 Noll <miguno@users.noreply.github.com> 72256 .IP \[bu] 2 72257 hensur <me@hensur.de> 72258 .IP \[bu] 2 72259 Oliver Heyme <de8olihe@lego.com> 72260 .IP \[bu] 2 72261 Richard Yang <richard@yenforyang.com> 72262 .IP \[bu] 2 72263 Piotr Oleszczyk <piotr.oleszczyk@gmail.com> 72264 .IP \[bu] 2 72265 Rodrigo <rodarima@gmail.com> 72266 .IP \[bu] 2 72267 NoLooseEnds <NoLooseEnds@users.noreply.github.com> 72268 .IP \[bu] 2 72269 Jakub Karlicek <jakub@karlicek.me> 72270 .IP \[bu] 2 72271 John Clayton <john@codemonkeylabs.com> 72272 .IP \[bu] 2 72273 Kasper Byrdal Nielsen <byrdal76@gmail.com> 72274 .IP \[bu] 2 72275 Benjamin Joseph Dag <bjdag1234@users.noreply.github.com> 72276 .IP \[bu] 2 72277 themylogin <themylogin@gmail.com> 72278 .IP \[bu] 2 72279 Onno Zweers <onno.zweers@surfsara.nl> 72280 .IP \[bu] 2 72281 Jasper Lievisse Adriaanse <jasper@humppa.nl> 72282 .IP \[bu] 2 72283 sandeepkru <sandeep.ummadi@gmail.com> 72284 <sandeepkru@users.noreply.github.com> 72285 .IP \[bu] 2 72286 HerrH <atomtigerzoo@users.noreply.github.com> 72287 .IP \[bu] 2 72288 Andrew <4030760+sparkyman215@users.noreply.github.com> 72289 .IP \[bu] 2 72290 dan smith <XX1011@gmail.com> 72291 .IP \[bu] 2 72292 Oleg Kovalov <iamolegkovalov@gmail.com> 72293 .IP \[bu] 2 72294 Ruben Vandamme <github-com-00ff86@vandamme.email> 72295 .IP \[bu] 2 72296 Cnly <minecnly@gmail.com> 72297 .IP \[bu] 2 72298 Andres Alvarez <1671935+kir4h@users.noreply.github.com> 72299 .IP \[bu] 2 72300 reddi1 <xreddi@gmail.com> 72301 .IP \[bu] 2 72302 Matt Tucker <matthewtckr@gmail.com> 72303 .IP \[bu] 2 72304 Sebastian B\[:u]nger <buengese@gmail.com> <buengese@protonmail.com> 72305 .IP \[bu] 2 72306 Martin Polden <mpolden@mpolden.no> 72307 .IP \[bu] 2 72308 Alex Chen <Cnly@users.noreply.github.com> 72309 .IP \[bu] 2 72310 Denis <deniskovpen@gmail.com> 72311 .IP \[bu] 2 72312 bsteiss <35940619+bsteiss@users.noreply.github.com> 72313 .IP \[bu] 2 72314 C\['e]dric Connes <cedric.connes@gmail.com> 72315 .IP \[bu] 2 72316 Dr. 72317 Tobias Quathamer <toddy15@users.noreply.github.com> 72318 .IP \[bu] 2 72319 dcpu <42736967+dcpu@users.noreply.github.com> 72320 .IP \[bu] 2 72321 Sheldon Rupp <me@shel.io> 72322 .IP \[bu] 2 72323 albertony <12441419+albertony@users.noreply.github.com> 72324 .IP \[bu] 2 72325 cron410 <cron410@gmail.com> 72326 .IP \[bu] 2 72327 Anagh Kumar Baranwal <6824881+darthShadow@users.noreply.github.com> 72328 .IP \[bu] 2 72329 Felix Brucker <felix@felixbrucker.com> 72330 .IP \[bu] 2 72331 Santiago Rodr\['i]guez <scollazo@users.noreply.github.com> 72332 .IP \[bu] 2 72333 Craig Miskell <craig.miskell@fluxfederation.com> 72334 .IP \[bu] 2 72335 Antoine GIRARD <sapk@sapk.fr> 72336 .IP \[bu] 2 72337 Joanna Marek <joanna.marek@u2i.com> 72338 .IP \[bu] 2 72339 frenos <frenos@users.noreply.github.com> 72340 .IP \[bu] 2 72341 ssaqua <ssaqua@users.noreply.github.com> 72342 .IP \[bu] 2 72343 xnaas <me@xnaas.info> 72344 .IP \[bu] 2 72345 Frantisek Fuka <fuka@fuxoft.cz> 72346 .IP \[bu] 2 72347 Paul Kohout <pauljkohout@yahoo.com> 72348 .IP \[bu] 2 72349 dcpu <43330287+dcpu@users.noreply.github.com> 72350 .IP \[bu] 2 72351 jackyzy823 <jackyzy823@gmail.com> 72352 .IP \[bu] 2 72353 David Haguenauer <ml@kurokatta.org> 72354 .IP \[bu] 2 72355 teresy <hi.teresy@gmail.com> 72356 .IP \[bu] 2 72357 buergi <patbuergi@gmx.de> 72358 .IP \[bu] 2 72359 Florian Gamboeck <mail@floga.de> 72360 .IP \[bu] 2 72361 Ralf Hemberger <10364191+rhemberger@users.noreply.github.com> 72362 .IP \[bu] 2 72363 Scott Edlund <sedlund@users.noreply.github.com> 72364 .IP \[bu] 2 72365 Erik Swanson <erik@retailnext.net> 72366 .IP \[bu] 2 72367 Jake Coggiano <jake@stripe.com> 72368 .IP \[bu] 2 72369 brused27 <brused27@noemailaddress> 72370 .IP \[bu] 2 72371 Peter Kaminski <kaminski@istori.com> 72372 .IP \[bu] 2 72373 Henry Ptasinski <henry@logout.com> 72374 .IP \[bu] 2 72375 Alexander <kharkovalexander@gmail.com> 72376 .IP \[bu] 2 72377 Garry McNulty <garrmcnu@gmail.com> 72378 .IP \[bu] 2 72379 Mathieu Carbou <mathieu.carbou@gmail.com> 72380 .IP \[bu] 2 72381 Mark Otway <mark@otway.com> 72382 .IP \[bu] 2 72383 William Cocker <37018962+WilliamCocker@users.noreply.github.com> 72384 .IP \[bu] 2 72385 Fran\[,c]ois Leurent <131.js@cloudyks.org> 72386 .IP \[bu] 2 72387 Arkadius Stefanski <arkste@gmail.com> 72388 .IP \[bu] 2 72389 Jay <dev@jaygoel.com> 72390 .IP \[bu] 2 72391 andrea rota <a@xelera.eu> 72392 .IP \[bu] 2 72393 nicolov <nicolov@users.noreply.github.com> 72394 .IP \[bu] 2 72395 Matt Joiner <anacrolix@gmail.com> 72396 .IP \[bu] 2 72397 Dario Guzik <dario@guzik.com.ar> 72398 .IP \[bu] 2 72399 qip <qip@users.noreply.github.com> 72400 .IP \[bu] 2 72401 yair\[at]unicorn <yair@unicorn> 72402 .IP \[bu] 2 72403 Matt Robinson <brimstone@the.narro.ws> 72404 .IP \[bu] 2 72405 kayrus <kay.diam@gmail.com> 72406 .IP \[bu] 2 72407 R\['e]my L\['e]one <remy.leone@gmail.com> 72408 .IP \[bu] 2 72409 Wojciech Smigielski <wojciech.hieronim.smigielski@gmail.com> 72410 .IP \[bu] 2 72411 weetmuts <oehrstroem@gmail.com> 72412 .IP \[bu] 2 72413 Jonathan <vanillajonathan@users.noreply.github.com> 72414 .IP \[bu] 2 72415 James Carpenter <orbsmiv@users.noreply.github.com> 72416 .IP \[bu] 2 72417 Vince <vince0villamora@gmail.com> 72418 .IP \[bu] 2 72419 Nestar47 <47841759+Nestar47@users.noreply.github.com> 72420 .IP \[bu] 2 72421 Six <brbsix@gmail.com> 72422 .IP \[bu] 2 72423 Alexandru Bumbacea <alexandru.bumbacea@booking.com> 72424 .IP \[bu] 2 72425 calisro <robert.calistri@gmail.com> 72426 .IP \[bu] 2 72427 Dr.Rx <david.rey@nventive.com> 72428 .IP \[bu] 2 72429 marcintustin <marcintustin@users.noreply.github.com> 72430 .IP \[bu] 2 72431 jaKa Mo\[u010D]nik <jaka@koofr.net> 72432 .IP \[bu] 2 72433 Fionera <fionera@fionera.de> 72434 .IP \[bu] 2 72435 Dan Walters <dan@walters.io> 72436 .IP \[bu] 2 72437 Danil Semelenov <sgtpep@users.noreply.github.com> 72438 .IP \[bu] 2 72439 xopez <28950736+xopez@users.noreply.github.com> 72440 .IP \[bu] 2 72441 Ben Boeckel <mathstuf@gmail.com> 72442 .IP \[bu] 2 72443 Manu <manu@snapdragon.cc> 72444 .IP \[bu] 2 72445 Kyle E. 72446 Mitchell <kyle@kemitchell.com> 72447 .IP \[bu] 2 72448 Gary Kim <gary@garykim.dev> 72449 .IP \[bu] 2 72450 Jon <jonathn@github.com> 72451 .IP \[bu] 2 72452 Jeff Quinn <jeffrey.quinn@bluevoyant.com> 72453 .IP \[bu] 2 72454 Peter Berbec <peter@berbec.com> 72455 .IP \[bu] 2 72456 didil <1284255+didil@users.noreply.github.com> 72457 .IP \[bu] 2 72458 id01 <gaviniboom@gmail.com> 72459 .IP \[bu] 2 72460 Robert Marko <robimarko@gmail.com> 72461 .IP \[bu] 2 72462 Philip Harvey <32467456+pharveybattelle@users.noreply.github.com> 72463 .IP \[bu] 2 72464 JorisE <JorisE@users.noreply.github.com> 72465 .IP \[bu] 2 72466 garry415 <garry.415@gmail.com> 72467 .IP \[bu] 2 72468 forgems <forgems@gmail.com> 72469 .IP \[bu] 2 72470 Florian Apolloner <florian@apolloner.eu> 72471 .IP \[bu] 2 72472 Aleksandar Jankovi\['c] <office@ajankovic.com> 72473 <ajankovic@users.noreply.github.com> 72474 .IP \[bu] 2 72475 Maran <maran@protonmail.com> 72476 .IP \[bu] 2 72477 nguyenhuuluan434 <nguyenhuuluan434@gmail.com> 72478 .IP \[bu] 2 72479 Laura Hausmann <zotan@zotan.pw> <laura@hausmann.dev> 72480 .IP \[bu] 2 72481 yparitcher <y@paritcher.com> 72482 .IP \[bu] 2 72483 AbelThar <abela.tharen@gmail.com> 72484 .IP \[bu] 2 72485 Matti Niemenmaa <matti.niemenmaa+git@iki.fi> 72486 .IP \[bu] 2 72487 Russell Davis <russelldavis@users.noreply.github.com> 72488 .IP \[bu] 2 72489 Yi FU <yi.fu@tink.se> 72490 .IP \[bu] 2 72491 Paul Millar <paul.millar@desy.de> 72492 .IP \[bu] 2 72493 justinalin <justinalin@qnap.com> 72494 .IP \[bu] 2 72495 EliEron <subanimehd@gmail.com> 72496 .IP \[bu] 2 72497 justina777 <chiahuei.lin@gmail.com> 72498 .IP \[bu] 2 72499 Chaitanya Bankanhal <bchaitanya15@gmail.com> 72500 .IP \[bu] 2 72501 Micha\[/l] Matczuk <michal@scylladb.com> 72502 .IP \[bu] 2 72503 Macavirus <macavirus@zoho.com> 72504 .IP \[bu] 2 72505 Abhinav Sharma <abhi18av@outlook.com> 72506 .IP \[bu] 2 72507 ginvine <34869051+ginvine@users.noreply.github.com> 72508 .IP \[bu] 2 72509 Patrick Wang <mail6543210@yahoo.com.tw> 72510 .IP \[bu] 2 72511 Cenk Alti <cenkalti@gmail.com> 72512 .IP \[bu] 2 72513 Andreas Chlupka <andy@chlupka.com> 72514 .IP \[bu] 2 72515 Alfonso Montero <amontero@tinet.org> 72516 .IP \[bu] 2 72517 Ivan Andreev <ivandeex@gmail.com> 72518 .IP \[bu] 2 72519 David Baumgold <david@davidbaumgold.com> 72520 .IP \[bu] 2 72521 Lars Lehtonen <lars.lehtonen@gmail.com> 72522 .IP \[bu] 2 72523 Matei David <matei.david@gmail.com> 72524 .IP \[bu] 2 72525 David <david.bramwell@endemolshine.com> 72526 .IP \[bu] 2 72527 Anthony Rusdi <33247310+antrusd@users.noreply.github.com> 72528 .IP \[bu] 2 72529 Richard Patel <me@terorie.dev> 72530 .IP \[bu] 2 72531 \[u5E84]\[u5929]\[u7FFC] <zty0826@gmail.com> 72532 .IP \[bu] 2 72533 SwitchJS <dev@switchjs.com> 72534 .IP \[bu] 2 72535 Raphael <PowershellNinja@users.noreply.github.com> 72536 .IP \[bu] 2 72537 Sezal Agrawal <sezalagrawal@gmail.com> 72538 .IP \[bu] 2 72539 Tyler <TylerNakamura@users.noreply.github.com> 72540 .IP \[bu] 2 72541 Brett Dutro <brett.dutro@gmail.com> 72542 .IP \[bu] 2 72543 Vighnesh SK <booterror99@gmail.com> 72544 .IP \[bu] 2 72545 Arijit Biswas <dibbyo456@gmail.com> 72546 .IP \[bu] 2 72547 Michele Caci <michele.caci@gmail.com> 72548 .IP \[bu] 2 72549 AlexandrBoltris <ua2fgb@gmail.com> 72550 .IP \[bu] 2 72551 Bryce Larson <blarson@saltstack.com> 72552 .IP \[bu] 2 72553 Carlos Ferreyra <crypticmind@gmail.com> 72554 .IP \[bu] 2 72555 Saksham Khanna <sakshamkhanna@outlook.com> 72556 .IP \[bu] 2 72557 dausruddin <5763466+dausruddin@users.noreply.github.com> 72558 .IP \[bu] 2 72559 zero-24 <zero-24@users.noreply.github.com> 72560 .IP \[bu] 2 72561 Xiaoxing Ye <ye@xiaoxing.us> 72562 .IP \[bu] 2 72563 Barry Muldrey <barry@muldrey.net> 72564 .IP \[bu] 2 72565 Sebastian Brandt <sebastian.brandt@friday.de> 72566 .IP \[bu] 2 72567 Marco Molteni <marco.molteni@mailbox.org> 72568 .IP \[bu] 2 72569 Ankur Gupta <7876747+ankur0493@users.noreply.github.com> 72570 .IP \[bu] 2 72571 Maciej Zimnoch <maciej@scylladb.com> 72572 .IP \[bu] 2 72573 anuar45 <serdaliyev.anuar@gmail.com> 72574 .IP \[bu] 2 72575 Fernando <ferferga@users.noreply.github.com> 72576 .IP \[bu] 2 72577 David Cole <david.cole@sohonet.com> 72578 .IP \[bu] 2 72579 Wei He <git@weispot.com> 72580 .IP \[bu] 2 72581 Outvi V <19144373+outloudvi@users.noreply.github.com> 72582 .IP \[bu] 2 72583 Thomas Kriechbaumer <thomas@kriechbaumer.name> 72584 .IP \[bu] 2 72585 Tennix <tennix@users.noreply.github.com> 72586 .IP \[bu] 2 72587 Ole Sch\[:u]tt <ole@schuett.name> 72588 .IP \[bu] 2 72589 Kuang-che Wu <kcwu@csie.org> 72590 .IP \[bu] 2 72591 Thomas Eales <wingsuit@users.noreply.github.com> 72592 .IP \[bu] 2 72593 Paul Tinsley <paul.tinsley@vitalsource.com> 72594 .IP \[bu] 2 72595 Felix Hungenberg <git@shiftgeist.com> 72596 .IP \[bu] 2 72597 Benjamin Richter <github@dev.telepath.de> 72598 .IP \[bu] 2 72599 landall <cst_zf@qq.com> 72600 .IP \[bu] 2 72601 thestigma <thestigma@gmail.com> 72602 .IP \[bu] 2 72603 jtagcat <38327267+jtagcat@users.noreply.github.com> 72604 .IP \[bu] 2 72605 Damon Permezel <permezel@me.com> 72606 .IP \[bu] 2 72607 boosh <boosh@users.noreply.github.com> 72608 .IP \[bu] 2 72609 unbelauscht <58393353+unbelauscht@users.noreply.github.com> 72610 .IP \[bu] 2 72611 Motonori IWAMURO <vmi@nifty.com> 72612 .IP \[bu] 2 72613 Benjapol Worakan <benwrk@live.com> 72614 .IP \[bu] 2 72615 Dave Koston <dave.koston@stackpath.com> 72616 .IP \[bu] 2 72617 Durval Menezes <DurvalMenezes@users.noreply.github.com> 72618 .IP \[bu] 2 72619 Tim Gallant <me@timgallant.us> 72620 .IP \[bu] 2 72621 Frederick Zhang <frederick888@tsundere.moe> 72622 .IP \[bu] 2 72623 valery1707 <valery1707@gmail.com> 72624 .IP \[bu] 2 72625 Yves G <theYinYeti@yalis.fr> 72626 .IP \[bu] 2 72627 Shing Kit Chan <chanshingkit@gmail.com> 72628 .IP \[bu] 2 72629 Franklyn Tackitt <franklyn@tackitt.net> 72630 .IP \[bu] 2 72631 Robert-Andr\['e] Mauchin <zebob.m@gmail.com> 72632 .IP \[bu] 2 72633 evileye <48332831+ibiruai@users.noreply.github.com> 72634 .IP \[bu] 2 72635 Joachim Brandon LeBlanc <brandon@leblanc.codes> 72636 .IP \[bu] 2 72637 Patryk Jakuszew <patryk.jakuszew@gmail.com> 72638 .IP \[bu] 2 72639 fishbullet <shindu666@gmail.com> 72640 .IP \[bu] 2 72641 greatroar <\[at]> 72642 .IP \[bu] 2 72643 Bernd Schoolmann <mail@quexten.com> 72644 .IP \[bu] 2 72645 Elan Ruusam\[:a]e <glen@pld-linux.org> 72646 .IP \[bu] 2 72647 Max Sum <max@lolyculture.com> 72648 .IP \[bu] 2 72649 Mark Spieth <mspieth@users.noreply.github.com> 72650 .IP \[bu] 2 72651 harry <me@harry.plus> 72652 .IP \[bu] 2 72653 Samantha McVey <samantham@posteo.net> 72654 .IP \[bu] 2 72655 Jack Anderson <jack.anderson@metaswitch.com> 72656 .IP \[bu] 2 72657 Michael G <draget@speciesm.net> 72658 .IP \[bu] 2 72659 Brandon Philips <brandon@ifup.org> 72660 .IP \[bu] 2 72661 Daven <dooven@users.noreply.github.com> 72662 .IP \[bu] 2 72663 Martin Stone <martin@d7415.co.uk> 72664 .IP \[bu] 2 72665 David Bramwell <13053834+dbramwell@users.noreply.github.com> 72666 .IP \[bu] 2 72667 Sunil Patra <snl_su@live.com> 72668 .IP \[bu] 2 72669 Adam Stroud <adam.stroud@gmail.com> 72670 .IP \[bu] 2 72671 Kush <kushsharma@users.noreply.github.com> 72672 .IP \[bu] 2 72673 Matan Rosenberg <matan129@gmail.com> 72674 .IP \[bu] 2 72675 gitch1 <63495046+gitch1@users.noreply.github.com> 72676 .IP \[bu] 2 72677 ElonH <elonhhuang@gmail.com> 72678 .IP \[bu] 2 72679 Fred <fred@creativeprojects.tech> 72680 .IP \[bu] 2 72681 S\['e]bastien Gross <renard@users.noreply.github.com> 72682 .IP \[bu] 2 72683 Maxime Suret <11944422+msuret@users.noreply.github.com> 72684 .IP \[bu] 2 72685 Caleb Case <caleb@storj.io> <calebcase@gmail.com> 72686 .IP \[bu] 2 72687 Ben Zenker <imbenzenker@gmail.com> 72688 .IP \[bu] 2 72689 Martin Michlmayr <tbm@cyrius.com> 72690 .IP \[bu] 2 72691 Brandon McNama <bmcnama@pagerduty.com> 72692 .IP \[bu] 2 72693 Daniel Slyman <github@skylayer.eu> 72694 .IP \[bu] 2 72695 Alex Guerrero <guerrero@users.noreply.github.com> 72696 .IP \[bu] 2 72697 Matteo Pietro Dazzi <matteopietro.dazzi@gft.com> 72698 .IP \[bu] 2 72699 edwardxml <56691903+edwardxml@users.noreply.github.com> 72700 .IP \[bu] 2 72701 Roman Kredentser <shareed2k@gmail.com> 72702 .IP \[bu] 2 72703 Kamil Trzci\[u0144]ski <ayufan@ayufan.eu> 72704 .IP \[bu] 2 72705 Zac Rubin <z-0@users.noreply.github.com> 72706 .IP \[bu] 2 72707 Vincent Feltz <psycho@feltzv.fr> 72708 .IP \[bu] 2 72709 Heiko Bornholdt <bornholdt@informatik.uni-hamburg.de> 72710 .IP \[bu] 2 72711 Matteo Pietro Dazzi <matteopietro.dazzi@gmail.com> 72712 .IP \[bu] 2 72713 jtagcat <gitlab@c7.ee> 72714 .IP \[bu] 2 72715 Petri Salminen <petri@salminen.dev> 72716 .IP \[bu] 2 72717 Tim Burke <tim.burke@gmail.com> 72718 .IP \[bu] 2 72719 Kai L\[:u]ke <kai@kinvolk.io> 72720 .IP \[bu] 2 72721 Garrett Squire <github@garrettsquire.com> 72722 .IP \[bu] 2 72723 Evan Harris <eharris@puremagic.com> 72724 .IP \[bu] 2 72725 Kevin <keyam@microsoft.com> 72726 .IP \[bu] 2 72727 Morten Linderud <morten@linderud.pw> 72728 .IP \[bu] 2 72729 Dmitry Ustalov <dmitry.ustalov@gmail.com> 72730 .IP \[bu] 2 72731 Jack <196648+jdeng@users.noreply.github.com> 72732 .IP \[bu] 2 72733 kcris <cristian.tarsoaga@gmail.com> 72734 .IP \[bu] 2 72735 tyhuber1 <68970760+tyhuber1@users.noreply.github.com> 72736 .IP \[bu] 2 72737 David Ibarra <david.ibarra@realty.com> 72738 .IP \[bu] 2 72739 Tim Gallant <tim@lilt.com> 72740 .IP \[bu] 2 72741 Kaloyan Raev <kaloyan@storj.io> 72742 .IP \[bu] 2 72743 Jay McEntire <jay.mcentire@gmail.com> 72744 .IP \[bu] 2 72745 Leo Luan <leoluan@us.ibm.com> 72746 .IP \[bu] 2 72747 aus <549081+aus@users.noreply.github.com> 72748 .IP \[bu] 2 72749 Aaron Gokaslan <agokaslan@fb.com> 72750 .IP \[bu] 2 72751 Egor Margineanu <egmar@users.noreply.github.com> 72752 .IP \[bu] 2 72753 Lucas Kanashiro <lucas.kanashiro@canonical.com> 72754 .IP \[bu] 2 72755 WarpedPixel <WarpedPixel@users.noreply.github.com> 72756 .IP \[bu] 2 72757 Sam Edwards <sam@samedwards.ca> 72758 .IP \[bu] 2 72759 wjielai <gouki0123@gmail.com> 72760 .IP \[bu] 2 72761 Muffin King <jinxz_k@live.com> 72762 .IP \[bu] 2 72763 Christopher Stewart <6573710+1f47a@users.noreply.github.com> 72764 .IP \[bu] 2 72765 Russell Cattelan <cattelan@digitalelves.com> 72766 .IP \[bu] 2 72767 gyutw <30371241+gyutw@users.noreply.github.com> 72768 .IP \[bu] 2 72769 Hekmon <edouardhur@gmail.com> 72770 .IP \[bu] 2 72771 LaSombra <lasombra@users.noreply.github.com> 72772 .IP \[bu] 2 72773 Dov Murik <dov.murik@gmail.com> 72774 .IP \[bu] 2 72775 Ameer Dawood <ameer1234567890@gmail.com> 72776 .IP \[bu] 2 72777 Dan Hipschman <dan.hipschman@opendoor.com> 72778 .IP \[bu] 2 72779 Josh Soref <jsoref@users.noreply.github.com> 72780 .IP \[bu] 2 72781 David <david@staron.nl> 72782 .IP \[bu] 2 72783 Ingo <ingo@hoffmann.cx> 72784 .IP \[bu] 2 72785 Adam Pl\['a]nsk\['y] <adamplansky@users.noreply.github.com> 72786 <adamplansky@gmail.com> 72787 .IP \[bu] 2 72788 Manish Gupta <manishgupta.ait@gmail.com> 72789 .IP \[bu] 2 72790 Deepak Sah <sah.sslpu@gmail.com> 72791 .IP \[bu] 2 72792 Marcin Zelent <marcin@zelent.net> 72793 .IP \[bu] 2 72794 zhucan <zhucan.k8s@gmail.com> 72795 .IP \[bu] 2 72796 James Lim <james.lim@samsara.com> 72797 .IP \[bu] 2 72798 Laurens Janssen <BD69BM@insim.biz> 72799 .IP \[bu] 2 72800 Bob Bagwill <bobbagwill@gmail.com> 72801 .IP \[bu] 2 72802 Nathan Collins <colli372@msu.edu> 72803 .IP \[bu] 2 72804 lostheli 72805 .IP \[bu] 2 72806 kelv <kelvin@acks.org> 72807 .IP \[bu] 2 72808 Milly <milly.ca@gmail.com> 72809 .IP \[bu] 2 72810 gtorelly <gtorelly@gmail.com> 72811 .IP \[bu] 2 72812 Brad Ackerman <brad@facefault.org> 72813 .IP \[bu] 2 72814 Mitsuo Heijo <mitsuo.heijo@gmail.com> 72815 .IP \[bu] 2 72816 Claudio Bantaloukas <rockdreamer@gmail.com> 72817 .IP \[bu] 2 72818 Benjamin Gustin <gustin.ben@gmail.com> 72819 .IP \[bu] 2 72820 Ingo Weiss <ingo@redhat.com> 72821 .IP \[bu] 2 72822 Kerry Su <me@sshockwave.net> 72823 .IP \[bu] 2 72824 Ilyess Bachiri <ilyess.bachiri@sonder.com> 72825 .IP \[bu] 2 72826 Yury Stankevich <urykhy@gmail.com> 72827 .IP \[bu] 2 72828 kice <wslikerqs@gmail.com> 72829 .IP \[bu] 2 72830 Denis Neuling <denisneuling@gmail.com> 72831 .IP \[bu] 2 72832 Janne Johansson <icepic.dz@gmail.com> 72833 .IP \[bu] 2 72834 Patrik Nordl\['e]n <patriki@gmail.com> 72835 .IP \[bu] 2 72836 CokeMine <aptx4561@gmail.com> 72837 .IP \[bu] 2 72838 S\[u01A1]n Tr\[u1EA7]n-Nguy\[u1EC5]n <github@sntran.com> 72839 .IP \[bu] 2 72840 lluuaapp <266615+lluuaapp@users.noreply.github.com> 72841 .IP \[bu] 2 72842 Zach Kipp <kipp.zach@gmail.com> 72843 .IP \[bu] 2 72844 Riccardo Iaconelli <riccardo@kde.org> 72845 .IP \[bu] 2 72846 Sakuragawa Misty <gyc990326@gmail.com> 72847 .IP \[bu] 2 72848 Nicolas Rueff <nicolas@rueff.fr> 72849 .IP \[bu] 2 72850 Pau Rodriguez-Estivill <prodrigestivill@gmail.com> 72851 .IP \[bu] 2 72852 Bob Pusateri <BobPusateri@users.noreply.github.com> 72853 .IP \[bu] 2 72854 Alex JOST <25005220+dimejo@users.noreply.github.com> 72855 .IP \[bu] 2 72856 Alexey Tabakman <samosad.ru@gmail.com> 72857 .IP \[bu] 2 72858 David Sze <sze.david@gmail.com> 72859 .IP \[bu] 2 72860 cynthia kwok <cynthia.m.kwok@gmail.com> 72861 .IP \[bu] 2 72862 Miron Veryanskiy <MironVeryanskiy@gmail.com> 72863 .IP \[bu] 2 72864 K265 <k.265@qq.com> 72865 .IP \[bu] 2 72866 Vesnyx <Vesnyx@users.noreply.github.com> 72867 .IP \[bu] 2 72868 Dmitry Chepurovskiy <me@dm3ch.net> 72869 .IP \[bu] 2 72870 Rauno Ots <rauno.ots@cgi.com> 72871 .IP \[bu] 2 72872 Georg Neugschwandtner <georg.neugschwandtner@gmx.net> 72873 .IP \[bu] 2 72874 pvalls <polvallsrue@gmail.com> 72875 .IP \[bu] 2 72876 Robert Thomas <31854736+wolveix@users.noreply.github.com> 72877 .IP \[bu] 2 72878 Romeo Kienzler <romeo.kienzler@gmail.com> 72879 .IP \[bu] 2 72880 tYYGH <tYYGH@users.noreply.github.com> 72881 .IP \[bu] 2 72882 georne <77802995+georne@users.noreply.github.com> 72883 .IP \[bu] 2 72884 Maxwell Calman <mcalman@MacBook-Pro.local> 72885 .IP \[bu] 2 72886 Naveen Honest Raj <naveendurai19@gmail.com> 72887 .IP \[bu] 2 72888 Lucas Messenger <lmesseng@cisco.com> 72889 .IP \[bu] 2 72890 Manish Kumar <krmanish260@gmail.com> 72891 .IP \[bu] 2 72892 x0b <x0bdev@gmail.com> 72893 .IP \[bu] 2 72894 CERN through the CS3MESH4EOSC Project 72895 .IP \[bu] 2 72896 Nick Gaya <nicholasgaya+github@gmail.com> 72897 .IP \[bu] 2 72898 Ashok Gelal <401055+ashokgelal@users.noreply.github.com> 72899 .IP \[bu] 2 72900 Dominik Mydlil <dominik.mydlil@outlook.com> 72901 .IP \[bu] 2 72902 Nazar Mishturak <nazarmx@gmail.com> 72903 .IP \[bu] 2 72904 Ansh Mittal <iamAnshMittal@gmail.com> 72905 .IP \[bu] 2 72906 noabody <noabody@yahoo.com> 72907 .IP \[bu] 2 72908 OleFrost <82263101+olefrost@users.noreply.github.com> 72909 .IP \[bu] 2 72910 Kenny Parsons <kennyparsons93@gmail.com> 72911 .IP \[bu] 2 72912 Jeffrey Tolar <tolar.jeffrey@gmail.com> 72913 .IP \[bu] 2 72914 jtagcat <git-514635f7@jtag.cat> 72915 .IP \[bu] 2 72916 Tatsuya Noyori <63089076+public-tatsuya-noyori@users.noreply.github.com> 72917 .IP \[bu] 2 72918 lewisxy <lewisxy@users.noreply.github.com> 72919 .IP \[bu] 2 72920 Nolan Woods <nolan_w@sfu.ca> 72921 .IP \[bu] 2 72922 Gautam Kumar <25435568+gautamajay52@users.noreply.github.com> 72923 .IP \[bu] 2 72924 Chris Macklin <chris.macklin@10xgenomics.com> 72925 .IP \[bu] 2 72926 Antoon Prins <antoon.prins@surfsara.nl> 72927 .IP \[bu] 2 72928 Alexey Ivanov <rbtz@dropbox.com> 72929 .IP \[bu] 2 72930 Serge Pouliquen <sp31415@free.fr> 72931 .IP \[bu] 2 72932 acsfer <carlos@reendex.com> 72933 .IP \[bu] 2 72934 Tom <tom@tom-fitzhenry.me.uk> 72935 .IP \[bu] 2 72936 Tyson Moore <tyson@tyson.me> 72937 .IP \[bu] 2 72938 database64128 <free122448@hotmail.com> 72939 .IP \[bu] 2 72940 Chris Lu <chrislusf@users.noreply.github.com> 72941 .IP \[bu] 2 72942 Reid Buzby <reid@rethink.software> 72943 .IP \[bu] 2 72944 darrenrhs <darrenrhs@gmail.com> 72945 .IP \[bu] 2 72946 Florian Penzkofer <fp@nullptr.de> 72947 .IP \[bu] 2 72948 Xuanchen Wu <117010292@link.cuhk.edu.cn> 72949 .IP \[bu] 2 72950 partev <petrosyan@gmail.com> 72951 .IP \[bu] 2 72952 Dmitry Sitnikov <fo2@inbox.ru> 72953 .IP \[bu] 2 72954 Haochen Tong <i@hexchain.org> 72955 .IP \[bu] 2 72956 Michael Hanselmann <public@hansmi.ch> 72957 .IP \[bu] 2 72958 Chuan Zh <zhchuan7@gmail.com> 72959 .IP \[bu] 2 72960 Antoine GIRARD <antoine.girard@sapk.fr> 72961 .IP \[bu] 2 72962 Justin Winokur (Jwink3101) <Jwink3101@users.noreply.github.com> 72963 .IP \[bu] 2 72964 Mariano Absatz (git) <scm@baby.com.ar> 72965 .IP \[bu] 2 72966 Greg Sadetsky <lepetitg@gmail.com> 72967 .IP \[bu] 2 72968 yedamo <logindaveye@gmail.com> 72969 .IP \[bu] 2 72970 hota <lindwurm.q@gmail.com> 72971 .IP \[bu] 2 72972 vinibali <vinibali1@gmail.com> 72973 .IP \[bu] 2 72974 Ken Enrique Morel <ken.morel.santana@gmail.com> 72975 .IP \[bu] 2 72976 Justin Hellings <justin.hellings@gmail.com> 72977 .IP \[bu] 2 72978 Parth Shukla <pparth@pparth.net> 72979 .IP \[bu] 2 72980 wzl <wangzl31@outlook.com> 72981 .IP \[bu] 2 72982 HNGamingUK <connor@earnshawhome.co.uk> 72983 .IP \[bu] 2 72984 Jonta <359397+Jonta@users.noreply.github.com> 72985 .IP \[bu] 2 72986 YenForYang <YenForYang@users.noreply.github.com> 72987 .IP \[bu] 2 72988 Joda St\[:o]\[ss]er <stoesser@yay-digital.de> <services+github@simjo.st> 72989 .IP \[bu] 2 72990 Logeshwaran <waranlogesh@gmail.com> 72991 .IP \[bu] 2 72992 Rajat Goel <rajat@dropbox.com> 72993 .IP \[bu] 2 72994 r0kk3rz <r0kk3rz@gmail.com> 72995 .IP \[bu] 2 72996 Matthew Sevey <mjsevey@gmail.com> 72997 .IP \[bu] 2 72998 Filip Rysavy <fil@siasky.net> 72999 .IP \[bu] 2 73000 Ian Levesque <ian@ianlevesque.org> 73001 .IP \[bu] 2 73002 Thomas Stachl <thomas@stachl.me> 73003 .IP \[bu] 2 73004 Dmitry Bogatov <git#v1@kaction.cc> 73005 .IP \[bu] 2 73006 thomae <4493560+thomae@users.noreply.github.com> 73007 .IP \[bu] 2 73008 trevyn <trevyn-git@protonmail.com> 73009 .IP \[bu] 2 73010 David Liu <david.yx.liu@oracle.com> 73011 .IP \[bu] 2 73012 Chris Nelson <stuff@cjnaz.com> 73013 .IP \[bu] 2 73014 Felix Bu\[u0308]nemann <felix.buenemann@gmail.com> 73015 .IP \[bu] 2 73016 At\['i]lio Ant\[^o]nio <atiliodadalto@hotmail.com> 73017 .IP \[bu] 2 73018 Roberto Ricci <ricci@disroot.org> 73019 .IP \[bu] 2 73020 Carlo Mion <mion00@gmail.com> 73021 .IP \[bu] 2 73022 Chris Lu <chris.lu@gmail.com> 73023 .IP \[bu] 2 73024 Vitor Arruda <vitor.pimenta.arruda@gmail.com> 73025 .IP \[bu] 2 73026 bbabich <bbabich@datamossa.com> 73027 .IP \[bu] 2 73028 David <dp.davide.palma@gmail.com> 73029 .IP \[bu] 2 73030 Borna Butkovic <borna@favicode.net> 73031 .IP \[bu] 2 73032 Fredric Arklid <fredric.arklid@consid.se> 73033 .IP \[bu] 2 73034 Andy Jackson <Andrew.Jackson@bl.uk> 73035 .IP \[bu] 2 73036 Sinan Tan <i@tinytangent.com> 73037 .IP \[bu] 2 73038 deinferno <14363193+deinferno@users.noreply.github.com> 73039 .IP \[bu] 2 73040 rsapkf <rsapkfff@pm.me> 73041 .IP \[bu] 2 73042 Will Holtz <wholtz@gmail.com> 73043 .IP \[bu] 2 73044 GGG KILLER <gggkiller2@gmail.com> 73045 .IP \[bu] 2 73046 Logeshwaran Murugesan <logeshwaran@testpress.in> 73047 .IP \[bu] 2 73048 Lu Wang <coolwanglu@gmail.com> 73049 .IP \[bu] 2 73050 Bumsu Hyeon <ksitht@gmail.com> 73051 .IP \[bu] 2 73052 Shmz Ozggrn <98463324+ShmzOzggrn@users.noreply.github.com> 73053 .IP \[bu] 2 73054 Kim <kim@jotta.no> 73055 .IP \[bu] 2 73056 Niels van de Weem <n.van.de.weem@smile.nl> 73057 .IP \[bu] 2 73058 Koopa <codingkoopa@gmail.com> 73059 .IP \[bu] 2 73060 Yunhai Luo <yunhai-luo@hotmail.com> 73061 .IP \[bu] 2 73062 Charlie Jiang <w@chariri.moe> 73063 .IP \[bu] 2 73064 Alain Nussbaumer <alain.nussbaumer@alleluia.ch> 73065 .IP \[bu] 2 73066 Vanessasaurus <814322+vsoch@users.noreply.github.com> 73067 .IP \[bu] 2 73068 Isaac Levy <isaac.r.levy@gmail.com> 73069 .IP \[bu] 2 73070 Gourav T <workflowautomation@protonmail.com> 73071 .IP \[bu] 2 73072 Paulo Martins <paulo.pontes.m@gmail.com> 73073 .IP \[bu] 2 73074 viveknathani <viveknathani2402@gmail.com> 73075 .IP \[bu] 2 73076 Eng Zer Jun <engzerjun@gmail.com> 73077 .IP \[bu] 2 73078 Abhiraj <abhiraj.official15@gmail.com> 73079 .IP \[bu] 2 73080 M\['a]rton Elek <elek@apache.org> <elek@users.noreply.github.com> 73081 .IP \[bu] 2 73082 Vincent Murphy <vdm@vdm.ie> 73083 .IP \[bu] 2 73084 ctrl-q <34975747+ctrl-q@users.noreply.github.com> 73085 .IP \[bu] 2 73086 Nil Alexandrov <nalexand@akamai.com> 73087 .IP \[bu] 2 73088 GuoXingbin <101376330+guoxingbin@users.noreply.github.com> 73089 .IP \[bu] 2 73090 Berkan Teber <berkan@berkanteber.com> 73091 .IP \[bu] 2 73092 Tobias Klauser <tklauser@distanz.ch> 73093 .IP \[bu] 2 73094 KARBOWSKI Piotr <piotr.karbowski@gmail.com> 73095 .IP \[bu] 2 73096 GH <geeklihui@foxmail.com> 73097 .IP \[bu] 2 73098 rafma0 <int.main@gmail.com> 73099 .IP \[bu] 2 73100 Adrien Rey-Jarthon <jobs@adrienjarthon.com> 73101 .IP \[bu] 2 73102 Nick Gooding <73336146+nickgooding@users.noreply.github.com> 73103 .IP \[bu] 2 73104 Leroy van Logchem <lr.vanlogchem@gmail.com> 73105 .IP \[bu] 2 73106 Zsolt Ero <zsolt.ero@gmail.com> 73107 .IP \[bu] 2 73108 Lesmiscore <nao20010128@gmail.com> 73109 .IP \[bu] 2 73110 ehsantdy <ehsan.tadayon@arvancloud.com> <ehsantadayon85@gmail.com> 73111 .IP \[bu] 2 73112 SwazRGB <65694696+swazrgb@users.noreply.github.com> 73113 .IP \[bu] 2 73114 Mateusz Puczyn\[u0301]ski <mati6095@gmail.com> 73115 .IP \[bu] 2 73116 Michael C Tiernan - MIT-Research Computing Project <mtiernan@mit.edu> 73117 .IP \[bu] 2 73118 Kaspian <34658474+KaspianDev@users.noreply.github.com> 73119 .IP \[bu] 2 73120 Werner <EvilOlaf@users.noreply.github.com> 73121 .IP \[bu] 2 73122 Hugal31 <hugo.laloge@gmail.com> 73123 .IP \[bu] 2 73124 Christian Galo <36752715+cgalo5758@users.noreply.github.com> 73125 .IP \[bu] 2 73126 Erik van Velzen <erik@evanv.nl> 73127 .IP \[bu] 2 73128 Derek Battams <derek@battams.ca> 73129 .IP \[bu] 2 73130 Paul <devnoname120@gmail.com> 73131 .IP \[bu] 2 73132 SimonLiu <simonliu009@users.noreply.github.com> 73133 .IP \[bu] 2 73134 Hugo Laloge <hla@lescompanions.com> 73135 .IP \[bu] 2 73136 Mr-Kanister <68117355+Mr-Kanister@users.noreply.github.com> 73137 .IP \[bu] 2 73138 Rob Pickerill <r.pickerill@gmail.com> 73139 .IP \[bu] 2 73140 Andrey <to.merge@gmail.com> 73141 .IP \[bu] 2 73142 Eric Wolf <19wolf@gmail.com> 73143 .IP \[bu] 2 73144 Nick <nick.naumann@mailbox.tu-dresden.de> 73145 .IP \[bu] 2 73146 Jason Zheng <jszheng17@gmail.com> 73147 .IP \[bu] 2 73148 Matthew Vernon <mvernon@wikimedia.org> 73149 .IP \[bu] 2 73150 Noah Hsu <i@nn.ci> 73151 .IP \[bu] 2 73152 m00594701 <mengpengbo@huawei.com> 73153 .IP \[bu] 2 73154 Art M. 73155 Gallagher <artmg50@gmail.com> 73156 .IP \[bu] 2 73157 Sven Gerber <49589423+svengerber@users.noreply.github.com> 73158 .IP \[bu] 2 73159 CrossR <r.cross@lancaster.ac.uk> 73160 .IP \[bu] 2 73161 Maciej Radzikowski <maciej@radzikowski.com.pl> 73162 .IP \[bu] 2 73163 Scott Grimes <scott.grimes@spaciq.com> 73164 .IP \[bu] 2 73165 Phil Shackleton <71221528+philshacks@users.noreply.github.com> 73166 .IP \[bu] 2 73167 eNV25 <env252525@gmail.com> 73168 .IP \[bu] 2 73169 Caleb <inventor96@users.noreply.github.com> 73170 .IP \[bu] 2 73171 J-P Treen <jp@wraptious.com> 73172 .IP \[bu] 2 73173 Martin Czygan <53705+miku@users.noreply.github.com> 73174 .IP \[bu] 2 73175 buda <sandrojijavadze@protonmail.com> 73176 .IP \[bu] 2 73177 mirekphd <36706320+mirekphd@users.noreply.github.com> 73178 .IP \[bu] 2 73179 vyloy <vyloy@qq.com> 73180 .IP \[bu] 2 73181 Anthrazz <25553648+Anthrazz@users.noreply.github.com> 73182 .IP \[bu] 2 73183 zzr93 <34027824+zzr93@users.noreply.github.com> 73184 .IP \[bu] 2 73185 Paul Norman <penorman@mac.com> 73186 .IP \[bu] 2 73187 Lorenzo Maiorfi <maiorfi@gmail.com> 73188 .IP \[bu] 2 73189 Claudio Maradonna <penguyman@stronzi.org> 73190 .IP \[bu] 2 73191 Ovidiu Victor Tatar <ovi.tatar@googlemail.com> 73192 .IP \[bu] 2 73193 Evan Spensley <epspensley@gmail.com> 73194 .IP \[bu] 2 73195 Yen Hu <61753151+0x59656e@users.noreply.github.com> 73196 .IP \[bu] 2 73197 Steve Kowalik <steven@wedontsleep.org> 73198 .IP \[bu] 2 73199 Jordi Gonzalez Mu\[~n]oz <jordigonzm@gmail.com> 73200 .IP \[bu] 2 73201 Joram Schrijver <i@joram.io> 73202 .IP \[bu] 2 73203 Mark Trolley <marktrolley@gmail.com> 73204 .IP \[bu] 2 73205 Jo\[~a]o Henrique Franco <joaohenrique.franco@gmail.com> 73206 .IP \[bu] 2 73207 anonion <aman207@users.noreply.github.com> 73208 .IP \[bu] 2 73209 Ryan Morey <4590343+rmorey@users.noreply.github.com> 73210 .IP \[bu] 2 73211 Simon Bos <simonbos9@gmail.com> 73212 .IP \[bu] 2 73213 YFdyh000 <yfdyh000@gmail.com> * Josh Soref 73214 <2119212+jsoref@users.noreply.github.com> 73215 .IP \[bu] 2 73216 \[/O]yvind Heddeland Instefjord <instefjord@outlook.com> 73217 .IP \[bu] 2 73218 Dmitry Deniskin <110819396+ddeniskin@users.noreply.github.com> 73219 .IP \[bu] 2 73220 Alexander Knorr <106825+opexxx@users.noreply.github.com> 73221 .IP \[bu] 2 73222 Richard Bateman <richard@batemansr.us> 73223 .IP \[bu] 2 73224 Dimitri Papadopoulos Orfanos 73225 <3234522+DimitriPapadopoulos@users.noreply.github.com> 73226 .IP \[bu] 2 73227 Lorenzo Milesi <lorenzo.milesi@yetopen.com> 73228 .IP \[bu] 2 73229 Isaac Aymerich <isaac.aymerich@gmail.com> 73230 .IP \[bu] 2 73231 YanceyChiew <35898533+YanceyChiew@users.noreply.github.com> 73232 .IP \[bu] 2 73233 Manoj Ghosh <msays2000@gmail.com> 73234 .IP \[bu] 2 73235 Bachue Zhou <bachue.shu@gmail.com> 73236 .IP \[bu] 2 73237 Manoj Ghosh <manoj.ghosh@oracle.com> 73238 .IP \[bu] 2 73239 Tom Mombourquette <tom@devnode.com> 73240 .IP \[bu] 2 73241 Robert Newson <rnewson@apache.org> 73242 .IP \[bu] 2 73243 Samuel Johnson <esamueljohnson@gmail.com> 73244 .IP \[bu] 2 73245 coultonluke <luke@luke.org.uk> 73246 .IP \[bu] 2 73247 Anthony Pessy <anthony@cogniteev.com> 73248 .IP \[bu] 2 73249 Philip Harvey <pharvey@battelleecology.org> 73250 .IP \[bu] 2 73251 dgouju <dgouju@users.noreply.github.com> 73252 .IP \[bu] 2 73253 Cl\['e]ment Notin <clement.notin@gmail.com> 73254 .IP \[bu] 2 73255 x3-apptech <66947598+x3-apptech@users.noreply.github.com> 73256 .IP \[bu] 2 73257 Arnie97 <arnie97@gmail.com> 73258 .IP \[bu] 2 73259 Roel Arents <2691308+roelarents@users.noreply.github.com> 73260 .IP \[bu] 2 73261 Aaron Gokaslan <aaronGokaslan@gmail.com> 73262 .IP \[bu] 2 73263 techknowlogick <matti@mdranta.net> 73264 .IP \[bu] 2 73265 rkettelerij <richard@mindloops.nl> 73266 .IP \[bu] 2 73267 Kamui <fin-kamui@pm.me> 73268 .IP \[bu] 2 73269 asdffdsazqqq <90116442+asdffdsazqqq@users.noreply.github.com> 73270 .IP \[bu] 2 73271 Nathaniel Wesley Filardo <nfilardo@microsoft.com> 73272 .IP \[bu] 2 73273 ycdtosa <ycdtosa@users.noreply.github.com> 73274 .IP \[bu] 2 73275 Erik Agterdenbos <agterdenbos@users.noreply.github.com> 73276 .IP \[bu] 2 73277 Kevin Verstaen <48050031+kverstae@users.noreply.github.com> 73278 .IP \[bu] 2 73279 MohammadReza <mrvashian@gmail.com> 73280 .IP \[bu] 2 73281 vanplus <60313789+vanplus@users.noreply.github.com> 73282 .IP \[bu] 2 73283 Jack <16779171+jkpe@users.noreply.github.com> 73284 .IP \[bu] 2 73285 Abdullah Saglam <abdullah.saglam@stonebranch.com> 73286 .IP \[bu] 2 73287 Marks Polakovs <github@markspolakovs.me> 73288 .IP \[bu] 2 73289 piyushgarg <piyushgarg80@gmail.com> 73290 .IP \[bu] 2 73291 Kaloyan Raev <kaloyan-raev@users.noreply.github.com> 73292 .IP \[bu] 2 73293 IMTheNachoMan <imthenachoman@gmail.com> 73294 .IP \[bu] 2 73295 alankrit <alankrit@google.com> 73296 .IP \[bu] 2 73297 Bryan Kaplan <#\[at]bryankaplan.com> 73298 .IP \[bu] 2 73299 LXY <767763591@qq.com> 73300 .IP \[bu] 2 73301 Simmon Li (he/him) <li.simmon@gmail.com> 73302 .IP \[bu] 2 73303 happyxhw <44490504+happyxhw@users.noreply.github.com> 73304 .IP \[bu] 2 73305 Simmon Li (he/him) <hello@crespire.dev> 73306 .IP \[bu] 2 73307 Matthias Baur <baurmatt@users.noreply.github.com> 73308 .IP \[bu] 2 73309 Hunter Wittenborn <hunter@hunterwittenborn.com> 73310 .IP \[bu] 2 73311 logopk <peter@kreuser.name> 73312 .IP \[bu] 2 73313 Gerard Bosch <30733556+gerardbosch@users.noreply.github.com> 73314 .IP \[bu] 2 73315 ToBeFree <github@tfrei.de> 73316 .IP \[bu] 2 73317 NodudeWasTaken <75137537+NodudeWasTaken@users.noreply.github.com> 73318 .IP \[bu] 2 73319 Peter Brunner <peter@lugoues.net> 73320 .IP \[bu] 2 73321 Ninh Pham <dongian.rapclubkhtn@gmail.com> 73322 .IP \[bu] 2 73323 Ryan Caezar Itang <sitiom@proton.me> 73324 .IP \[bu] 2 73325 Peter Brunner <peter@psykhe.com> 73326 .IP \[bu] 2 73327 Leandro Sacchet <leandro.sacchet@animati.com.br> 73328 .IP \[bu] 2 73329 dependabot[bot] <49699333+dependabot[bot]\[at]users.noreply.github.com> 73330 .IP \[bu] 2 73331 cycneuramus <56681631+cycneuramus@users.noreply.github.com> 73332 .IP \[bu] 2 73333 Arnavion <me@arnavion.dev> 73334 .IP \[bu] 2 73335 Christopher Merry <christopher.merry@mlb.com> 73336 .IP \[bu] 2 73337 Thibault Coupin <thibault.coupin@gmail.com> 73338 .IP \[bu] 2 73339 Richard Tweed <RichardoC@users.noreply.github.com> 73340 .IP \[bu] 2 73341 Zach Kipp <Zacho2@users.noreply.github.com> 73342 .IP \[bu] 2 73343 yuudi <26199752+yuudi@users.noreply.github.com> 73344 .IP \[bu] 2 73345 NickIAm <NickIAm@users.noreply.github.com> 73346 .IP \[bu] 2 73347 Juang, Yi-Lin <frankyjuang@gmail.com> 73348 .IP \[bu] 2 73349 jumbi77 <jumbi77@users.noreply.github.com> 73350 .IP \[bu] 2 73351 Aditya Basu <ab.aditya.basu@gmail.com> 73352 .IP \[bu] 2 73353 ed <s@ocv.me> 73354 .IP \[bu] 2 73355 Drew Parsons <dparsons@emerall.com> 73356 .IP \[bu] 2 73357 Joel <joelnb@users.noreply.github.com> 73358 .IP \[bu] 2 73359 wiserain <mail275@gmail.com> 73360 .IP \[bu] 2 73361 Roel Arents <roel.arents@kadaster.nl> 73362 .IP \[bu] 2 73363 Shyim <github@shyim.de> 73364 .IP \[bu] 2 73365 Rintze Zelle <78232505+rzelle-lallemand@users.noreply.github.com> 73366 .IP \[bu] 2 73367 Damo <damoclark@users.noreply.github.com> 73368 .IP \[bu] 2 73369 WeidiDeng <weidi_deng@icloud.com> 73370 .IP \[bu] 2 73371 Brian Starkey <stark3y@gmail.com> 73372 .IP \[bu] 2 73373 jladbrook <jhladbrook@gmail.com> 73374 .IP \[bu] 2 73375 Loren Gordon <lorengordon@users.noreply.github.com> 73376 .IP \[bu] 2 73377 dlitster <davidlitster@gmail.com> 73378 .IP \[bu] 2 73379 Tobias Gion <tobias@gion.io> 73380 .IP \[bu] 2 73381 J\[u0101]nis Bebr\[u012B]tis <janis.bebritis@wunder.io> 73382 .IP \[bu] 2 73383 Adam K <github.com@ak.tidy.email> 73384 .IP \[bu] 2 73385 Andrei Smirnov <smirnov.captain@gmail.com> 73386 .IP \[bu] 2 73387 Janne Hellsten <jjhellst@gmail.com> 73388 .IP \[bu] 2 73389 cc <12904584+shvc@users.noreply.github.com> 73390 .IP \[bu] 2 73391 Tareq Sharafy <tareq.sha@gmail.com> 73392 .IP \[bu] 2 73393 kapitainsky <dariuszb@me.com> 73394 .IP \[bu] 2 73395 douchen <playgoobug@gmail.com> 73396 .IP \[bu] 2 73397 Sam Lai <70988+slai@users.noreply.github.com> 73398 .IP \[bu] 2 73399 URenko <18209292+URenko@users.noreply.github.com> 73400 .IP \[bu] 2 73401 Stanislav Gromov <kullfar@gmail.com> 73402 .IP \[bu] 2 73403 Paulo Schreiner <paulo.schreiner@delivion.de> 73404 .IP \[bu] 2 73405 Mariusz Suchodolski <mariusz@suchodol.ski> 73406 .IP \[bu] 2 73407 danielkrajnik <dan94kra@gmail.com> 73408 .IP \[bu] 2 73409 Peter Fern <github@0xc0dedbad.com> 73410 .IP \[bu] 2 73411 zzq <i@zhangzqs.cn> 73412 .IP \[bu] 2 73413 mac-15 <usman.ilamdin@phpstudios.com> 73414 .SH Contact the rclone project 73415 .SS Forum 73416 .PP 73417 Forum for questions and general discussion: 73418 .IP \[bu] 2 73419 https://forum.rclone.org 73420 .SS GitHub repository 73421 .PP 73422 The project\[aq]s repository is located at: 73423 .IP \[bu] 2 73424 https://github.com/divyam234/rclone 73425 .PP 73426 There you can file bug reports or contribute with pull requests. 73427 .SS Twitter 73428 .PP 73429 You can also follow me on twitter for rclone announcements: 73430 .IP \[bu] 2 73431 [\[at]njcw](https://twitter.com/njcw) 73432 .SS Email 73433 .PP 73434 Or if all else fails or you want to ask something private or 73435 confidential email Nick Craig-Wood (mailto:nick@craig-wood.com). 73436 Please don\[aq]t email me requests for help - those are better directed 73437 to the forum. 73438 Thanks! 73439 .SH AUTHORS 73440 Nick Craig-Wood.