LINUX下的自动备份对数据的安全很重要,当如何做到自动备份,之保留最近几天的数据呢?下面以布衣分类生活网www.yes81.net为例子来进行测试,网站的论坛大家上传提交的附件、布衣生活网站的主系统上传的附件以及数据库是必须进行备份的一个重要数据。
该服务器采用阵列双硬盘,因此硬盘崩溃丢失数据是不担心的,主要是担心因系统出现问题或者误操作造成的数据丢失。
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/yes81
本贴的版权属于http://free.yes81.net/yes81/view-1169.html,转载请复制这个地址