tar+ssh實現異地備份

perfychi發表於2014-02-28

from:http://blog.chinaunix.net/uid/8116903/cid-22535-list-1.html


 以前有個別伺服器備份是用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 root@192.168.0.103 “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 root@192.168.0.103 “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 root@192.168.0.103 “gzip -1 > /mail/3.tar.gz”
tar: Removing leading `/’ from member names

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

3,把遠端伺服器的壓縮包直接解壓到本地:
ssh root@192.168.0.103 “cat /mail/test.tar.gz” | tar zxvf -

4,本地打包壓縮傳輸到異地解壓:
tar -czf – /mail/backup/DIR.txt|ssh root@192.168.0.103 “cd /mail;tar -zxf -”

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-1097219/,如需轉載,請註明出處,否則將追究法律責任。

相關文章