通过定时任务实现每天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