1 檔案的打包與解包
封包件:是許多檔案放在一起打成一個包,放在一起前檔案的大小總和與放一起後的大小總和是相同的。
1.1 tar指令
1)打包: tar cvf 封包件名 檔案
//c打包,v顯示打包時的詳細動态,f表示使用歸檔檔案,必須寫
例如:tar cvf f.tar f1 f2
2)檢視封包件中的内容: tar tf 封包件名
例如:tar tf f.tar //t是顯示tar打封包件裡的内容
3)解包:tar xvf 封包件名 //預設解包到目前目錄,原來的包還在
例如:tar xvf f.tar //x解包參數
如果是解包到指定目錄:tar xvf 封包件名 -C 目錄
例如:tar xvf f.tar -C test //C 指定解包的目的目錄
4)其他
tar Af b.tar a.tar //把a.tar中的檔案追加到b.tar中去
tar rf a.tar f1.txt f2.txt //把f1,f2追加到a.tar中去,檔案字尾不一定是txt
tar uf a.tar f1.txt f2.txt //判斷f1,f2兩個檔案如果比a.tar中的新,則替換
tar cf a.tar f1.txt f2.txt --remove-files //把f1,f2檔案打入a.tar包中,完成打包後,将2個檔案從本地删除
tar f a.tar --delete f1.txt //删除a.tar包中的f1.txt檔案
tar f a.tar --get f1.txt f2.txt //提取a.tar包中的f1,f2
注意:使用tar指令為檔案打包,封包件字尾預設為.tar;對目錄也可以打包
1.2 cpio指令
注意:該指令打包用的少,解包有時候會用cpio
1)打包,配合find使用:#find ./ -type f | cpio -ocvB > f.cpio
//o 将資料copy到檔案或裝置上;c是一種比較新的portable format方式存儲;v在螢幕上顯示備份過程中的檔案名;
2)檢視包内容:#cpio -tv < f.cpio
3) 解包: #cpio -ivdm < f.cpio
注意:使用cpio指令為檔案打包,封包件字尾預設為.cpio
2 檔案的壓縮與解壓
壓縮檔案:把一堆檔案壓縮了,檔案壓縮後總體變小了
壓縮指令 gzip bzip2 xz
解壓縮指令 gunzip bunzip2 unxz
2.1 壓縮包的建立與解壓
1)建立壓縮包
tar cvfz 壓縮封包件.tar.gz 檔案 //tar.gz=tgz
tar cvfj 壓縮封包件.tar.bz2 檔案 //tar.bz2=taz
tar cvfJ 壓縮封包件.tar.xz 檔案 //tar.xz=txz
2)解壓縮包
tar xvfz 壓縮封包件.tar.gz
tar xvfj 壓縮封包件.tar.bz2
tar xvfJ 壓縮封包件.tar.xz 注意:解壓至指定目錄用 –C
3)檢視壓縮包内容
tar tf 壓縮封包件 //無論字尾是哪種,都可以用這個檢視
3 備份
備份的目的:用來恢複資料
3.1 備份政策
完整備份:又叫完全備份,備份全部的資料。恢複便捷,隻需要一份完整備份即可恢複全部資料;但是備份時間長,重複檔案較多
增量備份:備份上一次備份以外的資料。備份時間快,重複檔案少;恢複資料需要一份完整備份和一系列的增量備份,并且要按照先後順序進行恢複,如果丢失任意一份增量備份,則無法完全恢複資料
差異備份:備份自上次完整備份以來以外的資料。備份時間比完整備份快,重複檔案比完整備份少,恢複資料友善,隻需要一份完整備份和最新的一份差異備份即可恢複所有資料。
資料量小每月做一次完整備份,每周做一次增量或差異備份;資料量大的就每個季度做一次完整備份,每月做一次增量或差異備份;安全性要求高的就要采取兩地三中心的政策
3.2 備份指令dump
1)如果沒有這個指令,安裝即可:yum install dump –y 。
2)dump可以備份檔案、目錄與檔案系統(分區挂載點裡的檔案)
3)如何用dump備份
注意:
a) 備份檔案和目錄時不能将備份資訊寫入至/etc/dumpdates,即不能使用-u參數,隻允許0級(完整備份)備份;
b) 對檔案系統進行備份,預設的方式為增量備份,如果采用差異備份,每次都進行1級備份即可。
格式:dump –備份級别-uf 備份到哪個目錄上 要備份的檔案/目錄/檔案系統
例如:
dump -0f f1.dump f1 //對檔案備份時不能加u這個參數,且備份級别隻能是0
dump -0f test.dump test //test是個目錄
dump -1f /dev/sdb /dev/sda1 //将檔案系統sda1備份到sdb中
dump -W //檢視最後一次備份的檔案及詳細資訊
增量備份的實作:
如果是将備份檔案存儲到系統安裝時的sda盤的分區中,那麼不需要對sda分區進行挂載使用,因為在安裝時已經弄好了。但是如果把備份檔案存儲到自己添加的硬碟中去,需要對自己添加的磁盤進行格式化、挂載使用。在挂載的LV上操作也可以。想存到哪個目錄就進到哪個目錄下。
例如如果想要把/dev/sdc中的内容存到/dev/sdb中去,首先要把兩塊磁盤格式化,挂載使用,/dev/sdb挂載點/mnt/sdb,/dev/sdc 挂載點/mnt/sdc。
cd /mnt/sdb
touch /mnt/sdc/f0
dump -0uf 0.dump /mnt/sdc
ls
restore –tf 0.dump
touch /mnt/sdc/f1
dump -1uf 1.dump /mnt/sdc
ls
restore -tf 1.dump
touch /mnt/sdc/f2
dump -2uf 2.dump /mnt/sdc
ls
restore -tf 2.dump
touch /mnt/sdc/f3
dump -3uf 3.dump /mnt/sdc
ls
restore -tf 3.dump
差異備份的實作:
cd /mnt/sdb
touch /mnt/sdc/f0
dump -0uf 0.dump /mnt/sdc
ls
restore –tf 0.dump
touch /mnt/sdc/f1
dump -1uf 1.dump /mnt/sdc
ls
restore -tf 1.dump
touch /mnt/sdc/f2
dump -1uf 2.dump /mnt/sdc
ls
restore -tf 2.dump
3.3 恢複指令
1)檢視備份檔案中的資料
restore -tf 備份檔案 //t指定備份媒體中的檔案,f指定所需要還原的備份媒體
2)恢複備份檔案至目前目錄
restore -xf 備份檔案 //x提取備份媒體中的指定檔案
restore -rf 備份檔案 //r指定還原操作
//有時候會讓輸入從哪一個卷開始恢複,輸入1 即可
3.4 dd指令
指定大小的塊拷貝一個檔案,并在拷貝的同時進行指定的轉換
兩個特殊的裝置檔案:
1)/dev/null位桶,垃圾桶,一般将檔案連接配接至位桶相當于删除該檔案。常用于将檔案軟連接配接至此,相當于删除檔案;還用于将系統不需要的日志檔案或輸出重定向至/dev/null相當于忽略系統日志的或輸出。
例如: systemctl mask firewalld , systemctl unmask firewalld 檢視輸出結果
或echo hello word > /dev/null
2)/dev/zero 提供無限個0字元,一個空白檔案裡面都是0字元,當寫入内容後,有的字元就會變成1,進而常用于生成檔案。删除檔案就是把裡面的内容都寫成0字元。
dd if=源檔案/裝置名稱 of=目标檔案/裝置名稱 bs=每次轉換的大小 count=轉換的塊的數量
例如:dd if=/dev/cdrom of=./centos.iso
//将CD光牒轉換為iso,相當于CD光牒的刻錄,備份
dd if=/dev/sda1 of=./boot.bak //将sda3轉換成一個檔案
dd if=/dev/zero of=./disk1.img bs=1M count=100 //建立一個100M的虛拟硬碟,每次讀寫緩存為2M,總計累計100次。即bs*count=100M
用dd生成一個swap檔案并使用:
dd if=/dev/zero of=./1.swap bs=100M count=1 // 生成檔案
格式化:mkswap ./1.swap
chmod 權限值 檔案名 //更改檔案權限
swapon ./1.swap //啟用
swapon //檢視目前系統内所有swap空間
swapoff ./1.swap //關閉
3.5 genisoimage
将某個目錄打包成ISO映像檔案
genisoimage -J -L -r -o etc.iso /etc
//将/etc目錄打包成etc.iso檔案,J使用Joliet格式的目錄與檔案名稱;L允許檔案名的第一個字元為句号;r使用rock ridge extensions,并開放全部檔案的讀取權限;o 指定映像檔案的名稱
genisoimage -J -v –o backup.iso /mnt/backup
//将/mnt/backup目錄做成一個backup.iso備份 ,v顯示詳細動作
3.6 其他指令
wodim 刻錄CD光牒 ,
mt 控制錄音帶
轉載請注明出處,謝謝!