diff --git a/MANUAL.html b/MANUAL.html index e463e9875..9058782f4 100644 --- a/MANUAL.html +++ b/MANUAL.html @@ -12,7 +12,7 @@
If dest:path doesn't exist, it is created and the source:path contents go there.
Moves the source to the destination.
-If there are no filters in use this is equivalent to a copy followed by a purge, but may using server side operations to speed it up if possible.
-If filters are in use then it is equivalent to a copy followed by delete, followed by an rmdir (which only removes the directory if empty). The individual file moves will be moved with srver side operations if possible.
+If there are no filters in use this is equivalent to a copy followed by a purge, but may use server side operations to speed it up if possible.
+If filters are in use then it is equivalent to a copy followed by delete, followed by an rmdir (which only removes the directory if empty). The individual file moves will be moved with server side operations if possible.
Important: Since this can cause data loss, test first with the --dry-run flag.
List all the objects in the the path with size and path.
+List all the objects in the path with size and path.
List all directories/containers/buckets in the the path.
Enter an interactive configuration session.
Prints help on rclone commands and options.
+When you are typing commands to your computer you are using something called the command line shell. This interprets various characters in an OS specific way.
+Here are some gotchas which may help users unfamiliar with the shell rules
+If your names have spaces or shell metacharacters (eg *
, ?
, $
, '
, "
etc) then you must quote them. Use single quotes '
by default.
rclone copy 'Important files?' remote:backup
+If you want to send a '
you will need to use "
, eg
rclone copy "O'Reilly Reviews" remote:backup
+The rules for quoting metacharacters are complicated and if you want the full details you'll have to consult the manual page for your shell.
+If your names have spaces in you need to put them in "
, eg
rclone copy "E:\folder name\folder name\folder name" remote:backup
+If you are using the root directory on its own then don't quote it (see #464 for why), eg
+rclone copy E:\ remote:backup
Drive, S3, Dropbox, Swift and Google Cloud Storage support server side copy.
This means if you want to copy one folder to another then rclone won't download all the files and re-upload them; it will instruct the server to copy them in place.
@@ -224,9 +238,9 @@ rclone sync /path/to/files remote:current-backupRclone has a number of options to control its behaviour.
Options which use TIME use the go time parser. A duration string is a possibly signed sequence of decimal numbers, each with optional fraction and a unit suffix, such as "300ms", "-1.5h" or "2h45m". Valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h".
-Options which use SIZE use kByte by default. However a suffix of k
for kBytes, M
for MBytes and G
for GBytes may be used. These are the binary units, eg 2**10, 2**20, 2**30 respectively.
Options which use SIZE use kByte by default. However a suffix of b
for bytes, k
for kBytes, M
for MBytes and G
for GBytes may be used. These are the binary units, eg 1, 2**10, 2**20, 2**30 respectively.
Bandwidth limit in kBytes/s, or use suffix k|M|G. The default is 0
which means to not limit bandwidth.
Bandwidth limit in kBytes/s, or use suffix b|k|M|G. The default is 0
which means to not limit bandwidth.
For example to limit bandwidth usage to 10 MBytes/s use --bwlimit 10M
This only limits the bandwidth of the data transfer, it doesn't limit the bandwith of the directory listings etc.
Using this option will make rclone unconditionally skip all files that exist on the destination, no matter the content of these files.
While this isn't a generally recommended option, it can be useful in cases where your files change due to encryption. However, it cannot correct partial transfers in case a transfer was interrupted.
+Normally rclone will look at modification time and size of files to see if they are equal. If you set this flag then rclone will check only the modification time. If --checksum
is set then it only checks the checksum.
It will also cause rclone to skip verifying the sizes are the same after transfer.
+This can be useful for transferring files to and from onedrive which occasionally misreports the size of image files (see #399 for more info).
Using this option will cause rclone to unconditionally upload all files regardless of the state of files on the destination.
Normally rclone would skip any files that have the same modification time and are the same size (or have the same checksum if using --checksum
).
Log all of rclone's output to FILE. This is not active by default. This can be useful for tracking down problems with syncs in combination with the -v
flag.
Log all of rclone's output to FILE. This is not active by default. This can be useful for tracking down problems with syncs in combination with the -v
flag. See the Logging section for more info.
This controls the number of low level retries rclone does.
A low level retry is used to retry a failing operation - typically one HTTP request. This might be uploading a chunk of a big file for example. You will see low level retries in the log with the -v
flag.
This shouldn't need to be changed from the default in normal operations, however if you get a lot of low level retries you may wish to reduce the value so rclone moves on to a high level retry (see the --retries
flag) quicker.
Disable low level retries with --low-level-retries 1
.
This modifies the recursion depth for all the commands except purge.
+So if you do rclone --max-depth 1 ls remote:path
you will see only the files in the top level directory. Using --max-depth 2
means you will see all the files in first two directory levels and so on.
For historical reasons the lsd
command defaults to using a --max-depth
of 1 - you can override this with the command line flag.
You can use this command to disable recursion (with --max-depth 1
).
Note that if you use this with sync
and --delete-excluded
the files not recursed through are considered excluded and will be deleted on the destination. Test first with --dry-run
if you are not sure what will happen.
When checking whether a file has been modified, this is the maximum allowed time difference that a file can have and still be considered equivalent.
The default is 1ns
unless this is overridden by a remote. For example OS X only stores modification times to the nearest second so if you are reading and writing to an OS X filing system this will be 1s
by default.
Normally rclone will look at modification time and size of files to see if they are equal. If you set this flag then rclone will check only the size.
This can be useful transferring files from dropbox which have been modified by the desktop sync client which doesn't set checksums of modification times in the same way as rclone.
-When using this flag, rclone won't update mtimes of remote files if they are incorrect as it would normally.
Rclone will print stats at regular intervals to show its progress.
This sets the interval.
@@ -323,9 +346,9 @@ a) Add Password q) Quit to main menu a/q> a Enter NEW configuration password: -password> +password: Confirm NEW password: -password> +password: Password set Your configuration is encrypted. c) Change Password @@ -334,10 +357,10 @@ q) Quit to main menu c/u/q>Your configuration is now encrypted, and every time you start rclone you will now be asked for the password. In the same menu you can change the password or completely remove encryption from your configuration.
There is no way to recover the configuration if you lose your password.
-rclone uses nacl secretbox which in term uses XSalsa20 and Poly1305 to encrypt and authenticate your configuration with secret-key cryptography. The password is SHA-256 hashed, which produces the key for secretbox. The hashed password is not stored.
-While this provides very good security, we do not recommend storing your encrypted rclone configuration in public, if it contains sensitive information, maybe except if you use a very strong password.
+rclone uses nacl secretbox which in turn uses XSalsa20 and Poly1305 to encrypt and authenticate your configuration with secret-key cryptography. The password is SHA-256 hashed, which produces the key for secretbox. The hashed password is not stored.
+While this provides very good security, we do not recommend storing your encrypted rclone configuration in public if it contains sensitive information, maybe except if you use a very strong password.
If it is safe in your environment, you can set the RCLONE_CONFIG_PASS
environment variable to contain your password, in which case it will be used for decrypting the configuration.
If you are running rclone inside a script, you might want to disable password prompts. To do that, pass the parameter --ask-password=false
to rclone. This will make rclone fail instead of asking for a password, if if RCLONE_CONFIG_PASS
doesn't contain a valid password.
If you are running rclone inside a script, you might want to disable password prompts. To do that, pass the parameter --ask-password=false
to rclone. This will make rclone fail instead of asking for a password if RCLONE_CONFIG_PASS
doesn't contain a valid password.
These options are useful when developing or debugging rclone. There are also some more remote specific options which aren't documented here which are used for testing. These start with remote name eg --drive-test-option
- see the docs for the remote in question.
--dump-filters
See the filtering section.
+rclone has 3 levels of logging, Error
, Info
and Debug
.
By default rclone logs Error
and Info
to standard error and Debug
to standard output. This means you can redirect standard output and standard error to different places.
By default rclone will produce Error
and Info
level messages.
If you use the -q
flag, rclone will only produce Error
messages.
If you use the -v
flag, rclone will produce Error
, Info
and Debug
messages.
If you use the --log-file=FILE
option, rclone will redirect Error
, Info
and Debug
messages along with standard error to FILE.
If any errors occurred during the command, rclone will set a non zero exit code. This allows scripts to detect when rclone operations have failed.
Rclone has a sophisticated set of include and exclude rules. Some of these are based on patterns and some on other things like file size.
The filters are applied for the copy
, sync
, move
, ls
, lsl
, md5sum
, sha1sum
, size
, delete
and check
operations. Note that purge
does not obey the filters.
Each path as it passes through rclone is matched against the include and exclude rules like --include
, --exclude
, --include-from
, --exclude-from
, --filter
, or --filter-from
. The simplest way to try them out is using the ls
command, or --dry-run
together with -v
.
Important Due to limitations of the command line parser you can only use any of these options once - if you duplicate them then rclone will use the last one only.
The patterns used to match files for inclusion or exclusion are based on "file globs" as used by the unix shell.
If the pattern starts with a /
then it only matches at the top level of the directory tree, relative to the root of the remote. If it doesn't start with /
then it is matched starting at the end of the path, but it will only match a complete path element:
\*.jpg - matches "*.jpg"
\\.jpg - matches "\.jpg"
\[one\].jpg - matches "[one].jpg"
+Note also that rclone filter globs can only be used in one of the filter command line flags, not in the specification of the remote, so rclone copy "remote:dir*.jpg" /path/to/dir
won't work - what is required is rclone --include "*.jpg" copy remote:dir /path/to/dir
Rclone keeps track of directories that could match any file patterns.
+Eg if you add the include rule
+\a\*.jpg
+Rclone will synthesize the directory include rule
+\a\
+If you put any rules which end in \
then it will only match directories.
Directory matches are only used to optimise directory access patterns - you must still match the files that you want to match. Directory matches won't optimise anything on bucket based remotes (eg s3, swift, google compute storage, b2) which don't have a concept of directory.
Rclone implements bash style {a,b,c}
glob matching which rsync doesn't.
Rclone ignores /
at the end of a pattern.
Rclone always does a wildcard match so \
must always escape a \
.
Rclone maintains a list of include rules and exclude rules.
@@ -490,6 +529,7 @@ y/e/d>secret17.jpg
*.jpg
and *.png
A similar process is done on directory entries before recursing into them. This only works on remotes which have a concept of directory (Eg local, drive, onedrive, amazon cloud drive) and not on bucket based remotes (eg s3, swift, google compute storage, b2).
Filtering rules are added with the following command line flags.
--exclude
- Exclude files matching patternThe cloud storage system supports various hash types of the objects.
The hashes are used when transferring data as an integrity check and can be specifically used with the --checksum
flag in syncs and in the check
command.
The cloud storage system supports various hash types of the objects.
+The hashes are used when transferring data as an integrity check and can be specifically used with the --checksum
flag in syncs and in the check
command.
To use the checksum checks between filesystems they must support a common hash type.
The cloud storage system supports setting modification times on objects. If it does then this enables a using the modification times as part of the sync. If not then only the size will be checked by default, though the MD5SUM can be checked with the --checksum
flag.
If you prefer an archive copy then you might use --drive-formats pdf
, or if you prefer openoffice/libreoffice formats you might use --drive-formats ods,odt
.
Note that rclone adds the extension to the google doc, so if it is calles My Spreadsheet
on google docs, it will be exported as My Spreadsheet.xlsx
or My Spreadsheet.pdf
etc.
Here are the possible extensions with their corresponding mime types.
-Extension | @@ -1007,6 +1053,13 @@ Choose a number from below, or type in your own value 9 / South America (Sao Paulo) Region. \ "sa-east-1" location_constraint> 1 +The server-side encryption algorithm used when storing this object in S3. +Choose a number from below, or type in your own value + 1 / None + \ "" + 2 / AES256 + \ "AES256" +server_side_encryption> Remote config -------------------- [remote] @@ -1167,6 +1220,8 @@ Choose a number from below, or type in your own value 6 / OVH \ "https://auth.cloud.ovh.net/v2.0" auth> 1 +User domain - optional (v3 auth) +domain> Default Tenant name - optional tenant> Region name - optional @@ -1174,6 +1229,8 @@ region> Storage URL - optional storage_url> Remote config +AuthVersion - optional - set to (1,2,3) if your auth URL has no version +auth_version> -------------------- [remote] user = user_name @@ -1205,6 +1262,12 @@ y/e/d> y
---|