简单的RSync EXCLUDE选项?

时间:2013-03-13 09:01:49

标签: linux rsync

我想在exclude命令中使用一个简单且有效的(多个)rsync选项。假设我将排除a filea directory

  • /var/www/html/test.txt
  • /无功/网络/ HTML /图像/

我做的是:

rsync -avz --exclude="/var/www/html/test.txt" --exclude="/var/www/html/images/" /var/www/html root@xx.xx.xx.xx:/var/www

rsync -avz --exclude=/var/www/html/test.txt --exclude=/var/www/html/images/ /var/www/html root@xx.xx.xx.xx:/var/www

rsync -avz --exclude /var/www/html/test.txt --exclude /var/www/html/images/ /var/www/html root@xx.xx.xx.xx:/var/www

...

但是,--exclude不起作用! 一切都好了!

  • 请问这种简单的格式怎么办?

注意:我也不想使用外部排除列表文件。只需要一个简单的命令即可。

2 个答案:

答案 0 :(得分:12)

在我多次学习和测试之后,我自己解决了这个问题。真正的问题是可以理解的(对我来说)--exclude选项使用格式。

我不知道其他人是怎么做的,但我发现了:

  • “ - 排除”路径不能是完整的绝对路径!

因为我使用的路径如下:--exclude /var/www/html/text.txt导致事情无法正常工作。所以我用过:

--exclude text.txt --exclude images/

..而且工作正常!

答案 1 :(得分:5)

我个人喜欢--exclude={text.txt,images/}格式。

  • 请记住,对于rsync,所有以/开头的排除(或包含)路径都锚定到传输根,在您的示例中将是/var/www/html目录!!,所以如果你指定/text.txt,它将只是你的传输目录的根目录不在树上面的文件。您可以找到更多信息和示例here