mysql定时备份和删除
时间:2015-01-19 18:32 来源:linux.it.net.cn 作者:IT
-
<span style="font-size:18px;">#!/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;</span>
-
(责任编辑:IT)
(责任编辑:IT) |