Rsync包括所有文件

时间:2018-02-19 10:19:20

标签: bash rsync

经过一番阅读并尝试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,所以它应该在我理解之后。

删除主机上的文件只会因为我不知道的原因再次同步它们。

2 个答案:

答案 0 :(得分:0)

您的命令看起来不错,但尝试使用 --delete-excluded 而不是--delete

  

--delete-excluded - 同时删除目标目录中的排除文件

它应该删除目标上--excluded而不是--included的所有文件。

答案 1 :(得分:0)

很抱歉打扰了。这是一个bash问题而不是命令问题。

当我使用命令时:

exec $COMMAND

而不是

eval $COMMAND

这让上帝知道错误是什么,但是手动执行它(打印后)并正确地在bash中使它工作。删除项目仍然看起来不稳定,但我可以尝试一些。