mysql备份策略(包括mysql备份脚本,crontab定时任务的完整备份策略)
1. 策略
- 要备份的库
iot 和 analytics 库
- 每日备份
每天23:00备份一次
- 每小时临时备份
每个小时临时备份一次,每天凌晨删除一天之前的备份
2. 操作
2.1 文件准备
data
目录下准备mysql_dump
目录,用于备份data/mysql_dump
目录下 创建hour_tmp
目录存放每日临时备份文件data/mysql_dump
目录下 创建mysql_dump.sh
脚本(备份脚本)
2.2 备份脚本
#!/bin/bash #####定义变量####### date_now=`date +%Y%m%d%H%M` dump_dir=$1 mysql_user="root" mysql_ip="127.0.0.1" mysql_port=3306 mysql_passwd="liubei@161" ####### 定义要备份库库 ################# #要备份的库名一行一个 back_dbs=( iot analytics ) #######开始备份########## cd ${dump_dir} ### 备份各库## for back_db in ${back_dbs[@]}; do mysqldump -h${mysql_ip} -P${mysql_port} -u${mysql_user} -p${mysql_passwd} -l -F ${back_db} > ./${back_db}.sql tar czf ${back_db}-${date_now}.tar.gz ${back_db}.sql --remove-files done
2.3 定时任务
策略:
1)每日备份到/data/mysql_dump
,保留15天
2)每小时备份到/data/mysql_dump/hour_tmp
,每天凌晨清空
########################### # mysql备份相关 # ########################### #每小时临时备份 30 * * * * /bin/bash /data/mysql_dump/mysql_dump.sh /data/mysql_dump/hour_tmp > /dev/null 2&>1 #每日备份 00 23 * * * /bin/bash /data/mysql_dump/mysql_dump.sh /data/mysql_dump > /dev/null 2&>1 #每天删除按小时临时备份的文件 10 01 * * * /bin/find /data/mysql_dump/hour_tmp -name \*.tar.gz -mtime +1| xargs -I {} rm -rf {} #保留15天备份 05 01 * * * /bin/find /data/mysql_dump -maxdepth 1 -name \*.tar.gz -mtime +15| xargs -I {} rm -rf {}
分类:
常用服务 / mysql
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了