FreeBSD┊如何進行*unix系统备份?

Category : 工作学习 / Tags : , / Date : 2009.02.16 / /

   天有不测风云,可能天灾也可能人祸,基本的系统一张光碟或是一块软碟片加上网路即可轻松搞定,但是最花时间的重要设定及使用者资料要重建可是件不小的工程,如果平时能将重要档案及使用者资料备份起来,就可以省去很多的复原的时间。
  
  在FreeBSD 中已经内建好一些和备份有关的指令,例如:tar , dump , restore , dd , cpio , pax , …… 至于要使用哪个工具则视个人喜好及需求啰!我个人习惯用 tar 来备份像 /etc , /usr/local/etc , …… 等以目录或档案为主的设定档,如果像使用者的资料 (/home) 及信箱 (/var/mail) 是放在单独的 partition 则是利用 dump 备份及用 restore 来还原。下面就来看看如何用 tar 及 dump 完成基本的备份工作。

  1 tar

  tar (tape archive) 原本是设计用来将文件打包到磁带中的,我们也可以将档案或是目录打包成一个单一的档案,必要时再用同一个程式来将资料全部还原或是只解开部份的资料,正因为它可以备份档案或目录,深受大家的爱用。

  常用参数:

  指定动作 :
  
  -c create,新增一个备份档
  -t list,显示备份档中的档案清单
  -x extract,解开备份档中的档案

  指定档案:
  -f file,读/写指定的档案

  压缩方式:
  
  -z gzip,备份的东西要用 gzip 压缩/解压缩
  -y bzip,备份的东西要用 bzip 压缩/解压缩,也可以用 -j

  其它:
  
  -p permissions,保留原来的权限
  -v verbose,备份的内容要显示在画面
  -C (大写 C),cd 先切换目录

  由于 tar 的功能非常的多,指令可用的选项令人眼花瞭乱,下面只示范最常用的,有兴趣再自己用 man tar 好好的研究啰!

  1-1 以 tar 打包要备份的资料
  
  如果没有什么特殊需求,利用 tar 备份档案只要用到 -c (新增) ,-p (保留权限设定),-f (指定档名),顶多再加个 -v 看一下打包的过程。

  例如:

  tar -cpvf /home/backup/etc.tar /etc

  上例将 /etc 目录中所有的档案打包到 /home/backup/etc.tar 中。

  也可以同时备份多个目录,将要打包的清单(以空白分隔)接在最后面即可。下面的例子将 /etc , /usr/local/etc 打包在 etc.tar 中:
  
  tar -cpvf /home/backup/etc.tar /etc /usr/local/etc

  我们也可以使用:

  tar -czpvf /home/backup/etc.tgz /etc

  和前面的例子比较,多了个参数 z ,也就是将 tar 打包完的档案再利用 gzip 压缩,所以新产生有经过压缩处理的备份档我们也将档名命名为 etc.tgz (.tgz 结尾),也有人用 .tar.gz ,端看个人习惯。咦~好奇的人可能会想到 FreeBSD 的 packages 档名好像叫 *.tgz 或 *.tbz,和 tar , gzip , bzip 有没有关啊?有兴趣可以找个 FreeBSD 的 package ,用 tar 来打开包装看看哦!!另外,比较一下这两个同样是备份 /usr/local/etc 的指令有何不同?

  tar -czvf /home/backup/local.etc.1.tgz /usr/local/etc
  tar -czvf /home/backup/local.etc.2.tgz -C /usr/local etc

  由于 tar 预设在备份时会储存档案的路径 (但是自动去掉开头的第一个斜线) ,也就是 /usr/local/etc/rc.d 在 local.etc.1.tgz 中会变成 usr/local/etc/rc.d,如果我们连 usr/local 都不想要,打包时可以利用 -C (大写字母) 这个参数来控制路径的保留层次,像前面第二个例子加了 -C /usr/local ,tar 会先切换至 /usr/local 目录才备份 etc,所以在 local.etc.2.tgz 中 /usr/local/etc/rc.d 变成 etc/rc.d 储存起来。
 
  1-2 查看 tar 打包的档案

  要查看以 tar 打包的档案只要利用 -t 这个动作参数即可。
  
  例如:
  
  tar -tvf /home/backup/etc.tar

  上例会将 /home/backup/etc.tar 中的档案清单显示出来。
  
  如果备份时有用 gzip 压缩过则可以加上 -z :

  tar -tzvf /home/backup/etc.tgz

  如果备份时用 bzip 压缩过则加上 -y 或是 -j:

  tar -tyvf /home/backup/etc.tbz



无觅相关文章插件,快速提升流量

Pages: 1 2 3 4

Comments

There are no comments.

Leave a Reply

You must be logged in to post a comment.

传奇 似水流年 绽放 风筝 八月照相馆