Linux服務器文件搬家 邊打包邊傳輸邊解壓

作為站長或者運維,經常會遇到需要服務器搬家或大量文件遷移,一般通常做法就是在舊服務器打包然后scp或者其它方式傳到新服務器再解包,但是很多情況下如舊服務器空間不足,文件量巨大等,我們可以使用tar和ssh命令借助Linux的管道符 | 結合 SSH 進行邊打包邊傳輸邊解壓的流式傳輸。
1、邊打包邊傳輸邊解壓
cd /舊服務器/源目錄 && tar -czpf - . | ssh 用戶名@新服務器IP "cd /新服務器/目標目錄 && tar -xzpf -"
2、邊打包邊傳輸邊不解壓
cd /舊服務器/源目錄 && tar -czpf - . | ssh 用戶名@新服務器IP "cat > /新服務器/保存路徑/backup.tar.gz"
注意:
1、如果帶寬充足或CPU比較弱可以將參數p去掉不進行壓縮。
2、另外是沒有進度條的,但是可以在 -czpf前面添加一個參數 --checkpoint=1000 --checkpoint-action=dot? 實現一個打點的偽進度。
3、如果非默認22端口,需要在ssh后面加上 -p 6666 其中6666為端口, -p 前需要有空格。
4、最重要的一點,一定要在screen中使用,防止SSH客戶端端口而造成進程結束。如果網絡或者SSH中斷都會造成需要重新開始。
如果網絡穩定性一般建議還是使用rsync。
rsync -avz --progress /舊目錄/ 用戶名@新IP:/新目錄/
具體可以參考之前的教程:http://www.0794baidu.com/manage/rsync.html
一般打包的方式適合一次性的全量備份,但是要求網絡穩定,rsync要求低適合增量備份,大家可以根據自己的情況選擇合適的命令。
>>轉載請注明出處:VPS偵探 本文鏈接地址:http://www.0794baidu.com/manage/linux-tar-ssh-files.html









