我有一个脚本使用rsync参数--files-from
和精确的文件列表(没有过滤规则,没有通配符等)和--ignore-missing-args
(忽略将来由服务器创建的文件) )定期传输文件。
脚本应该在任何重大错误(例如连接丢失)时终止;在服务器上有一个较旧的rsync(3.0.4
;本地我有版本3.1.0
)版本不支持--ignore-missing-args
:
rsync: on remote machine: --ignore-missing-args: unknown option
如果没有--ignore-missing-args
选项,任何丢失的文件(以及将来要创建的文件)都将导致rsync错误,返回代码不等于0
。
有没有解决方法呢?
提前致谢!
答案 0 :(得分:0)
找到解决方案:
使用--include-from
并在文件列表中列出的每个文件之前添加+
,另外,添加- *
以排除任何其他文件,例如
$ cat files.txt
+ foo.bar
+ bar.foo
- *
最终rsync
命令:
rsync --include-from=files.txt [path] [host]:[path]