我正在使用Windows计算机。我试图在命令提示符下使用SSH压缩(压缩)服务器上的文件夹,然后将其传输到其他服务器。
这是我做的:
ssh 188.166.177.20 username@hello1@3 tar latest - /var/www/foldertotar > 226.169.204.155 latest.tgz
但是这个没有用。我基本上在这里设置了我的密码和用户名,包括服务器,但是没有用。
想知道出了什么问题?
答案 0 :(得分:0)
您需要运行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'