我非常高兴地使用 rsync 来备份我的服务器,尽管我对该--delete-excluded
参数确实有疑问。
/usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --rsh=/usr/bin/ssh root@server01:/etc /.snapshot/hourly.0/server01
从man rsync
:
--delete-excluded also delete excluded files from dest dirs
对我这个非英语母语的人来说,这意味着 rsync 将从远程服务器上的实际目标目录中删除排除的目录,因此,如果我有/home/backup
并/home/settings
在我的排除文件夹中,这些文件夹实际上将是从远程服务器中删除,。
从其他一些资源来看,它似乎会从本地备份文件夹中删除文件以节省空间。例如,您可以在服务器本身上创建小型备份并排除这些数据,这样就不会浪费存储空间。
对我来说,至关重要的是,rsync 只能单向完成它的工作,正如人们所说,它应该能够工作,我不想冒任何风险使用会删除远程服务器上的文件/目录的软件。
答案1
您的解释是正确的。如果您已排除文件或目录的传输,则 --delete-excluded 会将其从目标端(不一定是“远程服务器”,您可以使用它rsync
从服务器复制到本地计算机)删除(如果在目标端找到它们)。例如,如果您使用--exclude=*.o --delete-excluded
,那么如果 rsync 在目标端找到任何以 .o 结尾的文件,它会删除它们,无论它们是否存在于源目录中。