tar/zip AND 转移到另一台服务器,剩余 space 有限
tar/zip AND transfer to another server with limited space remaining
我在服务器上有一个大小为 60GB 的文件夹,我需要销毁它。但是,我的服务器上只剩下 6G space。
除了文件夹的大小外,里面还有几十万个小文件。所以做一个简单的 scp
会花很长时间。我真的很想 tar czf
文件夹,但同样,我没有 space.
有什么办法吗?
我发现了解决方案并想分享这个:--remove-files
是实现这个的方法。
所以我的命令是这样的:
tar --remove-files -czf cpm006.tar.gz cpm006/
在第二个终端 window 上多次输入 du -sh /home/cpm006
确认文件在添加到 tar 存档后立即被删除。
这样做的明显好处是您可以出于释放磁盘 space 的目的进行归档,即使 space 是有限的。
您可以使用的另一种方法(满足请求的 "transfer to another server" 部分):
tar cz sourcedir/ | ssh somewhere 'cat > dest.tar.gz'
与 scp 不同,它不会对每个小文件进行单独的操作,单独的往返,所以它会像 gzip 一样快(或者像你的网络传输一样快,如果它更慢的话) ).由于存档正在写入远程服务器,因此您不必担心磁盘 space。因为它 不是 删除,你可以 ^C 它而不会留下一半的文件在它们的原始位置和另一半在 tar 球.
您还可以通过更改为
在目标端获得实时文件系统(而不是存档)
tar cz sourcedir/ | ssh somewhere 'tar xC destdir/'
有点像没有 "sync" 的 rsync
。在右侧 tar 命令中添加 v
以列出目标服务器收到的文件。
我在服务器上有一个大小为 60GB 的文件夹,我需要销毁它。但是,我的服务器上只剩下 6G space。
除了文件夹的大小外,里面还有几十万个小文件。所以做一个简单的 scp
会花很长时间。我真的很想 tar czf
文件夹,但同样,我没有 space.
有什么办法吗?
我发现了解决方案并想分享这个:--remove-files
是实现这个的方法。
所以我的命令是这样的:
tar --remove-files -czf cpm006.tar.gz cpm006/
在第二个终端 window 上多次输入 du -sh /home/cpm006
确认文件在添加到 tar 存档后立即被删除。
这样做的明显好处是您可以出于释放磁盘 space 的目的进行归档,即使 space 是有限的。
您可以使用的另一种方法(满足请求的 "transfer to another server" 部分):
tar cz sourcedir/ | ssh somewhere 'cat > dest.tar.gz'
与 scp 不同,它不会对每个小文件进行单独的操作,单独的往返,所以它会像 gzip 一样快(或者像你的网络传输一样快,如果它更慢的话) ).由于存档正在写入远程服务器,因此您不必担心磁盘 space。因为它 不是 删除,你可以 ^C 它而不会留下一半的文件在它们的原始位置和另一半在 tar 球.
您还可以通过更改为
在目标端获得实时文件系统(而不是存档)tar cz sourcedir/ | ssh somewhere 'tar xC destdir/'
有点像没有 "sync" 的 rsync
。在右侧 tar 命令中添加 v
以列出目标服务器收到的文件。