码迷,mamicode.com
首页 > 数据库 > 详细

centos下mysql自动备份

时间:2017-02-06 13:09:03      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:bin   use   delete   ash   back   art   database   重启   direct   

#!/bin/bash
db_user="root"
db_passwd="123456"
db_name="test_db"
#进入备份目录将之前的移动到old目录
cd /mnt/backup/bakmysql
echo "you are in bakmysql directory now"
mv test_db* /mnt/backup/bakmysqlold
echo "Old databases are moved to bakmysqlold folder"
#备份目录
backup_dir="/mnt/backup/bakmysql"
#时间格式
time=$(date +"%Y-%m-%d")
#mysql 备份的命令,注意有空格和没有空格
mysqldump -u$db_user -p$db_passwd $db_name  > "$backup_dir/$db_name"-"$time.sql"
echo "your database backup successfully completed"
#这里将7天之前的备份文件删掉
SevenDays=$(date -d -7day  +"%Y-%m-%d")
if [ -f /mnt/backup/bakmysqlold/pashanhu-$SevenDays.sql ]
then
rm -rf /mnt/backup/bakmysqlold/pashanhu-$SevenDays.sql
echo "you have delete 7days ago bak sql file "
else
echo "7days ago bak sql file not exist "
echo "bash complete"
fi

然后通过下面命令将脚步加入系统的计划任务

crontab -e

0 0 * * * ./usr/sbin/bakmysql.sh

保存退出以后就可以了。

也许需要重启crontab  启用命令:/sbin/service crond restart

centos下mysql自动备份

标签:bin   use   delete   ash   back   art   database   重启   direct   

原文地址:http://www.cnblogs.com/ciscoo/p/6369721.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!