不使用本地硬盘在远程服务器上创建 tgz 文件

不使用本地硬盘在远程服务器上创建 tgz 文件

我有一台相当古老的 Fedora 服务器,是从另一家公司继承的。我只能通过 SSH 访问该服务器。以下是该服务器的一些详细信息:

Linux已移除2.6.15-1.1831_FC4 #1 2006 年 2 月 7 日星期二 13:37:42 EST i686 i686 i386 GNU/Linux Fedora Core 版本 4 (Stentz) LSB_VERSION="1.3"(Stentz) LSB_VERSION="1.3"

我需要从该服务器中取出几 GB 的文件,并保留权限。问题是服务器几乎已满。当我尝试创建 .tgz 文件时,使用的空间已占满服务器容量的 100%。该服务器上有实时网站在运行,因此简单地删除文件以腾出空间并不是一个选择。

有没有一种简单的方法可以将这些文件作为 .tgz 文件从服务器传输到另一个位置,但又不需要消耗本地硬盘资源?

我考虑过使用 rsync,但我想在我的开发机(Windows 7)上制作一个保留权限的副本以用于备份,因此从我的角度来看,创建 .tgz 文件是更好的选择。有人遇到过类似的情况吗?

答案1

如果您有一个在接收端运行 ssh 服务器的 *nix 机,您可以在源机器上执行类似的操作......

tar cvf - . | gzip -c -1 | ssh receiving-user@receiving-host cat ">" archive.tar.gz

这应该将远程计算机上的文件打包到当前目录中,并将输出发送到 stdout,馈送到 gzip,然后通过 ssh 馈送到接收计算机上的 cat,然后重定向到您的存档文件。您可能需要根据操作系统和 shell 中包含的实用程序版本修改上述命令行。

接收端只有 Windows 机器,您可以为 Windows 安装 NFS 服务器或通过互联网共享 SMB,并将其作为文件系统挂载到远程机器上。然后,您就可以直接将文件保存到该文件系统中,但通过非本地链接使用它可能会很麻烦。

相关内容