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

白芸资源网公益广告

Linux mysql数据库每天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  确认你输入的内容已保存


    © 版权声明
    THE END
    本站一切内容不代表本站立场
    赞赏 分享