rsync 用--exculude 避免排除不同目录下的 相同目录名

目录结构如下

/data
    dir_a
        file_1.txt file_2.txt
    dir_b
        dir_a
        file_3.txt
        file_4.txt
    dir_c

我想同步 /data/下的所有目录和文件,但是不同步/data/dir_a及其下面的所有文件
我用的是服务器模式,同步命令
rsync -avzP --exclude="dir_a" --password-file=/etc/rsyncd.pwd backup@10.200.28.193::data /data/

源服务是这么配置的

[test]
path = /data
ignore errors
read only = true
list = true
auth users = backup
secrets file = /etc/rsyncd.pwd

但是这样把 dir_b 下的 dir_a 也给排除了
那么如何只排除 /data/dir_a 下的所有文件呢?
我试了 --exclude="dir_a/*" --exclude="./dir_a" 等,都不行

阅读 5k
1 个回答

将要排除同步的目录卸载单独的文件列表里
rsync --include-from=rsync_exclude.list

vim rsync_exclude.list
/dir_a
/dir_a/*

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题