From a9adb4389628c086c0183c8daa1c8a59004f08b6 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Sat, 16 Jun 2018 18:21:09 +0100 Subject: [PATCH] Version v1.42 --- MANUAL.html | 459 +++++++++--- MANUAL.md | 442 +++++++++++- MANUAL.txt | 462 ++++++++++++- docs/content/changelog.md | 79 +++ docs/content/commands/rclone.md | 16 +- docs/content/commands/rclone_about.md | 14 +- docs/content/commands/rclone_authorize.md | 14 +- docs/content/commands/rclone_cachestats.md | 14 +- docs/content/commands/rclone_cat.md | 14 +- docs/content/commands/rclone_check.md | 19 +- docs/content/commands/rclone_cleanup.md | 14 +- docs/content/commands/rclone_config.md | 14 +- docs/content/commands/rclone_config_create.md | 12 +- docs/content/commands/rclone_config_delete.md | 12 +- docs/content/commands/rclone_config_dump.md | 12 +- docs/content/commands/rclone_config_edit.md | 12 +- docs/content/commands/rclone_config_file.md | 12 +- .../commands/rclone_config_password.md | 12 +- .../commands/rclone_config_providers.md | 12 +- docs/content/commands/rclone_config_show.md | 12 +- docs/content/commands/rclone_config_update.md | 12 +- docs/content/commands/rclone_copy.md | 14 +- docs/content/commands/rclone_copyto.md | 14 +- docs/content/commands/rclone_cryptcheck.md | 21 +- docs/content/commands/rclone_cryptdecode.md | 14 +- docs/content/commands/rclone_dbhashsum.md | 14 +- docs/content/commands/rclone_dedupe.md | 14 +- docs/content/commands/rclone_delete.md | 14 +- docs/content/commands/rclone_deletefile.md | 180 +++++ .../commands/rclone_genautocomplete.md | 14 +- .../commands/rclone_genautocomplete_bash.md | 12 +- .../commands/rclone_genautocomplete_zsh.md | 12 +- docs/content/commands/rclone_gendocs.md | 14 +- docs/content/commands/rclone_hashsum.md | 14 +- docs/content/commands/rclone_link.md | 14 +- docs/content/commands/rclone_listremotes.md | 14 +- docs/content/commands/rclone_ls.md | 14 +- docs/content/commands/rclone_lsd.md | 14 +- docs/content/commands/rclone_lsf.md | 37 +- docs/content/commands/rclone_lsjson.md | 16 +- docs/content/commands/rclone_lsl.md | 14 +- docs/content/commands/rclone_md5sum.md | 14 +- docs/content/commands/rclone_mkdir.md | 14 +- docs/content/commands/rclone_mount.md | 36 +- docs/content/commands/rclone_move.md | 14 +- docs/content/commands/rclone_moveto.md | 14 +- docs/content/commands/rclone_ncdu.md | 14 +- docs/content/commands/rclone_obscure.md | 14 +- docs/content/commands/rclone_purge.md | 14 +- docs/content/commands/rclone_rc.md | 16 +- docs/content/commands/rclone_rcat.md | 16 +- docs/content/commands/rclone_rmdir.md | 14 +- docs/content/commands/rclone_rmdirs.md | 14 +- docs/content/commands/rclone_serve.md | 14 +- docs/content/commands/rclone_serve_http.md | 14 +- docs/content/commands/rclone_serve_restic.md | 12 +- docs/content/commands/rclone_serve_webdav.md | 14 +- docs/content/commands/rclone_sha1sum.md | 14 +- docs/content/commands/rclone_size.md | 14 +- docs/content/commands/rclone_sync.md | 14 +- docs/content/commands/rclone_touch.md | 14 +- docs/content/commands/rclone_tree.md | 14 +- docs/content/commands/rclone_version.md | 14 +- docs/layouts/partials/version.html | 2 +- fs/version.go | 2 +- rclone.1 | 651 +++++++++++++++++- 66 files changed, 2793 insertions(+), 337 deletions(-) create mode 100644 docs/content/commands/rclone_deletefile.md diff --git a/MANUAL.html b/MANUAL.html index 826801f3c..565c64d36 100644 --- a/MANUAL.html +++ b/MANUAL.html @@ -12,7 +12,7 @@

