linux(RedHat)的备份和恢复
Linux的几种备份与恢复方法
tar命令(目录级)
备份与恢复某一目录下的全部内容(可去掉不需要的目录或文件)
备份命令:tar –cjvpf 备份结果文件名 需备份的目录名 --exclude=不需要备份的目录名或文件
选项-c:创建一个文件,用于存放备份结果 -j:对tar结果进行压缩,比zip效率更高 -v:显示备份清单 -p:保持文件和目录的原属性 -f:备份结果文件
实例:tar -cjvpf /media/backup/78/78_`date +'%Y%m%d'`_root.tar.bz2 / \ --exclude='/sys' --exclude='/proc' --exclude='/media' --exclude='/mnt' \ --exclude='/tmp' --exclude='lost+found' \ 1> /media/backup/78/78_`date +'%Y%m%d'`_bk_lst.log \ 2> /media/backup/78/78_`date +'%Y%m%d'`_bk_err.log
注解:该tar命令备份根目录下所有内容,但去掉下列内容:所有虚拟文件系统挂载的目录,例:/sys,/proc所有明确不需要备份的目录,例:/tmp,lost+found所有介质挂载目录(如果没有挂载可不用去掉),例:/media,/mnt用户应用中已确定不需要备份的目录或文件(文件的去除格式为--exclude='/xxx/文件前缀*'),例:备份文件,log文件等
*_bk_lst.log文件用于记录备份文件/目录清单*_bk_err.log 文件用于记录备份出错的文件/目录清单
恢复命令:
tar -jxvfC xxxx.tar.gz 目标目录名
实例:tar –jxvfC root.tar.bz2 /
注解:-x:恢复-C:指定绝对恢复的目录名该命令将覆盖原目录(此例为根目录)中所有内容,恢复后需要重启系统。 dump命令(文件系统级)
备份:用df列出所有文件系统及挂载目录,依次将需要备份的文件系统做全备份:
dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda2 138022764 8153372 122744968 7% //dev/sda1 101086 12445 83422 13% /boottmpfs 1037728 0 1037728 0% /dev/shm/dev/sdb1 140000000 8000123 7% /backup
将根文件系统备份到/backup/root.dump文件dump??-0f?/backup/root.dump?/
将/boot文件系统备份到/backup/boot.dump文件dump??-0f?/backup/boot.dump?/boot
注解:-0:0级备份,即全备份 -f:备份结果文件,注意不要放在??一个文件系统中
查看备份结果:restore –tf /backup/root.dump
恢复:重建整个文件系统:
重建根文件系统:restore?-rf?/backup/root.dump
重建/boot文件系统:restore?-rf?/backup/boot.dump
抽取个别文件或目录:
从根文件系统的备份文件中恢复/etc目录restore?-xf?/backup/root.dump?/etc
dd命令
完整复制磁盘全部内容到一个文件。
备份dd if=/dev/sdb of=/media/backup/sda.disk
注解:本命令将系统的第2块SCSI硬盘复制到文件名为sda.disk的文件中。
恢复:dd if=/media/backup/sda.disk of=/dev/sdb
注解:本命令将文件名为sda.disk的文件内容复制到系统的第2块SCSI硬盘。
据老胡经验,160GB的硬盘恢复需时5个小时。
远程备份/恢复命令
Chenke 2010。5