分卷压缩研究:
要将文件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/
输入密码