当前位置: > Linux编程 >

Linux如何做批处理自动保留几天的备份呢

时间:2014-09-22 13:42来源:linux.it.net.cn 作者:it
LINUX下的自动备份对数据的安全很重要,当如何做到自动备份,之保留最近几天的数据呢?下面以布衣分类生活网www.it.net.cn为例子来进行测试,网站的论坛大家上传提交的附件、布衣生活网站的主系统上传的附件以及数据库是必须进行备份的一个重要数据。 

  该服务器采用阵列双硬盘,因此硬盘崩溃丢失数据是不担心的,主要是担心因系统出现问题或者误操作造成的数据丢失。 

  1、硬盘分区backdata是专门作为备份使用的 

  2、mydata是数据分区,mysql是数据库文件目录;bbs 是论坛的文件目录;yes81是主站yes81.net的文件目录 

  现在我们的目标是完成每天自动备份,并且只保留10天的数据,10天前的数据自动删除 

  为此我们编写了下面的自动备份的批处理文件,并且在crontab排程里面增加了每天早上3点自动执行的任务。 

  -----------------bacpupdata.bat------------------------------------- 

  cd /backdata 

  #----删除10天前的备份 

  date -d -15-day +%Y-%m-%d > dd.txt 

  read dateold < dd.txt 

  rm dd.txt -f 

  rm -rf $dateold 

  date -d -14-day +%Y-%m-%d > dd.txt 

  read dateold < dd.txt 

  rm dd.txt -f 

  rm -rf $dateold 

  date -d -13-day +%Y-%m-%d > dd.txt 

  read dateold < dd.txt 

  rm dd.txt -f 

  rm -rf $dateold 

  date -d -12-day +%Y-%m-%d > dd.txt 

  read dateold < dd.txt 

  rm dd.txt -f 

  rm -rf $dateold 

  date -d -11-day +%Y-%m-%d > dd.txt 

  read dateold < dd.txt 

  rm dd.txt -f 

  rm -rf $dateold 

  date -d -10-day +%Y-%m-%d > dd.txt 

  read dateold < dd.txt 

  rm dd.txt -f 

  rm -rf $dateold 

  #-----新建立当天的文件备份 

  date -d 0-day +%Y-%m-%d > dd.txt 

  read date1 < dd.txt 

  rm dd.txt -f 

  mkdir $date1 

  rar a /backdata/$date1/database$date1.rar /mydata/mysql 

  rar a /backdata/$date1/bbs$date1.rar /mydata/bbs/WEB-INF/lybbs/upload 

  rar a /backdata/$date1/buyi$date1.rar /mydata/itnetcn
(责任编辑:IT)
------分隔线----------------------------