我已经尝试了十几种不同的语法方法而且无法获得它。
我试图排除一个名为的目录 / Users / dirk / Documents / Virtual \ Machines.localized /
这是我的命令:
rsync -vzapogDt --delete --exclude-from /Users/dirk/Documents/* ~dirk/ /Volumes/share-1/backup/mbp.20160131
运行时,它会继续复制Documents下的所有内容。第一次在这里发帖,如果我没有遵守协议,那么道歉。相信我,我研究了一段时间无济于事。
干杯
答案 0 :(得分:1)
试试这个:
rsync -vzapogDt --delete --exclude=/Users/dirk/Documents/ ~dirk/ /Volumes/share-1/backup/mbp.20160131
来自man rsync
:
--exclude-from=FILE
:从文件中读取排除模式
--exclude=PATTERN
:排除与PATTERN匹配的文件
答案 1 :(得分:1)
rsync无法处理绝对或相对路径....尝试
rsync -vzapogDt --delete --exclude Documents ~dirk/ /Volumes/share-1/backup/mbp.20160131
答案 2 :(得分:0)
@Cyrus有正确的想法:使用--exclude=<pattern>
选项而不是--exclude-file
。尝试:
rsync -vzapogDt --delete --exclude '/Users/dirk/Documents/Virtual Machines.localized/*' ~dirk/ /Volumes/share-1/backup/mbp.20160131
该模式使用单引号来防止通配符扩展。 (您希望将星号赋予rsync
,而不是在shell中展开它。)这也会处理目录名称中没有反斜杠转义的空格。