溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux文件、目錄及文件系統(tǒng)的備份與恢復(fù)相關(guān)命令

發(fā)布時(shí)間:2020-07-14 02:51:08 來源:網(wǎng)絡(luò) 閱讀:1297 作者:warrent 欄目:系統(tǒng)運(yùn)維

一、Linux系統(tǒng)常見的壓縮指令

Linux系統(tǒng)中常見的壓縮文件格式:

  • .z compress程序壓縮的文件;
  • .zip zip程序壓縮的文件;
  • .gz gzip程序壓縮的文件;
  • .bz2 bzip2程序壓縮的文件;
  • .xz xz程序壓縮的文件;
  • .tar tar程序打包的數(shù)據(jù),并沒有壓縮;
  • .tar.gz tar程序打包的數(shù)據(jù),并且經(jīng)過gzip的壓縮;
  • .tar.bz2 tar程序打包的數(shù)據(jù),并且經(jīng)過bzip2的壓縮;
  • .tar.xz tar程序打包的數(shù)據(jù),并且經(jīng)過xz的壓縮;

1、gzip命令:

常用選項(xiàng):

  • -c:將壓縮的數(shù)據(jù)輸出到屏幕上,可通過數(shù)據(jù)流量重導(dǎo)向來處理;
  • -d:解壓縮的參數(shù);
  • -t:可以用來檢驗(yàn)一個(gè)壓縮文件的一致性~看看文件有無錯(cuò)誤;
  • -v:可以顯示出原文件/壓縮文件的壓縮比等信息;
  • -#:#為數(shù)字的意思,代表壓縮等級(jí),-1最快,但是壓縮比最差,-9最慢,但是壓縮比最好,默認(rèn)是-6。

舉例說明:
(1)壓縮:

[root@localhost ~]# cp /etc/passwd /mnt     #將文件復(fù)制一份出來
[root@localhost ~]# gzip -v /mnt/passwd     #進(jìn)行壓縮
/mnt/passwd:     61.1% -- replaced with /mnt/passwd.gz
[root@localhost ~]# ll /etc/passwd /mnt/passwd*    #對(duì)比這個(gè)文件壓縮前和壓縮后的大小
-rw-r--r--. 1 root root 2311 7月  14 19:02 /etc/passwd
-rw-r--r--. 1 root root  923 8月  20 22:34 /mnt/passwd.gz

(2)查看壓縮文件的內(nèi)容:

[root@localhost ~]# zcat /mnt/passwd.gz 

(3)將壓縮的文件解壓:

[root@localhost ~]# gzip -d /mnt/passwd.gz 
[root@localhost ~]# ls /mnt
passwd

2、bzip命令:

常用選項(xiàng):

  • -c:將壓縮的過程產(chǎn)生的數(shù)據(jù)輸出到屏幕上的;
  • -d:解壓縮的參數(shù);
  • -k:保留原始文件,而不會(huì)刪除原始的文件;
  • -z:壓縮的參數(shù)(默認(rèn)值,可以不加)。
  • -v:可以顯示出原文件/壓縮文件的壓縮比等信息;
  • -#:#為數(shù)字的意思,代表壓縮等級(jí),-1最快,但是壓縮比最差,-9最慢,但是壓縮比最好,默認(rèn)是-6。

舉例說明:
(1)壓縮

[root@localhost ~]# bzip2 -v /mnt/passwd   #壓縮
[root@localhost ~]# ls /mnt   #查看壓縮后的文件
passwd.bz2

(2)查看壓縮文件的內(nèi)容:

[root@localhost ~]# bzcat /mnt/passwd.bz2  #將文件信息輸出在屏幕上

(3)解壓

[root@localhost ~]# bzip2 -d /mnt/passwd.bz2    #解壓
[root@localhost ~]# ls /mnt   #查看
passwd

3、xz命令:

常用選項(xiàng):

  • -d:解壓縮的參數(shù);
  • -t:測(cè)試壓縮文件的完整性,看看有沒有錯(cuò)誤;
  • -l:列出壓縮文件的相關(guān)信息;
  • -k:保留原本的文件不刪除;
  • -c:將數(shù)據(jù)由屏幕輸出的意思;
  • -#:#為數(shù)字的意思,代表壓縮等級(jí),-1最快,但是壓縮比最差,-9最慢,但是壓縮比最好,默認(rèn)是-6。

舉例說明:

(1)壓縮:

[root@localhost ~]# xz -v /mnt/passwd
[root@localhost ~]# ls /mnt
passwd.xz

(2)查看:

