mysql定时备份和删除

             随着官网和bbs逐步全面上线,数据库备份的工作也应该全面展开了,虽然数据量不是很大,但也要重视起来。

         下面是脚本:

#!/bin/bash
#每天备份一次,并删除7天前备份的旧数据

#数据库配置信息
db_user=******
db_passwd=******
db_host=localhost


#备份目录
backup_dir=/home/database/

#获取当前时间
time=`date +%Y%m%d`

#mysql命令
MYSQL=/opt/mysql/bin/mysql
MYSQLDUMP=/opt/mysql/bin/mysqldump

#测试备份目录是否可写,如果不可写就报错退出
test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0

#测试备份目录中最新备份文件夹是否存在,如果不在就创建
test ! -d "$backup_dir/backup.0/" && mkdir "$backup_dir/backup.0"


#制定要备份的数据库
for db in bbs home
do
	$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | gzip -6 > "$backup_dir/backup.0/$db.$time.sql.gz" 
done

#检测最旧的备份数据库是否存在,如果在就删掉
test -d "$backup_dir/backup.7/" && rm -rf "$backup_dir/backup.7"

#循环修改备份数据库目录的编号,记录新旧程度
for int in 6 5 4 3 2 1 0
do
	if(test -d "$backup_dir"/backup."$int")
	then
		next_int=`expr $int + 1`
		mv "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"
	fi
done
exit 0;



你可能感兴趣的:(mysql,数据库,Date,测试,user,bbs)