通过SSH将文件夹tar到多个文件中

时间:2013-07-14 05:05:11

标签: linux ssh tar

这是事情

我有一个总共85 GB磁盘空间的服务器,现在我有一个大小为50 GB的文件夹,其中包含60000多个文件。

现在我想在我的localhost上下载这些文件,为了做到这一点,我需要tar文件夹,但由于磁盘空间限制,我无法对整个文件夹进行tar。

所以我正在寻找一种方法将文件夹存档到两个25 GB的tar文件中,例如part1.tar和part2.tar,但是当第一部分完成时,它应该等待询问下一个部分名称或权限或其他任何内容所以我可以将第一部分转移到另一台服务器,然后继续归档到第2部分。或者像第一个30000文件那样tar一半文件夹的方法然后tar其余的。

有什么想法吗?提前致谢

2 个答案:

答案 0 :(得分:2)

rsync最早的应用之一是使用rsync / ssh和标准Unix帐户为多个Unix客户端实现镜像或备份到中央Unix服务器。

我使用rsync在服务器之间移动压缩(和未压缩)文件。

我认为命令应该是这样的

rsync -av host::src /dest

答案 1 :(得分:0)

rsync解决方案已经足够好但我找到了主要问题的解决方案:

tar -c -M --tape-length=30000000 --file=filename.tar foldername

达到29GB后,您需要更换磁带(在我的情况下,转移第一部分并将其删除)并按Enter键继续。另外,可以给出下一部分名称:

Prepare volume #2 for `filename.tar' and hit return:

n filename2.tar

因为需要时间我建议通过SSH使用屏幕会话: http://thelinuxnoob.com/linux/screen-in-ssh/