当前位置: 首页 > news >正文

Linux服务器中Mysql定时备份(清理)数据库

1、查看 crond 服务是否运行

systemctl status crond

如果没有运行,则需要启动并且设置成开机自启

systemctl start crond
systemctl enable crond

2、编写Mysql备份脚本

创建脚本文件db_backup.sh

> 我的脚本执行的内容是备份数据库为压缩文件的同时,删除大于7天的数据库文件。

#!/bin/bash# ========= 配置项 =========
DB_HOST="localhost"
DB_PORT="3306"
DB_USER="数据库账号"
DB_PASS="数据库密码"  
DB_NAME="数据库名称"# ========= 路径 =========
BACKUP_DIR="/opt/backups/mysql"
LOG_FILE="/opt/backups/backup.log"# 创建备份目录(如果不存在)
mkdir -p "$BACKUP_DIR"# 当前时间
NOW=$(date +"%F_%H:%M:%S")# 备份文件名
BACKUP_FILE="${DB_NAME}_${NOW}.sql"
BACKUP_PATH="${BACKUP_DIR}/${BACKUP_FILE}"# ========= 执行备份 =========
echo "[${NOW}] 开始备份数据库: ${DB_NAME}" >> "$LOG_FILE"mysqldump -h "$DB_HOST" -P "$DB_PORT" -u "$DB_USER" -p"$DB_PASS" --databases "$DB_NAME" > "$BACKUP_PATH"# ========= 执行压缩 =========
if [ $? -eq 0 ]; then# 压缩文件gzip "$BACKUP_PATH"echo "[${NOW}] 备份成功: ${BACKUP_FILE}.gz" >> "$LOG_FILE"
elseecho "[${NOW}] 备份失败 for ${DB_NAME}" >> "$LOG_FILE"exit 1
fi# ========= 删除7天前的旧备份 =========
find "$BACKUP_DIR" -type f -name "*.sql.gz" -mtime +7 -exec rm -f {} \;
echo "[${NOW}] 已经自动清除大于7天的备份文件" >> "$LOG_FILE"

3、编辑定时任务

使用 crontab -e 打开当前用户的任务配置

crontab -e

我的业务是每天晚上的11点执行该Mysql备份脚本

0 23 * * * /opt/scripts/db_backup.sh

tips:如果想马上看到效果可以立刻执行或者设置成每一分钟执行一次

#立刻执行,在当前文件夹下

./db_backup.sh

#每一分钟执行一次的crond表达式 * * * *

* * * * * /opt/scripts/db_backup.sh

效果:

4、查看定时任务列表

crontab -l

效果:

5、查看日志确认定时任务是否执行

cat /var/log/cron

6、效果

数据库备份压缩文件:

数据库备份日志:


文章转载自:

http://NPFuVYCU.qngcq.cn
http://Eb0nha7t.qngcq.cn
http://ItwuaNE5.qngcq.cn
http://qA5rGDLx.qngcq.cn
http://e7YEEyp0.qngcq.cn
http://Sz55Oz5F.qngcq.cn
http://outXSph1.qngcq.cn
http://7ZAHedUo.qngcq.cn
http://7RyWABhm.qngcq.cn
http://R3Gjv07K.qngcq.cn
http://OsNB3Th6.qngcq.cn
http://fqxcfR0H.qngcq.cn
http://j24vhv67.qngcq.cn
http://4FeboBN6.qngcq.cn
http://390ARXtt.qngcq.cn
http://WtAkDBLh.qngcq.cn
http://2VeArQ5g.qngcq.cn
http://A42mlqR1.qngcq.cn
http://OXcP7FFG.qngcq.cn
http://mcaKy8IM.qngcq.cn
http://FnkhYFd4.qngcq.cn
http://pirC2dPP.qngcq.cn
http://cMNrvGYg.qngcq.cn
http://GutW39Kl.qngcq.cn
http://klpOvyqj.qngcq.cn
http://eGNI7ySc.qngcq.cn
http://fObiVgTR.qngcq.cn
http://QCnx42Jw.qngcq.cn
http://jM02vg38.qngcq.cn
http://HJJwmz5m.qngcq.cn
http://www.dtcms.com/a/386685.html

相关文章:

  • 物联网智能网关配置教程:实现注塑机数据经基恩士PLC上传至云平台
  • 搭建第一个Spring Boot项目
  • MyBatis 注解操作
  • InternVL3.5 开源:革新多模态架构,重塑感知与推理的边界​
  • 新手教程—LabelImg标注工具使用与YOLO格式转换及数据集划分教程
  • C++奇异递归模板模式(CRTP)
  • 国产数据库地区分布,北京一骑绝尘
  • 超表面赋能结构光三维重建 | 实现超大视场高精度实时重建
  • 在Oracle\PG\GaussDB库中实现用户甲在其它用户的SCHEMA中创建表的方法及所属属主的差异
  • TDengine IDMP 基本功能——数据可视化
  • SpringMVC静态资源与Servlet容器指南
  • 安卓实现miniLzo压缩算法
  • [deepseek]LNK2001错误即单独编译汇编并链接
  • Interview X,新一代面试工具
  • Oracle sql tuning guide 翻译 Part 6 --- 优化器控制
  • Git 原理与使用
  • 什么是向量数据库
  • 利用postgres_proto和pgproto测试postgres协议访问duckdb
  • 拼多多-----anti_content逆向分析
  • 【一文了解】Unity的协程(Coroutine)与线程(Thread)
  • 贪心算法在网络入侵检测(NID)中的应用
  • 数据搬家后如何处理旧 iPhone
  • [react native招聘]
  • IDE工具RAD Studio 13 Florence重磅发布:64 位 IDE + AI 组件全面升级!
  • session存储
  • Another Redis Desktop Manager 的 SCAN 使用问题与风险分析
  • MATLAB绘制一个新颖的混沌图像(新四翼混沌系统)
  • AI起名工具
  • typeScript 装饰器
  • 【算法磨剑:用 C++ 思考的艺术・单源最短路进阶】Bellman-Ford 与 SPFA 算法模板精讲,突破负权边场景