我最近刚刚重新讨论了我几年前维护的一个脚本,并试图让它在一个新服务器上工作。
它基本上运行以下命令
rsync -vaP --copy-unsafe-links --files-from=dirlist.txt --exclude-from=excludelist.txt . /path/to/backupdirlist.txt是一个纯文本文件,其中包含我希望与.同步的文件目录。
foo/
foo/bar
foo/bar/gop
foo/tra
foo/bla
foo/bla/rgh
foo/bla/rgh/mehexcludelist.txt是一个纯文本文件,它包含指向上述目录中特定文件的路径,我希望将这些文件排除在rsync命令之外。
当我运行上面的程序时,我得到
/path/to/backup/foo
/path/to/backup/foo/bar
/path/to/backup/foo/bar/gop
/path/to/backup/foo/tra
/path/to/backup/foo/bla
/path/to/backup/foo/bla/rgh
/path/to/backup/foo/bla/rgh/meh但是源目录中没有一个文件被复制了?
我尝试过使用-r命令,但最后得到了不希望像foo/don或foo/tco那样在运行rsync for foo/时复制的目录。
我知道这个脚本是在过去运行的,所以我很困惑什么改变了(可能是rsync版本,但我无法跟踪我上次运行的版本)。
更新:我正在使用各种版本的rsync,从2.5.7到2.6.6。在2.5.7中,它没有--文件
发布于 2011-08-16 16:16:37
不久前我也遇到了类似的问题。
我的解决方案是选择过滤规则如下:
rsync --存档-r --filter="merge fromfile“--试运行
fromfile
- /el[2-4]*
- "*/ppc/*"
+ /el5
- /*这不包括任何名为ppc的子目录、任何顶级目录el2、el3、el4,包括el5,以及其他所有目录。
https://serverfault.com/questions/301649
复制相似问题