【发布时间】:2011-07-17 15:29:14
【问题描述】:
rsync 有问题。我使用 rsync 作为美化的 cp 命令。我在脚本中有以下代码。
rsync -aL --exclude /path/to/exclude/ --exclude='.*' /source/ /destination
我可以让 rsync 排除任何隐藏文件。因此 '.*' 我无法排除要排除的目录。我尝试使用'=' 符号,用双引号将目录括起来,用单引号。任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
为了清楚起见,我试过
--exclude=/path/to/exclude/--exclude /path/to/exclude/--exclude '/path/to/exclude/'--exclude "/path/to/exclude/"--exclude="/path/to/exclude/"--exclude='/path/to/exclude/' -
尝试
--exclude '/path/to/exclude'不带尾随 /,在某些情况下 rsync 有一些行为。否则你也可以试试--exclude '/path/to/exclude/*' -
谢谢 Aif,我已经试过不带尾随 /。我忘了把它添加到我的列表中。很奇怪,我一定是错过了什么。
-
我认为这是因为排除是一个相对路径,并且执行
/path/to/exclude实际上并不认为/作为文件系统的根。这可以解释为什么@Erik 的帖子有效。 -
@Aif:是的。如果排除模式包含 / 或 **,则匹配整个路径,否则匹配文件名
标签: linux unix scripting rsync