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

时间:2008-07-21

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

本贴的版权属于,转载请复制这个地址

相关文章

标签:

A5创业网 版权所有