tar備份與恢復

tar備份與恢復

tarball備份包  ——歸檔及壓縮

歸檔:將許多零散的文件整理爲一個文件的文檔管理;文件總的大小基本不變

壓縮:按某種算法減少文件所佔用空間的大小;恢復時按對應的逆向算法解壓

通常所說的“打一個備份包”指的是先做歸檔再做壓縮,生成備份包文件

常見的壓縮格式及命令工具

Windows下: .zip 、.rar 、.7z

Linux下:紅色,代表壓縮包

          .gz 傳統的壓縮格式,壓縮速度快    ---> gzip、gunzip

          .bz2 較新,壓縮比例高一些         ---> bzip2、bunzip2

          .xz 最新,壓縮比例高、壓縮效率快   --->  xz、unxz

gzip、bzip2、xz壓縮文件時直接將文件壓縮成壓縮包,原文件消失,並且不能壓縮目錄

tar壓縮與解壓縮時原文件不受影響

zip歸檔工具:

.zip 爲跨平臺的壓縮包格式

  zip和unzip工具【歸檔+壓縮】

歸檔+壓縮操作(製作 .zip 格式的備份包):

     格式:zip   [-r]   備份文件.zip  被壓縮的文件和目錄...

     ** 包含目錄時必須加 -r 選項

# zip -r /opt/file.zip /boot/ /etc/passwd

# ll -h /opt

釋放歸檔+解壓操作(釋放 .zip 格式的備份包):

     格式:unzip  備份文件.zip [-d  目標文件夾] 

# unzip  /opt/file.zip  -d  /mnt

# ll -h /mnt

tar 工具 本身只做歸檔(不壓縮),但可調用gzip、bzip2對歸檔結果進行壓縮

格式: # tar  選項  壓縮包的名字  被壓縮的源文件

常用選項

– -c:創建歸檔 打包

– -x:釋放歸檔 解包

– -f:指定歸檔文件名稱(使用時百分百要加上它)

– -C:指定歸檔文件及釋放的位置

– -z、j、J:調用 .gz、.bz2、.xz格式的工具進行處理

– -v:輸出詳細信息

– -t:顯示歸檔中的文件清單

– -P:【path】保持歸檔內文件的絕對路徑  #當解壓縮時直接覆蓋原路徑下同名的文件

   -d:指定解壓到的目錄

# tar -cf test01.tar /etc/passwd /boot/    #打包 

備份與恢復操作

製作tar備份包: 使用 tar -c ... 命令

– tar -zcf  備份文件.tar.gz   被備份的文檔....

– tar -jcf  備份文件.tar.bz2  被備份的文檔....

– tar -Jcf  備份文件.tar.xz   被備份的文檔....

– tar -z/j/JcPf  備份文件.tar.gz/bz2/xz   被備份的文檔....

# tar -zcf /opt/tes01.tar.gz /etc/passwd /boot/

# tar -jcf /opt/test02.tar.bz2 /etc/passwd /boot/

# tar -Jcf /opt/test03.tar.xz /etc/passwd /boot/

# tar -zcPf /opt/home.tar.gz /home    #以絕對路徑壓縮歸檔

查看tar備份包內容(不解壓縮,只查看):

– tar -tf 備份文件

– tar -tPf   備份文件.tar.gz/bz2/xz

# tar -tf /opt/home.tar.gz      #查看包裏面的文件

釋放歸檔壓縮包:

格式:tar  [選項]...  歸檔文件  [-C 目標目錄]   

– tar -xf 備份文件 [-C 目標目錄]

– tar -xPf  備份文件.tar.gz/bz2/xz  -C 目標目錄

# tar -xf /opt/home.tar.gz -C /mnt/  #以相對路徑的解壓縮

# tar -xPf /opt/home.tar.gz -C /mnt/  #以絕對路徑解壓縮

統計目錄或文件佔用的空間:du  -sh  目錄路徑 【sumary、human-readable】

總結:以絕對路徑打包並壓縮,在解壓縮解包時,即可以以絕對路徑釋放也可以以相對路徑釋放;沒有以絕對路徑打包並壓縮,在解壓縮解包時,只可以以相對路徑釋放

在生產環境中,打包時最好都以絕對路徑來進行打包

###############################################################################

示例:創建一個備份包

用 tar 工具完成以下備份任務:

    創建一個名爲 /root/backup.tar.bz2 的歸檔文件

    其中包含 /usr/local 目錄中的內容

    tar 歸檔必須使用 bzip2 進行壓縮

步驟一:創建備份文件

使用tar命令製作歸檔備份,結合-j選項調用bzip2壓縮工具,保留絕對路徑:

    [root@server0 ~]# tar  jcPf  /root/backup.tar.bz2  /usr/local/

步驟二:確認結果

    [root@server0 ~]# ls  -lh  /root/backup.tar.bz2          //確認文件

    -rw-r--r--. 1 root root 1.9K 12月 23 23:22 /root/backup.tar.bz2

    [root@server0 ~]# tar  -tPf  /root/backup.tar.bz2         //確認內容

使用tar備份系統
tar cvpzf backup.tgz --exclude=/proc --exclude=/mnt --exclude=/lost+found --exclude=sys --exclude=/media --exclude=/run --exclude=backup.tgz /

備份當前目錄下的所有文件
tar -g /tmp/abc.snap -zxpf /tmp/data.tar.gz .
在需要恢復的目錄下解壓恢復
tar -zxpf /tmp/data.tar.gz -C .
恢復
tar xvpfz backup.tgz -c /


原文:https://blog.csdn.net/jsut_rick/article/details/78207234

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章