通过 Putty 从远程服务器“流式传输” tar 操作?

通过 Putty 从远程服务器“流式传输” tar 操作?

我正在通过 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”部分以保持安静/节省带宽。我将其包括在内,这样我就可以在屏幕上看到一些信息,让我知道它工作正常。喷出所有这些信息会违背节省管道/速度的目的。我只用它来确认功能。

相关内容