如何使用 rsync 和 --delete 同时保持未备份目录完好无损?

如何使用 rsync 和 --delete 同时保持未备份目录完好无损?

我知道有很多“rsync 和符号链接”线程,但我找不到适用于我的问题的线程。

我想使用 rsync 来制作一个/home分区的备份,并附加一个附加内容,即 /home 包含一些真正的主目录和一些指向另一个文件系统的符号链接:

/home/user1 (a directory)
/home/user2 (a symlink to another fs)

我尝试使用:

rsync -axv --delete /home /some_backup/

其中/some_backup已经包含:

/some_backup/home/user1
/some_backup/home/user2
/some_backup/home/user3

...其中user2user3目录由另一台计算机的另一个 rsync 填充。不幸的是,此 rsync 行不起作用,因为我的 rsync 调用将删除/some_backup/home/user3(因为这不在我的 /home 中)以及/some_backup/home/user2(因为这是一个文件系统外的符号链接)。

有没有办法告诉 rsync 忽略源中没有匹配项的目标目录?我需要这个,--delete因为否则就需要这种行为。

一个可能的解决方案是为每个需要复制的 /home/user 目录设置一个 rsync 语句(而不是备份整个 /home)。但这并不理想,因为用户会来来去去,这需要更多的维护。

相关内容