![通过 Putty 从远程服务器“流式传输” tar 操作?](https://linux22.com/image/508879/%E9%80%9A%E8%BF%87%20Putty%20%E4%BB%8E%E8%BF%9C%E7%A8%8B%E6%9C%8D%E5%8A%A1%E5%99%A8%E2%80%9C%E6%B5%81%E5%BC%8F%E4%BC%A0%E8%BE%93%E2%80%9D%20tar%20%E6%93%8D%E4%BD%9C%EF%BC%9F.png)
我正在通过 Putty/SSH 访问共享主机帐户。该帐户已满,比其配额少 300 MB。我需要对帐户上的所有数据进行完整备份。使用创建 bzip2 文件
tar cjf archive.tar.bz2 directory/*
失败,因为没有足够的空间容纳 tar。
有人知道如何创建 tar 文件并将其“流式传输”到我电脑上的本地文件吗?通过 putty 或任何其他 SSH 工具?
答案1
如果你有 cygwin,那么你可以在本地机器上运行如下命令:
ssh user@host 'tar cj directory' > /cygdrive/c/archive.tar.bz2
它会将 tar 存档放在 c:\archive.tar.bz2 中
如果你没有 cygwin,你可以用以下方法做同样的事情叮当(PuTTY 的一部分)从命令窗口;
plink user@host 'tar cj directory' > c:\archive.tar.bz2
(如果您使用 PuTTY,我假设您使用的是 Windows;如果您使用的是 Linux,只需运行 ssh 命令)
答案2
使用温SCP。
答案3
配额是针对每个文件系统强制执行的。如果 /tmp 有足够的可用空间,您很有可能可以使用它。
要通过 SSH 传输 tar:
ssh server "tar -cf - /home/user" | tar xvf -
答案4
我正在使用 plink 作为测试,通过 USB 网络从我的 iPhone 中“拉”出整个树,只是为了测试它。
效果很好!
plink user@host 'tar' --create --bzip2 --verbose / > x:\iphonebackup\iphone.tar.bz2
iPhone 处理器速度较慢,所以速度会时快时慢。不过,它运行正常。
注意:省略“--verbose”部分以保持安静/节省带宽。我将其包括在内,这样我就可以在屏幕上看到一些信息,让我知道它工作正常。喷出所有这些信息会违背节省管道/速度的目的。我只用它来确认功能。