[root@localhost ~]# xz -l /mnt/passwd.xz  #查看文件壓縮前后的大小
[root@localhost ~]# xzcat /mnt/passwd.xz  #將文件信息顯示在屏幕上

(3)解壓并查看

[root@localhost ~]# xz -d /mnt/passwd.xz 
[root@localhost ~]# ls /mnt
passwd

4、tar歸檔命令

常用選項(xiàng):

  • -c:創(chuàng)建打包文件,可搭配-v來查看過程中被打包的文件名;
  • -C:解壓時(shí)指定釋放的目標(biāo)文件夾。
  • -f:表示使用歸檔文件,一般后面要跟被處理的文件名。
  • -j:調(diào)用bzip2程序進(jìn)行壓縮或解壓縮。
  • -J:通過xz的程序進(jìn)行壓縮或解壓縮。
  • -p:打包時(shí)保留文件及目錄的權(quán)限。
  • -P:打包時(shí)保留文件和目錄的絕對(duì)路徑。
  • -t: 列表查看包內(nèi)的文件。
  • -v:輸出解壓/壓縮過程的詳細(xì)信息。
  • -x:解開.tar格式的包文件。
  • -z:調(diào)用gzip程序進(jìn)行壓縮或解壓縮。

使用示例:

[root@localhost ~]# tar jcf filename.tar.bz2 要壓縮的文件或目錄  #壓縮
[root@localhost ~]# tar jtvf filename.tar.bz2   #查看壓縮文件的內(nèi)容
[root@localhost ~]# tar jxvf filename.tar.bz2 -C 想要解壓縮至哪個(gè)目錄    #解壓縮

二、其他常見的壓縮與備份工具

5、dd命令(常用):

常用選項(xiàng):

  • if:input file(原文件)也可以是設(shè)備;
  • of:output file(備份后的文件)也可以是設(shè)備;
  • bs:規(guī)劃的一個(gè)block(塊)的大小,若未指定則默認(rèn)是512Bytes(字節(jié));
  • count:多少塊的意思。

舉例說明:

[root@localhost ~]# dd if=/dev/zero of=/a/123.txt bs=10M count=5
#將/dev/zero文件中的信息復(fù)制到/a目錄下創(chuàng)建一個(gè)123.txt的文件,一次10M,5次,最終該文件的大小是50M。

6、cpio命令(不常用):

備份常用選項(xiàng):

  • -o:將數(shù)據(jù)copy輸出到文件或設(shè)備上;
  • -B:讓默認(rèn)的Blocks可以增加到5120字節(jié),默認(rèn)是512字節(jié);
  • (這樣的好處是可以讓大文件的儲(chǔ)存速度加快)。
    還原會(huì)使用到的選項(xiàng)和參數(shù):
  • -i:將數(shù)據(jù)自文件或設(shè)備copy到系統(tǒng)中;
  • -d:自動(dòng)創(chuàng)建目錄?。?/li>
  • (使用cpio所備份的數(shù)據(jù)內(nèi)容不一定會(huì)在同一層目錄下,因此我們必須要讓cpio在還原時(shí)可以自動(dòng)創(chuàng)建新目錄,就必須使用“-d”選項(xiàng));
  • -u:自動(dòng)的比較新文件覆蓋舊文件;
  • -t:需結(jié)合“-i”選項(xiàng),可用在查看創(chuàng)建的文件或設(shè)備內(nèi)容時(shí)。
    一些可共享的選項(xiàng)和參數(shù):
  • -v:讓儲(chǔ)存的過程中文件名稱可以在屏幕上顯示;
  • -c:一種較新的protable format方式儲(chǔ)存。

舉例說明:

(1)備份
使用此命令需要先使用find命令查找,然后才可輸出文件給該命令使用

#將/boot目錄下的所有文件使用cpio的命令復(fù)制到/mnt目錄下,命名為boot.cpio
[root@localhost ~]# find /boot | cpio -ocvB > /mnt/boot.cpio
[root@localhost ~]# ls -lh /mnt/boot.cpio 
-rw-r--r--. 1 0 root 140M 8月  20 23:30 /mnt/boot.cpio

(2)還原

[root@localhost ~]# cpio -idvc < /mnt/boot.cpio  #將壓縮文件還原到原本的目錄中
[root@localhost ~]# find / | cpio -ocvB > /dev/st0      #備份
[root@localhost ~]# cpio -idvc < /dev/st0                  #還原

三、XFS文件系統(tǒng)的備份與還原

1、xfs文件系統(tǒng)的備份——xfsdump命令:

