tar+ssh实现异地备份

5100阅读 1评论2013-09-23 deargentle
分类:LINUX

 以前有个别服务器备份是用tar+gzip打包压缩后再ftp传到异地备份,现改成通过tar+ssh的方式,可以直接备份到异地,减少在本地生成备份包,及通过内部网络传输来降低tar+gzip打包时对磁盘的IO压力。
ssh无密码登陆请参考”“文章中的第四点。

1,tar调用gzip打包压缩到远程服务器:
有两种方式,一是通过dd of,一是cat >,测试是dd of快一些,不过是跟当时服务器的负载有关系
[root@local ~]# time tar -czf – -T /mail/backup/DIR.txt |ssh  “dd of=/mail/test.tar.gz”
tar: Removing leading `/’ from member names
2696500+0 records in
2696500+0 records out

real    6m51.373s
user    3m8.539s
sys     0m14.306s
[root@local ~]# time tar -czf – -T /mail/backup/DIR.txt |ssh  “cat > /mail/2.tar.gz”
tar: Removing leading `/’ from member names

real    9m31.059s
user    3m10.916s
sys     0m14.924s

[root@target test]# ll test.tar.gz 2.tar.gz
-rw-r–r–  1 root root 1378488320 Apr 17 11:47 2.tar.gz
-rw-r–r–  1 root root 1380608000 Apr 16 18:06 test.tar.gz

2,也可以本地服务器进行打包,再到异地服务器进行压缩:
[root@local ~]# time tar -cf – -T /mail/backup/DIR.txt |ssh  “gzip -1 > /mail/3.tar.gz”
tar: Removing leading `/’ from member names

real    7m18.473s
user    0m29.029s
sys     0m12.023s

3,把远端服务器的压缩包直接解压到本地:
ssh  “cat /mail/test.tar.gz” | tar zxvf -

4,本地打包压缩传输到异地解压:
tar -czf – /mail/backup/DIR.txt|ssh  “cd /mail;tar -zxf -”

上一篇:dsh批量管理linux服务器
下一篇:linux使用FIO测试磁盘的iops

文章评论