首页 > 数据库技术 > 详细

利用mysqldump 与 nginx定时器 定时备份mysql库

时间:2019-10-14 15:23:42      阅读:82      评论:0      收藏:0      [点我收藏+]

1.安装mysqldump(如果备份远程mysql库,本地不用安装mysql 也可以单独使用)

yum -y install holland-mysqldump.noarch

2.编写备份脚本

首先这里我还是进入到/usr/local/shell 目录下编写脚本

vi mysql_backup.sh

#!/bin/bash
#备份文件存储的目录
BACKUP_DIR=/data/backup/mysql
 
#以执行的日期作为文件名,以防文件名重复覆盖
DATE=$(date +%Y_%m_%d)
 
#连接mysql用户名、密码、IP、数据库名,请根据自己的自行修改
#用户名
MYSQL_USER=root
 
#密码
MYSQL_PWD=123qweASD.
 
#因为我这是本地备份,就使用localhost
HOST=localohost
 
#使用的数据库
DATABASE=backup_test
 
echo "mysql backup start $DATE"
#判断一下如果备份的目录不存在,就创建该目录,两种写法都行,目前我把两种方式都列出了,想尝试方式二的把注释放掉即可
#方式一:
if [ ! -d $BACKUP_DIR/$DATE ]
then mkdir -p $BACKUP_DIR/$DATE
fi
#方式二
#[ ! -d $BACKUP_DIR/$DATE ] && mkdir -p $BACKUP_DIR/$DATE
 
#执行mysql备份数据库指令   其实最好将此文件进行压缩打包,这里简单保存为一个sql文件
mysqldump -u$MYSQL_USER -p$MYSQL_PWD --host=$HOST $DATABASE > $BACKUP_DIR/$DATE/$DATE.sql
 
#删除5天前的老的备份
find $BACKUP_DIR -mtime +5 -name "*.sql" -exec rm -rf {} \;
 
#解释上面这行命令的含义:
#find 是找到命令,找到变量BACKUP_DIR目录下 时间(-mtime) 5天前(+5) ,名字是(-name) 以.sql结尾的("*.sql")
#如果找到了的话(-exec),就执行后面的命令,rm -rf 删除 , {} \ 就是找到的内容。

3.设置定时器

给.sh文件赋予执行权限

chmod +x ./mysql_backup.sh

开始设置定时器

crontab -e

编写定时任务  每天凌晨2点备份

* 2 * * * /usr/local/shell/mysql_backup.sh

 

利用mysqldump 与 nginx定时器 定时备份mysql库

原文:https://www.cnblogs.com/houss/p/11671599.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!