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

MySQL自动备份

时间:2018-01-27 00:32:16      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:执行   .sh   data   tail   cms   acm   exist   查看   任务   

1、创建自动备份目录与脚本

# mkdir /data/MySQLbackup/

# vi backdb.sh

加入以下脚本内容

#!/bin/bash
/usr/local/mysql/bin/mysqldump -uacm -pacm123 acmdb > /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql
tar czvf /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql.tar.gz /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql
sh checkexist.sh
mv /data/MySQLbackup/acmdb_$(date +%Y%m%d_%H%M%S).sql.tar.gz /data/MySQLbackup/$(date +%Y%m%d)/

第一行,注意mysqldump 指令不在root目录下,所以要给mysqldump 指令加上绝对路径。方便后续创建定时任务会找到改指令。

第二行,将导出到本地的sql脚本打包压缩,如果不压缩也可以,处于自己选择。

第三行,引入一个检查脚本,下面列出。

第四行,将未压缩的原始脚本删除。

注意为backdb.sh添加执行权限

2、添加检查脚本 

# chmod u+x backdb.sh

# vi checkexist.sh

#!/bin/bash
dire="/data/MySQLbackup/$(date +%Y%m%d)"
if [ -d "$dire" ]; then
echo "文件夹$(date +%Y%m%d)已存在,不再创建"
rm -rf /data/MySQLbackup/acmdb*.sql
else
mkdir /data/MySQLbackup/$(date +%Y%m%d)
fi

3、加入定时任务

# crontab -e

进入编辑操作,添加一下脚本的绝对路径,每分钟执行一次。

*/1 * * * * /data/MySQLbackup/acmsh/backdb.sh

查看定时任务

# crontab -l 

可以追踪/var/log/cron日志查看定时任务执行情况。

# tail -f /var/log/cron 

MySQL自动备份

标签:执行   .sh   data   tail   cms   acm   exist   查看   任务   

原文地址:https://www.cnblogs.com/yanglw/p/8361763.html

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