我希望能够将文件从相机存储卡传输到本地存储,复制后,验证源文件和目标文件是否匹配,然后删除源文件上的文件。
目前我正在运行:
rsync --update -va --progress --no-r --info=progress2 source/** destination
我正在展平目标,因此只复制文件而不是源目录。
只要传输得到验证,我需要向这个命令添加什么才能清理源中的所有文件和目录?
答案1
--remove-source-files
我谷歌搜索了“rsync 从源删除”,发现了这个:rsync传输后删除发送方的文件 - VoidCC。以下是来自man rsync
:
--remove-source-files
This tells rsync to remove from the sending side the files
(meaning non-directories) that are a part of the transfer and
have been successfully duplicated on the receiving side.
答案2
我最终通过以下方法让它工作:
rsync --update -va --progress --no-r --remove-source-files --info=progress2 source/** destination &&
find source -depth -type d -empty -delete
这将使用 rsync 清除同步的文件,然后使用另一个命令清除源的空目录。