【问题标题】:rsync: how to exclude directories with special character via external exclude filersync:如何通过外部排除文件排除具有特殊字符的目录
【发布时间】:2013-10-10 19:54:35
【问题描述】:

我正在尝试使用 cron 自动执行的 rsync 脚本备份服务器。现在我正在使用命令:

rsync -avz --progress --exclude-from "/Users/user/Scripts/exclude.txt" -e ssh user@server:$REMOTE_PATH $LOCAL_PATH > /tmp/rsync.log

在 bash 脚本中定义了 $REMOTE_PATH 和 $LOCAL_PATH。

我有一个名为#recycle 的目录,我想跳过它,但不确定如何用文件排除它。如果我使用选项 --exclude '#recycle/',那么它会很好地跳过目录。但是,如果我使用 --exclude-from 标记包含上述选项,则文件仅包含以下行:

#recycle/

然后它不起作用。我也尝试过\#recycle/,但转义井号似乎并不能解决问题。我很确定英镑会导致所有问题,但我无法控制目录名称。有关如何解决此问题的任何想法?

谢谢!

【问题讨论】:

    标签: bash command-line rsync


    【解决方案1】:

    # 开头的行在排除文件中会被忽略,是的。

    您可以改用[#]recycle,它匹配相同的内容,但不会作为评论被丢弃。

    【讨论】:

    • 谢谢!就是这样!我尝试使用“\”作为转义字符,但效果很好!
    • 这很好用。我的 Synology 硬盘将“#recycle”添加到已在共享文件夹上启用该功能的文件夹中。如果其他人对 Synology 的 rsync 有疑问,请留下他的赞扬。
    • 这里的 Synology 用户也使用 Rsync。有同样的问题。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2015-06-11
    • 2011-07-17
    相关资源
    最近更新 更多