第9章 档案与文件系统的压缩与打包
压缩文件的用途与技术
RFC 1952文件 :http://www.ietf.org/rfc/rfc1952.txt
vbird站的备份: http://linux.vbird.org/linux_basic/0240tarcompress/0240tarcompress_gzip.php
Linux系统常见的压缩指令
一些扩展名……
常见的压缩指令是 gzip 和 bzip2,而compress已经过时了
打包软件 tar 可以将很多文件【打包】成为一个文件
gzip可以说是使用最为广泛的压缩指令,它可以解开compress、zip和gzip等软件压缩的文件,使用gzip压缩以后源文件就不见了,只有压缩文件了哦。
压缩比是可以自己选择的,1~9,默认是6
bzip2用法和gzip差不多,可以提供更好的压缩比
打包指令 tar,参数超级多啊……哇哇
查看tar档案的数据内容 tar -jtv -f 压缩文件名
压缩的时候去掉了根目录,为了保证安全,因为要不然解压缩有可能用备份数据来覆盖新数据的
如果确定要将根目录也一起打包压缩,那么加上 -P 这个选项
| grep是搜索关键词的作用
因为tar是打包压缩指令,如果只是想要查看被压缩的某个文件,那么就说只要解压相应的文件,就可以在普通指令后面加上 待解开文件名
如果在指定路径解压缩呢,那么用到 -C ,在普通指令后面加 “-C 路径名”即可
打包某目录,但不包括该目录下的某些档案——使用指令--exclude=file就可以了哦……
仅备份比某个时刻还要新的目录——
1.可以用--newer这个指令
2.可是用 --newer-mtime来指定最新时间mtime了
基本名称:tarfile(只有打包),tarball(包括压缩)
---------------------------------------------------------------------------------------------------------------
完整备份工具:dump
可以制定等级,比如第一次备份是完备的,就是level 0,而后每次都只备份更新数据,所以level就一级一级变化去了哦
如果备份单一文件系统,可以用等级0——9来备份,同时可以用挂载点或者装置文件名来进行备份
如果备份一个目录,就有限制了:1.所有备份数据都必须在该目录底下,2.仅能使用完整备份,3.不支持 -u选项,即无法建立 /etc/dumpdates这个备份时间记录文件
restore
dump的复原指令是restore
要找出dump的内容,用restore -t
比较差异并且还原整个文件系统:先建立一个新的文件系统,然后进行还原动作,务必到新文件系统的挂载点下面去操作
仅还原部分档案的restore互动模式 先输入cd /mnt 再输入 restore -i -f /root/etd.dump
然后用help列出指令自己看呢
--------------------------------------------------------------------------------------------------------------
文本模式怎么进行刻录操作呢?
先将所需要备份的数据创建一个映像档(iso),利用 mkisofs 指令
然后将该映像文件刻录至光盘或 DVD 中,利用 cdrecord 指令
-graft-point 这个指令的作用是什么呢?
如果要让iso档案比较小,可以加一个指令来删除 /home/loopdev 的备份 -m /home/loopdev
光盘刻录工具 cdrecord
检查刻录机所在位置: cdrecord -scanbus dev=ATA
进行CD的刻录动作: 抹除原来的内容cdrecord -v dev=ATA:位置 blank=fast
刻录: cdrecord -v dev=ATA:位置 fs=8m -dummy -data 文件名
测试挂载一下,检验内容
跟CD的差不多,就是指令有点地方多了一点
-----------------------------------------------------------------------------------------------------------------
其他常见的压缩与备份工具
用dd来备份,因为它可以读取整个装置的内容
tar用来备份关键数据,而dd备份整个硬盘,可以这么说吧
dd备份一个数据的时候,会直接将原来的所有内容,包括superblock,boot sector,meta data等一起复制过来,无需格式化
cpio
cpio可以备份任何东西,包括装置设备文件,不过它无法主动查询到档案来备份,那就要结合find指令了
此外,cpio可以将系统的数据完整的备份到磁带机上面哦 备份:find / | cpio -ocvB > /dev/st0
还原: cpio -idvc < /dev/st0
因为它备份的对象不受限制,所以非常重要哦