rel*_*mot 4 archive backup files rsync hard-drive
我经常需要将一个源磁盘备份到多个目标磁盘。目前工作流程是rsync
从source到target1然后dd
将target1克隆到target2。
如果我能这将是可爱的rsync
从源到目标1 + TARGET2顺序在同一读操作,大大加快速度。将文件一次读入内存并同步写入两个独立的硬盘驱动器。
有没有办法rsync
将文件读入内存并将输出同时通过管道传输到两个写操作?没有,可rsync
但那将是非常受欢迎的。
将来自多个来源的信息放在一起,有几个选项。
结论是,只有使用命令,parallel
你才能得到你想要的,见下文。
重要笔记:
cp
了复制测试。您还应该考虑使用rsync
vscp
或其他替代命令获得的加速(或降低!),结合parallel
.time <option #N, copying to one target>
time <option #N, copying to two targets>
Run Code Online (Sandbox Code Playgroud)
进行比较,使用 1.2Gb 的文件。此外,在某些情况下,我测试了两到三遍相同的命令,以评估结果的分散性。我没有计算平均值和标准偏差,但结果很明显。
这是我在上面指定的测试条件下得到的,并附有简短的评论。我已将多个测试的结果连接在一行中,只要可用。
的基本情况:
$ time cp -p source/file1 target1/
real 0m0,846s 0m0,680s 0m0,659s
user 0m0,000s 0m0,001s 0m0,016s
sys 0m0,777s 0m0,662s 0m0,643s
Run Code Online (Sandbox Code Playgroud)
在复印选项:
选项 parallel
$ parallel cp -p source/file1 ::: target1/
real 0m0,745s 0m0,740s
user 0m0,121s 0m0,108s
sys 0m0,609s 0m0,619s
$ parallel cp -p source/file1 ::: target1/ target2/
real 0m0,794s 0m0,860s
user 0m0,116s 0m0,134s
sys 0m1,300s 0m1,380s
Run Code Online (Sandbox Code Playgroud)
选项 tee
(附加 > /dev/null
以避免输出到stdout
)
$ tee target1/file1 < source/file1 > /dev/null
real 0m0,874s 0m1,040s 0m1,028s
user 0m0,160s 0m0,172s 0m0,137s
sys 0m0,714s 0m0,868s 0m0,887s
$ tee target1/file1 target2/file1 < source/file1 > /dev/null
real 0m1,802s 0m1,680s 0m1,833s
user 0m0,136s 0m0,212s 0m0,197s
sys 0m1,642s 0m1,468s 0m1,619s
Run Code Online (Sandbox Code Playgroud)
复制到两个target
s 大约使一个的时间加倍target
,这比基本情况的时间略长。
选项 xargs
$ echo target1 | xargs -n 1 cp -p source/file1
real 0m0,666s
user 0m0,021s
sys 0m0,646s
$ echo target1 target2 | xargs -n 1 cp -p source/file1
real 0m1,197s
user 0m0,018s
sys 0m1,173s
Run Code Online (Sandbox Code Playgroud)
复制到两个target
s 大约使一个的时间加倍target
,这与基本情况的时间相似。
选项 find
$ find target1 -exec cp -p source/file1 {} \;
real 0m2,167s
user 0m0,017s
sys 0m1,627s
$ find target1 target2 -exec cp -p source/file1 {} \;
real 0m3,905s
user 0m0,020s
sys 0m3,185s
Run Code Online (Sandbox Code Playgroud)
复制到两个target
s 大约使 one 的时间增加一倍target
,这比基本情况的时间要长得多……显然是输家。
“多重复制”的来源:
性能来源cp
与rsync
:
归档时间: |
|
查看次数: |
343 次 |
最近记录: |