Linux

tar 和 ssh 大文件

  • March 3, 2015

我已經執行以下命令 5 個小時並且仍在執行。mysql 有千兆字節的數據,但我怎樣才能確保以下命令實際上正在傳輸數據。有人可以檢查正確性嗎?

tar -czpf - ./ --exclude mysql mysql-bin* mysql.sock | ssh -lroot xxx.xx.xxx.xx tar -xzpf - -C /var/lib/mysql 

您可以將pv命令插入到您的管道中以獲取已傳輸的字節數的報告,如下所示:

tar -czpf - ./ --exclude mysql mysql-bin* mysql.sock | 
pv |
ssh -lroot xxx.xx.xxx.xx tar -xzpf - -C /var/lib/mysql 

這將為您提供如下輸出,包括總字節數和目前傳輸速率:

202MB 0:00:13 [  17MB/s] [            <=>                                    ]

您也可以只du -sh在目標目錄上執行。

如果兩台伺服器之間有快速網路,則應嘗試不進行壓縮 (-C)。

要限制 CPU 的使用,您應該更改與“-c blowfish”一起使用的預設加密算法。

(您也可以使用 ifstat 或 iptraf 來檢查數據交換的速度)

引用自:https://serverfault.com/questions/228682