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

mysql自动备份

时间:2018-12-20 15:41:41      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:user   mys   nta   bin   $2   for   目录   host   default   

配置crontab实现自动备份

crontab -e root
* * 6 * * sh /data/backup/mysql_backup.sh >>/data/backup/backup.log 2>&1
#!/bin/bash
DBusername=root         #数据库用户名
DBpasswd=123             #数据库密码
DBname=test                #数据库名
Host=192.168.1.2         #ip地址,本地可用localhost
Port=3306                     #数据库端口
BKdir=/data/backup      #备份存放的目录
 BKtime=`date +%Y%m%d`    #系统当前时间

#开始备份
mysqldump -h ${Host} -P${Port} -u${DBusername} -p${DBpasswd} ${DBname} --default-character-set=utf8 --hex-blob -r ${BKdir}/${DBname}-${BKtime}.sql

#截取所有备份文件的时间
time1=`ls $BKdir/${DBname}*.sql |awk -F- ‘{print $2}‘|awk -F. ‘{print $1}‘`
#删除30天以前的备份文件
for time in ${time1}
do
time2=$(($(date +%s) - $(date +%s -d ${time})));
day=$((time2/60/60/24))
if [[ ${day} > 30 ]]
then
    rm -f ${BKdir}/${DBname}-${time}.sql
fi
done

mysql自动备份

标签:user   mys   nta   bin   $2   for   目录   host   default   

原文地址:http://blog.51cto.com/quliren/2333407

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