分卷壓縮研究:
要將文件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/
輸入密碼