Rclone

Logo

@@ -37,8 +37,9 @@
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Minio
  • -
  • Nextloud
  • +
  • Nextcloud
  • OVH
  • +
  • OpenDrive
  • Openstack Swift
  • Oracle Cloud Storage
  • ownCloud
  • @@ -156,6 +157,7 @@ sudo mv rclone /usr/local/bin/
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Openstack Swift / Rackspace Cloudfiles / Memset Memstore
  • +
  • OpenDrive
  • Pcloud
  • QingStor
  • SFTP
  • @@ -266,10 +268,12 @@ rclone --dry-run --min-size 100M delete remote:path

    Checks the files in the source and destination match. It compares sizes and hashes (MD5 or SHA1) and logs a report of files which don't match. It doesn't alter the source or destination.

    If you supply the --size-only flag, it will only compare the sizes not the hashes as well. Use this for a quick check.

    If you supply the --download flag, it will download the data from both remotes and check them against each other on the fly. This can be useful for remotes that don't support hashes or if you really want to check all the data.

    +

    If you supply the --one-way flag, it will only check that files in source match the files in destination, not the other way around. Meaning extra files in destination that are not in the source will not trigger an error.

    rclone check source:path dest:path [flags]

    Options

          --download   Check by downloading rather than with hash.
    -  -h, --help       help for check
    + -h, --help help for check + --one-way Check one way only, source files must exist on remote

    rclone ls

    List the objects in the path with size and path.

    Synopsis

    @@ -625,9 +629,11 @@ if src is directory

    You can use it like this also, but that will involve downloading all the files in remote:path.

    rclone cryptcheck remote:path encryptedremote:path

    After it has run it will log the status of the encryptedremote:.

    +

    If you supply the --one-way flag, it will only check that files in source match the files in destination, not the other way around. Meaning extra files in destination that are not in the source will not trigger an error.

    rclone cryptcheck remote:path cryptedremote:path [flags]

    Options

    -
      -h, --help   help for cryptcheck
    +
      -h, --help      help for cryptcheck
    +      --one-way   Check one way only, source files must exist on destination

    rclone cryptdecode

    Cryptdecode returns unencrypted file names.

    Synopsis

    @@ -648,15 +654,22 @@ rclone cryptdecode --reverse encryptedremote: filename1 filename2
    rclone dbhashsum remote:path [flags]

    Options

      -h, --help   help for dbhashsum
    +

    rclone deletefile

    +

    Remove a single file path from remote.

    +

    Synopsis

    +

    Remove a single file path from remote. Unlike delete it cannot be used to remove a directory and it doesn't obey include/exclude filters - if the specified file exists, it will always be removed.

    +
    rclone deletefile remote:path [flags]
    +

    Options

    +
      -h, --help   help for deletefile

    rclone genautocomplete

    Output completion script for a given shell.

    -

    Synopsis

    +

    Synopsis

    Generates a shell completion script for rclone. Run with --help to list the supported shells.

    -

    Options

    +

    Options

      -h, --help   help for genautocomplete

    rclone genautocomplete bash

    Output bash completion script for rclone.

    -

    Synopsis

    +

    Synopsis

    Generates a bash shell autocompletion script for rclone.

    This writes to /etc/bash_completion.d/rclone by default so will probably need to be run with sudo or as root, eg

    sudo rclone genautocomplete bash
    @@ -664,11 +677,11 @@ rclone cryptdecode --reverse encryptedremote: filename1 filename2
    . /etc/bash_completion

    If you supply a command line argument the script will be written there.

    rclone genautocomplete bash [output_file] [flags]
    -

    Options

    +

    Options

      -h, --help   help for bash

    rclone genautocomplete zsh

    Output zsh completion script for rclone.

    -

    Synopsis

    +

    Synopsis

    Generates a zsh autocompletion script for rclone.

    This writes to /usr/share/zsh/vendor-completions/_rclone by default so will probably need to be run with sudo or as root, eg

    sudo rclone genautocomplete zsh
    @@ -676,18 +689,18 @@ rclone cryptdecode --reverse encryptedremote: filename1 filename2
    autoload -U compinit && compinit

    If you supply a command line argument the script will be written there.

    rclone genautocomplete zsh [output_file] [flags]
    -

    Options

    +

    Options

      -h, --help   help for zsh

    rclone gendocs

    Output markdown docs for rclone to the directory supplied.

    -

    Synopsis

    +

    Synopsis

    This produces markdown docs for the rclone commands to the directory supplied. These are in a format suitable for hugo to render into the rclone.org website.

    rclone gendocs output_directory [flags]
    -

    Options

    +

    Options

      -h, --help   help for gendocs

    rclone hashsum

    Produces an hashsum file for all the objects in the path.

    -

    Synopsis

    +

    Synopsis

    Produces a hash file for all the objects in the path using the hash named. The output is in the same format as the standard md5sum/sha1sum tool.

    Run without a hash to see the list of supported hashes, eg

    $ rclone hashsum
    @@ -699,30 +712,30 @@ Supported hashes are:
     

    Then

    $ rclone hashsum MD5 remote:path
    rclone hashsum <hash> remote:path [flags]
    -

    Options

    +

    Options

      -h, --help   help for hashsum

    Generate public link to file/folder.

    -

    Synopsis

    +

    Synopsis

    rclone link will create or retrieve a public link to the given file or folder.

    rclone link remote:path/to/file
     rclone link remote:path/to/folder/

    If successful, the last line of the output will contain the link. Exact capabilities depend on the remote, but the link will always be created with the least constraints – e.g. no expiry, no password protection, accessible without account.

    rclone link remote:path [flags]
    -

    Options

    +

    Options

      -h, --help   help for link

    rclone listremotes

    List all the remotes in the config file.

    -

    Synopsis

    +

    Synopsis

    rclone listremotes lists all the available remotes from the config file.

    When uses with the -l flag it lists the types too.

    rclone listremotes [flags]
    -

    Options

    +

    Options

      -h, --help   help for listremotes
       -l, --long   Show the type as well as names.

    rclone lsf

    List directories and objects in remote:path formatted for parsing

    -

    Synopsis

    +

    Synopsis

    List the contents of the source path (directories and objects) to standard output in a form which is easy to parse by scripts. By default this will just be the names of the objects and directories, one per line. The directories will have a / suffix.

    Eg

    $ rclone lsf swift:bucket
    @@ -735,7 +748,9 @@ fubuwic
    p - path
     s - size
     t - modification time
    -h - hash
    +h - hash +i - ID of object if known +m - MimeType of object if known

    So if you wanted the path, size and modification time, you would use --format "pst", or maybe --format "tsp" to put the path last.

    Eg

    $ rclone lsf  --format "tsp" swift:bucket
    @@ -763,6 +778,16 @@ cd65ac234e6fea5925974a51cdd865cc  canole
     2016-06-25 18:55:43,94467,03b5341b4f234b9d984d03ad076bae91,diwogej7
     2018-04-26 08:52:53,0,,ferejej3gux/
     2016-06-25 18:55:40,37600,8fd37c3810dd660778137ac3a66cc06d,fubuwic
    +

    You can output in CSV standard format. This will escape things in " if they contain ,

    +

    Eg

    +
    $ rclone lsf --csv --files-only --format ps remote:path
    +test.log,22355
    +test.sh,449
    +"this file contains a comma, in the file name.txt",6
    +

    Note that the --absolute parameter is useful for making lists of files to pass to an rclone copy with the --files-from flag.

    +

    For example to find all the files modified within one day and copy those only (without traversing the whole directory structure):

    +
    rclone lsf --absolute --files-only --max-age 1d /path/to/local > new_files
    +rclone copy --files-from new_files /path/to/local remote:path

    Any of the filtering options can be applied to this commmand.

    There are several related list commands

    Environment Variables

    Rclone can be configured entirely using environment variables. These can be used to set defaults for options or config file entries.

    -

    Options

    +

    Options

    Every option in rclone can have its default set by environment variable.

    To find the name of the environment variable, first, take the long option name, strip the leading --, change - to _, make upper case and prepend RCLONE_.

    For example, to always set --stats 5s, set the environment variable RCLONE_STATS=5s. If you set stats on the command line this will override the environment variable setting.

    @@ -2077,6 +2125,8 @@ rclone rc cache/expire remote=/ withData=true
    rclone rc core/bwlimit rate=1M
     rclone rc core/bwlimit rate=off

    The format of the parameter is exactly the same as passed to --bwlimit except only one bandwidth may be specified.

    +

    core/gc: Runs a garbage collection.

    +

    This tells the go runtime to do a garbage collection run. It isn't necessary to call this normally, but it can be useful for debugging memory problems.

    core/memstats: Returns the memory statistics

    This returns the memory statistics of the running program. What the values mean are explained in the go docs: https://golang.org/pkg/runtime/#MemStats

    The most interesting values for most people are:

    @@ -2159,6 +2209,36 @@ $ echo $? "rutabaga": "3", "sausage": 1 } +

    Debugging rclone with pprof

    +

    If you use the --rc flag this will also enable the use of the go profiling tools on the same port.

    +

    To use these, first install go.

    +

    Then (for example) to profile rclone's memory use you can run:

    +
    go tool pprof -web http://localhost:5572/debug/pprof/heap
    +

    This should open a page in your browser showing what is using what memory.

    +

    You can also use the -text flag to produce a textual summary

    +
    $ go tool pprof -text http://localhost:5572/debug/pprof/heap
    +Showing nodes accounting for 1537.03kB, 100% of 1537.03kB total
    +      flat  flat%   sum%        cum   cum%
    + 1024.03kB 66.62% 66.62%  1024.03kB 66.62%  github.com/ncw/rclone/vendor/golang.org/x/net/http2/hpack.addDecoderNode
    +     513kB 33.38%   100%      513kB 33.38%  net/http.newBufioWriterSize
    +         0     0%   100%  1024.03kB 66.62%  github.com/ncw/rclone/cmd/all.init
    +         0     0%   100%  1024.03kB 66.62%  github.com/ncw/rclone/cmd/serve.init
    +         0     0%   100%  1024.03kB 66.62%  github.com/ncw/rclone/cmd/serve/restic.init
    +         0     0%   100%  1024.03kB 66.62%  github.com/ncw/rclone/vendor/golang.org/x/net/http2.init
    +         0     0%   100%  1024.03kB 66.62%  github.com/ncw/rclone/vendor/golang.org/x/net/http2/hpack.init
    +         0     0%   100%  1024.03kB 66.62%  github.com/ncw/rclone/vendor/golang.org/x/net/http2/hpack.init.0
    +         0     0%   100%  1024.03kB 66.62%  main.init
    +         0     0%   100%      513kB 33.38%  net/http.(*conn).readRequest
    +         0     0%   100%      513kB 33.38%  net/http.(*conn).serve
    +         0     0%   100%  1024.03kB 66.62%  runtime.main
    +

    Possible profiles to look at:

    + +

    See the net/http/pprof docs for more info on how to use the profiling and for a general overview see the Go team's blog post on profiling go programs.

    +

    The profiling hook is zero overhead unless it is used.

    Overview of cloud storage systems

    Each cloud storage system is slightly different. Rclone attempts to provide a unified interface to them, but some underlying differences show through.

    Features

    @@ -2280,6 +2360,14 @@ $ echo $? R +OpenDrive +MD5 +Yes +Yes +No +- + + Openstack Swift MD5 Yes @@ -2287,7 +2375,7 @@ $ echo $? No R/W - + pCloud MD5, SHA1 Yes @@ -2295,7 +2383,7 @@ $ echo $? No W - + QingStor MD5 No @@ -2303,7 +2391,7 @@ $ echo $? No R/W - + SFTP MD5, SHA1 ‡ Yes @@ -2311,7 +2399,7 @@ $ echo $? No - - + WebDAV - Yes †† @@ -2319,7 +2407,7 @@ $ echo $? No - - + Yandex Disk MD5 Yes @@ -2327,7 +2415,7 @@ $ echo $? No R/W - + The local filesystem All Yes @@ -2540,6 +2628,18 @@ $ echo $? Yes +OpenDrive +Yes +Yes +Yes +Yes +No +No +No +No +No + + Openstack Swift Yes † Yes @@ -2551,7 +2651,7 @@ $ echo $? No #2178 Yes - + pCloud Yes Yes @@ -2563,7 +2663,7 @@ $ echo $? No #2178 Yes - + QingStor No Yes @@ -2575,7 +2675,7 @@ $ echo $? No #2178 No - + SFTP No No @@ -2587,7 +2687,7 @@ $ echo $? No #2178 No - + WebDAV Yes Yes @@ -2599,7 +2699,7 @@ $ echo $? No #2178 No - + Yandex Disk Yes No @@ -2611,7 +2711,7 @@ $ echo $? No #2178 No - + The local filesystem Yes No @@ -3172,6 +3272,9 @@ y/e/d>

    Any files larger than this will be uploaded in chunks of this size. The default is 5MB. The minimum is 5MB.

    Note that 2 chunks of this size are buffered in memory per transfer.

    If you are transferring large files over high speed links and you have enough memory, then increasing this will speed up the transfers.

    +

    --s3-upload-concurrency

    +

    Number of chunks of the same file that are uploaded concurrently. Default is 2.

    +

    If you are uploading small amount of large file over high speed link and these uploads do not fully utilize your bandwidth, then increasing this may help to speed up the transfers.

    Anonymous access to public buckets

    If you want to use rclone to access a public bucket, configure with a blank access_key_id and secret_access_key. Your config should end up looking like this:

    [anons3]
    @@ -4394,6 +4497,12 @@ y/e/d> y
    rclone ls remote:

    To copy a local directory to a dropbox directory called backup

    rclone copy /home/source remote:backup
    +

    Dropbox for business

    +

    Rclone supports Dropbox for business and Team Folders.

    +

    When using Dropbox for business remote: and remote:path/to/file will refer to your personal folder.

    +

    If you wish to see Team Folders you must use a leading / in the path, so rclone lsd remote:/ will refer to the root and show you all Team Folders and your User Folder.

    +

    You can then use team folders like this remote:/TeamFolder and remote:/TeamFolder/path/to/file.

    +

    A leading / for a Dropbox personal account will do nothing, but it will take an extra HTTP transaction so it should be avoided.

    Modified time and Hashes

    Dropbox supports modified times, but the only way to set a modification time is to re-upload the file.

    This means that if you uploaded your data with an older version of rclone which didn't support the v2 API and modified times, rclone will decide to upload all your old data to fix the modification times. If you don't want this to happen use --size-only or --checksum flag to stop it.

    @@ -4866,6 +4975,8 @@ y/e/d> y

    To view your current quota you can use the rclone about remote: command which will display your usage limit (quota), the usage in Google Drive, the size of all files in the Trash and the space used by other Google services such as Gmail. This command does not take any path arguments.

    Specific options

    Here are the command line options specific to this cloud storage system.

    +

    --drive-acknowledge-abuse

    +

    If downloading a file returns the error This file has been identified as malware or spam and cannot be downloaded with the error code cannotDownloadAbusiveFile then supply this flag to rclone to indicate you acknowledge the risks of downloading the file and rclone will download it anyway.

    --drive-auth-owner-only

    Only consider files owned by the authenticated user.

    --drive-chunk-size=SIZE

    @@ -4995,6 +5106,9 @@ y/e/d> y +

    --drive-alternate-export

    +

    If this option is set this instructs rclone to use an alternate set of export URLs for drive documents. Users have reported that the official export URLs can't export large documents, whereas these unofficial ones can.

    +

    See rclone issue #2243 for background, this google drive issue and this helpful post.

    --drive-impersonate user

    When using a service account, this instructs rclone to impersonate the user passed in.

    --drive-list-chunk int

    @@ -5465,7 +5579,7 @@ y/e/d> y * Say p for a personal OneDrive account b) Business p) Personal -b/p> +b/p>

    After that rclone requires an authentication of your account. The application will first authenticate your account, then query the OneDrive resource URL and do a second (silent) authentication for this resource URL.

    Modified time and hashes

    OneDrive allows modification times to be set on objects accurate to 1 second. These will be used to detect whether objects need syncing or not.

    @@ -5482,8 +5596,7 @@ b/p>

    There are quite a few characters that can't be in OneDrive file names. These can't occur on Windows platforms, but on non-Windows platforms they are common. Rclone will map these names to and from an identical looking unicode equivalent. For example if a file has a ? in it will be mapped to instead.

    The largest allowed file size is 10GiB (10,737,418,240 bytes).

    Versioning issue

    -

    Every change in OneDrive causes the service to create a new version. This counts against a users quota.
    -For example changing the modification time of a file creates a second version, so the file is using twice the space.

    +

    Every change in OneDrive causes the service to create a new version. This counts against a users quota. For example changing the modification time of a file creates a second version, so the file is using twice the space.

    The copy is the only rclone command affected by this as we copy the file and then afterwards set the modification time to match the source file.

    User Weropol has found a method to disable versioning on OneDrive

      @@ -5492,12 +5605,91 @@ For example changing the modification time of a file creates a second version, s
    1. Once on the Site settings page, navigate to Site Administration > Site libraries and lists.
    2. Click Customize "Documents".
    3. Click General Settings > Versioning Settings.
    4. -
    5. Under Document Version History select the option No versioning.
      -Note: This will disable the creation of new file versions, but will not remove any previous versions. Your documents are safe.
    6. +
    7. Under Document Version History select the option No versioning. Note: This will disable the creation of new file versions, but will not remove any previous versions. Your documents are safe.
    8. Apply the changes by clicking OK.
    9. Use rclone to upload or modify files. (I also use the --no-update-modtime flag)
    10. Restore the versioning settings after using rclone. (Optional)
    +

    Troubleshooting

    +
    Error: access_denied
    +Code: AADSTS65005
    +Description: Using application 'rclone' is currently not supported for your organization [YOUR_ORGANIZATION] because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of [YOUR_ORGANIZATION] before the application rclone can be provisioned.
    +

    This means that rclone can't use the OneDrive for Business API with your account. You can't do much about it, maybe write an email to your admins.

    +

    However, there are other ways to interact with your OneDrive account. Have a look at the webdav backend: https://rclone.org/webdav/#sharepoint

    +

    OpenDrive

    +

    Paths are specified as remote:path

    +

    Paths may be as deep as required, eg remote:directory/subdirectory.

    +

    Here is an example of how to make a remote called remote. First run:

    +
     rclone config
    +

    This will guide you through an interactive setup process:

    +
    n) New remote
    +d) Delete remote
    +q) Quit config
    +e/n/d/q> n
    +name> remote
    +Type of storage to configure.
    +Choose a number from below, or type in your own value
    + 1 / Amazon Drive
    +   \ "amazon cloud drive"
    + 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
    +   \ "s3"
    + 3 / Backblaze B2
    +   \ "b2"
    + 4 / Dropbox
    +   \ "dropbox"
    + 5 / Encrypt/Decrypt a remote
    +   \ "crypt"
    + 6 / Google Cloud Storage (this is not Google Drive)
    +   \ "google cloud storage"
    + 7 / Google Drive
    +   \ "drive"
    + 8 / Hubic
    +   \ "hubic"
    + 9 / Local Disk
    +   \ "local"
    +10 / OpenDrive
    +   \ "opendrive"
    +11 / Microsoft OneDrive
    +   \ "onedrive"
    +12 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
    +   \ "swift"
    +13 / SSH/SFTP Connection
    +   \ "sftp"
    +14 / Yandex Disk
    +   \ "yandex"
    +Storage> 10
    +Username
    +username>
    +Password
    +y) Yes type in my own password
    +g) Generate random password
    +y/g> y
    +Enter the password:
    +password:
    +Confirm the password:
    +password:
    +--------------------
    +[remote]
    +username =
    +password = *** ENCRYPTED ***
    +--------------------
    +y) Yes this is OK
    +e) Edit this remote
    +d) Delete this remote
    +y/e/d> y
    +

    List directories in top level of your OpenDrive

    +
    rclone lsd remote:
    +

    List all the files in your OpenDrive

    +
    rclone ls remote:
    +

    To copy a local directory to an OpenDrive directory called backup

    +
    rclone copy /home/source remote:backup
    +

    Modified time and MD5SUMs

    +

    OpenDrive allows modification times to be set on objects accurate to 1 second. These will be used to detect whether objects need syncing or not.

    +

    Deleting files

    +

    Any files you delete with rclone will end up in the trash. Amazon don't provide an API to permanently delete files, nor to empty the trash, so you will have to do that with one of Amazon's apps or via the OpenDrive website. As of November 17, 2016, files are automatically deleted by Amazon from the trash after 30 days.

    +

    Limitations

    +

    Note that OpenDrive is case insensitive so you can't have a file called "Hello.doc" and one called "hello.doc".

    +

    There are quite a few characters that can't be in OpenDrive file names. These can't occur on Windows platforms, but on non-Windows platforms they are common. Rclone will map these names to and from an identical looking unicode equivalent. For example if a file has a ? in it will be mapped to instead.

    QingStor

    Paths are specified as remote:bucket (or remote: for the lsd command.) You may put subdirectories in too, eg remote:bucket/path/to/dir.

    Here is an example of making an QingStor configuration. First run

    @@ -5803,9 +5995,9 @@ rclone lsd myremote:

    Modified time

    The modified time is stored as metadata on the object as X-Object-Meta-Mtime as floating point since the epoch accurate to 1 ns.

    This is a defacto standard (used in the official python-swiftclient amongst others) for storing the modification time for an object.

    -

    Limitations

    +

    Limitations

    The Swift API doesn't return a correct MD5SUM for segmented files (Dynamic or Static Large Objects) so rclone won't check or use the MD5SUM for these.

    -

    Troubleshooting

    +

    Troubleshooting

    Rclone gives Failed to create file system for "remote:": Bad Request

    Due to an oddity of the underlying swift library, it gives a "Bad Request" error rather than a more sensible error when the authentication fails for Swift.

    So this most likely means your username / password is wrong. You can investigate further with the --dump-bodies flag.

    @@ -5903,7 +6095,7 @@ y/e/d> y

    Modified time and hashes

    pCloud allows modification times to be set on objects accurate to 1 second. These will be used to detect whether objects need syncing or not. In order to set a Modification time pCloud requires the object be re-uploaded.

    pCloud supports MD5 and SHA1 type hashes, so you can use the --checksum flag.

    -

    Deleting files

    +

    Deleting files

    Deleted files will be moved to the trash. Your subscription level will determine how long items stay in the trash. rclone cleanup can be used to empty the trash.

    SFTP

    SFTP is the Secure (or SSH) File Transfer Protocol.

    @@ -6010,11 +6202,17 @@ y/e/d> y

    Here are the command line options specific to this remote.

    --sftp-ask-password

    Ask for the SFTP password if needed when no password has been configured.

    +

    --ssh-path-override

    +

    Override path used by SSH connection. Allows checksum calculation when SFTP and SSH paths are different. This issue affects among others Synology NAS boxes.

    +

    Shared folders can be found in directories representing volumes

    +
    rclone sync /home/local/directory remote:/directory --ssh-path-override /volume2/directory
    +

    Home directory can be found in a shared folder called homes

    +
    rclone sync /home/local/directory remote:/home/directory --ssh-path-override /volume1/homes/USER/directory

    Modified time

    Modified times are stored on the server to 1 second precision.

    Modified times are used in syncing and are fully supported.

    Some SFTP servers disable setting/modifying the file modification time after upload (for example, certain configurations of ProFTPd with mod_sftp). If you are using one of these servers, you can set the option set_modtime = false in your RClone backend configuration to disable this behaviour.

    -

    Limitations

    +

    Limitations

    SFTP supports checksums if the same login has shell access and md5sum or sha1sum as well as echo are in the remote's PATH. This remote checksumming (file hashing) is recommended and enabled by default. Disabling the checksumming may be required if you are connecting to SFTP servers which are not under your control, and to which the execution of remote commands is prohibited. Set the configuration option disable_hashcheck to true to disable checksumming.

    Note that some SFTP servers (eg Synology) the paths are different for SSH and SFTP so the hashes can't be calculated properly. For them using disable_hashcheck is a good idea.

    The only ssh agent supported under Windows is Putty's pageant.

    @@ -6326,6 +6524,103 @@ nounc = true

    This flag disables warning messages on skipped symlinks or junction points, as you explicitly acknowledge that they should be skipped.

    Changelog