Linux 关于tar分卷压缩 大文件拆分 split

分卷压缩研究:
要将文件test.pdf分包压缩成500 bytes的文件:
tar czf - test.pdf | split -b 500 - test.tar.gz
最后要提醒但是那两个"-"不要漏了,那是tar的ouput和split的input的参数。
格式和语法:
1.使用tar分卷压缩
格式 tar cvzf - filedir | split -d -b 50m - filename
样例:
tar cvzf - ./dir | split -d -b 10m - dirname.tar.gz
将./dir 打包,并切割为 10m 的包

输出的文件为 filename00、filename01、filename02 …
假设不加filename,则输出文件为 x00、x01、x02 …
假设不加參数 -d。则输出aa、ab、ac …

2.解压分卷

cat dir* > dir.tar.gz tar xzvf dir.tar.gz cat dir.tar.gz* | tar -zxv

现场环境

tar cvf - /home/桌面/迁移 | split -d -b 2048m - AK.tar.gz cat AK.tar.gz.* | tar -zxv

示例:

tar cvzf - AS-中间件|split -d -b 50m - AS.tar.gz cat AS.tar.gz* | tar -zxv OK

测试

split -b 2048m AKAuxiliary.zip AKAuxiliary.tar.gz. cat AKAuxiliary.tar.gz.* | tar -zxv OK

存在问题
关于“no space left on device”(磁盘空间不足)问题

解压报错

gzip: stdin: not in gzip formattar: Child returned status 1 tar: Error is not recoverable: exiting now

解决方案有两种。
方案一:去掉解压参数中的z,执行命令改为:tar -xvf xx.tar.gz。
该方案的原因是:下载的文件并不是“通过 gzip 过滤归档”所以添加参数z就无法正常解压。
如果该方案依旧无法进行正常解压那就尝试第二中方案。
方案二:
就是本身压缩存在问题 建议换一台服务器进行操作

第一步测试服务器是否能ping通
ping ip

远程scp拷贝

远程拷贝scp
操作格式与说明:

scp -r local_file remote_username@remote_ip:remote_folder local_file本地需要传输的文件 可以是/home/databak remote_username 远程服务器用户名 remote_ip 远程服务器IP地址 remote_folder 上传到远程服务器的目录 可以是/home/data
示例:现场环境 scp -r /root/桌面/迁移/ root@127.0.0.1:/usr/local/data/ 输入密码

__EOF__

本文作者朱辉彪
本文链接https://www.cnblogs.com/zhuhuibiao/p/15763441.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   后山人  阅读(2540)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界
点击右上角即可分享
微信分享提示