rsync 验证并删除

rsync 验证并删除

我希望能够将文件从相机存储卡传输到本地存储,复制后,验证源文件和目标文件是否匹配,然后删除源文件上的文件。

目前我正在运行:

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 清除同步的文件,然后使用另一个命令清除源的空目录。

相关内容