• 欢迎访问春风博客

Linux mysql数据库每天0点自动备份

运维笔记 xiaogang 2年前 (2020-07-16) 1940次浏览 0个评论

通过定时任务实现每天0点整备份数据,并保存最近30天的备份,过期自动删除。

第一步新建 my_dump.cnf 配置文件

my_dump.cnf配置文件用于储存数据库账号密码,在此以root为例,内容如下

[mysqldump]
#备份用户
user=root
#备份用户密码
password=root

第二部新建脚本文件

内容如下:

#!/bin/bash
DB_NAME='demo1' #要备份的数据库
BACKUP_DIR='/data/backup/mysqldata/' # 备份保存目录
CURRENT_TIME=`date +%Y%m%d%H%M`
FILEPATH=$BACKUP_DIR$DB_NAME'_'$CURRENT_TIME'.sql.gz'
echo '开始导出数据库...'
#defaults-extra-file=/root/my_dump.cnf 第一步的配置文件路径
mysqldump --defaults-extra-file=/root/my_dump.cnf $DB_NAME | gzip > $FILEPATH
#删除30天前的配置文件
find ${BACKUP_DIR} -mtime +30 -name "${DB_NAME}_*.sql.gz" -exec rm -f {} \;
echo '导出成功,文件名为: '$FILEPATH

第三步添加定时任务

执行命令:crontab -e

写入以下内容:

0 0 * * *       /data/crontab/database_backup.sh #每天0点0分备份数据库

至此数据库自动备份已配置完成!

注意事项

确认cron任务是启动状态,以Centos7 为例 输入 systemctl status crond 显示绿色状态

输入crontab -l  确认你输入的内容已保存


ChunBlog.Com , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux mysql数据库每天0点自动备份
喜欢 (46)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址