我正在使用Windows电脑。我试图在命令提示符下使用SSH来tar(压缩)我服务器上的文件夹,然后将其传输到其他服务器。
我做的是这样的:
ssh 188.166.177.20 username@hello1@3 tar latest - /var/www/foldertotar > 226.169.204.155 latest.tgz
但是这个没用。我基本上设置了我的密码和用户名,包括服务器,但它没有用。
想知道出了什么问题?
你需要两次运行ssh
;曾经在一台服务器上运行tar
,并再次连接到另一台服务器。用管道连接两者,使tar
的输出转到另一台服务器。
ssh 188.166.177.20 'tar czf - latest' | ssh 226.169.204.155 'cat > latest.tgz'
tar czf -
将压缩存档写入标准输出,这意味着它将返回到本地计算机。将其管道到远程cat
进程会导致另一台服务器上的存档。
根据您的网络设置,在第一台远程计算机上运行ssh
以直接连接到其他服务器可能更有效,而不是首先将数据恢复到您的计算机。
ssh 188.166.177.20 'tar czf - latest | ssh 226.169.204.155 "cat > latest.tgz"'
(根据需要重新插入用户名。)
您还可以反转ssh
命令的顺序,以避免运行cat
,将tar
的输出直接重定向到远程计算机上的目标文件。
ssh 226.169.204.155 'ssh 188.166.177.20 "tar czf - latest" > latest.tgz'