我有几TB和成千上万的文件需要通过networking从一个Linux主机移动到另一个。 我想获得如何编写脚本的build议,请牢记以下几点:
xargs和Rsync应该没问题,除非它能够在源文件被成功复制后“删除”它。
Rsync确实有一个选项来删除源文件 。 结合 – 旗子旗子,它应该是可信赖的这种操作。
但是,您可以使用git-annex进行迁移(它将在实际传输中使用rsync)。
在主机A上:
mkdir annex git init git annex init "host A"
在主机B上:
git clone ssh://A/path/to/annex annex git annex init "host B" git annex sync
再次在主机A上:
git remote add b ssh://B/path/to/annex
将文件复制到附件文件夹后,将文件添加到主机A上的git-annex:
git annex add . git commit . -m "Added files" find /path/to/files* -mtime +5 -exec git annex move {} --to b\; git-annex sync
有关使用的详细信息,请参阅git-annex演练 。