rclone使用教程索引
本文档于2021.1.16更新
首先,你需要配置rclone。 由于对象存储系统具有相当复杂的身份验证,因此它们保存在配置文件中。 (请参阅–config条目了解如何查找配置文件并选择其位置。)
配置最简单的方法是使用config选项运行rclone:
rclone config
目前支持以下存储:
See the following for detailed instructions for
- 1Fichier
- Alias
- Amazon Drive
- Amazon S3
- Backblaze B2
- Box
- Cache
- Chunker – transparently splits large files for other remotes
- Citrix ShareFile
- Crypt – to encrypt other remotes
- DigitalOcean Spaces
- Dropbox
- FTP
- Google Cloud Storage
- Google Drive
- Google Photos
- HTTP
- Hubic
- Jottacloud / GetSky.no
- Koofr
- Mail.ru Cloud
- Mega
- Memory
- Microsoft Azure Blob Storage
- Microsoft OneDrive
- OpenStack Swift / Rackspace Cloudfiles / Memset Memstore
- OpenDrive
- Pcloud
- premiumize.me
- put.io
- QingStor
- Seafile
- SFTP
- SugarSync
- Tardigrade
- Union
- WebDAV
- Yandex Disk
- The local filesystem
用法
Rclone将目录树从一个存储系统同步到另一个存储系统。
它的语法是这样的
Syntax: [options] subcommand <parameters> <parameters...>
源路径和目标路径以及相关的子路径是由您在配置文件中为存储系统指定的名称指定,例如“driver:myfolder”是 查看Google drive的“myfolder”。
您可以在配置文件中定义任意多个存储路径。
请在学习rclone时使用-i/–interactive标志,以避免意外的数据丢失
子命令
rclone使用一个子命令系统。 例如:
rclone ls remote:path # lists a remote
rclone copy /local/path remote:path # copies /local/path to the remote
rclone sync -i /local/path remote:path # syncs /local/path to the remote
具体使用列表请见《rclone命令索引》
复制单文件
rclone通常同步或复制目录。但是,如果远程源指向一个文件,rclone将只复制该文件。目标远程必须指向一个目录-,不然rclone将给出为“Failed to create file system for "remote:file": is a file not a directory
”。
例如,假设您有一个远程,其中有一个名为test.jpg,然后你可以像这样复制那个文件:
rclone copy remote:test.jpg /tmp/download
文件test.jpg将被放置在/tmp/download下面。
这相当于指定
rclone copy --files-from /tmp/files remote: /tmp/download
当/tmp/files包含单个test.jpg
建议在复制单个文件时使用copy,而不是sync。 他们有几乎相同的效果,但copy将使用更少的内存。
远程路径的语法
传递给rclone命令的路径语法如下:
/path/to/dir
这是指本地文件系统。
仅在Windows上可以使用\而不是/仅在本地路径中,非本地路径必须使用/。
这些路径不需要前导/-如果不需要,则它们将相对于当前目录。
remote:path/to/dir
这是指配置文件(使用rclone config配置)中定义的remote:上的path/to/dir。
而且在大多数后端上,这种格式应该是首选。在极少数远程设备(FTP、SFTP、Dropbox for business)上,这将引用不同的目录。在这些目录中,不带前导/的路径将引用“home”目录,带前导/的路径将引用根目录。
利用:复制文件和目录
rclone使用:标记远程名称。 但是,这是非Windows操作系统中的有效文件名组件。 远程名称解析器只会搜索:直到第一个/所以如果您需要对像这样的文件或目录进行操作,则使用以/开头的完整路径,或使用./作为当前目录前缀。
因此,要将名为sync:me的目录同步到名为remote:的远程 就使用:rclone sync ./sync:me remote:path
或者rclone sync /full/path/to/sync:me remote:path