Linux下文件的备份

类别:软件工程 点击:0 评论:0 推荐:


Linux下文件的压缩和备份
文/ heiyeluren

 

文件的备份和压缩是管理员遇到的首要问题,我刚学Linux,总结一下书上和网络上的方法。(本文章基于Redhat9)

一、使用tar命令进行备份

tar命令本来的作用是能够把很多文件放到一个小文件中进行归档,但是同时又能够对文件进行压缩。所以,一般情况下我们都采用tar进行文

件整理和压缩。

/* 把/root整个目录进行压缩备份 */
# tar cvzf /tmp/root_backup_1215.tar.gz /root

那么我们就能够把 /tmp/root_backup_1215.tar.gz进行存储,比如保存到磁带机上等。

说明: 压缩的tar档案通常的扩展名是 tar.gz、tgz、或者tar.bz2。前两个扩展名一般是使用gzip命令进行压缩的tar档案,后一个扩展名是

基于bzip2的压缩,因为压缩算法的原因,后一个压缩更强。

同时,我们也很容易把已经打包压缩的文件进行恢复:

/* 从备份文件中进行还原 */
# tar tkvzf root_backup_1215.tar.gz


说明: tar命令是路经相关的。如果将文件用绝对路经保存到一个目录中(即开头为斜杆,如/home/mj),则可以从计算机上的任何位置将文

件恢复到这个目录。如果使用相对路经(没有开头的斜杆,如/home/mj),则文件不一定恢复到原址,而是取决于当前工作目录。

/* 把备份文件释放出来 */
# tar zxvf root_backup_1215.tar.gz

/* 把/root目录备份并且压缩 */
# tar czvf root_backup_1215.tar.gz /root

tar命令选项
---------------------------------------------------
选项        功能
---------------------------------------------------
  c         生成档案
  d         比较档案与当前目录中的文件
  f         使用后面的档案文件名
  j         压缩成bzip2格式的
  k         不覆盖当前文件
  r         见文件添加到档案末尾
  t         列出当前档案中的文件
  v         冗长方式,列出进出档案的所有文件
  z         Zip,按照普通gzip格式压缩文件
  x         从备份文件中还原文件
---------------------------------------------------
以上只是部分常用选项,更详细请参考手册

 

二、使用cpio备份存档
cpio (copy in/out) 命令可以建立存档,跟tar不同之处在于,它能够处理标准的输入输出。顾名思义,就是复制,输入,输出的意思。
如果要备份root的文件,使用下列命令:

# find /root | cpio -o > /tmp/root_backup_1215.cpio

cpio能够使用通配符将一组文件设置成标准输入。比如,下面见所有的.tif文件建立档案:

# find *.tif | cpio -o > /tmp/back.cpio

记住,find命令很灵活,下列命令把系统中所有的.tif文件进行归档:

# find / -name '*.tif' | cpio -o > /tmp/back_tif.cpio

同时,也很容易从cpio档案中恢复文件。下列命令恢复back_tif.cpio中的文件:

# cpio -i < back_tif.cpio

和tar命令一样,cpio命令恢复从目录保存的文件时,取决于是相对路经还是绝对路经。
cpio命令还有一个优点是可以直接将文件发送给外部源,例如,下列命令恢复/root主目录中的文件,并把文件发送到SCSI磁带机:

# find /root | cpio -o -> /dev/st0
# cpio -i < /dev/st0


CPIO的命令选项
---------------------------------------------------
选项           功能
---------------------------------------------------
 -A            添加到档案末尾,与-F密切相关
 -F            指定档案文件名,可以换成反向箭头>
 -i            从档案文件或设备读取
 -o            复制到档案文件或者设备
 -u            替换所有文件,使其更新
 -v            冗长方式
---------------------------------------------------

 

三、磁带转存和恢复
dump与restore命令使递增备份与差异备份很容易实现。dump可以取得目录内容,restore可以交互式将备份文件返回原址。
尽管这些命令最常用于磁带机,但是也同样适合其他介质,比如可以备份到软盘。

1、用dump存档
dump有三个基本选项,可以设置一系列命令,从主目录备份,差异备份。例如,我们要把/home/mao目录备份到/devnst0磁带机上:

# dump 0f /dev/nst0 /home/mao
# dump 1f /dev/nst0 /home/mao
# dump 2f /dev/nst0 /home/mao
# dump 3f /dev/nst0 /home/mao
# dump 4f /dev/nst0 /home/mao
# dump 5f /dev/nst0 /home/mao

第一个命令 # dump 0f /dev/nst0 /home/mao 是建立/home/mao目录的完全备份,后面的命令一次运行,只对商议次备份之后改变的文件建立

差异备份。

提示: 为了加速备份,可以使用磁带机允许的最大块长。例如,命令# dump 0f /dev/nst0 /home/mao -b 2048使用的块长为2048字节。可以

使用更大的块长来减少备份时间,但是也要在restore命令的时候使用想适应的块来还原。

如果想要备份整个系统,可以使用u选项,例如:

# dump 0uf /dev/nst0 /


dump的命令选项
------------------------------------------------------------
选项         功能
------------------------------------------------------------
0 ~ 9        转储级,0 = 完全备份,差异备份是递增(1,2,3..),
             而增量备份存储号码是递减(8,7,6..)
 A           建档备份目录表
 f           将备份写入文件或设备
 j level     压缩写入,要只定压缩级,如2或4
 T date      指定日期,而不用/etc/dumpddates中显示的日期
 u           备份成功后更新/etc/dumpdates
------------------------------------------------------------

 

2、用restore进行还原
可以使用restore命令浏览dump命令备份的文件清单。例如:

# restore -tf /dev/fd0

也可以用恢复搜索的方式搜索当前备份。

restore命令选项
--------------------------------------------------------
选项         功能
--------------------------------------------------------
 -C          比较备份与当前文件
 -f          指定文件
 -i          允许备份的交互恢复,恢复方式中有几个命令
 -r          在全新格式化分区重建数据
 -t          列出备份中的文件名
--------------------------------------------------------

 

结束:

终于结束了,虽然很多问题没说清楚,另外也没有说使用CD刻录备份的东西,自己去研究了。
打字好累呀。。。 :-)


另外,部分命令参考和参考资料:
http://www.jlu.edu.cn/~wyr/newcourse/linux/243.htm
http://www.ourlinux.net/index.php?index=Article_list&type=type_2&type_2_id=4&type_1_id=5
http://www.douzhe.com/docs/RH9/rhl-gsg-zh_CN-9/s1-managing-compressing-archiving.html

 


WriteTime: 2004-12-14 下午 16:40


 

本文地址:http://com.8s8s.com/it/it33382.htm