Ssh
使用 SSH 發送時的 Tar 目錄
現在,當我想備份我的伺服器時,我登錄到它,然後執行下面的命令,將本地目錄“/ebs1” tar 並將其發送到 IP xxx.xxx.xxx.xxx 的另一台伺服器並保存在名為“/ebs1_2019-06-02.tar”的備份伺服器。
tar -cvf - "/ebs1" | ssh -p 22 root@xxx.xxx.xxx.xxx "cat > /ebs1_2019-06-02.tar"
它工作得很好。但是您是否注意到我已登錄正在備份以執行上述命令的伺服器?但是如果我想登錄備份伺服器怎麼辦,如何更改上面的命令?
這邊走:
ssh root@the.client.to.be.backed.up tar cf - /ebs1 >/ebs1_2019-06-02.tar
如果要備份的目錄包含空格或任何特殊字元,這將無法正常工作,在這種情況下,您需要使用如下命令:
ssh root@the.client.to.be.backed.up tar cf - "'/directory name'" >/ebs1_2019-06-02.tar
…這可能會很快變得不方便。您可能想在包含該
tar
命令的目標電腦上編寫一個腳本,並通過 執行該腳本ssh
,因此您不需要在命令行中轉義所有內容。但是,如果目錄名稱不包含任何特殊字元,則應該執行第一個命令。