壓縮
壓縮命令
- compress (源文件不存在)
- uncompress
compress -c -v services > services.Z
-c(保留源文件)
-v(顯示壓縮過程)
gzip 壓縮或者解壓.gz文件
- gzip + 文件名 壓縮文件
gzip -d hosts.gz 解壓
gzip -c hosts > hosts.gz 保留源文件壓縮 - zcat hosts.gz 查看 hosts.gz 文件內容
- gzip + 文件名 壓縮文件
bzip -d 解壓
bzip -c hosts > hosts.bz2 保留源文件
bzcat + 文件,查看內容
zip hosts.zip hosts 壓縮,保留源文件
ubzip hosts.zip
打包
tar只能打包,沒有壓縮功能,可以把很多文件放到一起,會變大
tar cvf hosts.tar hosts
c 創建一個歸檔文件
v 顯示創建歸檔過程
f 指名打包之後的名字
tar cvf hosts.tar hosts --remove-files #不保留源文件歸檔
tar tvf hosts.tar #不解檔查看歸檔文件的內容
tar xvf hosts.tar #解檔到當前路徑下
tar xvf hosts.tar -C /aa #解檔到/aa下面
tar xvf hosts.tar hosts #解壓歸檔文件中某個文件hosts
想要tar進行壓縮,可以調用gzip
tar zcvf hosts.tar.gz *
[z:使用gzip壓縮功能。生成 .tar.gz ]
想要tar進行壓縮,可以調用bzip2
tar jcvf hosts.tar.bz2 *
[j:使用bzip壓縮功能。生成 .tar.bz2 ]
tar jxvf hosts.tar.bz2
[bzip解壓]
備份
- 完全備份
- 增量備份
- 差異備份
備份工具 dump
數字指明備份級別:0完全備份,
備份的內容從 上次備份的 比本次小的[級別] 算起開始備份~
所以增量備份是 0 1 2 3
差異備份是 0 9 8 7 6
詳見老段 9(2) 12min
dump -0u -f zlin/1.dump /dev/sda3
-0 以完全備份的形式備份
-u 將備份時間存儲到/etc/dumpdates
-f 指明備份路徑
dump -0u -f zlin/1.dump /dev/sda3
touch /xx/dd
dump -1u -f zlin/2.dump /dev/sda3
touch /xx/ee
dump -2u -f zlin/3.dump /dev/sda3
2.dump 備份了dd
3.dump 備份了從上次開始增長的文件 ee
恢復
restore -t -f /rche/1.dump
不恢復的情況下查看備份文件內容。
例子中使用全備份,恢復應該順序恢復1,2,3
restore -r -f /root/zlin/1.dump
restore -r -f /root/zlin/2.dump
restore -r -f /root/zlin/3.dump
-r按照備份文件全部恢復
注意,目錄下有個restroesymtable文件,千萬不要刪除
restore -i -f /root/zlin/1.dump
進入交互的頁面:
restore > ?
restore > ls 備份文件下的內容
restore > add aa bb 恢復aa和bb文件
restore > extract 解壓aa和bb的備份文件。
這裏會問道: set owner/mode for ‘.’ ? [yn]
是否恢復所有者的信息
restore >quit
光盤寫入
mkisofs:新建鏡像文件
mkisofs -o xx.iso file1 file2 file3
將file1 file2 file3放到鏡像文件xx.iso中
直接使用cp可以將光盤拷成鏡像文件:
cp /dev/cdrom xxx.iso
Cdrecord:光盤刻錄工具
其他工具
dd
dd創建文件
dd if=/dev/zero of=file4 bs=1M count=1
輸入/dev下面的zero,每個zero的大小定義爲1m,拿一個zero組成一個file4
備份:
dd if=/dev/sda3 of=test
會把整個sda3的內容都拿出來放到test中。
dd if=test of=/dev/sda3
將test內容恢復到sda3中
對拷
dd if=/dev/sda of=/dev/sdb
cpio 可以備份數據,但是不知道備份哪些數據
find -name 'file*' | cpio -o > xx.cpio
備份前面的命令找到的結果,並將結果打包到xx.cpio
-o 打包
cpio -iu < xx.cpio
將xx.cpio解壓出來-i 解包
-u 解包出來文件更新的話將覆蓋源文件