6
使用GNU Parallel的Parallelise rsync
我一直在使用rsync脚本来将一台主机上的数据与另一台主机上的数据同步。数据中包含许多小型文件,这些文件几乎占了1.2TB。 为了同步这些文件,我一直使用rsync如下命令: rsync -avzm --stats --human-readable --include-from proj.lst /data/projects REMOTEHOST:/data/ proj.lst的内容如下: + proj1 + proj1/* + proj1/*/* + proj1/*/*/*.tar + proj1/*/*/*.pdf + proj2 + proj2/* + proj2/*/* + proj2/*/*/*.tar + proj2/*/*/*.pdf ... ... ... - * 作为测试,我选择了其中两个项目(8.5GB数据),并执行了上面的命令。作为一个顺序过程,它需要14分58秒才能完成。因此,对于1.2TB的数据,将需要几个小时。 如果我能多rsync在并行处理(使用&,xargs或parallel),这将节省我的时间。 我尝试使用下面的命令parallel(cd进入源目录后),花了12分37秒执行: parallel --will-cite -j 5 rsync -avzm --stats --human-readable {} REMOTEHOST:/data/ ::: …