dump备份
restore 恢复
dump的特点:
(1)只能针对整个分区
(2)能够支持绝大部分文件类型,包括设备文件,也能保留原属性
(3)支持镜像备份和增量备份
1、软件安装
[root@rootbug ~]#yum install dump -y
2、查看是否安全成功
[root@rootbug ~]# rpm -qf `which restore`
dump-0.4-0.6.b42.el6.x86_64
[root@rootbug ~]# rpm -qf `which dump`
dump-0.4-0.6.b42.el6.x86_64
3、备份级别:
通过备份级别来支持增量和镜像备份
0-9级别(现在的版本可以使用任意数字),
0代表的是全备(镜像备份),后面的数字代表递增的增量备份
1 2 3 4 5 6 7 周期
全 增 增 累 增 增 累
0 1 2 1 2 3 2 备份级别
4、测试
[root@rootbug ~]# dd if=/dev/zero of=/quota/dump0 bs=1M count=10
[root@rootbug~]# dump -0u /dev/sda12 -f /backup/sda12_0_1.dump
--0级别全备
[root@rootbug~]# dd if=/dev/zero of=/quota/dump1 bs=1M count=10
--在sda12挂载的quota目录里建立一个10M大小的文件dump1
[root@rootbug~]# dump -1u /dev/sda12 -f /backup/sda12_1_2.dump
--1级别增备,可以查看备份的文件为10M,所以验证了增量备
[root@rootbug~]# dd if=/dev/zero of=/quota/dump2 bs=1M count=10
--再建立10M的文件dump2
[root@rootbug~]# dump -2u /dev/sda12 -f /backup/sda12_2_3.dump
--2级别增备,还是10M
[root@rootbug~]#dd if=/dev/zero of=/quota/dump3 bs=1M count=10
--再建立10M的文件dump3
[root@rootbug~]#dump -1u /dev/sda12 -f /backup/sda12_1_4.dump
--1级别备份,会发现30M,表示它备份了dump1,dump2,dump3这三个10M的文件,所以验证了它是备第一次备份的0级别到这次之间的数据;也就是累计增量备
[root@rootbug~]#dd if=/dev/zero of=/quota/dump4 bs=1M count=10
[root@rootbug~]#dump -2u /dev/sda12 -f /backup/sda12_2_5.dump
[root@rootbug~]#dd if=/dev/zero of=/quota/dump5 bs=1M count=10
[root@rootbug~]#dump -3u /dev/sda12 -f /backup/sda12_3_6.dump
[root@rootbug~]#dd if=/dev/zero of=/quota/dump6 bs=1M count=10
[root@rootbug~]#dump -2u /dev/sda12 -f /backup/sda12_2_7.dump
使用下面的命令去验证,一切OK
[root@rootbug~]#restore -t -f sda12_0.dump
--查看备份集里备份的文件用-t参数
5、如何将备份命令写成脚本,让它按照规定的时间去运行自动备份?
[root@rootbug~]#vim /tmp/1.sh
#!/bin/bash
mkdir /backup/`date +%Y%m%d`
dump -0u /dev/sda12 -f /backup/`date +%Y%m%d`/sda12_0_1.dump
[root@rootbug~]#vim /tmp/2.sh
#!/bin/bash
dump -1u /dev/sda12 -f /backup/`date -d "-1 days" +%Y%m%d`/sda12_1_2.dump
[root@rootbug~]#vim /tmp/3.sh
#!/bin/bash
dump -2u /dev/sda12 -f /backup/`date -d "-2 days" +%Y%m%d`/sda12_2_3.dump
[root@rootbug~]#vim /tmp/4.sh
#!/bin/bash
dump -1u /dev/sda12 -f /backup/`date -d "-3 days" +%Y%m%d`/sda12_1_4.dump
[root@rootbug~]#vim /tmp/5.sh
#!/bin/bash
dump -2u /dev/sda12 -f /backup/`date -d "-4 days" +%Y%m%d`/sda12_2_5.dump
[root@rootbug~]#vim /tmp/6.sh
#!/bin/bash
dump -3u /dev/sda12 -f /backup/`date -d "-5 days" +%Y%m%d`/sda12_3_6.dump
[root@rootbug~]#vim /tmp/7.sh
#!/bin/bash
dump -2u /dev/sda12 -f /backup/`date -d "-6 days" +%Y%m%d`/sda12_2_7.dump
--写完7个脚本,然后都改成755权限
[root@rootbug~]#chmod 755 /tmp/*.sh
[root@rootbug~]# crontab -e
--root用户来编辑自己的时间任务
01 2 * * 1 sh /tmp/1.sh01 2 * * 2 sh /tmp/2.sh
01 2 * * 3 sh /tmp/3.sh01 2 * * 4 sh /tmp/4.sh
01 2 * * 5 sh /tmp/5.sh01 2 * * 6 sh /tmp/6.sh
01 2 * * 7 sh /tmp/7.sh
[root@rootbug~]#/etc/init.d/crond resetart
6、恢复
restore
(1)因为整个分区崩溃,需要恢复,那么在这里最好重新格式化一下这个分区,再重新挂载
(2)开始restore恢复cd /恢复路径 --先cd到要恢复的路径,再一级一级恢复,不能跳级
[root@rootbug quota]# restore -r -f /backup/sda12_0_1.dump
--先恢复0级别全备
[root@rootbug quota]# restore -r -f /backup/sda12_1_4.dump
--因为做了累计增量备份,所以直接恢复累计增量的备份文件,就把dump1,dump2,dump3恢复回来了
[root@rootbug quota]# restore -r -f /backup/sda12_2_7.dump
--然后直接把4-7的累计增量给恢复回来,dump4,dump5,dump6就恢复回来了
7、dd - convert and copy a file
dd 指定大小地拷贝一个文件,并在拷贝的同时可以进行一些转换
(1)备份mbrdd if=/dev/sda of=/backup/mbr.backup bs=1 count=512
删除mbr
dd if=/dev/zero of=/dev/sda bs=1 count=512
就会发现fdisk -l 看不到分区,一重启系统就启不来了
恢复:dd if=/backup/mbr.backup of=/dev/sda
(2)备份整个硬盘
dd if=/dev/sda of=/dev/sdb
--把/dev/sda的数据备份到/dev/sdb
恢复:dd if=/dev/sdb of=/dev/sda
dd if=/dev/sda of=/backup/full.backup
--把/dev/sda的数据备份成一个文件
恢复:dd if=/backup/full.backup of=/dev/sda
(3)备份软盘
dd if=/dev/fd0 of=/backup/fd0.backup bs=1 count=1440
恢复:dd if=/backup/fd0.backup of=/dev/fd0
(4)从光盘拷贝iso镜像
dd if=/dev/cdrom of=/xxx.iso
(5)从内存里拷贝资料到磁盘
dd if=/dev/mem of=/backup/mem.bin
特殊应用:
(6)销毁磁盘数据
dd if=/dev/urandom of=/dev/sda
--随机数填充磁盘
(7)修复硬盘,当硬盘长时间不使用 dd if=/dev/sda of=/dev/sda8,raw设备(裸设备)或者lvm数据迁移等
(8)备份分区表 dd if=/dev/sda of=/backup/partition.bak bs=1 count=64 skip=446
(9)删除分区表 dd if=/dev/zero of=/dev/sda bs=1 count=64 seek=446
(10)恢复分区表 dd if=/backup/partition.bak of=/dev/sda bs=1 count=64 seek=446
Linux dump命令参数及用法详解-Linux备份文件命令:http://www.linuxdiyf.com/linux/3643.html
使用dump restore方式快速备份恢复FreeBSD系统:http://www.linuxdiyf.com/linux/2598.html
Linux服务器备份工具(tar,cpio,dump):http://www.linuxdiyf.com/linux/10260.html