CentOS脚本 备份数据库 – 自动化MySQL/MariaDB数据保护方案

CentOS脚本实现数据库自动化备份指南

准备工作

确认系统已安装mysql/mariadb-clientcron服务。执行以下命令验证:

which mysqldump
systemctl status crond

创建备份脚本

新建/opt/db_backup.sh文件并添加可执行权限:

#!/bin/bash
# 定义备份参数
BACKUP_DIR="/data/backups/mysql"
DB_USER="backup_user"
DB_PASSWORD="secure_password"
DB_NAME="your_database"
DATE_STAMP=$(date +%Y%m%d_%H%M%S)

# 创建备份目录
mkdir -p ${BACKUP_DIR}/${DATE_STAMP}

# 执行数据库备份
mysqldump -u${DB_USER} -p${DB_PASSWORD} ${DB_NAME} | gzip > ${BACKUP_DIR}/${DATE_STAMP}/${DB_NAME}_${DATE_STAMP}.sql.gz

# 记录日志与错误处理
if [ $? -eq 0 ]; then
    echo "[SUCCESS] ${DATE_STAMP} 备份成功" >> ${BACKUP_DIR}/backup.log
else
    echo "[ERROR] ${DATE_STAMP} 备份失败" >> ${BACKUP_DIR}/backup.log
    exit 1
fi

# 清理30天前备份
find ${BACKUP_DIR} -type d -mtime +30 -exec rm -rf {} ;

配置定时任务

通过crontab -e添加每日凌晨执行计划:

0 2 * * * /bin/bash /opt/db_backup.sh >/dev/null 2>&1

安全强化建议

  • 使用chmod 600保护包含密码的脚本文件
  • my.cnf配置文件中设置[client]段存储凭证
  • 建议使用openssl对备份文件加密
  • 配置异地备份存储策略(AWS S3/OSS/NFS)

备份验证方法

  1. 检查backup.log确认执行状态
  2. 使用zcat命令预览压缩包内容
  3. 通过mysql -e "SHOW DATABASES"验证数据完整性

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END