代码之家  ›  专栏  ›  技术社区  ›  夏期劇場

简单的RSync EXCLUDE选项?

  •  5
  • 夏期劇場  · 技术社区  · 12 年前

    我想要一个简单有效的(多) exclude 我的选项 rsync 命令比方说我会排除 a file a directory :

    • /var/www/html/test.txt文件
    • /var/www/html/images文件/

    我所做的是:

    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 回复  |  直到 9 年前
        1
  •  12
  •   夏期劇場    12 年前

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

    我不知道别人过得怎么样,但我刚刚发现:

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

    因为我使用的路径如下: --exclude /var/www/html/text.txt 导致这个东西不起作用。所以我曾经喜欢:

    --exclude text.txt --exclude images/
    

    ..而且它很管用!

        2
  •  6
  •   Pipo    9 年前

    我个人喜欢 --exclude={text.txt,images/} 总体安排

    • 请记住,使用rsync,所有以/are开头的exclude(或include)路径都将锚定到 转移根源 在你的例子中 /var/www/html 目录所以如果你指定 /text.txt 它将只是在树中不在上面的传输目录的根目录下的文件。你可以找到更多的信息和例子 here