【发布时间】:2012-05-26 17:46:53
【问题描述】:
我希望能够拥有 rsync 复制我在我的 bash 脚本中列出的文件,然后删除源目录中不存在的所有文件(如果我更改脚本中的文件列表)。展开命令如下:
rsync -axSR --delete src_dir1/file1 src_dir2/file2 dst_dir/
但是,rsync 不会删除无关文件。有没有办法做到这一点?
【问题讨论】:
我希望能够拥有 rsync 复制我在我的 bash 脚本中列出的文件,然后删除源目录中不存在的所有文件(如果我更改脚本中的文件列表)。展开命令如下:
rsync -axSR --delete src_dir1/file1 src_dir2/file2 dst_dir/
但是,rsync 不会删除无关文件。有没有办法做到这一点?
【问题讨论】:
使用这种语法,可能是因为您使用了多个源,而这些源是实际文件。
为什么不把src_dir的父目录同步到dst_dir呢?
【讨论】:
src_dir 实际上是几个不同的文件夹,可能需要复制很多不同的文件。
rsync 的用例,保持 2 个独立的文件树同步。如果您要备份单个文件,您可能希望放弃 rsync,而是维护要备份的文件列表,根据列表将文件复制到 dst_dir,然后删除 dst_dir 中的所有文件不在名单上。