xfsdump命令的限制:

  • xfsdump不支持沒有掛載的文件系統(tǒng),所以只能備份已掛載的;
  • Xfsdump必須使用root的權(quán)限才能操作(涉及文件系統(tǒng)的關(guān)系);
  • Xfsdump只能備份xfs文件系統(tǒng);
  • Xfsdump備份下來的數(shù)據(jù)(文件或存儲(chǔ)媒體)只能讓xfsrestore解壓;
  • Xfsdump是通過文件系統(tǒng)的UUID來分辨各個(gè)備份文件的,因此不能備份兩個(gè)具有相同UUID的文件系統(tǒng)。

常用選項(xiàng):

  • -L:xfsdump會(huì)記錄每次備份的session標(biāo)頭,這里可以填寫針對(duì)此文件系統(tǒng)的簡(jiǎn)易說明;
  • -M:xfsdump可以記錄存儲(chǔ)媒體的標(biāo)頭,這里可以填寫此媒體的簡(jiǎn)易說明。
  • -l:是L的小寫,就是指定等級(jí),有0~9共10個(gè)等級(jí),默認(rèn)為0,即完整備份,1~9是指增量備份。
  • -f:有點(diǎn)類似tar,后面接產(chǎn)生的文件,也可以接例如/dev/st0設(shè)備文件名或其他一般文件文件名;
  • -I:大寫的“i”,從/var/lib/xfsdump/inventory 列出目前備份的信息狀態(tài)。

舉例說明:

[root@localhost ~]# xfsdump -l O -L boot_all -Mboot_all -f /srv/boot.dump /boot
#將完整備份的文件名記錄成為/srv/boot.dump
#如果不加-L和-M選項(xiàng)進(jìn)入互動(dòng)模式
xfsdump: using file dump (drive_simple) strategy
xfsdump: version 3.1.4 (dump format 3.0) - type ^C for status and control
xfsdump: WARNING: most recent level 0 dump was interrupted, but not resuming that dump since resume (-R) option not specified
xfsdump: level 0 dump of localhost.localdomain:/boot  #開始備份本機(jī)的/boot系統(tǒng)
xfsdump: dump date: Wed Aug 21 00:04:00 2019  #備份的時(shí)間
xfsdump: session id: 2ab52f27-54d8-4cb3-b99f-5f78601afeed  #這次dump的ID
xfsdump: session label: "boot_all"  #簡(jiǎn)單給予一個(gè)名字記憶
#開始備份程序
xfsdump: ino map phase 1: constructing initial dump list
xfsdump: ino map phase 2: skipping (no pruning necessary)
xfsdump: ino map phase 3: skipping (only one dump stream)
xfsdump: ino map construction complete
xfsdump: estimated dump size: 146934272 bytes
xfsdump: creating dump session media file 0 (media 0, file 0)
xfsdump: dumping ino map
xfsdump: dumping directories
xfsdump: dumping non-directory files
xfsdump: ending media file
xfsdump: media file size 146605160 bytes
xfsdump: dump size (non-dir files) : 146370000 bytes
xfsdump: dump complete: 1 seconds elapsed
xfsdump: Dump Summary:
xfsdump:   stream 0 /srv/boot.dump OK (success)
xfsdump: Dump Status: SUCCESS
[root@localhost ~]# xfsdump -I  #查看有沒有文件被xfsdump備份過的數(shù)據(jù)

2、xfs文件系統(tǒng)的還原——xfsrestore命令:

常用選項(xiàng)如下:

  • -I:大寫的“i”跟xfsdump相同的輸出!可查詢備份數(shù)據(jù),包括Label名稱和備份時(shí)間等;
  • -f:后面接的就是備份文件!企業(yè)中很有可能會(huì)接/dev/st0等磁帶機(jī)!
  • -L:可用“-I”查詢到的數(shù)據(jù)。在這個(gè)選項(xiàng)后輸入;
  • -s:需要接某特定目錄,也能復(fù)原某一文件或目錄;
  • -r:如果是用文件來存儲(chǔ)備份數(shù)據(jù),那這個(gè)就不需要使用。如果是一個(gè)磁盤內(nèi)有多個(gè)文件,需要使用它來達(dá)成累積復(fù)原;
  • -i:進(jìn)入互動(dòng)模式(一般不需要)

舉例說明:

[root@localhost ~]# xfsrestore -I  #查看備份文件數(shù)據(jù)
[root@localhost ~]# xfsrestore -f /srv/boot.dump -L boot_all /boot#  直接將備份數(shù)據(jù)覆蓋回去

———————— 本文至此結(jié)束,感謝閱讀 ————————

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI