Linux体系逐日定时备份mysql数据

[复制链接]
发表于 2025-12-30 03:50:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、创建存储脚本的文件夹
创建文件夹,我的脚本放在/root/dbback/mysql
  1. mkdir ...
复制代码
  1. cd /root/dbback/mysql
复制代码
二、编写脚本
  1. vi backup_mysql.sh
复制代码
复制脚本内容
  1. DB_USER="填写用户名"
  2. DB_PASSWORD="填写密码"
  3. DB_NAME="数据库名称"  # 如果需要备份所有数据库,删除这一行
  4. BACKUP_DIR="/dbback/mysql/backup"  # 备份文件存储的目录,可自定义
  5. DATE=$(date +%F_%H-%M-%S)      # 备份文件的时间戳
  6. # 创建备份目录(如果不存在)
  7. mkdir -p "$BACKUP_DIR"
  8. # 执行备份
  9. if [ -z "$DB_NAME" ]; then
  10.     # 备份所有数据库,此处配置mysqldump所在路径
  11.     /usr/local/mysql/bin/mysqldump -u "$DB_USER" -p"$DB_PASSWORD" --all-databases | gzip > "$BACKUP_DIR/all_databases_$DATE.sql.gz"
  12. else
  13.     # 备份特定数据库,此处配置mysqldump所在路径
  14.    /usr/local/mysql/bin/mysqldump -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" | gzip > "$BACKUP_DIR/$DB_NAME_$DATE.sql.gz"
  15. fi
  16. # 输出备份状态
  17. if [ $? -eq 0 ]; then
  18.     echo "备份成功: $BACKUP_DIR/${DB_NAME:-all_databases}_$DATE.sql.gz"
  19. else
  20.     echo "备份失败"
  21. fi
复制代码
三、设置定时任务实验脚本
设置定时指令
  1. crontab -e
复制代码
复制以下内容:按需调解,我设置的逐日破晓2点
  1. 0 2 * * * /bin/bash /root/dbback/mysql/backup_mysql.sh >> /root/dbback/mysql/backup.log 2>&1
复制代码
四、查察是否添加乐成
  1. crontab -l
复制代码
添加乐成界面

五、自行设置表达式举行测试脚本是否正常实验即可
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表