1. 程式人生 > >Liunx運維(六)-檔案備份與壓縮命令

Liunx運維(六)-檔案備份與壓縮命令

文件目錄:

一、tar:打包備份

二、gzip:壓縮或解壓檔案

三、zip:打包和壓縮檔案

四、unzip:解壓zip檔案

五、scp:遠端檔案複製

六、rsync:檔案同步工具

---------------------------------------分割線:正文--------------------------------------------------------

預置相關檔案資料:

一、tar:打包備份

 1、tar -zcvf www.tar.gz ./html/ #打包,z-giz的解壓或壓縮,v過程,c建立tar包,f指定壓縮的檔名字

 2、tar -ztvf www.tar.gz #t檢視壓縮包中內容,z可省略,v可省略

 3、tar -zxvf www.tar.gz -C /tmp/ #C指定解壓的路徑,不在就解壓在當前目錄

 4、tar -zcvf www.tar2.gz ./html/ --exclude=html/mrwhite/test #排除目錄打包,目錄結尾不要加/,否則會報錯

 

5、tar -zcvf www.tar3.gz ./html/ --exclude=html/mrwhite/test --exclude html/mrwhite #排除兩個目錄

 6、tar zcvfX paichu.tar.gz list.txt ./html/ #排除指定檔案內目錄

  7、tar zcvfh local.tar2.gz rc.local #h打包實際的檔案

 8、注意:

如需要打包的目錄為相對路徑,--exclude只能接相對路徑

如需要打包的目錄為絕對路徑,--exclude可以接絕對路徑也能接相對路徑

9、tar zcf etc.tar.gz `find . -type f` #打包所有普通檔案,使用tar內 反引號中巢狀find語

 

 二、gzip:壓縮或解壓檔案

 1、gzip *.html #壓縮所有.html結尾的檔案為.gz,並且自動刪除原始檔

 2、gzip -l *.gz #不解壓顯示壓縮檔案的資訊

 3、gzip -dv *.gz #d為解壓,v為過程

 4、gzip -c test.html > test.gz #-c壓縮時重定向

 5、gzip -dc test.gz > test1.html #-dc解壓縮時重定向

 6、zcat test.txt.gz #直接檢視壓縮包檔案

 

 三、zip:打包和壓縮檔案

 1、zip test.zip 123.txt 124.txt #將123,124檔案壓縮為test.zip

 2、zip -r test3.zip 12345/ #將12345資料夾以及下面的檔案壓縮成test3.zip

 3、zip -r test4.zip ./12345/ -x 12345/test.zip #壓縮12345資料夾中內容但是排除掉其中的test.zip

 

 四、unzip:解壓zip檔案

1、unzip -l test2.zip #看壓縮檔案列表

 

 2、unzip test.zip #解壓縮檔案

 3、unzip test.zip #如已有檔案 ,y替換,n不替換,A所有檔案替換,N所有檔案不替換,r重新命名

4、unzip -v test.zip # 解壓縮並顯示資訊

5、unzip -o test.zip #解壓縮並不替換覆蓋

6、unzip -d /haha/ test.zip #解壓縮並指定目錄

 

 五、scp:遠端檔案複製(適合全量)

 1、scp testScp.txt 192.168.37.9:/root/mytest2020122702/ #遠端拷貝

 檢視遠端伺服器

2、scp -p testScp.txt 192.168.37.9:/root/mytest2020122702/ #檔案屬性不變

 遠端伺服器,檔案屬性一致

 3、scp -r mytest202012* 192.168.37.9:/root/ #-r遞迴複製目錄 

 檢視遠端主機對應目錄

 4、scp -rp 192.168.37.9:/root/mytest20201228 . #遠端拷貝檔案至當前目錄

 

 六、rsync:檔案同步工具(適合增量)

1、rsync -av data1/ data2/ #-a為遞迴+保持屬性,等價於-rtopgDl -v為詳細輸出 ,帶斜槓為複製檔案下的內容

2、rsync -av data1 data2/ #不帶斜槓為複製目錄本身及目錄下的檔案

 3、rsync data1/test1 data2  #複製data1下檔案至data2目錄下

 4、rsync -av --delete data2/ data1/  #刪除data1中內容使其與data2中保持一致

 5、rsync -av 192.168.37.8:/root/mytestRsync/ mytestRsync2/ #遠端拉取目錄

 6、rsync -av mytestRsync  192.168.37.9:/root/   #推送至遠端目錄

 

 7、rsync -av -e 'ssh -p 22' . 192.168.37.9:/root/mytestRsync/ #-e選項藉助ssh隧道加密

 

&n