--delete-excluded对于rsync到底会做什么?


32

尽管我确实对--delete-excluded参数有疑问,但我非常高兴地使用rsync备份服务器。

/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可以正常工作,但rsync只能单向执行它,我不希望冒险拥有删除远程服务器上文件/目录的软件。

Answers:


37

您的解释是正确的。如果您排除了文件或目录的传输,则--delete-excluded会将它们从目标端删除(不必是“远程服务器”,您可以rsync用来从服务器复制到本地计算机)它在那里找到他们。例如,如果使用--exclude=*.o --delete-excluded,则rsync在目标端找到以.o结尾的任何文件,无论它们是否在源目录中,它都会将其删除。


1
因此,它将从/.snapshot/hourly.0/server01中删除目录/文件,而不是从远程服务器中删除吗?
ujjain 2011年

3
@chronoz如果要从远程服务器复制到本地计算机,则目的地是本地计算机。如果要从本地计算机复制到远程服务器,则目标是远程服务器。目的地是这里重要的。如果目标是远程服务器,则它将从远程服务器中删除文件。
DerfK 2011年


1
我最近发现,“-delete-excluded”完全等同于“ --delete --delete-excluded”。在上面提供的答案示例中,源端不存在的远程文件也将被删除。
韦恩
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.