一、備份指令工具
【tar】
1. 備份為歸檔檔案(.tar格式)
tar -cvf 歸檔檔案名 源檔案名/目錄
檢視包内檔案清單:
tar -tf tar包名
解壓:
tar -xvf tar包名
2. 壓縮為.gz包
tar -zcvf 歸檔檔案名 源檔案名/目錄
檢視包内檔案清單:
tar -tzf tar包名
解壓:
tar -zxvf tar包名
3. 壓縮為.bz2包(壓縮率比gz高,但打包速度慢)
tar -jcvf 歸檔檔案名 源檔案名/目錄
檢視包内檔案清單:
tar -tjf tar包名
解壓:
tar -jxvf tar包名
*檢視包内檔案清單時,也可以統一使用:“tar -tvf tar包名”這個指令。
【cpio】
1. 将目前目錄下的所有檔案歸檔為(使用選項o)backup.cpio檔案,并顯示歸檔過程(-v)
find -print|cpio -ov >./backup.cpio
2. 在上面的基礎上,使用bzip2壓縮生成歸檔檔案:
find -print|cpio -ov |bzip2 > ./backup.cpio.bz2
3. 使用gzip壓縮生成歸檔檔案
find -print|cpio -ov | gzip > ./backup.cpio.gz
4. 檢視cpio歸檔檔案中的檔案清單:
cpio -tv < backup.cpio
5. 将上述備份檔案恢複到目前目錄
cpio -iv < backup.cpio
6. 如果恢複時報找不到目錄,則需要攜帶參數d:
cpio -idv < backup.cpio
7. 恢複時想保留時間戳
cpio -idmv < backup.cpio
8. 恢複備份包中的部分檔案:
cpio -idv "*.user" < backup.cpio
9. 恢複記憶體鏡像檔案
zcat /boot/initrd-3.0.76-0.11-default | cpio -imd
*Linux記憶體鏡像檔案一般存放在引導區/boot目錄下,以initrd開頭。
【bzip2】
這是一個壓縮檔案的工具
bzip2 [OPTION] file_name
【OPTION】
k:壓縮/解壓後,保留原始檔案
d:執行解壓
t:測試壓縮檔案的完整性
num:1~9,壓縮率,1壓縮率最低、速度最快,9反之,預設使用6
v:執行任務時顯示詳細資訊
*不使用任何選項表示壓縮檔案,壓縮後的檔案會自動被重命名為.bz2字尾
【舉例】
#以最大壓縮率壓縮檔案:
bzip2 -9v tomcat_8.0.28.tar
tomcat_8.0.28.tar: 2.289:1, 3.495 bits/byte, 56.31% saved, 36290560 in,15853714 out.
#解壓檔案并保留源檔案:
bzip2 -dkv tomcat_8.0.28.tar.bz2
tomcat_8.0.28.tar.bz2: done
【gzip】
gzip [OPTION] original_file_name
【OPTION】
c:壓縮後将結果輸出到标準輸出并保留原始檔案
d:解壓縮
l:顯示壓縮檔案的詳細資訊
r:地櫃地處理目錄下的所有檔案及子目錄,或遞歸地解壓縮檔案内的目錄和子目錄
v:顯示指令的執行過程
t:測試壓縮檔案
num:1~9,壓縮級别,預設使用6
【整盤備份指令dd】
該指令類似于制作ghost鏡像
dd <OPTION>
【OPTION】
if:指定要讀取的檔案,預設為标準輸入
of:指定要輸出的檔案,預設為标準輸出
ibs:指定讀取資料時的塊大小,預設512B
obs:指定輸出資料時的塊大小,預設512B
bs:同時指定讀取、輸出的塊大小
count:指定讀取的區塊數
【舉例】
1. 備份磁盤sda:
dd if=/dev/sda of=/mnt/backup/sda_backup.dd
2. 恢複磁盤資料:
dd if=/mnt/backup/sda_backup.dd of=/dev/sda
3. 備份時壓縮備份資料
dd if=/dev/sda | gzip >/mnt/backup_sda.dd.gz
4. 将壓縮備份的檔案恢複
gzip -dc /mnt/backup_sda.dd.gz |dd of=/dev/sda
5. 将硬碟A的資料直接拷貝到硬碟B
dd if=/dev/sda of=/dev/sdb
6. 由于該工具是直接讀取磁盤上的塊,可以用它制作磁盤鏡像:
dd if=/dev/sda of=/mnt/sda.iso
7. 産生一個5GB的檔案放到目前目錄下:
dd if=/dev/zero of=test.5G bs=1M count=5120
*/dev/zero的功能是無限制的提供資料0
8. 使用随機數銷毀磁盤上的資料
dd if=/dev/urandom of=/dev/sdd
9. 備份磁盤的分區表至目前目錄:
dd if=/dev/sda of=Parlist.img bs=512 count=1
10. 恢複分區表
dd if= Parlist.img of=/dev/sda
*理論上該指令可以在業務運作時執行,但為了保證資料一緻性,還是要停止業務和資料庫執行
二、RPM管理
【常用選項】
q:查詢模式
a:查詢所有已安裝的rpm包
i:顯示安裝/解除安裝時的詳細資訊
l:顯示軟體包的檔案清單,也就是這個rpm包被安裝在什麼位置
f:查詢指定檔案所屬的軟體包
v:顯示指令執行過程
h:安裝時顯示進度資訊
e:解除安裝指定的包
U:更新
force:強制操作,忽略沖突
oldpackage:強制更新
【舉例】
1. 查詢所有已安裝的軟體包
rpm -qa| more
2. 查詢某軟體包的詳細資訊:
rpm -qi vsftpd-2.0.7-4.25.1
3. 安裝rpm包:
rpm -ivh vsftpd-2.0.7-4.25.1
有時,需要忽略沖突強制安裝:
rpm -ivh --force vsftpd-2.0.7-4.25.1
4. 更新rpm:
rpm -Uvh <rpm_name>
5. 解除安裝:
rpm -e <rpm_name>