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/
輸入密碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM