经过一番阅读并尝试rsync copy over only certain types of files using include option后,我似乎无法让它发挥作用。
我运行以下命令:
rsync -zarv -vvv -e ssh --prune-empty-dirs --delete --include="*/" --include="*.csv"
--include="*.hdf5" --include="*.pickle" --include="*.tar.gz" --include="*.bin"
--include="*.zip" --include="*.npz" --exclude="*" . user@host.com:/rsync
但是在目标上它会备份我在目录和子目录中的任何文件。 delete-before和delete-after不会删除.txt或.py等文件。在扩展包含之前我也尝试了--exclude =“*”,但是我运行的是2.6.9,所以它应该在我理解之后。
删除主机上的文件只会因为我不知道的原因再次同步它们。
答案 0 :(得分:0)
您的命令看起来不错,但尝试使用 --delete-excluded
而不是--delete
。
--delete-excluded
- 同时删除目标目录中的排除文件
它应该删除目标上--excluded
而不是--included
的所有文件。
答案 1 :(得分:0)
很抱歉打扰了。这是一个bash问题而不是命令问题。
当我使用命令时:
exec $COMMAND
而不是
eval $COMMAND
这让上帝知道错误是什么,但是手动执行它(打印后)并正确地在bash中使它工作。删除项目仍然看起来不稳定,但我可以尝试一些。