diff --git a/MANUAL.html b/MANUAL.html
index ece490bad..7647bb506 100644
--- a/MANUAL.html
+++ b/MANUAL.html
@@ -233,7 +233,7 @@
Aug 22, 2025 Nov 21, 2025rclone(1) User Manual
-
rclone - manage files on cloud storage
@@ -244,6 +244,7 @@ Available commands: about Get quota information from the remote. + archive Perform an action on an archive. authorize Remote authorization. backend Run a backend-specific command. bisync Perform bidirectional synchronization between two paths. @@ -304,6 +305,7 @@ Use "rclone help backends" for a list of supported services.(There are many others, built on standard protocols such as WebDAV or S3, that work out of the box.)
+ +These backends adapt or modify other storage providers:
+ +To install rclone on Linux/macOS/BSD systems, run:
-sudo -v ; curl https://rclone.org/install.sh | sudo bashsudo -v ; curl https://rclone.org/install.sh | sudo bash
For beta installation, run:
-sudo -v ; curl https://rclone.org/install.sh | sudo bash -s betasudo -v ; curl https://rclone.org/install.sh | sudo bash -s beta
Note that this script checks the version of rclone installed first and won't re-download if not needed.
Fetch and unpack
-curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
-unzip rclone-current-linux-amd64.zip
-cd rclone-*-linux-amd64curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
+unzip rclone-current-linux-amd64.zip
+cd rclone-*-linux-amd64
Copy binary file
-sudo cp rclone /usr/bin/
-sudo chown root:root /usr/bin/rclone
-sudo chmod 755 /usr/bin/rclonesudo cp rclone /usr/bin/
+sudo chown root:root /usr/bin/rclone
+sudo chmod 755 /usr/bin/rclone
Install manpage
-sudo mkdir -p /usr/local/share/man/man1
-sudo cp rclone.1 /usr/local/share/man/man1/
-sudo mandbsudo mkdir -p /usr/local/share/man/man1
+sudo cp rclone.1 /usr/local/share/man/man1/
+sudo mandb
Run rclone config to setup. See rclone config docs for more
details.
rclone configrclone config
brew install rclonebrew install rclone
NOTE: This version of rclone will not support mount any
more (see #5373). If
@@ -596,7 +615,7 @@ alt="Homebrew package" />
On macOS, rclone can also be installed via MacPorts:
-sudo port install rclonesudo port install rclone
Note that this is a third party installer not controlled by the rclone developers so it may be out of date. Its current version is as below.
@@ -610,37 +629,30 @@ href="https://ports.macports.org/port/rclone/">macports.org. signed and notarized it is enough to download withcurl.
Download the latest version of rclone.
-cd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zipcd && curl -O https://downloads.rclone.org/rclone-current-osx-amd64.zip
Unzip the download and cd to the extracted folder.
-unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64unzip -a rclone-current-osx-amd64.zip && cd rclone-*-osx-amd64
Move rclone to your $PATH. You will be prompted for your password.
-sudo mkdir -p /usr/local/bin
-sudo mv rclone /usr/local/bin/sudo mkdir -p /usr/local/bin
+sudo mv rclone /usr/local/bin/
(the mkdir command is safe to run, even if the directory
already exists).
Remove the leftover files.
-cd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zipcd .. && rm -rf rclone-*-osx-amd64 rclone-current-osx-amd64.zip
Run rclone config to setup. See rclone config docs for more
details.
rclone configrclone config
When downloading a binary with a web browser, the browser will set
the macOS gatekeeper quarantine attribute. Starting from Catalina, when
attempting to run rclone, a pop-up will appear saying:
"rclone" cannot be opened because the developer cannot be verified.
-macOS cannot verify that this app is free from malware."rclone" cannot be opened because the developer cannot be verified.
+macOS cannot verify that this app is free from malware.
The simplest fix is to run
-xattr -d com.apple.quarantine rclonexattr -d com.apple.quarantine rclone
Fetch the correct binary for your processor type by clicking on these @@ -740,15 +752,14 @@ minimal Alpine Linux.
release. You can use the:beta tag to get the latest build
from master. You can also use version tags, e.g. :1.49.1,
:1.49 or :1.
-$ docker pull rclone/rclone:latest
-latest: Pulling from rclone/rclone
-Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
-...
-$ docker run --rm rclone/rclone:latest version
-rclone v1.49.1
-- os/arch: linux/amd64
-- go version: go1.12.9$ docker pull rclone/rclone:latest
+latest: Pulling from rclone/rclone
+Digest: sha256:0e0ced72671989bb837fea8e88578b3fc48371aa45d209663683e24cfdaa0e11
+...
+$ docker run --rm rclone/rclone:latest version
+rclone v1.49.1
+- os/arch: linux/amd64
+- go version: go1.12.9
There are a few command line options to consider when starting an rclone Docker container from the rclone image.
Make sure you have Snapd installed
-sudo snap install rclonesudo snap install rclone
Due to the strict confinement of Snap, rclone snap cannot access real
/home/$USER/.config/rclone directory, default config path
is as below.
git clone https://github.com/rclone/rclone.git
-cd rclone
-go buildgit clone https://github.com/rclone/rclone.git
+cd rclone
+go build
This will check out the rclone source in subfolder rclone, which you can later modify and send pull requests with. Then it will build the rclone executable in the same folder. As an initial check you can now @@ -863,8 +872,7 @@ Windows).
href="https://rclone.org/commands/rclone_mount/">mount command will not be available unless you specify an additional build tagcmount.
-go build -tags cmountgo build -tags cmount
This assumes you have a GCC compatible C compiler (GCC or Clang) in
your PATH, as it uses cgo. But
on Windows, the cgofuse
@@ -887,8 +895,7 @@ the WinFsp installation (normally
and debug information, making the executable file smaller, and
-trimpath to remove references to local file system paths.
The official rclone releases are built with both of these.
go build -trimpath -ldflags -s -tags cmountgo build -trimpath -ldflags -s -tags cmount
If you want to customize the version string, as reported by the
rclone version command, you can set one of the variables
fs.Version, fs.VersionTag (to keep default
@@ -896,8 +903,7 @@ suffix but customize the number), or fs.VersionSuffix (to
keep default number but customize the suffix). This can be done from the
build command, by adding to the -ldflags argument value as
shown below.
go build -trimpath -ldflags "-s -X github.com/rclone/rclone/fs.Version=v9.9.9-test" -tags cmountgo build -trimpath -ldflags "-s -X github.com/rclone/rclone/fs.Version=v9.9.9-test" -tags cmount
On Windows, the official executables also have the version
information, as well as a file icon, embedded as binary resources. To
get that with your own build you need to run the following command
@@ -905,8 +911,7 @@ get that with your own build you need to run the following command
resource system object file, with extension .syso, e.g.
resource_windows_amd64.syso, that will be automatically
picked up by future build commands.
go run bin/resource_windows.gogo run bin/resource_windows.go
The above command will generate a resource file containing version information based on the fs.Version variable in source at the time you run the command, which means if the value of this variable changes you @@ -914,8 +919,7 @@ need to re-run the command for it to be reflected in the version information. Also, if you override this version variable in the build command as described above, you need to do that also when generating the resource file, or else it will still use the value from the source.
-go run bin/resource_windows.go -version v9.9.9-testgo run bin/resource_windows.go -version v9.9.9-test
Instead of executing the go build command directly, you
can run it via the Makefile. The default target changes the version
suffix from "-DEV" to "-beta" followed by additional commit details,
@@ -923,12 +927,10 @@ embeds version information binary resources on Windows, and copies the
resulting rclone executable into your GOPATH bin folder
($(go env GOPATH)/bin, which corresponds to
~/go/bin/rclone by default).
makemake
To include mount command on macOS and Windows with Makefile build:
-make GOTAGS=cmountmake GOTAGS=cmount
There are other make targets that can be used for more advanced
builds, such as cross-compiling for all supported os/architectures, and
packaging results into release artifacts. See $(go env GOPATH)/bin, which corresponds to
~/go/bin/rclone by default).
go install github.com/rclone/rclone@latestgo install github.com/rclone/rclone@latest
In some situations, rclone executable size might be too big for deployment in very restricted environments when all backends with large SDKs are included. To limit binary size unused backends can be commented @@ -960,7 +961,7 @@ Weichinger's ansible role.
into your local roles-directoryadd the role to the hosts you want rclone installed to:
- hosts: rclone-hosts
+class="sourceCode yaml">- hosts: rclone-hosts
roles:
- rcloneremote:/files as drive letter
X:, for all users (service will be running as the
local system account):
-New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --config c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt'
+New-Service -Name Rclone -BinaryPathName 'c:\rclone\rclone.exe mount remote:/files X: --config c:\rclone\config\rclone.conf --log-file c:\rclone\logs\mount.txt'The WinFsp service infrastructure supports incorporating services for file @@ -1146,13 +1148,13 @@ have quite complicated authentication these are kept in a config file. how to find the config file and choose its location.)
The easiest way to make the config is to run rclone with the config option:
-rclone configrclone config
See the following for detailed instructions for
Rclone syncs a directory tree from one storage system to another.
Its syntax is like this
-rclone subcommand [options] <parameters> <parameters...>A subcommand is a the rclone operation required, (e.g.
+
rclone subcommand [options] <parameters> <parameters...>
+A subcommand is an rclone operation required (e.g.
sync, copy, ls).
An option is a single letter flag (e.g. -v)
or a group of single letter flags (e.g. -Pv) or a long flag
@@ -1244,8 +1245,7 @@ on the end, but only global options can be used before the
not be interpreted as an option so if you need to add a parameter which
starts with a - then put a -- on its own
first, eg
rclone lsf -- -directory-starting-with-dashrclone lsf -- -directory-starting-with-dash
A parameter is usually a file path or rclone remote, eg
/path/to/file or remote:path/to/file but it
@@ -1261,10 +1261,9 @@ href="#interactive">--interactive/-i flag
while learning rclone to avoid accidental data loss.
rclone uses a system of subcommands. For example
-rclone ls remote:path # lists a remote
-rclone copy /local/path remote:path # copies /local/path to the remote
-rclone sync --interactive /local/path remote:path # syncs /local/path to the remoterclone ls remote:path # lists a remote
+rclone copy /local/path remote:path # copies /local/path to the remote
+rclone sync --interactive /local/path remote:path # syncs /local/path to the remote
Enter an interactive configuration session.
See the global flags page for global options not listed here.
Copy files from source to dest, skipping identical files.
If dest:path doesn't exist, it is created and the source:path contents go there.
For example
-rclone copy source:sourcepath dest:destpath
+rclone copy source:sourcepath dest:destpathLet's say there are two files in sourcepath
-sourcepath/one.txt
+sourcepath/one.txt
sourcepath/two.txt
This copies them to
-destpath/one.txt
+destpath/one.txt
destpath/two.txt
Not to
-destpath/sourcepath/one.txt
+destpath/sourcepath/one.txt
destpath/sourcepath/two.txt
If you are familiar with rsync, rclone always works as
if you had written a trailing / - meaning "copy the
@@ -1364,20 +1369,22 @@ destination can speed transfers up greatly.
For example, if you have many files in /path/to/src but only a few of
them change every day, you can copy all the files which have changed
recently very efficiently like this:
-rclone copy --max-age 24h --no-traverse /path/to/src remote:
+rclone copy --max-age 24h --no-traverse /path/to/src remote:
Rclone will sync the modification times of files and directories if
the backend supports it. If metadata syncing is required then use the
--metadata flag.
Note that the modification time and metadata for the root directory
-will not be synced. See
-https://github.com/rclone/rclone/issues/7652 for more info.
+will not be synced. See issue #7652 for
+more info.
Note: Use the
-P/--progress flag to view real-time transfer
statistics.
Note: Use the --dry-run or the
--interactive/-i flag to test without copying
anything.
-Logger Flags
+Logger Flags
The --differ, --missing-on-dst,
--missing-on-src, --match and
--error flags write paths, one per line, to the file name
@@ -1425,7 +1432,7 @@ scenarios are not currently supported:
Note also that each file is logged during execution, as opposed to
after, so it is most useful as a predictor of what SHOULD happen to each
-file (which may or may not match what actually DID.)
+file (which may or may not match what actually DID).
rclone copy source:path dest:path [flags]
Options
--absolute Put a leading / in front of path names
@@ -1445,13 +1452,13 @@ file (which may or may not match what actually DID.)
--missing-on-dst string Report all files missing from the destination to this file
--missing-on-src string Report all files missing from the source to this file
-s, --separator string Separator for the items in the format (default ";")
- -t, --timeformat string Specify a custom time format, or 'max' for max precision supported by remote (default: 2006-01-02 15:04:05)
+ -t, --timeformat string Specify a custom time format - see docs for details (default: 2006-01-02 15:04:05)
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Copy Options
Flags for anything which can copy a file
- --check-first Do all the checks before starting transfers
+ --check-first Do all the checks before starting transfers
-c, --checksum Check for changes with size & checksum (if available, or fallback to size only)
--compare-dest stringArray Include additional server-side paths during comparison
--copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
@@ -1487,12 +1494,12 @@ options not listed here.
-u, --update Skip files that are newer on the destination
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -1517,13 +1524,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone sync
Make source and dest identical, modifying destination only.
Synopsis
@@ -1537,7 +1547,8 @@ command instead.
Important: Since this can cause data loss, test
first with the --dry-run or the
--interactive/i flag.
-rclone sync --interactive SOURCE remote:DESTINATION
+rclone sync --interactive SOURCE remote:DESTINATION
Files in the destination won't be deleted if there were any errors at
any point. Duplicate objects (files with the same name, on those
providers that support it) are not yet handled. Files that are excluded
@@ -1560,8 +1571,10 @@ a destination that is inside the source directory.
the backend supports it. If metadata syncing is required then use the
--metadata flag.
Note that the modification time and metadata for the root directory
-will not be synced. See
-https://github.com/rclone/rclone/issues/7652 for more info.
+will not be synced. See https://github.com/rclone/rclone/issues/7652 for more
+info.
Note: Use the
-P/--progress flag to view real-time transfer
statistics
@@ -1570,7 +1583,7 @@ deal with "Duplicate object/directory found in source/destination -
ignoring" errors. See this
forum post for more info.
-Logger Flags
+Logger Flags
The --differ, --missing-on-dst,
--missing-on-src, --match and
--error flags write paths, one per line, to the file name
@@ -1618,7 +1631,7 @@ scenarios are not currently supported:
Note also that each file is logged during execution, as opposed to
after, so it is most useful as a predictor of what SHOULD happen to each
-file (which may or may not match what actually DID.)
+file (which may or may not match what actually DID).
rclone sync source:path dest:path [flags]
Options
--absolute Put a leading / in front of path names
@@ -1638,13 +1651,13 @@ file (which may or may not match what actually DID.)
--missing-on-dst string Report all files missing from the destination to this file
--missing-on-src string Report all files missing from the source to this file
-s, --separator string Separator for the items in the format (default ";")
- -t, --timeformat string Specify a custom time format, or 'max' for max precision supported by remote (default: 2006-01-02 15:04:05)
+ -t, --timeformat string Specify a custom time format - see docs for details (default: 2006-01-02 15:04:05)
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Copy Options
Flags for anything which can copy a file
- --check-first Do all the checks before starting transfers
+ --check-first Do all the checks before starting transfers
-c, --checksum Check for changes with size & checksum (if available, or fallback to size only)
--compare-dest stringArray Include additional server-side paths during comparison
--copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
@@ -1680,7 +1693,7 @@ options not listed here.
-u, --update Skip files that are newer on the destination
Sync Options
Flags used for sync commands
- --backup-dir string Make backups into hierarchy based in DIR
+ --backup-dir string Make backups into hierarchy based in DIR
--delete-after When synchronizing, delete files on destination after transferring (default)
--delete-before When synchronizing, delete files on destination before transferring
--delete-during When synchronizing, delete files during transfer
@@ -1695,12 +1708,12 @@ options not listed here.
--track-renames-strategy string Strategies to use when synchronizing using track-renames hash|modtime|leaf (default "hash")
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -1725,13 +1738,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone move
Move files from source to dest.
Synopsis
@@ -1760,15 +1776,17 @@ destination can speed transfers up greatly.
the backend supports it. If metadata syncing is required then use the
--metadata flag.
Note that the modification time and metadata for the root directory
-will not be synced. See
-https://github.com/rclone/rclone/issues/7652 for more info.
+will not be synced. See https://github.com/rclone/rclone/issues/7652 for more
+info.
Important: Since this can cause data loss, test
first with the --dry-run or the
--interactive/-i flag.
Note: Use the
-P/--progress flag to view real-time transfer
statistics.
-Logger Flags
+Logger Flags
The --differ, --missing-on-dst,
--missing-on-src, --match and
--error flags write paths, one per line, to the file name
@@ -1816,7 +1834,7 @@ scenarios are not currently supported:
Note also that each file is logged during execution, as opposed to
after, so it is most useful as a predictor of what SHOULD happen to each
-file (which may or may not match what actually DID.)
+file (which may or may not match what actually DID).
rclone move source:path dest:path [flags]
Options
--absolute Put a leading / in front of path names
@@ -1837,13 +1855,13 @@ file (which may or may not match what actually DID.)
--missing-on-dst string Report all files missing from the destination to this file
--missing-on-src string Report all files missing from the source to this file
-s, --separator string Separator for the items in the format (default ";")
- -t, --timeformat string Specify a custom time format, or 'max' for max precision supported by remote (default: 2006-01-02 15:04:05)
+ -t, --timeformat string Specify a custom time format - see docs for details (default: 2006-01-02 15:04:05)
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Copy Options
Flags for anything which can copy a file
- --check-first Do all the checks before starting transfers
+ --check-first Do all the checks before starting transfers
-c, --checksum Check for changes with size & checksum (if available, or fallback to size only)
--compare-dest stringArray Include additional server-side paths during comparison
--copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
@@ -1879,12 +1897,12 @@ options not listed here.
-u, --update Skip files that are newer on the destination
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -1909,13 +1927,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone delete
Remove the files in path.
Synopsis
@@ -1933,10 +1954,12 @@ href="https://rclone.org/commands/rclone_rmdirs/">rmdirs to delete
empty directories only.
For example, to delete all files bigger than 100 MiB, you may first
want to check what would be deleted (use either):
-rclone --min-size 100M lsl remote:path
-rclone --dry-run --min-size 100M delete remote:path
+rclone --min-size 100M lsl remote:path
+rclone --dry-run --min-size 100M delete remote:path
Then proceed with the actual delete:
-rclone --min-size 100M delete remote:path
+rclone --min-size 100M delete remote:path
That reads "delete everything with a minimum size of 100 MiB", hence
delete all files bigger than 100 MiB.
Important: Since this can cause data loss, test
@@ -1951,12 +1974,12 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -1981,13 +2004,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone purge
Remove the path and all of its contents.
Synopsis
@@ -2013,14 +2039,17 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone mkdir
Make the path if it doesn't already exist.
rclone mkdir remote:path [flags]
@@ -2031,14 +2060,17 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone rmdir
Remove the empty directory at path.
Synopsis
@@ -2057,14 +2089,17 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone check
Checks the files in the source and destination match.
Synopsis
@@ -2131,10 +2166,10 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Check Options
Flags used for check commands
- --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
+ --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2159,20 +2194,23 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone ls
List the objects in the path with size and path.
Synopsis
Lists the objects in the source path to standard output in a human
readable format with size and path. Recurses by default.
-Eg
-$ rclone ls swift:bucket
+E.g.
+$ rclone ls swift:bucket
60295 bevajer5jef
90613 canole
94467 diwogej7
@@ -2209,7 +2247,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2234,13 +2272,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone lsd
List all directories/containers/buckets in the path.
Synopsis
@@ -2249,12 +2290,12 @@ recurse by default. Use the -R flag to recurse.
This command lists the total size of the directory (if known, -1 if
not), the modification time (if known, the current time if not), the
number of objects in the directory (if known, -1 if not) and the name of
-the directory, Eg
-$ rclone lsd swift:
+the directory, E.g.
+$ rclone lsd swift:
494000 2018-04-26 08:43:20 10000 10000files
65 2018-04-26 08:43:20 1 1File
Or
-$ rclone lsd drive:test
+$ rclone lsd drive:test
-1 2016-10-17 17:41:53 -1 1000files
-1 2017-01-03 14:40:54 -1 2500files
-1 2017-07-08 14:39:28 -1 4000files
@@ -2293,7 +2334,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2318,21 +2359,24 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone lsl
List the objects in path with modification time, size and path.
Synopsis
Lists the objects in the source path to standard output in a human
readable format with modification time, size and path. Recurses by
default.
-Eg
-$ rclone lsl swift:bucket
+E.g.
+$ rclone lsl swift:bucket
60295 2016-06-25 18:55:41.062626927 bevajer5jef
90613 2016-06-25 18:55:43.302607074 canole
94467 2016-06-25 18:55:43.046609333 diwogej7
@@ -2369,7 +2413,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2394,13 +2438,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone md5sum
Produces an md5sum file for all the objects in the path.
Synopsis
@@ -2430,7 +2477,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2455,13 +2502,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone sha1sum
Produces an sha1sum file for all the objects in the path.
Synopsis
@@ -2493,7 +2543,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2518,13 +2568,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone size
Prints the total size and number of objects in remote:path.
Synopsis
@@ -2551,7 +2604,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -2576,13 +2629,16 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone version
Show the version number.
Synopsis
@@ -2590,7 +2646,7 @@ for rclone commands, flags and backends.
and architecture, the runtime OS and kernel version and bitness, build
tags and the type of executable (static or dynamic).
For example:
-$ rclone version
+$ rclone version
rclone v1.55.0
- os/version: ubuntu 18.04 (64 bit)
- os/kernel: 4.15.0-136-generic (x86_64)
@@ -2603,12 +2659,12 @@ rclone v1.55.0
merged, and the "go/version" line was tagged as "go version".
If you supply the --check flag, then it will do an online check to
compare your version with the latest release and the latest beta.
-$ rclone version --check
+$ rclone version --check
yours: 1.42.0.6
latest: 1.42 (released 2018-06-16)
beta: 1.42.0.5 (released 2018-06-17)
Or
-$ rclone version --check
+$ rclone version --check
yours: 1.41
latest: 1.42 (released 2018-06-16)
upgrade: https://downloads.rclone.org/v1.42
@@ -2625,10 +2681,13 @@ information about the build.
See the global flags page for
global options not listed here.
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone cleanup
Clean up the remote if possible.
Synopsis
@@ -2642,14 +2701,17 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone dedupe
Interactively find duplicate filenames and delete/rename them.
Synopsis
@@ -2686,7 +2748,7 @@ first with the --dry-run or the
--interactive/-i flag.
Here is an example run.
Before - with duplicates
-$ rclone lsl drive:dupes
+$ rclone lsl drive:dupes
6048320 2016-03-05 16:23:16.798000000 one.txt
6048320 2016-03-05 16:23:11.775000000 one.txt
564374 2016-03-05 16:23:06.731000000 one.txt
@@ -2695,7 +2757,7 @@ first with the --dry-run or the
1744073 2016-03-05 16:22:38.104000000 two.txt
564374 2016-03-05 16:22:52.118000000 two.txt
Now the dedupe session
-$ rclone dedupe drive:dupes
+$ rclone dedupe drive:dupes
2016/03/05 16:24:37 Google drive root 'dupes': Looking for duplicates using interactive mode.
one.txt: Found 4 files with duplicate names
one.txt: Deleting 2/3 identical duplicates (MD5 "1eedaa9fe86fd4b8632e2ac549403b36")
@@ -2721,7 +2783,7 @@ two-1.txt: renamed from: two.txt
two-2.txt: renamed from: two.txt
two-3.txt: renamed from: two.txt
The result being
-$ rclone lsl drive:dupes
+$ rclone lsl drive:dupes
6048320 2016-03-05 16:23:16.798000000 one.txt
564374 2016-03-05 16:22:52.118000000 two-1.txt
6048320 2016-03-05 16:22:46.185000000 two-2.txt
@@ -2750,9 +2812,9 @@ only and changes nothing.
For example, to rename all the identically named photos in your
Google Photos directory, do
-rclone dedupe --dedupe-mode rename "drive:Google Photos"
+rclone dedupe --dedupe-mode rename "drive:Google Photos"
Or
-rclone dedupe rename "drive:Google Photos"
+rclone dedupe rename "drive:Google Photos"
rclone dedupe [mode] remote:path [flags]
Options
--by-hash Find identical hashes rather than names
@@ -2763,21 +2825,24 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone about
Get quota information from the remote.
Synopsis
Prints quota information about a remote to standard output. The
output is typically used, free, quota and trash contents.
E.g. Typical output from rclone about remote: is:
-Total: 17 GiB
+Total: 17 GiB
Used: 7.444 GiB
Free: 1.315 GiB
Trashed: 100.000 MiB
@@ -2795,20 +2860,21 @@ Photos).
All sizes are in number of bytes.
Applying a --full flag to the command prints the bytes
in full, e.g.
-Total: 18253611008
+Total: 18253611008
Used: 7993453766
Free: 1411001220
Trashed: 104857602
Other: 8849156022
A --json flag generates conveniently machine-readable
output, e.g.
-{
- "total": 18253611008,
- "used": 7993453766,
- "trashed": 104857602,
- "other": 8849156022,
- "free": 1411001220
-}
+{
+ "total": 18253611008,
+ "used": 7993453766,
+ "trashed": 104857602,
+ "other": 8849156022,
+ "free": 1411001220
+}
Not all backends print all fields. Information is not included if it
is not provided by a backend. Where the value is unlimited it is
omitted.
@@ -2823,60 +2889,307 @@ href="https://rclone.org/overview/#optional-features">documentation.
See the global flags page for
global options not listed here.
See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
+rclone archive
+Perform an action on an archive.
+Synopsis
+Perform an action on an archive. Requires the use of a subcommand to
+specify the protocol, e.g.
+rclone archive list remote:file.zip
+Each subcommand has its own options which you can see in their
+help.
+See rclone archive
+create for the archive formats supported.
+rclone archive <action> [opts] <source> [<destination>] [flags]
+Options
+ -h, --help help for archive
+See the global flags page for
+global options not listed here.
+See Also
+
+
+
+- rclone - Show help
+for rclone commands, flags and backends.
+- rclone
+archive create - Archive source file(s) to destination.
+- rclone
+archive extract - Extract archives from source to destination.
+- rclone
+archive list - List archive contents from source.
+
+
+rclone archive create
+Archive source file(s) to destination.
+Synopsis
+Creates an archive from the files in source:path and saves the
+archive to dest:path. If dest:path is missing, it will write to the
+console.
+The valid formats for the --format flag are listed
+below. If --format is not set rclone will guess it from the
+extension of dest:path.
+
+
+
+Format
+Extensions
+
+
+
+
+zip
+.zip
+
+
+tar
+.tar
+
+
+tar.gz
+.tar.gz, .tgz, .taz
+
+
+tar.bz2
+.tar.bz2, .tb2, .tbz, .tbz2, .tz2
+
+
+tar.lz
+.tar.lz
+
+
+tar.lz4
+.tar.lz4
+
+
+tar.xz
+.tar.xz, .txz
+
+
+tar.zst
+.tar.zst, .tzst
+
+
+tar.br
+.tar.br
+
+
+tar.sz
+.tar.sz
+
+
+tar.mz
+.tar.mz
+
+
+
+The --prefix and --full-path flags control
+the prefix for the files in the archive.
+If the flag --full-path is set then the files will have
+the full source path as the prefix.
+If the flag --prefix=<value> is set then the files
+will have <value> as prefix. It's possible to create
+invalid file names with --prefix=<value> so use with
+caution. Flag --prefix has priority over
+--full-path.
+Given a directory /sourcedir with the following:
+file1.txt
+dir1/file2.txt
+Running the command
+rclone archive create /sourcedir /dest.tar.gz will make an
+archive with the contents:
+file1.txt
+dir1/
+dir1/file2.txt
+Running the command
+rclone archive create --full-path /sourcedir /dest.tar.gz
+will make an archive with the contents:
+sourcedir/file1.txt
+sourcedir/dir1/
+sourcedir/dir1/file2.txt
+Running the command
+rclone archive create --prefix=my_new_path /sourcedir /dest.tar.gz
+will make an archive with the contents:
+my_new_path/file1.txt
+my_new_path/dir1/
+my_new_path/dir1/file2.txt
+rclone archive create [flags] <source> [<destination>]
+Options
+ --format string Create the archive with format or guess from extension.
+ --full-path Set prefix for files in archive to source path
+ -h, --help help for create
+ --prefix string Set prefix for files in archive to entered value or source path
+See the global flags page for
+global options not listed here.
+See Also
+
+
+
+- rclone
+archive - Perform an action on an archive.
+
+
+rclone archive extract
+Extract archives from source to destination.
+Synopsis
+Extract the archive contents to a destination directory auto
+detecting the format. See rclone archive
+create for the archive formats supported.
+For example on this archive:
+$ rclone archive list --long remote:archive.zip
+ 6 2025-10-30 09:46:23.000000000 file.txt
+ 0 2025-10-30 09:46:57.000000000 dir/
+ 4 2025-10-30 09:46:57.000000000 dir/bye.txt
+You can run extract like this
+$ rclone archive extract remote:archive.zip remote:extracted
+Which gives this result
+$ rclone tree remote:extracted
+/
+├── dir
+│ └── bye.txt
+└── file.txt
+The source or destination or both can be local or remote.
+Filters can be used to only extract certain files:
+$ rclone archive extract archive.zip partial --include "bye.*"
+$ rclone tree partial
+/
+└── dir
+ └── bye.txt
+The archive backend can
+also be used to extract files. It can be used to read only mount
+archives also but it supports a different set of archive formats to the
+archive commands.
+rclone archive extract [flags] <source> <destination>
+Options
+ -h, --help help for extract
+See the global flags page for
+global options not listed here.
+See Also
+
+
+
+- rclone
+archive - Perform an action on an archive.
+
+
+rclone archive list
+List archive contents from source.
+Synopsis
+List the contents of an archive to the console, auto detecting the
+format. See rclone archive
+create for the archive formats supported.
+For example:
+$ rclone archive list remote:archive.zip
+ 6 file.txt
+ 0 dir/
+ 4 dir/bye.txt
+Or with --long flag for more info:
+$ rclone archive list --long remote:archive.zip
+ 6 2025-10-30 09:46:23.000000000 file.txt
+ 0 2025-10-30 09:46:57.000000000 dir/
+ 4 2025-10-30 09:46:57.000000000 dir/bye.txt
+Or with --plain flag which is useful for scripting:
+$ rclone archive list --plain /path/to/archive.zip
+file.txt
+dir/
+dir/bye.txt
+Or with --dirs-only:
+$ rclone archive list --plain --dirs-only /path/to/archive.zip
+dir/
+Or with --files-only:
+$ rclone archive list --plain --files-only /path/to/archive.zip
+file.txt
+dir/bye.txt
+Filters may also be used:
+$ rclone archive list --long archive.zip --include "bye.*"
+ 4 2025-10-30 09:46:57.000000000 dir/bye.txt
+The archive backend can
+also be used to list files. It can be used to read only mount archives
+also but it supports a different set of archive formats to the archive
+commands.
+rclone archive list [flags] <source>
+Options
+ --dirs-only Only list directories
+ --files-only Only list files
+ -h, --help help for list
+ --long List extra attributtes
+ --plain Only list file names
+See the global flags page for
+global options not listed here.
+See Also
+
+
+
+- rclone
+archive - Perform an action on an archive.
+
+
rclone authorize
Remote authorization.
-Synopsis
+Synopsis
Remote authorization. Used to authorize a remote or headless rclone
-from a machine with a browser - use as instructed by rclone config.
-The command requires 1-3 arguments: - fs name (e.g., "drive", "s3",
-etc.) - Either a base64 encoded JSON blob obtained from a previous
-rclone config session - Or a client_id and client_secret pair obtained
-from the remote service
+from a machine with a browser. Use as instructed by rclone config. See
+also the remote setup documentation.
+The command requires 1-3 arguments:
+
+- Name of a backend (e.g. "drive", "s3")
+- Either a base64 encoded JSON blob obtained from a previous rclone
+config session
+- Or a client_id and client_secret pair obtained from the remote
+service
+
Use --auth-no-open-browser to prevent rclone to open auth link in
default browser automatically.
Use --template to generate HTML output via a custom Go template. If a
blank string is provided as an argument to this flag, the default
template is used.
-rclone authorize <fs name> [base64_json_blob | client_id client_secret] [flags]
-Options
+rclone authorize <backendname> [base64_json_blob | client_id client_secret] [flags]
+Options
--auth-no-open-browser Do not automatically open auth link in default browser
-h, --help help for authorize
--template string The path to a custom Go template for generating HTML responses
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone backend
Run a backend-specific command.
-Synopsis
+Synopsis
This runs a backend-specific command. The commands themselves (except
for "help" and "features") are defined by the backends and you should
see the backend docs for definitions.
You can discover what commands a backend implements by using
-rclone backend help remote:
+rclone backend help remote:
rclone backend help <backendname>
You can also discover information about the backend using (see operations/fsinfo in
the remote control docs for more info).
-rclone backend features remote:
+rclone backend features remote:
Pass options to the backend command with -o. This should be key=value
or key, e.g.:
-rclone backend stats remote:path stats -o format=json -o long
+rclone backend stats remote:path stats -o format=json -o long
Pass arguments to the backend by placing them on the end of the
line
-rclone backend cleanup remote:path file1 file2 file3
+rclone backend cleanup remote:path file1 file2 file3
Note to run these commands on a running backend then see backend/command in the
rc docs.
rclone backend <command> remote:path [opts] <args> [flags]
-Options
+Options
-h, --help help for backend
--json Always output in JSON format
-o, --option stringArray Option in the form name=value or name
@@ -2885,25 +3198,31 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone bisync
Perform bidirectional synchronization between two paths.
-Synopsis
+Synopsis
Perform bidirectional synchronization between two paths.
Bisync provides a
bidirectional cloud sync solution in rclone. It retains the Path1 and
Path2 filesystem listings from the prior run. On each successive run it
-will: - list files on Path1 and Path2, and check for changes on each
-side. Changes include New, Newer,
-Older, and Deleted files. - Propagate changes
-on Path1 to Path2, and vice-versa.
+will:
+
+- list files on Path1 and Path2, and check for changes on each side.
+Changes include
New, Newer,
+Older, and Deleted files.
+- Propagate changes on Path1 to Path2, and vice-versa.
+
Bisync is considered an advanced command, so use
with care. Make sure you have read and understood the entire manual (especially the Rclone Forum.
See full bisync description
for details.
rclone bisync remote1:path1 remote2:path2 [flags]
-Options
+Options
--backup-dir1 string --backup-dir for Path1. Must be a non-overlapping path on the same remote.
--backup-dir2 string --backup-dir for Path2. Must be a non-overlapping path on the same remote.
--check-access Ensure expected RCLONE_TEST files are found on both Path1 and Path2 filesystems, else abort.
@@ -2944,7 +3263,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Copy Options
Flags for anything which can copy a file
- --check-first Do all the checks before starting transfers
+ --check-first Do all the checks before starting transfers
-c, --checksum Check for changes with size & checksum (if available, or fallback to size only)
--compare-dest stringArray Include additional server-side paths during comparison
--copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
@@ -2980,12 +3299,12 @@ options not listed here.
-u, --update Skip files that are newer on the destination
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -3008,22 +3327,28 @@ options not listed here.
--metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
--min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone cat
Concatenates any files and sends them to stdout.
-Synopsis
+Synopsis
Sends any files to standard output.
You can use it like this to output a single file
-rclone cat remote:path/to/file
+rclone cat remote:path/to/file
Or like this to output any file in dir or its subdirectories.
-rclone cat remote:path/to/dir
+rclone cat remote:path/to/dir
Or like this to output any .txt files in dir or its
subdirectories.
-rclone --include "*.txt" cat remote:path/to/dir
+rclone --include "*.txt" cat remote:path/to/dir
Use the --head flag to print characters only at the
start, --tail for the end and --offset and
--count to print a section in the middle. Note that if
@@ -3035,12 +3360,14 @@ between files. Be sure to shell-escape special characters. For example,
to print a newline between files, use:
bash:
-rclone --include "*.txt" --separator $'\n' cat remote:path/to/dir
+rclone --include "*.txt" --separator $'\n' cat remote:path/to/dir
powershell:
-rclone --include "*.txt" --separator "`n" cat remote:path/to/dir
+rclone --include "*.txt" --separator "`n" cat remote:path/to/dir
rclone cat remote:path [flags]
-Options
+Options
--count int Only print N characters (default -1)
--discard Discard the output instead of printing
--head int Only print the first N characters
@@ -3053,7 +3380,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -3078,16 +3405,19 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone checksum
Checks the files in the destination against a SUM file.
-Synopsis
+Synopsis
Checks that hashsums of destination files match the SUM file. It
compares hashes (MD5, SHA1, etc) and logs a report of files which don't
match. It doesn't alter the file system.
@@ -3130,7 +3460,7 @@ source or dest.
href="https://rclone.org/docs/#checkers-int">--checkers option for
more information.
rclone checksum <hash> sumfile dst:path [flags]
-Options
+Options
--combined string Make a combined report of changes to this file
--differ string Report all non-matching files to this file
--download Check by hashing the contents
@@ -3145,7 +3475,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -3170,23 +3500,28 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone completion
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 completion
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
@@ -3201,14 +3536,15 @@ rclone.
- rclone
completion zsh - Output zsh completion script for rclone.
+
rclone completion bash
Output bash completion script for rclone.
-Synopsis
+Synopsis
Generates a bash shell autocompletion script for rclone.
By default, when run without any arguments,
-rclone completion bash
+rclone completion bash
the generated script will be written to
-/etc/bash_completion.d/rclone
+/etc/bash_completion.d/rclone
and so rclone will probably need to be run as root, or with sudo.
If you supply a path to a file as the command line argument, then the
generated script will be written to that file, in which case you should
@@ -3217,98 +3553,112 @@ not need root privileges.
If you have installed the script into the default location, you can
logout and login again to use the autocompletion script.
Alternatively, you can source the script directly
-. /path/to/my_bash_completion_scripts/rclone
+. /path/to/my_bash_completion_scripts/rclone
and the autocompletion functionality will be added to your current
shell.
rclone completion bash [output_file] [flags]
-Options
+Options
-h, --help help for bash
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
completion - Output completion script for a given shell.
+
rclone completion fish
Output fish completion script for rclone.
-Synopsis
+Synopsis
Generates a fish autocompletion script for rclone.
This writes to /etc/fish/completions/rclone.fish by default so will
probably need to be run with sudo or as root, e.g.
-sudo rclone completion fish
+sudo rclone completion fish
Logout and login again to use the autocompletion scripts, or source
them directly
-. /etc/fish/completions/rclone.fish
+. /etc/fish/completions/rclone.fish
If you supply a command line argument the script will be written
there.
If output_file is "-", then the output will be written to stdout.
rclone completion fish [output_file] [flags]
-Options
+Options
-h, --help help for fish
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
completion - Output completion script for a given shell.
+
rclone completion powershell
Output powershell completion script for rclone.
-Synopsis
+Synopsis
Generate the autocompletion script for powershell.
To load completions in your current shell session:
-rclone completion powershell | Out-String | Invoke-Expression
+rclone completion powershell | Out-String | Invoke-Expression
To load completions for every new session, add the output of the
above command to your powershell profile.
If output_file is "-" or missing, then the output will be written to
stdout.
rclone completion powershell [output_file] [flags]
-Options
+Options
-h, --help help for powershell
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
completion - Output completion script for a given shell.
+
rclone completion 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, e.g.
-sudo rclone completion zsh
+sudo rclone completion zsh
Logout and login again to use the autocompletion scripts, or source
them directly
-autoload -U compinit && compinit
+autoload -U compinit && compinit
If you supply a command line argument the script will be written
there.
If output_file is "-", then the output will be written to stdout.
rclone completion zsh [output_file] [flags]
-Options
+Options
-h, --help help for zsh
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
completion - Output completion script for a given shell.
+
rclone config create
Create a new remote with name, type and options.
-Synopsis
+Synopsis
Create a new remote of name with type and
options. The options should be passed in pairs of key
value or as key=value.
For example, to make a swift remote of name myremote using auto
config you would do:
-rclone config create myremote swift env_auth true
-rclone config create myremote swift env_auth=true
+rclone config create myremote swift env_auth true
+rclone config create myremote swift env_auth=true
So for example if you wanted to configure a Google Drive remote but
using remote authorization you would do this:
-rclone config create mydrive drive config_is_local=false
+rclone config create mydrive drive config_is_local=false
Note that if the config process would normally ask a question the
default is taken (unless --non-interactive is used). Each
time that happens rclone will print or DEBUG a message saying how to
@@ -3331,29 +3681,30 @@ text based configuration questions. If this flag is set, and rclone
needs to ask the user a question, a JSON blob will be returned with the
question in it.
This will look something like (some irrelevant detail removed):
-{
- "State": "*oauth-islocal,teamdrive,,",
- "Option": {
- "Name": "config_is_local",
- "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
- "Default": true,
- "Examples": [
- {
- "Value": "true",
- "Help": "Yes"
- },
- {
- "Value": "false",
- "Help": "No"
- }
- ],
- "Required": false,
- "IsPassword": false,
- "Type": "bool",
- "Exclusive": true,
- },
- "Error": "",
-}
+{
+ "State": "*oauth-islocal,teamdrive,,",
+ "Option": {
+ "Name": "config_is_local",
+ "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
+ "Default": true,
+ "Examples": [
+ {
+ "Value": "true",
+ "Help": "Yes"
+ },
+ {
+ "Value": "false",
+ "Help": "No"
+ }
+ ],
+ "Required": false,
+ "IsPassword": false,
+ "Type": "bool",
+ "Exclusive": true,
+ },
+ "Error": "",
+}
The format of Option is the same as returned by
rclone config providers. The question should be asked to
the user and returned to rclone as the --result option
@@ -3379,7 +3730,8 @@ edited as such
If Error is set then it should be shown to the user at
the same time as the question.
-rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
+rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
Note that when using --continue all passwords should be
passed in the clear (not obscured). Any default config values should be
passed in with each invocation of --continue.
@@ -3391,7 +3743,7 @@ as defaults for questions as usual.
Note that bin/config.py in the rclone source implements
this protocol as a readable demonstration.
rclone config create name type [key value]* [flags]
-Options
+Options
--all Ask the full set of config questions
--continue Continue the configuration process with an answer
-h, --help help for create
@@ -3403,78 +3755,95 @@ this protocol as a readable demonstration.
--state string State - use with --continue
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config delete
Delete an existing remote.
rclone config delete name [flags]
-Options
+Options
-h, --help help for delete
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config disconnect
Disconnects user from remote
-Synopsis
+Synopsis
This disconnects the remote: passed in to the cloud storage
system.
This normally means revoking the oauth token.
To reconnect use "rclone config reconnect".
rclone config disconnect remote: [flags]
-Options
+Options
-h, --help help for disconnect
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config dump
Dump the config file as JSON.
rclone config dump [flags]
-Options
+Options
-h, --help help for dump
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config edit
Enter an interactive configuration session.
-Synopsis
+Synopsis
Enter an interactive configuration session where you can setup new
remotes and manage existing ones. You may also set or remove a password
to protect your configuration.
rclone config edit [flags]
-Options
+Options
-h, --help help for edit
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config encryption
set, remove and check the encryption for the config file
-Synopsis
+Synopsis
This command sets, clears and checks the encryption for the config
file using the subcommands below.
-Options
+Options
-h, --help help for encryption
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
@@ -3491,10 +3860,11 @@ href="https://rclone.org/commands/rclone_config_encryption_set/">rclone
config encryption set - Set or change the config file encryption
password
+
rclone config encryption
check
Check that the config file is encrypted
-Synopsis
+Synopsis
This checks the config file is encrypted and that you can decrypt
it.
It will attempt to decrypt the config using the password you
@@ -3505,21 +3875,24 @@ password.
If the config file is not encrypted it will return a non zero exit
code.
rclone config encryption check [flags]
-Options
+Options
-h, --help help for check
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config encryption - set, remove and check the encryption for the
config file
+
rclone config encryption
remove
Remove the config file encryption password
-Synopsis
+Synopsis
Remove the config file encryption password
This removes the config file encryption, returning it to
un-encrypted.
@@ -3528,20 +3901,23 @@ supply the old config password.
If the config was not encrypted then no error will be returned and
this command will do nothing.
rclone config encryption remove [flags]
-Options
+Options
-h, --help help for remove
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config encryption - set, remove and check the encryption for the
config file
+
rclone config encryption set
Set or change the config file encryption password
-Synopsis
+Synopsis
This command sets or changes the config file encryption password.
If there was no config password set then it sets a new one, otherwise
it changes the existing config password.
@@ -3558,97 +3934,116 @@ environment variable to distinguish which password you must supply.
this command which may be easier if you don't mind the unencrypted
config file being on the disk briefly.
rclone config encryption set [flags]
-Options
+Options
-h, --help help for set
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config encryption - set, remove and check the encryption for the
config file
+
rclone config file
Show path of configuration file in use.
rclone config file [flags]
-Options
+Options
-h, --help help for file
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config password
Update password in an existing remote.
-Synopsis
+Synopsis
Update an existing remote's password. The password should be passed
in pairs of key password or as
key=password. The password should be passed in
in clear (unobscured).
For example, to set password of a remote of name myremote you would
do:
-rclone config password myremote fieldname mypassword
-rclone config password myremote fieldname=mypassword
+rclone config password myremote fieldname mypassword
+rclone config password myremote fieldname=mypassword
This command is obsolete now that "config update" and "config create"
both support obscuring passwords directly.
rclone config password name [key value]+ [flags]
-Options
+Options
-h, --help help for password
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config paths
Show paths used for configuration, cache, temp etc.
rclone config paths [flags]
-Options
+Options
-h, --help help for paths
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config providers
List in JSON format all the providers and options.
rclone config providers [flags]
-Options
+Options
-h, --help help for providers
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config reconnect
Re-authenticates user with remote.
-Synopsis
+Synopsis
This reconnects remote: passed in to the cloud storage system.
To disconnect the remote use "rclone config disconnect".
This normally means going through the interactive oauth flow
again.
rclone config reconnect remote: [flags]
-Options
+Options
-h, --help help for reconnect
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config redacted
Print redacted (decrypted) config file, or the redacted config for a
single remote.
-Synopsis
+Synopsis
This prints a redacted copy of the config file, either the whole
config file or for a given remote.
The config file will be redacted by replacing all passwords and other
@@ -3658,52 +4053,93 @@ support.
It should be double checked before posting as the redaction may not
be perfect.
rclone config redacted [<remote>] [flags]
-Options
+Options
-h, --help help for redacted
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config show
Print (decrypted) config file, or the config for a single remote.
rclone config show [<remote>] [flags]
-Options
+Options
-h, --help help for show
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
+rclone config string
+Print connection string for a single remote.
+Synopsis
+Print a connection string for a single remote.
+The connection
+strings can be used wherever a remote is needed and can be more
+convenient than using the config file, especially if using the RC
+API.
+Backend parameters may be provided to the command also.
+Example:
+$ rclone config string s3:rclone --s3-no-check-bucket
+:s3,access_key_id=XXX,no_check_bucket,provider=AWS,region=eu-west-2,secret_access_key=YYY:rclone
+NB the strings are not quoted for use in shells (eg
+bash, powershell, windows cmd). Most will work if enclosed in "double
+quotes", however connection strings that contain double quotes will
+require further quoting which is very shell dependent.
+rclone config string <remote> [flags]
+Options
+ -h, --help help for string
+See the global flags page for
+global options not listed here.
+See Also
+
+
+
+- rclone
+config - Enter an interactive configuration session.
+
+
rclone config touch
Ensure configuration file exists.
rclone config touch [flags]
-Options
+Options
-h, --help help for touch
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config update
Update options in an existing remote.
-Synopsis
+Synopsis
Update an existing remote's options. The options should be passed in
pairs of key value or as
key=value.
For example, to update the env_auth field of a remote of name
myremote you would do:
-rclone config update myremote env_auth true
-rclone config update myremote env_auth=true
+rclone config update myremote env_auth true
+rclone config update myremote env_auth=true
If the remote uses OAuth the token will be updated, if you don't
require this add an extra parameter thus:
-rclone config update myremote env_auth=true config_refresh_token=false
+rclone config update myremote env_auth=true config_refresh_token=false
Note that if the config process would normally ask a question the
default is taken (unless --non-interactive is used). Each
time that happens rclone will print or DEBUG a message saying how to
@@ -3726,29 +4162,30 @@ text based configuration questions. If this flag is set, and rclone
needs to ask the user a question, a JSON blob will be returned with the
question in it.
This will look something like (some irrelevant detail removed):
-{
- "State": "*oauth-islocal,teamdrive,,",
- "Option": {
- "Name": "config_is_local",
- "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
- "Default": true,
- "Examples": [
- {
- "Value": "true",
- "Help": "Yes"
- },
- {
- "Value": "false",
- "Help": "No"
- }
- ],
- "Required": false,
- "IsPassword": false,
- "Type": "bool",
- "Exclusive": true,
- },
- "Error": "",
-}
+{
+ "State": "*oauth-islocal,teamdrive,,",
+ "Option": {
+ "Name": "config_is_local",
+ "Help": "Use web browser to automatically authenticate rclone with remote?\n * Say Y if the machine running rclone has a web browser you can use\n * Say N if running rclone on a (remote) machine without web browser access\nIf not sure try Y. If Y failed, try N.\n",
+ "Default": true,
+ "Examples": [
+ {
+ "Value": "true",
+ "Help": "Yes"
+ },
+ {
+ "Value": "false",
+ "Help": "No"
+ }
+ ],
+ "Required": false,
+ "IsPassword": false,
+ "Type": "bool",
+ "Exclusive": true,
+ },
+ "Error": "",
+}
The format of Option is the same as returned by
rclone config providers. The question should be asked to
the user and returned to rclone as the --result option
@@ -3774,7 +4211,8 @@ edited as such
If Error is set then it should be shown to the user at
the same time as the question.
-rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
+rclone config update name --continue --state "*oauth-islocal,teamdrive,," --result "true"
Note that when using --continue all passwords should be
passed in the clear (not obscured). Any default config values should be
passed in with each invocation of --continue.
@@ -3786,7 +4224,7 @@ as defaults for questions as usual.
Note that bin/config.py in the rclone source implements
this protocol as a readable demonstration.
rclone config update name [key value]+ [flags]
-Options
+Options
--all Ask the full set of config questions
--continue Continue the configuration process with an answer
-h, --help help for update
@@ -3798,30 +4236,36 @@ this protocol as a readable demonstration.
--state string State - use with --continue
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone config userinfo
Prints info about logged in user of remote.
-Synopsis
+Synopsis
This prints the details of the person logged in to the cloud storage
system.
rclone config userinfo remote: [flags]
-Options
+Options
-h, --help help for userinfo
--json Format output as JSON
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone
config - Enter an interactive configuration session.
+
rclone convmv
Convert file and directory names in place.
-Synopsis
+Synopsis
convmv supports advanced path name transformations for converting and
renaming files and directories by applying prefixes, suffixes, and other
alterations.
@@ -3859,7 +4303,7 @@ extension.
Removes XXXX if it appears at the end of the file name.
---name-transform regex=/pattern/replacement/
+--name-transform regex=pattern/replacement
Applies a regex-based transformation.
@@ -3875,211 +4319,236 @@ extension.
Truncates the file name to a maximum of N characters.
+--name-transform truncate_keep_extension=N
+Truncates the file name to a maximum of N characters while
+preserving the original file extension.
+
+
+--name-transform truncate_bytes=N
+Truncates the file name to a maximum of N bytes (not
+characters).
+
+
+--name-transform truncate_bytes_keep_extension=N
+Truncates the file name to a maximum of N bytes (not characters)
+while preserving the original file extension.
+
+
--name-transform base64encode
Encodes the file name in Base64.
-
+
--name-transform base64decode
Decodes a Base64-encoded file name.
-
+
--name-transform encoder=ENCODING
Converts the file name to the specified encoding (e.g., ISO-8859-1,
Windows-1252, Macintosh).
-
+
--name-transform decoder=ENCODING
Decodes the file name from the specified encoding.
-
+
--name-transform charmap=MAP
Applies a character mapping transformation.
-
+
--name-transform lowercase
Converts the file name to lowercase.
-
+
--name-transform uppercase
Converts the file name to UPPERCASE.
-
+
--name-transform titlecase
Converts the file name to Title Case.
-
+
--name-transform ascii
Strips non-ASCII characters.
-
+
--name-transform url
URL-encodes the file name.
-
+
--name-transform nfc
Converts the file name to NFC Unicode normalization form.
-
+
--name-transform nfd
Converts the file name to NFD Unicode normalization form.
-
+
--name-transform nfkc
Converts the file name to NFKC Unicode normalization form.
-
+
--name-transform nfkd
Converts the file name to NFKD Unicode normalization form.
-
+
--name-transform command=/path/to/my/programfile names.
-Executes an external program to transform
+Executes an external program to transform.
Conversion modes:
-none
-nfc
-nfd
-nfkc
-nfkd
-replace
-prefix
-suffix
-suffix_keep_extension
-trimprefix
-trimsuffix
-index
-date
-truncate
-base64encode
-base64decode
-encoder
-decoder
-ISO-8859-1
-Windows-1252
-Macintosh
-charmap
-lowercase
-uppercase
-titlecase
-ascii
-url
-regex
-command
+none
+nfc
+nfd
+nfkc
+nfkd
+replace
+prefix
+suffix
+suffix_keep_extension
+trimprefix
+trimsuffix
+index
+date
+truncate
+truncate_keep_extension
+truncate_bytes
+truncate_bytes_keep_extension
+base64encode
+base64decode
+encoder
+decoder
+ISO-8859-1
+Windows-1252
+Macintosh
+charmap
+lowercase
+uppercase
+titlecase
+ascii
+url
+regex
+command
Char maps:
-
-IBM-Code-Page-037
-IBM-Code-Page-437
-IBM-Code-Page-850
-IBM-Code-Page-852
-IBM-Code-Page-855
-Windows-Code-Page-858
-IBM-Code-Page-860
-IBM-Code-Page-862
-IBM-Code-Page-863
-IBM-Code-Page-865
-IBM-Code-Page-866
-IBM-Code-Page-1047
-IBM-Code-Page-1140
-ISO-8859-1
-ISO-8859-2
-ISO-8859-3
-ISO-8859-4
-ISO-8859-5
-ISO-8859-6
-ISO-8859-7
-ISO-8859-8
-ISO-8859-9
-ISO-8859-10
-ISO-8859-13
-ISO-8859-14
-ISO-8859-15
-ISO-8859-16
-KOI8-R
-KOI8-U
-Macintosh
-Macintosh-Cyrillic
-Windows-874
-Windows-1250
-Windows-1251
-Windows-1252
-Windows-1253
-Windows-1254
-Windows-1255
-Windows-1256
-Windows-1257
-Windows-1258
-X-User-Defined
+IBM-Code-Page-037
+IBM-Code-Page-437
+IBM-Code-Page-850
+IBM-Code-Page-852
+IBM-Code-Page-855
+Windows-Code-Page-858
+IBM-Code-Page-860
+IBM-Code-Page-862
+IBM-Code-Page-863
+IBM-Code-Page-865
+IBM-Code-Page-866
+IBM-Code-Page-1047
+IBM-Code-Page-1140
+ISO-8859-1
+ISO-8859-2
+ISO-8859-3
+ISO-8859-4
+ISO-8859-5
+ISO-8859-6
+ISO-8859-7
+ISO-8859-8
+ISO-8859-9
+ISO-8859-10
+ISO-8859-13
+ISO-8859-14
+ISO-8859-15
+ISO-8859-16
+KOI8-R
+KOI8-U
+Macintosh
+Macintosh-Cyrillic
+Windows-874
+Windows-1250
+Windows-1251
+Windows-1252
+Windows-1253
+Windows-1254
+Windows-1255
+Windows-1256
+Windows-1257
+Windows-1258
+X-User-Defined
Encoding masks:
-Asterisk
- BackQuote
- BackSlash
- Colon
- CrLf
- Ctl
- Del
- Dollar
- Dot
- DoubleQuote
- Exclamation
- Hash
- InvalidUtf8
- LeftCrLfHtVt
- LeftPeriod
- LeftSpace
- LeftTilde
- LtGt
- None
- Percent
- Pipe
- Question
- Raw
- RightCrLfHtVt
- RightPeriod
- RightSpace
- Semicolon
- SingleQuote
- Slash
- SquareBracket
+Asterisk
+BackQuote
+BackSlash
+Colon
+CrLf
+Ctl
+Del
+Dollar
+Dot
+DoubleQuote
+Exclamation
+Hash
+InvalidUtf8
+LeftCrLfHtVt
+LeftPeriod
+LeftSpace
+LeftTilde
+LtGt
+None
+Percent
+Pipe
+Question
+Raw
+RightCrLfHtVt
+RightPeriod
+RightSpace
+Semicolon
+SingleQuote
+Slash
+SquareBracket
Examples:
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,uppercase"
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,uppercase"
// Output: STORIES/THE QUICK BROWN FOX!.TXT
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,replace=Fox:Turtle" --name-transform "all,replace=Quick:Slow"
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,replace=Fox:Turtle" --name-transform "all,replace=Quick:Slow"
// Output: stories/The Slow Brown Turtle!.txt
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,base64encode"
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,base64encode"
// Output: c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0
-rclone convmv "c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0" --name-transform "all,base64decode"
+rclone convmv "c3Rvcmllcw==/VGhlIFF1aWNrIEJyb3duIEZveCEudHh0" --name-transform "all,base64decode"
// Output: stories/The Quick Brown Fox!.txt
-rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfc"
+rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfc"
// Output: stories/The Quick Brown 🦊 Fox Went to the Café!.txt
-rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfd"
+rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,nfd"
// Output: stories/The Quick Brown 🦊 Fox Went to the Café!.txt
-rclone convmv "stories/The Quick Brown 🦊 Fox!.txt" --name-transform "all,ascii"
+rclone convmv "stories/The Quick Brown 🦊 Fox!.txt" --name-transform "all,ascii"
// Output: stories/The Quick Brown Fox!.txt
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,trimsuffix=.txt"
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,trimsuffix=.txt"
// Output: stories/The Quick Brown Fox!
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,prefix=OLD_"
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,prefix=OLD_"
// Output: OLD_stories/OLD_The Quick Brown Fox!.txt
-rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,charmap=ISO-8859-7"
+rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,charmap=ISO-8859-7"
// Output: stories/The Quick Brown _ Fox Went to the Caf_!.txt
-rclone convmv "stories/The Quick Brown Fox: A Memoir [draft].txt" --name-transform "all,encoder=Colon,SquareBracket"
+rclone convmv "stories/The Quick Brown Fox: A Memoir [draft].txt" --name-transform "all,encoder=Colon,SquareBracket"
// Output: stories/The Quick Brown Fox: A Memoir [draft].txt
-rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,truncate=21"
+rclone convmv "stories/The Quick Brown 🦊 Fox Went to the Café!.txt" --name-transform "all,truncate=21"
// Output: stories/The Quick Brown 🦊 Fox
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=echo"
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,command=echo"
// Output: stories/The Quick Brown Fox!.txt
-rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
-// Output: stories/The Quick Brown Fox!-20250618
-rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
-// Output: stories/The Quick Brown Fox!-2025-06-18 0148PM
-rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
+rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{YYYYMMDD}"
+// Output: stories/The Quick Brown Fox!-20251121
+rclone convmv "stories/The Quick Brown Fox!" --name-transform "date=-{macfriendlytime}"
+// Output: stories/The Quick Brown Fox!-2025-11-21 0505PM
+rclone convmv "stories/The Quick Brown Fox!.txt" --name-transform "all,regex=[\\.\\w]/ab"
// Output: ababababababab/ababab ababababab ababababab ababab!abababab
+The regex command generally accepts Perl-style regular expressions,
+the exact syntax is defined in the Go regular expression
+reference. The replacement string may contain capturing group
+variables, referencing capturing groups using the syntax
+$name or ${name}, where the name can refer to
+a named capturing group or it can simply be the index as a number. To
+insert a literal $, use $$.
Multiple transformations can be used in sequence, applied in the
order they are specified on the command line.
The --name-transform flag is also available in
sync, copy, and move.
-Files vs Directories
+Files vs Directories
By default --name-transform will only apply to file
names. The means only the leaf file name will be transformed. However
some of the transforms would be better applied to the whole path or just
@@ -4119,7 +4588,7 @@ the path
example --name-transform all,nfc.
Note that --name-transform may not add path separators
/ to the name. This will cause an error.
-Ordering and Conflicts
+Ordering and Conflicts
- Transformations will be applied in the order specified by the user.
@@ -4146,27 +4615,35 @@ unexpected results and should verify transformations using
--dry-run before execution.
-Race Conditions
-and Non-Deterministic Behavior
+Race Conditions
+and Non-Deterministic Behavior
Some transformations, such as replace=old:new, may
introduce conflicts where multiple source files map to the same
destination name. This can lead to race conditions when performing
-concurrent transfers. It is up to the user to anticipate these. * If two
-files from the source are transformed into the same name at the
-destination, the final state may be non-deterministic. * Running rclone
-check after a sync using such transformations may erroneously report
-missing or differing files due to overwritten results.
-To minimize risks, users should: * Carefully review transformations
-that may introduce conflicts. * Use --dry-run to inspect
-changes before executing a sync (but keep in mind that it won't show the
-effect of non-deterministic transformations). * Avoid transformations
-that cause multiple distinct source files to map to the same destination
-name. * Consider disabling concurrency with --transfers=1
-if necessary. * Certain transformations (e.g. prefix) will
-have a multiplying effect every time they are used. Avoid these when
-using bisync.
+concurrent transfers. It is up to the user to anticipate these.
+
+- If two files from the source are transformed into the same name at
+the destination, the final state may be non-deterministic.
+- Running rclone check after a sync using such transformations may
+erroneously report missing or differing files due to overwritten
+results.
+
+To minimize risks, users should:
+
+- Carefully review transformations that may introduce conflicts.
+- Use
--dry-run to inspect changes before executing a
+sync (but keep in mind that it won't show the effect of
+non-deterministic transformations).
+- Avoid transformations that cause multiple distinct source files to
+map to the same destination name.
+- Consider disabling concurrency with
--transfers=1 if
+necessary.
+- Certain transformations (e.g.
prefix) will have a
+multiplying effect every time they are used. Avoid these when using
+bisync.
+
rclone convmv dest:path --name-transform XXX [flags]
-Options
+Options
--create-empty-src-dirs Create empty source dirs on destination after move
--delete-empty-src-dirs Delete empty source dirs after move
-h, --help help for convmv
@@ -4175,7 +4652,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Copy Options
Flags for anything which can copy a file
- --check-first Do all the checks before starting transfers
+ --check-first Do all the checks before starting transfers
-c, --checksum Check for changes with size & checksum (if available, or fallback to size only)
--compare-dest stringArray Include additional server-side paths during comparison
--copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
@@ -4211,12 +4688,12 @@ options not listed here.
-u, --update Skip files that are newer on the destination
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -4241,27 +4718,31 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone copyto
Copy files from source to dest, skipping identical files.
-Synopsis
+Synopsis
If source:path is a file or directory then it copies it to a file or
directory named dest:path.
This can be used to upload single files to other than their current
name. If the source is a directory then it acts exactly like the copy command.
So
-rclone copyto src dst
-where src and dst are rclone paths, either remote:path or
-/path/to/local or C:.
+rclone copyto src dst
+where src and dst are rclone paths, either remote:path
+or /path/to/local or
+C:\windows\path\if\on\windows.
This will:
-if src is file
+if src is file
copy it to dst, overwriting an existing file if it exists
if src is directory
copy it to dst, overwriting existing files if they exist
@@ -4270,11 +4751,11 @@ if src is directory
testing by size and modification time or MD5SUM. It doesn't delete files
from the destination.
If you are looking to copy just a byte range of a file, please
-see 'rclone cat --offset X --count Y'
+see rclone cat --offset X --count Y.
Note: Use the
-P/--progress flag to view real-time transfer
-statistics
-Logger Flags
+statistics.
+Logger Flags
The --differ, --missing-on-dst,
--missing-on-src, --match and
--error flags write paths, one per line, to the file name
@@ -4322,9 +4803,9 @@ scenarios are not currently supported:
Note also that each file is logged during execution, as opposed to
after, so it is most useful as a predictor of what SHOULD happen to each
-file (which may or may not match what actually DID.)
+file (which may or may not match what actually DID).
rclone copyto source:path dest:path [flags]
-Options
+Options
--absolute Put a leading / in front of path names
--combined string Make a combined report of changes to this file
--csv Output in CSV format
@@ -4341,13 +4822,13 @@ file (which may or may not match what actually DID.)
--missing-on-dst string Report all files missing from the destination to this file
--missing-on-src string Report all files missing from the source to this file
-s, --separator string Separator for the items in the format (default ";")
- -t, --timeformat string Specify a custom time format, or 'max' for max precision supported by remote (default: 2006-01-02 15:04:05)
+ -t, --timeformat string Specify a custom time format - see docs for details (default: 2006-01-02 15:04:05)
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Copy Options
Flags for anything which can copy a file
- --check-first Do all the checks before starting transfers
+ --check-first Do all the checks before starting transfers
-c, --checksum Check for changes with size & checksum (if available, or fallback to size only)
--compare-dest stringArray Include additional server-side paths during comparison
--copy-dest stringArray Implies --compare-dest but also copies files from paths into destination
@@ -4383,12 +4864,12 @@ options not listed here.
-u, --update Skip files that are newer on the destination
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -4413,16 +4894,19 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone copyurl
Copy the contents of the URL supplied content to dest:path.
-Synopsis
+Synopsis
Download a URL's content and copy it to the destination without
saving it in temporary storage.
Setting --auto-filename will attempt to automatically
@@ -4437,6 +4921,17 @@ the destination if there is one with the same name.
Setting --stdout or making the output file name
- will cause the output to be written to standard
output.
+Setting --urls allows you to input a CSV file of URLs in
+format: URL, FILENAME. If --urls is in use then replace the
+URL in the arguments with the file containing the URLs, e.g.:
+rclone copyurl --urls myurls.csv remote:dir
+Missing filenames will be autogenerated equivalent to using
+--auto-filename. Note that --stdout and
+--print-filename are incompatible with --urls.
+This will do --transfers copies in parallel. Note that if
+--auto-filename is desired for all URLs then a file with
+only URLs and no filename can be used.
Troubleshooting
If you can't get rclone copyurl to work then here are
some things you can try:
@@ -4451,31 +4946,35 @@ curl's user-agent - try that
Make sure the site works with curl directly
rclone copyurl https://example.com dest:path [flags]
-Options
+Options
-a, --auto-filename Get the file name from the URL and use it for destination file path
--header-filename Get the file name from the Content-Disposition header
-h, --help help for copyurl
--no-clobber Prevent overwriting file with same name
-p, --print-filename Print the resulting name from --auto-filename
- --stdout Write the output to stdout rather than a file
+ --stdout Write the output to stdout rather than a file
+ --urls Use a CSV file of links to process multiple URLs
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone cryptcheck
Cryptcheck checks the integrity of an encrypted remote.
-Synopsis
-Checks a remote against a crypted remote. This is the
+
Synopsis
+Checks a remote against an encrypted remote. This is the
equivalent of running rclone check, but able to
check the checksums of the encrypted remote.
@@ -4486,11 +4985,12 @@ and using that to encrypt each file on the remote:. It then checks the
checksum of the underlying file on the cryptedremote: against the
checksum of the file it has just encrypted.
Use it like this
-rclone cryptcheck /path/to/files encryptedremote:path
+rclone cryptcheck /path/to/files encryptedremote:path
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:.
+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 the source match the files in the destination, not the
other way around. This means that extra files in the destination that
@@ -4522,7 +5022,7 @@ source or dest.
href="https://rclone.org/docs/#checkers-int">--checkers option for
more information.
rclone cryptcheck remote:path cryptedremote:path [flags]
-Options
+Options
--combined string Make a combined report of changes to this file
--differ string Report all non-matching files to this file
--error string Report all files with errors (hashing or reading) to this file
@@ -4536,10 +5036,10 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Check Options
Flags used for check commands
- --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
+ --max-backlog int Maximum number of objects in sync or check backlog (default 10000)
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -4564,80 +5064,91 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone cryptdecode
Cryptdecode returns unencrypted file names.
-Synopsis
+Synopsis
Returns unencrypted file names when provided with a list of encrypted
file names. List limit is 10 items.
If you supply the --reverse flag, it will return
encrypted file names.
use it like this
-rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
-
+rclone cryptdecode encryptedremote: encryptedfilename1 encryptedfilename2
rclone cryptdecode --reverse encryptedremote: filename1 filename2
Another way to accomplish this is by using the
rclone backend encode (or decode) command. See
the documentation on the crypt
overlay for more info.
rclone cryptdecode encryptedremote: encryptedfilename [flags]
-Options
+Options
-h, --help help for cryptdecode
--reverse Reverse cryptdecode, encrypts filenames
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone deletefile
Remove a single file from remote.
-Synopsis
+Synopsis
Remove a single file 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
+Options
-h, --help help for deletefile
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Important Options
Important flags useful for most commands
- -n, --dry-run Do a trial run with no permanent changes
+ -n, --dry-run Do a trial run with no permanent changes
-i, --interactive Enable interactive mode
-v, --verbose count Print lots more stuff (repeat for more)
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
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
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone gitannex
Speaks with git-annex over stdin/stdout.
-Synopsis
+Synopsis
Rclone's gitannex subcommand enables git-annex to store and
retrieve content from an rclone remote. It is meant to be run by
@@ -4649,22 +5160,21 @@ href="https://git-annex.branchable.com/news/version_10.20240430/">10.20240430
-
# Create the helper symlink in "$HOME/bin".
-ln -s "$(realpath rclone)" "$HOME/bin/git-annex-remote-rclone-builtin"
-
-# Verify the new symlink is on your PATH.
-which git-annex-remote-rclone-builtin
+Create the helper symlink in "$HOME/bin":
+ln -s "$(realpath rclone)" "$HOME/bin/git-annex-remote-rclone-builtin"
+
+Verify the new symlink is on your PATH:
+
+```console
+which git-annex-remote-rclone-builtin
Add a new remote to your git-annex repo. This new remote will
connect git-annex with the rclone gitannex subcommand.
Start by asking git-annex to describe the remote's available
configuration parameters.
-# If you skipped step 1:
-git annex initremote MyRemote type=rclone --whatelse
-
-# If you created a symlink in step 1:
-git annex initremote MyRemote type=external externaltype=rclone-builtin --whatelse
+If you skipped step 1:
+git annex initremote MyRemote type=rclone --whatelse
+If you created a symlink in step 1:
+git annex initremote MyRemote type=external externaltype=rclone-builtin --whatelse
NOTE: If you're porting an existing git-annex-remote-rclone
@@ -4676,34 +5186,35 @@ synonyms with --whatelse as shown above.
that will use the rclone remote named "SomeRcloneRemote". That rclone
remote must be one configured in your rclone.conf file, which can be
located with rclone config file.
-git annex initremote MyRemote \
- type=external \
- externaltype=rclone-builtin \
- encryption=none \
- rcloneremotename=SomeRcloneRemote \
- rcloneprefix=git-annex-content \
- rclonelayout=nodir
+git annex initremote MyRemote \
+ type=external \
+ externaltype=rclone-builtin \
+ encryption=none \
+ rcloneremotename=SomeRcloneRemote \
+ rcloneprefix=git-annex-content \
+ rclonelayout=nodir
Before you trust this command with your precious data, be sure to
test the remote. This command is very new and has not
been tested on many rclone backends. Caveat emptor!
-git annex testremote MyRemote
+git annex testremote MyRemote
Happy annexing!
rclone gitannex [flags]
-Options
+Options
-h, --help help for gitannex
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone hashsum
Produces a 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.
@@ -4719,23 +5230,23 @@ by not passing a remote:path, or by passing a hyphen as remote:path when
there is data to read (if not, the hyphen will be treated literally, as
a relative path).
Run without a hash to see the list of all supported hashes, e.g.
-$ rclone hashsum
+$ rclone hashsum
Supported hashes are:
- * md5
- * sha1
- * whirlpool
- * crc32
- * sha256
- * sha512
- * blake3
- * xxh3
- * xxh128
+- md5
+- sha1
+- whirlpool
+- crc32
+- sha256
+- sha512
+- blake3
+- xxh3
+- xxh128
Then
-$ rclone hashsum MD5 remote:path
+rclone hashsum MD5 remote:path
Note that hash names are case insensitive and values are output in
lower case.
rclone hashsum [<hash> remote:path] [flags]
-Options
+Options
--base64 Output base64 encoded hashsum
-C, --checkfile string Validate hashes against a given SUM file instead of printing them
--download Download the file and hash it locally; if this flag is not specified, the hash is requested from the remote
@@ -4746,7 +5257,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -4771,19 +5282,22 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone link
Generate public link to file/folder.
-Synopsis
+Synopsis
Create, retrieve or remove a public link to the given file or
folder.
-rclone link remote:path/to/file
+rclone link remote:path/to/file
rclone link remote:path/to/folder/
rclone link --unlink remote:path/to/folder/
rclone link --expire 1d remote:path/to/file
@@ -4796,24 +5310,27 @@ folder. Note not all backends support "--unlink" flag -
those that don't will just ignore it.
If successful, the last line of the output will contain the link.
Exact capabilities depend on the remote, but the link will always by
-default be created with the least constraints – e.g. no expiry, no
+default be created with the least constraints - e.g. no expiry, no
password protection, accessible without account.
rclone link remote:path [flags]
-Options
+Options
--expire Duration The amount of time that the link will be valid (default off)
-h, --help help for link
--unlink Remove existing public link to file/folder
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone listremotes
List all the remotes in the config file and defined in environment
variables.
-Synopsis
+Synopsis
Lists all the available remotes from the config file, or the remotes
matching an optional filter.
Prints the result in human-readable format by default, and as a
@@ -4827,7 +5344,7 @@ attributes, and/or filter flags specific for each attribute. The values
must be specified according to regular rclone filtering pattern
syntax.
rclone listremotes [<filter>] [flags]
-Options
+Options
--description string Filter remotes by description
-h, --help help for listremotes
--json Format output as JSON
@@ -4838,21 +5355,24 @@ syntax.
--type string Filter remotes by type
See the global flags page for
global options not listed here.
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
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
+E.g.
+$ rclone lsf swift:bucket
bevajer5jef
canole
diwogej7
@@ -4861,7 +5381,7 @@ fubuwic
Use the --format option to control what gets listed. By
default this is just the path, but you can use these parameters to
control the output:
-p - path
+p - path
s - size
t - modification time
h - hash
@@ -4874,8 +5394,8 @@ M - Metadata of object in JSON blob format, eg {"key":"value"
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
+E.g.
+$ rclone lsf --format "tsp" swift:bucket
2016-06-25 18:55:41;60295;bevajer5jef
2016-06-25 18:55:43;90613;canole
2016-06-25 18:55:43;94467;diwogej7
@@ -4888,9 +5408,9 @@ on the object (and for directories), "ERROR" if there was an error
reading it from the object and "UNSUPPORTED" if that object does not
support that hash type.
For example, to emulate the md5sum command you can use
-rclone lsf -R --hash MD5 --format hp --separator " " --files-only .
-Eg
-$ rclone lsf -R --hash MD5 --format hp --separator " " --files-only swift:bucket
+rclone lsf -R --hash MD5 --format hp --separator " " --files-only .
+E.g.
+$ rclone lsf -R --hash MD5 --format hp --separator " " --files-only swift:bucket
7908e352297f0f530b84a756f188baa3 bevajer5jef
cd65ac234e6fea5925974a51cdd865cc canole
03b5341b4f234b9d984d03ad076bae91 diwogej7
@@ -4900,17 +5420,17 @@ cd65ac234e6fea5925974a51cdd865cc canole
By default the separator is ";" this can be changed with the
--separator flag. Note that separators aren't escaped in
the path so putting it last is a good strategy.
-Eg
-$ rclone lsf --separator "," --format "tshp" swift:bucket
+E.g.
+$ rclone lsf --separator "," --format "tshp" swift:bucket
2016-06-25 18:55:41,60295,7908e352297f0f530b84a756f188baa3,bevajer5jef
2016-06-25 18:55:43,90613,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
+if they contain,
+E.g.
+$ 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
@@ -4919,19 +5439,21 @@ lists of files to pass to an rclone copy with the
--files-from-raw 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 lsf --absolute --files-only --max-age 1d /path/to/local > new_files
rclone copy --files-from-raw new_files /path/to/local remote:path
The default time format is '2006-01-02 15:04:05'. Other formats can be
specified with the --time-format flag. Examples:
-rclone lsf remote:path --format pt --time-format 'Jan 2, 2006 at 3:04pm (MST)'
+rclone lsf remote:path --format pt --time-format 'Jan 2, 2006 at 3:04pm (MST)'
rclone lsf remote:path --format pt --time-format '2006-01-02 15:04:05.000000000'
rclone lsf remote:path --format pt --time-format '2006-01-02T15:04:05.999999999Z07:00'
rclone lsf remote:path --format pt --time-format RFC3339
rclone lsf remote:path --format pt --time-format DateOnly
-rclone lsf remote:path --format pt --time-format max
+rclone lsf remote:path --format pt --time-format max
+rclone lsf remote:path --format pt --time-format unix
+rclone lsf remote:path --format pt --time-format unixnano
--time-format max will automatically truncate
-'2006-01-02 15:04:05.000000000' to the maximum precision
+2006-01-02 15:04:05.000000000 to the maximum precision
supported by the remote.
Any of the filtering options can be applied to this command.
There are several related list commands
@@ -4958,7 +5480,7 @@ default - use -R to make them recurse.
remotes which can't have empty directories (e.g. s3, swift, or gcs - the
bucket-based remotes).
rclone lsf remote:path [flags]
-Options
+Options
--absolute Put a leading / in front of path names
--csv Output in CSV format
-d, --dir-slash Append a slash to directory names (default true)
@@ -4969,13 +5491,13 @@ bucket-based remotes).
-h, --help help for lsf
-R, --recursive Recurse into the listing
-s, --separator string Separator for the items in the format (default ";")
- -t, --time-format string Specify a custom time format, or 'max' for max precision supported by remote (default: 2006-01-02 15:04:05)
+ -t, --time-format string Specify a custom time format - see docs for details (default: 2006-01-02 15:04:05)
Options shared with other commands are described next. See the global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -5000,37 +5522,41 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone lsjson
List directories and objects in the path in JSON format.
-Synopsis
+Synopsis
List directories and objects in the path in JSON format.
The output is an array of Items, where each Item looks like this:
-{
- "Hashes" : {
- "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
- "MD5" : "b1946ac92492d2347c6235b4d2611184",
- "DropboxHash" : "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"
- },
- "ID": "y2djkhiujf83u33",
- "OrigID": "UYOJVTUW00Q1RzTDA",
- "IsBucket" : false,
- "IsDir" : false,
- "MimeType" : "application/octet-stream",
- "ModTime" : "2017-05-31T16:15:57.034468261+01:00",
- "Name" : "file.txt",
- "Encrypted" : "v0qpsdq8anpci8n929v3uu9338",
- "EncryptedPath" : "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",
- "Path" : "full/path/goes/here/file.txt",
- "Size" : 6,
- "Tier" : "hot",
-}
+{
+ "Hashes" : {
+ "SHA-1" : "f572d396fae9206628714fb2ce00f72e94f2258f",
+ "MD5" : "b1946ac92492d2347c6235b4d2611184",
+ "DropboxHash" : "ecb65bb98f9d905b70458986c39fcbad7715e5f2fcc3b1f07767d7c83e2438cc"
+ },
+ "ID": "y2djkhiujf83u33",
+ "OrigID": "UYOJVTUW00Q1RzTDA",
+ "IsBucket" : false,
+ "IsDir" : false,
+ "MimeType" : "application/octet-stream",
+ "ModTime" : "2017-05-31T16:15:57.034468261+01:00",
+ "Name" : "file.txt",
+ "Encrypted" : "v0qpsdq8anpci8n929v3uu9338",
+ "EncryptedPath" : "kja9098349023498/v0qpsdq8anpci8n929v3uu9338",
+ "Path" : "full/path/goes/here/file.txt",
+ "Size" : 6,
+ "Tier" : "hot",
+}
The exact set of properties included depends on the backend:
- The property IsBucket will only be included for bucket-based
@@ -5115,7 +5641,7 @@ default - use
-R to make them recurse.
remotes which can't have empty directories (e.g. s3, swift, or gcs - the
bucket-based remotes).
rclone lsjson remote:path [flags]
-Options
+Options
--dirs-only Show only directories in the listing
--encrypted Show the encrypted names
--files-only Show only files in the listing
@@ -5133,7 +5659,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -5158,16 +5684,19 @@ options not listed here.
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
Listing Options
Flags for listing directories
- --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
+ --default-time Time Time to show if modtime is unknown for files and directories (default 2000-01-01T00:00:00Z)
--fast-list Use recursive list if available; uses more memory but fewer transactions
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone mount
Mount the remote as file system on a mountpoint.
-Synopsis
+Synopsis
Rclone mount allows Linux, FreeBSD, macOS and Windows to mount any of
Rclone's cloud storage systems as a file system with FUSE.
First set up your remote using rclone config. Check it
@@ -5183,7 +5712,7 @@ appropriate code (killing the child process if it fails).
On Linux/macOS/FreeBSD start the mount like this, where
/path/to/local/mount is an empty
existing directory:
-rclone mount remote:path/to/files /path/to/local/mount
+rclone mount remote:path/to/files /path/to/local/mount
On Windows you can start a mount in different ways. See below for details. If foreground
mount is used interactively from a console window, rclone will serve the
@@ -5197,7 +5726,7 @@ when mounting as a network
drive), and the last example will mount as network share
\\cloud\remote and map it to an automatically assigned
drive:
-rclone mount remote:path/to/files *
+rclone mount remote:path/to/files *
rclone mount remote:path/to/files X:
rclone mount remote:path/to/files C:\path\parent\mount
rclone mount remote:path/to/files \\cloud\remote
@@ -5206,7 +5735,7 @@ receiving a SIGINT or SIGTERM signal, the mount should be automatically
stopped.
When running in background mode the user will have to stop the mount
manually:
-# Linux
+# Linux
fusermount -u /path/to/local/mount
#... or on some systems
fusermount3 -u /path/to/local/mount
@@ -5224,8 +5753,9 @@ not support
the about feature at all, then 1 PiB is set as both the total and the
free size.
Installing on Windows
-To run rclone mount on Windows, you will need to download and install
-WinFsp.
+To run rclone mount on Windows, you will need to
+download and install WinFsp.
WinFsp is an
open-source Windows File System Proxy which makes it easy to write user
space file systems for Windows. It provides a FUSE emulation layer which
@@ -5253,7 +5783,7 @@ subdirectory of an existing parent directory or drive.
Using the special value * will tell rclone to automatically
assign the next available drive letter, starting with Z: and moving
backward. Examples:
-rclone mount remote:path/to/files *
+rclone mount remote:path/to/files *
rclone mount remote:path/to/files X:
rclone mount remote:path/to/files C:\path\parent\mount
rclone mount remote:path/to/files X:
@@ -5265,7 +5795,7 @@ path.
directory path is not supported in this mode, it is a limitation Windows
imposes on junctions, so the remote must always be mounted to a drive
letter.
-rclone mount remote:path/to/files X: --network-mode
+rclone mount remote:path/to/files X: --network-mode
A volume name specified with --volname will be used to
create the network share path. A complete UNC path, such as
\\cloud\remote, optionally with path
@@ -5282,7 +5812,7 @@ for the mapped drive, shown in Windows Explorer etc, while the complete
--volname, this will implicitly set the
--network-mode option, so the following two examples have
same result:
-rclone mount remote:path/to/files X: --network-mode
+rclone mount remote:path/to/files X: --network-mode
rclone mount remote:path/to/files X: --volname \\server\share
You may also specify the network share UNC path as the mountpoint
itself. Then rclone will automatically assign a drive letter, same as
@@ -5291,7 +5821,7 @@ path specified as the volume name, as if it were specified with the
--volname option. This will also implicitly set the
--network-mode option. This means the following two
examples have same result:
-rclone mount remote:path/to/files \\cloud\remote
+rclone mount remote:path/to/files \\cloud\remote
rclone mount remote:path/to/files * --volname \\cloud\remote
There is yet another way to enable network mode, and to set the share
path, and that is to pass the "native" libfuse/WinFsp option directly:
@@ -5415,11 +5945,11 @@ does not suffer from the same limitations.
Mounting on macOS can be done either via built-in NFS
server, macFUSE (also known
-as osxfuse) or FUSE-T. macFUSE is
-a traditional FUSE driver utilizing a macOS kernel extension (kext).
+as osxfuse) or FUSE-T.macFUSE is a
+traditional FUSE driver utilizing a macOS kernel extension (kext).
FUSE-T is an alternative FUSE system which "mounts" via an NFSv4 local
server.
-Unicode Normalization
+Unicode Normalization
It is highly recommended to keep the default of
--no-unicode-normalization=false for all mount
and serve commands on macOS. For details, see macports package manager, the
following addition steps are required.
-sudo mkdir /usr/local/lib
+sudo mkdir /usr/local/lib
cd /usr/local/lib
sudo ln -s /opt/local/lib/libfuse.2.dylib
FUSE-T Limitations,
@@ -5466,6 +5996,18 @@ This may make rclone upload a full new copy of the file.
When mounting with --read-only, attempts to write to
files will fail silently as opposed to with a clear warning as
in macFUSE.
+Mounting on Linux
+On newer versions of Ubuntu, you may encounter the following error
+when running rclone mount:
+
+NOTICE: mount helper error: fusermount3: mount failed: Permission
+denied CRITICAL: Fatal error: failed to mount FUSE fs: fusermount: exit
+status 1 This may be due to newer Apparmor restrictions, which
+can be disabled with sudo aa-disable /usr/bin/fusermount3
+(you may need to sudo apt install apparmor-utils
+beforehand).
+
Limitations
Without the use of --vfs-cache-mode this can only write
files sequentially, it can only seek when reading. This means that many
@@ -5558,27 +6100,29 @@ run it as a mount helper you should symlink rclone binary to
ln -s /usr/bin/rclone /sbin/mount.rclone. rclone will
detect it and translate command-line arguments appropriately.
Now you can run classic mounts like this:
-mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
+mount sftp1:subdir /mnt/data -t rclone -o vfs_cache_mode=writes,sftp_key_file=/path/to/pem
or create systemd mount units:
-# /etc/systemd/system/mnt-data.mount
-[Unit]
-Description=Mount for /mnt/data
-[Mount]
-Type=rclone
-What=sftp1:subdir
-Where=/mnt/data
-Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
+# /etc/systemd/system/mnt-data.mount
+[Unit]
+Description=Mount for /mnt/data
+[Mount]
+Type=rclone
+What=sftp1:subdir
+Where=/mnt/data
+Options=rw,_netdev,allow_other,args2env,vfs-cache-mode=writes,config=/etc/rclone.conf,cache-dir=/var/rclone
optionally accompanied by systemd automount unit
-# /etc/systemd/system/mnt-data.automount
-[Unit]
-Description=AutoMount for /mnt/data
-[Automount]
-Where=/mnt/data
-TimeoutIdleSec=600
-[Install]
-WantedBy=multi-user.target
+# /etc/systemd/system/mnt-data.automount
+[Unit]
+Description=AutoMount for /mnt/data
+[Automount]
+Where=/mnt/data
+TimeoutIdleSec=600
+[Install]
+WantedBy=multi-user.target
or add in /etc/fstab a line like
-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
+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
or use classic Automountd. Remember to provide explicit
config=...,cache-dir=... as a workaround for mount units
being run without HOME.
@@ -5624,8 +6168,8 @@ about files and directories (but not the data) in memory.
long a directory should be considered up to date and not refreshed from
the backend. Changes made through the VFS will appear immediately or
invalidate the cache.
---dir-cache-time duration Time to cache directory entries for (default 5m0s)
---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)
+ --dir-cache-time duration Time to cache directory entries for (default 5m0s)
+ --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)
However, changes made directly on the cloud storage by the web
interface or a different copy of rclone will only be picked up once the
directory cache expires if the backend configured does not support
@@ -5634,12 +6178,12 @@ picked up within the polling interval.
You can send a SIGHUP signal to rclone for it to flush
all directory caches, regardless of how old they are. Assuming only one
rclone instance is running, you can reset the cache like this:
-kill -SIGHUP $(pidof rclone)
+kill -SIGHUP $(pidof rclone)
If you configure rclone with a remote control then
you can use rclone rc to flush the whole directory cache:
-rclone rc vfs/forget
+rclone rc vfs/forget
Or individual files or directories:
-rclone rc vfs/forget file=path/to/file dir=path/to/dir
+rclone rc vfs/forget file=path/to/file dir=path/to/dir
VFS File Buffering
The --buffer-size flag determines the amount of memory,
that will be used to buffer data in advance.
@@ -5660,13 +6204,13 @@ system. It can be disabled at the cost of some compatibility.
write simultaneously to a file. See below for more details.
Note that the VFS cache is separate from the cache backend and you
may find that you need one or the other or both.
---cache-dir string Directory rclone will use for caching.
---vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
---vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
---vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
---vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
---vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
---vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
+ --cache-dir string Directory rclone will use for caching.
+ --vfs-cache-mode CacheMode Cache mode off|minimal|writes|full (default off)
+ --vfs-cache-max-age duration Max time since last access of objects in the cache (default 1h0m0s)
+ --vfs-cache-max-size SizeSuffix Max total size of objects in the cache (default off)
+ --vfs-cache-min-free-space SizeSuffix Target minimum free space on the disk containing the cache (default off)
+ --vfs-cache-poll-interval duration Interval to poll the cache for stale objects (default 1m0s)
+ --vfs-write-back duration Time to writeback files after last use when using cache (default 5s)
If run with -vv rclone will print the location of the
file cache. The files are stored in the user cache file area which is OS
dependent but can be controlled with --cache-dir or setting
@@ -5790,9 +6334,9 @@ specified. This can reduce the used download quota for some remotes by
requesting only chunks from the remote that are actually read, at the
cost of an increased number of requests.
These flags control the chunking:
---vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
---vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
---vfs-read-chunk-streams int The number of parallel streams to read at once
+ --vfs-read-chunk-size SizeSuffix Read the source objects in chunks (default 128M)
+ --vfs-read-chunk-size-limit SizeSuffix Max chunk doubling size (default off)
+ --vfs-read-chunk-streams int The number of parallel streams to read at once
The chunking behaves differently depending on the
--vfs-read-chunk-streams parameter.
--vfs-read-chunk-streams
@@ -5841,27 +6385,27 @@ href="#vfs-chunked-reading">chunked reading feature.
--no-modtime flag (or use --use-server-modtime
for a slightly different effect) as each read of the modification time
takes a transaction.
---no-checksum Don't compare checksums on up/download.
---no-modtime Don't read/write the modification time (can speed things up).
---no-seek Don't allow seeking in files.
---read-only Only allow read-only access.
+ --no-checksum Don't compare checksums on up/download.
+ --no-modtime Don't read/write the modification time (can speed things up).
+ --no-seek Don't allow seeking in files.
+ --read-only Only allow read-only access.
Sometimes rclone is delivered reads or writes out of order. Rather
than seeking rclone will wait a short time for the in sequence read or
write to come in. These flags only come into effect when not using an on
disk cache file.
---vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
---vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
+ --vfs-read-wait duration Time to wait for in-sequence read before seeking (default 20ms)
+ --vfs-write-wait duration Time to wait for in-sequence write before giving error (default 1s)
When using VFS write caching (--vfs-cache-mode with
value writes or full), the global flag --transfers can be
set to adjust the number of parallel uploads of modified files from the
cache (the related global flag --checkers has no effect on
the VFS).
---transfers int Number of file transfers to run in parallel (default 4)
+ --transfers int Number of file transfers to run in parallel (default 4)
Symlinks
By default the VFS does not support symlinks. However this may be
enabled with either of the following flags:
---links Translate symlinks to/from regular files with a '.rclonelink' extension.
---vfs-links Translate symlinks to/from regular files with a '.rclonelink' extension for the VFS
+ --links Translate symlinks to/from regular files with a '.rclonelink' extension.
+ --vfs-links Translate symlinks to/from regular files with a '.rclonelink' extension for the VFS
As most cloud storage systems do not support symlinks directly,
rclone stores the symlink as a normal file with a special extension. So
a file which appears as a symlink link-to-file.txt would be
@@ -5882,7 +6426,7 @@ commands yet.
A limitation of the current implementation is that it expects the
caller to resolve sub-symlinks. For example given this directory
tree
-.
+.
├── dir
│ └── file.txt
└── linked-dir -> dir
@@ -5952,7 +6496,7 @@ an error, similar to how this is handled in
This flag allows you to manually set the statistics about the filing
system. It can be useful when those statistics cannot be read correctly
automatically.
---vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
+ --vfs-disk-space-total-size Manually set the total disk space size (example: 256G, default: -1)
Alternate report of used
bytes
Some backends, most notably S3, do not report the amount of bytes
@@ -5962,10 +6506,10 @@ used. If you need this information to be available when running
of relying on the backend to report this information, rclone will scan
the whole remote similar to rclone size and compute the
total used space itself.
-WARNING. Contrary to rclone size, this flag
-ignores filters so that the result is accurate. However, this is very
-inefficient and may cost lots of API calls resulting in extra charges.
-Use it as a last resort and only with caching.
+WARNING: Contrary to rclone size, this
+flag ignores filters so that the result is accurate. However, this is
+very inefficient and may cost lots of API calls resulting in extra
+charges. Use it as a last resort and only with caching.
VFS Metadata
If you use the --vfs-metadata-extension flag you can get
the VFS to expose files which contain the
--metadata flag.
For example, using rclone mount with
--metadata --vfs-metadata-extension .metadata we get
-$ ls -l /mnt/
+$ ls -l /mnt/
total 1048577
-rw-rw-r-- 1 user user 1073741824 Mar 3 16:03 1G
@@ -6000,7 +6544,7 @@ total 1048578
and if there is an error reading the metadata the error will be returned
as {"error":"error string"}.
rclone mount remote:path /path/to/mountpoint [flags]
-Options
+Options
--allow-non-empty Allow mounting over a non-empty directory (not supported on Windows)
--allow-other Allow access to other users (not supported on Windows)
--allow-root Allow access to root user (not supported on Windows)
@@ -6060,7 +6604,7 @@ href="https://rclone.org/flags/">global flags page for global
options not listed here.
Filter Options
Flags for filtering directory listings
- --delete-excluded Delete files on dest excluded from sync
+ --delete-excluded Delete files on dest excluded from sync
--exclude stringArray Exclude files matching pattern
--exclude-from stringArray Read file exclude patterns from file (use - to read from stdin)
--exclude-if-present stringArray Exclude directories if filename is present
@@ -6083,14 +6627,17 @@ options not listed here.
--metadata-include-from stringArray Read metadata include patterns from file (use - to read from stdin)
--min-age Duration Only transfer files older than this in s or suffix ms|s|m|h|d|w|M|y (default off)
--min-size SizeSuffix Only transfer files bigger than this in KiB or suffix B|K|M|G|T|P (default off)
-See Also
+See Also
+
+
- rclone - Show help
for rclone commands, flags and backends.
+
rclone moveto
Move file or directory from source to dest.
-Synopsis
+Synopsis
If source:path is a file or directory then it moves it to a file or
directory named dest:path.
This can be used to rename files or upload single files to other than
@@ -6098,11 +6645,11 @@ their existing name. If the source is a directory then it acts exactly
like the move
command.
So
-rclone moveto src dst
+rclone moveto src dst
where src and dst are rclone paths, either remote:path or
/path/to/local or C:.
This will:
-if src is file
+if src is file
move it to dst, overwriting an existing file if it exists
if src is directory
move it to dst, overwriting existing files if they exist
@@ -6116,7 +6663,7 @@ first with the --dry-run or the