关于在linux系统进行增量备份的方法
1. dump/restore 进行增量备份 注意,这种方法只能进行整个分区备份

# mount /dev/sdb1 /mnt/sdb   新建一个硬盘将其挂载到/mnt/sdb
 # ls /mnt/sdb
123  456  aaa.zip  f1
里面有4个文件 f1为目录

现在可以备份原始镜像

#dump -0u /dev/sdb1 -f /backup/sdb1_0u_110210.dump
  DUMP: Date of this level 0 dump: Thu Feb 10 23:21:40 2011
  DUMP: Dumping /dev/sdb1 (/mnt/sdb) to /backup/sdb_0u_110210.dump
  DUMP: Label: none
.....中间省略
  DUMP: Average transfer rate: 5687 kB/s
  DUMP: DUMP IS DONE
备份完成

dump -0u  :    0代表镜像备份(完整备份)        1-9 分别代表在前一个级别基础上的增量备份

下面进行增量备份:
首先 将123那个文件删除,新增一个文件kkk 并输入hello man!

[root@mysql1 sdb]# ls
456  aaa.zip  f1  kkk 
开始增量备份:
[root@mysql1 sdb]# dump -1u /dev/sdb1  -f /backup/sdb1_1u_110210.dump
  DUMP: Average transfer rate: 0 kB/s
  DUMP: DUMP IS DONE
现在/backup下有两个备份了。

[root@mysql1 sdb]# ls /backup
sdb1_0u_110210.dump  sdb1_1u_110210.dump

为了更好了解我们在增加一个备份,备份之前我们再改变以下分区里面的文件
修改 456 内容为456 modifiy    删除aaa.zip
[root@mysql1 sdb]# ls
456  f1  kkk

备份第二个增量,这里用3u 只要比前面大就可以了,建议备份都用2u 4u 6u 这样备份,不然你所有数字都用上,123456 如果想重新再2u的基础上再备份就不行了,因为3已经用了,你只能在6后面备份
[root@mysql1 sdb]# dump -3u /dev/sdb1  -f /backup/sdb1_3u_110210.dump

备份完毕 就删除里面的所有记录
然后现在开始恢复
[root@mysql1 sdb]# restore -r -f /backup/sdb1_0u_110210.dump   先恢复0u
[root@mysql1 sdb]# ls
123  456  aaa.zip  f1  restoresymtable
这时候把第一备份都还原出来了,然后一个一个还原
# restore -r -f /backup/sdb1_1u_110210.dump
# restore -r -f /backup/sdb1_3u_110210.dump
# ls
456  f1  kkk  restoresymtable
和最后一次备份一样了

查看备份镜像里面的内容
# restore -t -f /backup/sdb1_1u_110210.dump
Dump   date: Thu Feb 10 23:28:38 2011
Dumped from: Thu Feb 10 23:21:40 2011
Level 1 dump of /mnt/sdb on mysql1.dog.com:/dev/sdb1
Label: none
         2      .
        16      ./kkk

提取镜像里的文件
[root@mysql1 sdb]# restore -if /backup/sdb1_3u_110210.dump
restore > ls
.:
3                f1/              lost+found/      restoresymtable
456              kkk              newfile

restore > add kkk
restore > extract
You have not read any volumes yet.
Unless you know which volume your file(s) are on you should start
with the last volume and work towards the first.
Specify next volume # (none if no more volumes): 1
set owner/mode for '.'? [yn] n
restore > quit

关于定期备份的方案:
先做一个完整的备份
#dump -0u /dev/sdb1 -f /backup/sdb1_0u_110210.dump
周一:#dump -2u /dev/sdb1 -f /backup/sdb1_1u_110210.dump
周二:
#dump -2u /dev/sdb1 -f /backup/sdb1_2u_110210.dump
周三:#dump -2u /dev/sdb1 -f /backup/sdb1_3u_110210.dump
。。。。。

--------------------------------------------------------------------------------------------------------------------
下面这方法比较灵活,直接用tar备份

 # cd /test/t1
# ls
aaa.zip  file1  file2  file3
有三个文件
首先执行完整备份
# tar -g snapshot -zcf backupp_full.tar.gz /test/t1
然后修改文件,增加一个文件
进行增量备份:
# tar -g snapshot -zcf backupp_incremental_1.tar.gz /test/t1
修改
再次增量备份
# tar -g snapshot -zcf backupp_incremental_2.tar.gz /test/t1

还原
tar zxf backup_full.tar.gz -C /
tar zxf backup_incremental_1.tar.gz -C /
tar zxf backup_incremental_2.tar.gz -C /
注意,修改的文件以后面增量备份为准,删除的文件这个种备份方法是不会跟着删除的,恢复的时候之前删除的文件也会恢复

另一种tar 备份 用-u参数进行增量备份,同样删除的文件不会同步

备份资料
tar zcf backup.tar  /test/t1

查看 内容
tar ztf backup.tar
file1 file2 file3

在/test/t1下新增一个文件

增量备份
tar uf backup.tar  /test/t1

还原备份其实就是直接解压
tar zxf backup.tar

 如果你需要压缩增量备份的时候需要先将原来那个解压然后再备份在压缩 (-u 参数不会自动压缩)
gunzip backup.tar.gz
tar uf backup.tar test
gzip backup.tar