redhat labs之tar、cpio、dd备份与恢复

2017年7月16日 发表评论 阅读评论

在上一篇 redhat labs之dump备份与restore恢复 了解了dump工具的备份与恢复,本篇继续redhat labs提到的其他备份与恢复工具tar cpio与dd。这些都是常见的工具,用法也比较简单,这里只简单的列下使用方法,不再做详细的介绍,具体可以找台主机测试。

一、tar和cpio备份恢复

常用备份指令

# tar --exclude=/proc,/mnt,/tmp,/backupdata -cvpjf /backupdata/system.tar.bz2 /
# tar --exclude=/proc,/mnt,/sys,/backup.tar.gz -cvpzf backup.tar.gz /
# tar --exclude=/proc,/sys,/dev -cvpzf /dev/st0 /  备份/到一个SCSI设备文件/dev/st0
# tar -cvpzf backup.tar.gz --exclude={/proc,/mnt,/sys,/backup.tar.gz} /
# find /boot | cpio -ocvB > /tmp/boot.cpio

常用恢复指令

# tar -xvpjf /backupdata/system.tar.bz2 /
# cpio -iduv < /dev/st0     从设备恢复
# cpio -idvc < /tmp/boot.cpio  从备份文件恢复

tar增量备份

# tar -jpcv -f /backupdata/home.tar.bz2.00 /home    //全备
# tar -N '2017-06-02' -jpcv -f /backupdata/home.tar.bz2.01 /home  //找出比指定日期新的文件进行增量打包

这里的-N也可以写为--newer=DATE-OR-FILE, --after-date=DATE-OR-FILE,意思是:only store files newer than DATE-OR-FILE,只备份比指定的日期新的文件。比如全备是6月2号,下次增量就只备份比6月2号新的文件。

所以使用的tar也可以通过crontab定时任备实现一周备份计划,如下:

# echo '#!/bin/bash' > complete_backup.sh
# echo 'tar -jpcv -f /backupdata/home.tar.bz2.00 /home' >> complete_backup.sh
# echo '#!/bin/bash' > incremental_backup.sh
# echo 'index=$(date +%u)' >> incremental_backup.sh
# echo 'tar -N $(date +%Y-%m-%d) -jpcv -f /backupdata/home.tar.bz2.$index /home\n' >> incremental_backup.sh
# chmod a+x complete_backup.sh
# chmod a+x incremental_backup.sh 

crontab增加任务如下:

* 0 * * 0   root /path/complete_backup.sh
* 0 * * 1-6 root /path/incremental_backup.sh   

使用如下命令进行恢复

# for FILE in /backupdata/home.tar.bz2.{0..6}; do [ -f $FILE ] && tar -xjpvf $FILE; done

注:我在使用touch -d 给文件创建一个特定时期并进行tar的这种增量备份时,发现并未达到redhat labs里宣传的效果,每次仍是全量备份。所以对该功能持保留意见,在备份上还是dump、dd、 rsync更专业一些

二、dd备份与恢复

dd备份有两种,一种是直接硬盘对拷,一种是备份成文件(可压缩),具体如下:

硬盘对拷
# dd if=/dev/sda of=/dev/sdc
备份到文件
# mkdir /mnt/external
# mount /dev/sdb1 /mnt/external
# dd if=/dev/sda | gzip -9 > /mnt/external/filename.img.gz

对拷这种恢复的时候,两个磁盘对调下就好了。基于文件的恢复指令如下:

# zcat /mnt/external/filename.img.gz | dd of=/dev/sda 




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: Linux/unix/mac 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.