我正在尝试定期将文件从多个来源收集到单个文件目标中。为了保存副本,我尝试使用 rsync,但遇到了一些麻烦。假设我想从文件夹中复制一些文件:
"/var/log/dir2/*.cert",
"/var/log/dir1",
事实是,假设 /var/log/dir2 包含 2 个证书文件 (file1、file2)。我同步它们一次:
rsync -av /var/log/dir2/*.cert /tmp/dest --delete-before
太好了,现在目标包含 file1.cert 和 file2.cert:
rm /var/log/dir2/file1.cert
再次同步:
rsync -av /var/log/dir2/*.cert /tmp/dest --delete-before
我期望目标目录只包含 file2.cert,即 file1.cert 被删除,就像在源目录中一样,但这并没有发生。为什么会这样?我该如何让它工作?
答案1
delete-before 应该在您同步文件夹而不是单个文件时起作用。
如果你尝试过:
rsync -av /var/log/dir2/ /tmp/dest --delete-before
我想这会按照你预期的方式进行。