会员控制台 会员登陆 会员注册 最后更新 高级搜索 会员投稿 退出登陆
设为首页
收藏本站
留言给我
  首页 | 操作系统类 | 程序设计类 | 数据库类 | 应用服务类 | 网络及硬件类 | 其他技术 | GBunix论坛
操作系统类
程序设计类
数据库类
应用服务类
网络及硬件类
其他技术
Unix中文 / 操作系统类 / Linux / Linux 下的差异和增量备份
Linux 下的差异和增量备份
2004-07-15          点击:
Linux 下的差异和增量备份
在redhat Linux 7.2 下运行正常

mybackup.sh
代码:

#!/bin/sh
umount /mnt/bak
mount /dev/sdb1 /mnt/bak

if [ `date +%d` = 01 ] #每月1号进行完全备份
then
bakdir="/mnt/bak/daybak/month/"`date +%m%d`
zl="" #进行完全备份
else
bakdir="/mnt/bak/daybak/"`date +%d`
zl="-N "`date +%Y-%m-01 00:00:01`; #差异备份
#zl="-N "`date -d -1 day +%Y-%m-%d 00:00:01` #日增量备份
fi

tmpbakdir=${bakdir}tmp
rm -rf ${tmpbakdir}
mkdir ${tmpbakdir}
tar "${zl}" -czf ${tmpbakdir}/www.tgz /var/www/html
tar "${zl}" -czf ${tmpbakdir}/etc.tgz /etc
tar "${zl}" -czf ${tmpbakdir}/mysql.tgz /var/lib/mysql
tar "${zl}" -czf ${tmpbakdir}/home.tgz /home
tar "${zl}" -czf ${tmpbakdir}/name.tgz /var/name
rm -rf $bakdir
mv $tmpbakdir $bakdir
umount /mnt/bak


把mybackup.sh 放到 /etc/cron.daly 中即实现可月循环 差异/增量 备份
为方便恢复数据我使用了差异备份,如果想节约空间可以使用日总量备份,不过那样恢复数据时刻就要麻烦点了,另外你也可以很容易把上面的脚本改为周循环

事项增量备份的另外方法是利用find命令,
例如只备份一天前修改过的文件
代码:

find /var/www -type f -mtime -1 -print>/tmp/filelist.txt
tar -cz -T /tmp/filelist.txt -f /mnt/bak/www.tgz

了解更多详情,参与讨论,请进入GBUNIX论坛

http://www.gbunix.com/bbs/index.php
责任编辑: trotter

相关文章
Oracle备份与恢复 - 01-03 10:02 pm - 点击: 10227
Oracle数据库的备份与恢复 - 12-30 11:34 pm - 点击: 1825
Oracle导出备份和导入恢复自动产生sql源代码 - 11-28 06:30 pm - 点击: 2945
用Linux完成Oracle自动物理备份 - 08-10 03:03 pm - 点击: 910
自动备份Oracle数据库 - 07-03 02:25 pm - 点击: 1289
oracle FAQ之备份与恢复 - 06-11 04:02 pm - 点击: 4467

发表评论 查看评论 加入收藏 Email给朋友 打印本文
给该文章评分
1 2 3 4 5 6 7 8 9 10
平均得分 0, 共 0 人评分
1 2 3 4 5 6 7 8 9 10
发表评论
标题:
内容:
声明:本站资讯均来自互联网,所有文章版权归原作者和出版者所有,如涉及版权问题,请来信告知!
Copyright © 2002-2004 GBunix.com. All rights reserved.