让 `rsync --link-dest` 递归查找文件

让 `rsync --link-dest` 递归查找文件

我使用 Rsync 作为备份工具。当我创建新备份时,我希望它在每个文件的所有现有备份文件夹中查找,如果它已经存在,则创建一个硬链接。

来自Rsync 手册页,

从版本 2.6.4 开始,可以提供多个 --link-dest 目录,这将导致 rsync 按照指定的顺序搜索列表以获取精确匹配。

我可以创建一个包含所有备份文件夹的列表,并将该列表传递给 --link-dest,但是我怀疑必须有更好的解决方案。

我可以在 --link-dest 的 DIR 参数中使用通配符吗? (我尝试过 * 但没有成功)。

我可以--link-dest递归搜索文件吗?我尝试将 DIR 设置为我的顶级备份文件夹并使用--recursive,但它没有找到文件,并且创建了一个新文件而不是硬链接。

答案1

我相信您需要--link-dest=$item备份目录列表中的每一项。

如果您希望--link-dest=从 glob 生成这些参数,您可以执行以下操作:

 printf ' --link-dest=%q ' *

相关内容