使用 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,这样您就不需要在命令行中转义所有内容。

但是,如果目录名不包含任何特殊字符,则第一个命令就可以了。

相关内容