Linux下文件的压缩和备份

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

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 列出备份中的文件名

--------------------------------------------------------

结束:

相关主题
相关文档
最新文档