我正在尝试 rsync 一些数据并排除名为“.snapshots”的目录。因此,源路径如下:
/a/b/theDirectory/
它包含以下内容:
/a/b/theDirectory/.snapshots/
我想 rsync 这个,但是选项如
rsync -avvA --exclude /a/b/theDirectory/.snapshots /a/b/theDirectory/ <destination>
不起作用,仍然包含 .snapshots 目录。我尝试过双引号和单引号;转义,在末尾\.
放置 a ;在末尾放置或,但都失败了。/
*
/*
我唯一能够做到的事情就是使用,--exclude '.snapshots'
但是这会带来一些我无意排除的风险(如果在目录层次结构的其他级别存在“.snapshots”)。
有人可以给出建议吗?
非常感谢
答案1
你只需要锚以“/”开头的排除过滤器模式:
--exclude /.snapshots
参见手册页讨论:
模式匹配规则
A pattern that starts with a / is anchored to the start of the transfer path