您的位置:首页 > 数据库 > MySQL

mysql自动备份脚本

2016-04-23 21:29 435 查看
#数据库参数
user="root"
password="passwoed"
database="spider"
#相关目录,自动管理备份文件及日志
bak_dir="/home/mysql"
log_dir=${bak_dir}"/log"
today=$(date +%Y%m%d)
del_date=$(date -d -5day +%Y%m%d)
bakfile=${database}-${today}.sql
tarfile=${bakfile}.tgz
delfile=${database}-${del_date}.sql.tgz
logfile=${log_dir}/${database}-${today}.log
del_log=${log_dir}/${database}-${del_date}.log

#切换至备份目录
cd /
cd ${bak_dir}
echo $(date) >>${logfile}
echo "-----------------------------------------------" >>${logfile}
#删除五天前的备份文件
if [  -f "${delfile}" ]; then
rm -f ${delfile}
echo "rm ${delfile}" >> ${logfile}
fi
if [  -f "${del_log}" ]; then
rm -f ${del_log}
echo "rm ${del_log}" >> ${logfile}
fi
#使用mysqldump 命令备份指定数据库
mysqldump -u ${user} -p${password} --databases ${database}>${bak_dir}/${bakfile}
#判断数据库备份是否成功
if [[ $? == 0 ]]; then
#创建备份文件的压缩包
tar czvf ${tarfile} ${bakfile} >> ${logfile} 2>&1
echo "Backup Successful!" >> ${logfile}
#删除原始备份文件,只需保 留数据库备份文件的压缩包即可
rm -f ${bakfile}
else
echo "Database Backup Fail!" >> ${logfile}
fi
echo "-----------------------------------------------" >>${logfile}
echo $(date) >>${logfile}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: