通过Putty从远程服务器“stream”tar操作?

我通过Putty / SSH访问共享主机帐户。 该帐户相当满,比配额低300 MB。 我需要对账户中的所有数据进行完整备份。 使用。创build一个bzip2文件

tar cjf archive.tar.bz2 directory/* 

因为焦油没有足够的空间而失败。

有谁知道一种方法来创build一个tar文件,并“stream”到我的电脑上的本地文件? 通过腻子或任何其他SSH工具?

如果你有cygwin,那么你可以在你的本地机器上运行这样的东西:

 ssh user@host 'tar cj directory' > /cygdrive/c/archive.tar.bz2 

它会把tar档案放在c:\ archive.tar.bz2中

如果你没有cygwin,你可以在命令窗口中用plink (PuTTY的一部分)做同样的事情;

 plink user@host 'tar cj directory' > c:\archive.tar.bz2 

(如果你使用PuTTY,我假设你在Windows上 – 如果你在Linux上,只需运行ssh命令)

使用WinSCP 。

配额是在每个文件系统的基础上强制执行的。 如果/ tmp有足够的可用空间,则可以使用它。

通过SSHpipe道tar:

ssh server "tar -cf - /home/user" | tar xvf -

在unix / linux上,通过networking推送tarstream(或任何stream)是非常容易的。

PUSH :(如果您login到数据所在的机器)

tar zcvf – / wwwdata | ssh [email protected]“cat> /backup/wwwdata.tar.gz”

拉:(例如login到您的工作站)

ssh tar cf –C sourcedir。 | 焦油xvf –

ssh tar cf –C sourcedir。 | cat> /backup/mywwwdata.tar

现在,在Windows上,您可能可以使用http://www.cygwin.com/附带的ssh执行此操作。

我使用plink作为一个testing,通过USBnetworking从我的iPhone“拉”整个树,以testing它。

太棒了!

 plink user@host 'tar' --create --bzip2 --verbose / > x:\iphonebackup\iphone.tar.bz2 

iPhone处理器有缓慢,所以它出现了。 但是,它的工作完美。

注意:省略“–verbose”部分以获得安静/节省带宽。 我把它包括在内,这样我就能在屏幕上看到一些东西,让我知道它是正确的。 剔除所有这些信息将会打败节省pipe道/速度的目的。 我只用它来确认function。