当前位置:操作系统 > Unix/Linux >>

如何使用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

  

上一个:如何在inputrc中定义多重热键
下一个:Linux2.6对新型CPU快速系统调用的支持

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,