将 30GB 的 tar 文件从一台远程服务器传输到另一台远程服务器 - 受磁盘空间限制

将 30GB 的 tar 文件从一台远程服务器传输到另一台远程服务器 - 受磁盘空间限制

我有一个 38GB 的​​“Moodle”tar 文件,需要将其从旧服务器(共享主机)(我们可将其称为“服务器 A”)传输到新服务器(专用虚拟服务器)或“服务器 B”。如果有帮助,我支持 Mediatemple。

我已经将目录打包成 tar 并使用 wget 通过 SSH 将其传输到服务器 B,但是 - 它是一个只有 100GB 的小包,而且我的磁盘容量只占了 96% - 这意味着我无法在服务器 B 上解压文件!有没有什么方法可以将这个大文件从服务器 A 传输到服务器 B,保留权限并尽量减少文件损坏的可能性,这样就不会达到磁盘限制?

虽然到目前为止我已经花了相当长一段时间来做这件事,但如果有人能提出更好的想法,我愿意放弃我原来的计划——我会非常感激!

答案1

不要使用 tar。用于rsync -av在传输文件时保留权限。虽然像 tar 一样,但这不会保留 selinux 上下文。不过我认为这并不重要。

答案2

您可能想要购买更多的磁盘空间,但假设您不这样做,您可以......

通过管道传输 tarball,而不是下载它。

newserver#  ssh olduser@oldserver "cat /path/to/tarball" | tar xf -

或者如果你没有旧服务器的 SSH 访问权限

newserver# wget -O - http://oldserver/path/to/tarball | tar xf -

或者像 Dennis 说的那样使用 rsync

要有创造力。还有其他解决方案我没有提到。

相关内容