|
最近升级日期:2009/08/20
重点回顾
- 压缩命令为透过一些运算方法去将原本的文件进行压缩,以减少文件所占用的磁碟容量。
压缩前与压缩后的文件所占用的磁碟容量比值, 就可以被称为是『压缩比』
- 压缩的好处是可以减少磁碟容量的浪费,在 WWW 网站也可以利用文件压缩的技术来进行数据的传送,好让网站频宽的可利用率上升喔
- 压缩文件的扩展名大多是:『*.tar, *.tar.gz, *.tgz, *.gz, *.Z, *.bz2』
- 常见的压缩命令有 gzip 与 bzip2 ,其中 bzip2 压缩比较之 gzip 还要更好,建议使用 bzip2 !
- tar 可以用来进行文件打包,并可支持 gzip 或 bzip2 的压缩。
- 压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
- 查 询:tar -jtv -f filename.tar.bz2
- 解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
- dump 命令可备份文件系统或单一目录
- dump 的备份若针对文件系统时,可进行 0-9 的 level 差异备份!其中 level 0 为完整备份;
- restore 命令可还原被 dump 建置的备份档;
- 要创建光盘烧录数据时,可透过 mkisofs 命令来建置;
- 可透过 cdrecord 来写入 CD 或 DVD 烧录机
- dd 可备份完整的 partition 或 disk ,因为 dd 可读取磁碟的 sector 表面数据
- cpio 为相当优秀的备份命令,不过必须要搭配类似 find 命令来读入欲备份的档名数据,方可进行备份动作。
本章习题
(要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看)
- 情境模拟题一:你想要让系统恢复到第八章情境模拟后的结果,亦即仅剩下 /dev/hdc6 以前的 partition,
本章练习产生的 partition 都需要恢复原状。因此 /dev/hdc8, /dev/hdc9 (在本章练习过程中产生的)
请将他删除!删除的方法同第八章的情境模拟题一所示。
- 情境模拟题二:你想要逐时备份 /srv/myproject 这个目录内的数据,又担心每次备份的资讯太多,
因此想要使用 dump 的方式来逐一备份数据到 /backups 这个目录下。该如何处理?
- 目标:了解到 dump 以及各个不同 level 的作用;
- 前提:被备份的数据为单一 partition ,亦即本例中的 /srv/myproject
- 需求:/srv/myproject 为单一 filesystem ,且在 /etc/fstab 内此挂载点的 dump 栏位为 1
实际处理的方法其实还挺简单的!我们可以这样做看看:
- 先替该目录制作一些数据,亦即复制一些东西过去吧!
cp -a /etc /boot /srv/myproject
- 开始进行 dump ,记得,一开始是使用 level 0 的完整备份喔!
mkdir /backups
dump -0u -j -f /backups/myproject.dump /srv/myproject
上面多了个 -j 的选项,目的是为了要进行压缩,减少备份的数据量。
- 尝试将 /srv/myproject 这个文件系统加大,将 /var/log/ 的数据复制进去吧!
cp -a /var/log/ /srv/myproject
此时原本的 /srv/myproject 已经被改变了!继续进行备份看看!
- 将 /srv/myproject 以 level 1 来进行备份:
dump -1u -j -f /backups/myproject.dump.1 /srv/myproject
ls -l /backups
你应该就会看到两个文件,其中第二个文件 (myproject.dump.1) 会小的多!这样就搞定罗备份数据!
- 情境模拟三:假设过了一段时间后,你的 /srv/myproject 变的怪怪的,你想要将该 filesystem 以刚刚的备份数据还原,
此时该如何处理呢?你可以这样做的:
- 先将 /srv/myproject 卸载,并且将该 partition 重新格式化!
umount /dev/hdc6
mkfs -t ext3 /dev/hdc6
- 重新挂载原本的 partition ,此时该目录内容应该是空的!
mount -a
你可以自行使用 df 以及 ls -l /srv/myproject 查阅一下该目录的内容,是空的啦!
- 将完整备份的 level 0 的文件 /backups/myproject.dump 还原回来:
cd /srv/myproject
restore -r -f /backups/myproject.dump
此时该目录的内容为第一次备份的状态!还需要进行后续的处理才行!
- 将后续的 level 1 的备份也还原回来:
cd /srv/myproject
restore -r -f /backups/myproject.dump.1
此时才是恢复到最后一次备份的阶段!如果还有 level 2, level 3 时,就得要一个一个的依序还原才行!
参考数据与延伸阅读
|