使用 SSH 發送時的 Tar 目錄

使用 SSH 發送時的 Tar 目錄

如今,當我想備份我的伺服器時,我登入它,然後執行下面的命令,該命令將本地目錄“/ebs1”打包並將其發送到IP xxx.xxx.xxx.xxx 的另一台伺服器並將其保存在該備份伺服器的名稱為「/ebs1_2019-06-02.tar」。

tar -cvf - "/ebs1" | ssh -p 22 [email protected] "cat > /ebs1_2019-06-02.tar"

它工作得很好。但是您是否注意到我登入了正在備份的伺服器來執行上面的命令?但是如果我想登入備份伺服器,如何更改上面的命令呢?

答案1

這邊走:

ssh [email protected] tar cf - /ebs1 >/ebs1_2019-06-02.tar

如果要備份的目錄包含空格或任何特殊字符,則此方法效果不佳,在這種情況下您需要使用以下命令:

ssh [email protected] tar cf - "'/directory name'" >/ebs1_2019-06-02.tar

……這很快就會變得不方便。您可能想要在包含該命令的目標電腦上編寫一個腳本tar,並透過 執行該腳本ssh,這樣您就不需要轉義命令列中的所有內容。

但是,如果目錄名稱不包含任何特殊字符,則第一個命令應該可以。

相關內容