mysql定时备份和删除

来源:互联网 发布:网络文件共享平台 编辑:程序博客网 时间:2024/05/02 06:10

             随着官网和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/mysqlMYSQLDUMP=/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 homedo$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 0doif(test -d "$backup_dir"/backup."$int")thennext_int=`expr $int + 1`mv "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"fidoneexit 0;