首页
学习
活动
专区
圈层
工具
发布

rsync
EN

Server Fault用户
提问于 2011-08-16 14:46:09
回答 1查看 2.2K关注 0票数 0

我最近刚刚重新讨论了我几年前维护的一个脚本,并试图让它在一个新服务器上工作。

它基本上运行以下命令

代码语言:javascript
复制
rsync -vaP --copy-unsafe-links --files-from=dirlist.txt --exclude-from=excludelist.txt . /path/to/backup

dirlist.txt是一个纯文本文件,其中包含我希望与.同步的文件目录。

代码语言:javascript
复制
foo/
foo/bar
foo/bar/gop
foo/tra
foo/bla
foo/bla/rgh
foo/bla/rgh/meh

excludelist.txt是一个纯文本文件,它包含指向上述目录中特定文件的路径,我希望将这些文件排除在rsync命令之外。

当我运行上面的程序时,我得到

代码语言:javascript
复制
/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/donfoo/tco那样在运行rsync for foo/时复制的目录。

我知道这个脚本是在过去运行的,所以我很困惑什么改变了(可能是rsync版本,但我无法跟踪我上次运行的版本)。

更新:我正在使用各种版本的rsync,从2.5.7到2.6.6。在2.5.7中,它没有--文件

EN

回答 1

Server Fault用户

发布于 2011-08-16 16:16:37

不久前我也遇到了类似的问题。

我的解决方案是选择过滤规则如下:

rsync --存档-r --filter="merge fromfile“--试运行

代码语言:javascript
复制
fromfile
- /el[2-4]*
- "*/ppc/*"
+ /el5
- /*

这不包括任何名为ppc的子目录、任何顶级目录el2、el3、el4,包括el5,以及其他所有目录。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/301649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档