2017-04-13 81 views
1

我有一個腳本使用rsync參數--files-from與一個確切的文件列表(沒有過濾規則,沒有通配符等)和--ignore-missing-args(忽略將被創建的文件將來由服務器)定期傳輸文件。rsync模擬-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選擇任何丟失的文件(並在將來要創建的文件)將導致返回代碼不等於0的rsync錯誤。

有沒有解決方法?

提前致謝!

+0

爲什麼不更新其他機器上'rsync'?這將是最簡單的解決方法。 –

+0

它是一個hpc-集羣,我沒有root權限。更新可能需要很長時間。 – user1447257

+0

這裏有一些可能的解決方法:https://unix.stackexchange.com/q/86879,所以也許看看。雖然你可能得不到相同的確切行爲 –

回答

0

找到了解決辦法:

使用--include-from,並在文件列表中列出的每個文件前加一個+,加,加- *排除任何其他文件,如

$ cat files.txt 
+ foo.bar 
+ bar.foo 
- * 

最終rsync命令:

rsync --include-from=files.txt [path] [host]:[path]