rclone copy
将文件从源位置复制到目标位置,跳过相同的文件。
概要
将源位置的内容复制到目标位置。不会传输源和目标上相同的文件,通过文件大小、修改时间或 MD5 校验和来判断文件是否相同。不会从目标位置删除文件。如果你想同时删除目标位置的文件,使目标位置与源位置匹配,请使用 sync 命令。
请注意,始终同步的是目录的内容,而不是目录本身。因此,当 source:path
是一个目录时,复制的是 source:path
目录下的内容,而不是目录名及其内容。
如果要复制单个文件,请使用 copyto 命令。
如果 dest:path
不存在,会创建该目录,并将 source:path
中的内容复制到该目录下。
例如:
rclone copy source:sourcepath dest:destpath
假设 sourcepath
目录下有两个文件:
sourcepath/one.txt
sourcepath/two.txt
执行上述命令后,文件会被复制到:
destpath/one.txt
destpath/two.txt
而不是:
destpath/sourcepath/one.txt
destpath/sourcepath/two.txt
如果你熟悉 rsync
,rclone
的行为就像你在目录后面加了一个斜杠 /
,意思是“复制该目录的内容”。这适用于所有命令,无论是源目录还是目标目录。
有关控制 rclone
是否列出目标目录的选项,请参阅 –no-traverse。当将少量文件复制到一个大的目标目录时,使用此选项可以大大加快传输速度。
例如,如果你在 /path/to/src
目录下有很多文件,但每天只有少数文件发生变化,你可以使用以下命令高效地复制最近更改的所有文件:
rclone copy --max-age 24h --no-traverse /path/to/src remote:
如果后端支持,rclone
会同步文件和目录的修改时间。如果需要同步元数据,请使用 --metadata
标志。
请注意,根目录的修改时间和元数据 不会 被同步。更多信息请参阅 https://github.com/rclone/rclone/issues/7652。
注意:使用 -P
/--progress
标志可以查看实时传输统计信息。
注意:使用 --dry-run
或 --interactive
/-i
标志可以在不复制任何文件的情况下进行测试。
rclone copy source:path dest:path [flags]
Options
--create-empty-src-dirs Create empty source dirs on destination after copy
-h, --help help for copy
接下来将介绍与其他命令共享的选项。 有关此处未列出的全局选项,请参阅 全局标志页面。
Copy Options
任何可以复制文件的标志
--check-first 在开始传输之前进行所有检查
-c, --checksum 使用文件大小和校验和(如果可用;若不可用,则仅使用文件大小)来检查文件是否有更改
--compare-dest stringArray 在比较时包含额外的服务器端路径
--copy-dest stringArray 隐含了 --compare-dest 选项,同时还会将指定路径中的文件复制到目标位置
--cutoff-mode HARD|SOFT|CAUTIOUS 达到最大传输限制时停止传输的模式:HARD|SOFT|CAUTIOUS(默认值为 HARD)
--ignore-case-sync 同步时忽略大小写
--ignore-checksum 跳过复制后对校验和的检查
--ignore-existing 跳过目标位置已存在的所有文件
--ignore-size 跳过文件时忽略文件大小,使用修改时间或校验和
-I, --ignore-times 不跳过大小和时间都匹配的文件,无条件传输所有文件
--immutable 不修改文件,如果现有文件已被修改则操作失败
--inplace 直接下载到目标文件,而不是先原子下载到临时文件再重命名
-l, --links 将符号链接转换为带有 `.rclonelink` 扩展名的常规文件,反之亦然
--max-backlog int 同步或检查积压中的最大对象数量(默认值为 10000)
--max-duration Duration rclone 传输数据的最长持续时间(默认值为 0s)
--max-transfer SizeSuffix 要传输的数据的最大大小(默认值为无限制)
-M, --metadata 如果设置该选项,则在复制对象时保留元数据
--modify-window Duration 被视为相同的最大时间差(默认值为 1 纳秒)
--multi-thread-chunk-size SizeSuffix 多线程下载/上传的块大小,如果文件系统未设置该值,则使用默认值(默认值为 64Mi)
--multi-thread-cutoff SizeSuffix 对于大于此大小的文件,使用多线程下载(默认值为 256Mi)
--multi-thread-streams int 多线程下载使用的流数量(默认值为 4)
--multi-thread-write-buffer-size SizeSuffix 多线程模式下写入的内存缓冲区大小(默认值为 128Ki)
--no-check-dest 不检查目标位置,直接进行复制
--no-traverse 复制时不遍历目标文件系统
--no-update-dir-modtime 不更新目录的修改时间
--no-update-modtime 如果文件相同,则不更新目标文件的修改时间
--order-by string 关于如何对传输进行排序的指令,例如 'size,descending'
--partial-suffix string 当不使用 --inplace 选项时,为临时文件名添加部分后缀(默认值为 ".partial")
--refresh-times 刷新远程文件的修改时间
--server-side-across-configs 允许跨不同配置进行服务器端操作(例如复制)
--size-only 仅根据文件大小跳过文件,不考虑修改时间或校验和
--streaming-upload-cutoff SizeSuffix 如果文件大小未知,切换到分块上传的阈值,达到该阈值或文件结束时开始上传(默认值为 100Ki)
-u, --update 跳过目标位置上较新的文件
Important Options
对大多数命令有用的重要标记
-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
用于过滤目录列表的标记
--delete-excluded 删除目标端中被排除在同步之外的文件
--exclude stringArray 排除符合指定模式的文件
--exclude-from stringArray 从文件中读取要排除的文件模式(使用 - 从标准输入读取)
--exclude-if-present stringArray 如果指定文件名存在,则排除该目录
--files-from stringArray 从文件中读取源文件名列表(使用 - 从标准输入读取)
--files-from-raw stringArray 从文件中读取源文件名列表,不对行进行任何处理(使用 - 从标准输入读取)
-f, --filter stringArray 添加文件过滤规则
--filter-from stringArray 从文件中读取文件过滤模式(使用 - 从标准输入读取)
--ignore-case 在过滤时忽略大小写(大小写不敏感)
--include stringArray 包含符合指定模式的文件
--include-from stringArray 从文件中读取要包含的文件模式(使用 - 从标准输入读取)
--max-age Duration 仅传输比指定时间(以秒或后缀 ms|s|m|h|d|w|M|y 表示)更新的文件(默认关闭)
--max-depth int 如果设置,则将递归深度限制为此值(默认 -1)
--max-size SizeSuffix 仅传输小于指定大小(以 KiB 或后缀 B|K|M|G|T|P 表示)的文件(默认关闭)
--metadata-exclude stringArray 排除符合指定模式的元数据
--metadata-exclude-from stringArray 从文件中读取要排除的元数据模式(使用 - 从标准输入读取)
--metadata-filter stringArray 添加元数据过滤规则
--metadata-filter-from stringArray 从文件中读取元数据过滤模式(使用 - 从标准输入读取)
--metadata-include stringArray 包含符合指定模式的元数据
--metadata-include-from stringArray 从文件中读取要包含的元数据模式(使用 - 从标准输入读取)
--min-age Duration 仅传输比指定时间(以秒或后缀 ms|s|m|h|d|w|M|y 表示)更旧的文件(默认关闭)
--min-size SizeSuffix 仅传输大于指定大小(以 KiB 或后缀 B|K|M|G|T|P 表示)的文件(默认关闭)
Listing Options
Flags for listing directories
--default-time Time 如果文件和目录的 modtime 未知,则显示时间(默认为 2000-01-01T00:00:00Z)
--fast-list 如果有递归列表,则使用递归列表;使用的内存较多,但事务较少
参见
- rclone - 显示 rclone 命令、标志和后端帮助。