当前位置 主页 > 技术大全 >

    Shell脚本备份数据库代码
    shell脚本备份数据库代码

    栏目:技术大全 时间:2025-08-27 01:21

    在日常运维工作中,数据库备份是确保数据安全的重要环节。通过编写Shell脚本,我们可以实现自动化备份,提高工作效率并减少人为错误。

    #!/bin/bash
    
    # 数据库配置
    DB_HOST="localhost"
    DB_USER="root"
    DB_PASS="your_password"
    DB_NAME="your_database"
    
    # 备份目录配置
    BACKUP_DIR="/backup/mysql"
    DATE=$(date +%Y%m%d_%H%M%S)
    BACKUP_FILE="$BACKUP_DIR/${DB_NAME}_$DATE.sql"
    
    # 创建备份目录
    mkdir -p $BACKUP_DIR
    
    # 执行备份命令
    mysqldump -h $DB_HOST -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_FILE
    
    # 检查备份是否成功
    if 【 $? -eq 0 】; then
        echo "数据库备份成功: $BACKUP_FILE"
        
        # 删除7天前的备份文件
        find $BACKUP_DIR -name "*.sql" -mtime +7 -exec rm {} \;
    else
        echo "数据库备份失败"
        exit 1
    fi
    

    这个脚本实现了以下功能:

    • 设置数据库连接参数和备份路径
    • 使用mysqldump命令执行数据库备份
    • 自动清理7天前的历史备份文件
    • 提供备份成功/失败的提示信息

    建议将脚本设置为定时任务,例如通过crontab每天自动执行:

    # 每天凌晨2点执行备份
    0 2 * * * /path/to/your/backup_script.sh
    

    通过这种方式,我们可以确保数据库得到定期备份,同时在备份文件过多时自动清理旧文件,既保证了数据安全又节省了存储空间。

1分钟搞定MySQL部署!Docker最强实操指南,含所有常用命令和配置
忘记MySQL密码怎么办?别慌!用这一招跳过验证,轻松重置管理员权限
MySQL自增主键用完怎么办?从原理到实战,全面破解开发中的高频难题
MySQL权限混乱?这几个命令让你彻底理清用户清单与权限归属
你的数据库安全吗?读懂MySQL这几种日志,关键时刻能「救你一命」
MySQL性能上不去?八成是这里没配好!手把手教你搞定my.cnf核心配置
修改MySQL字段长度别乱来!这3个核心要点和1个致命陷阱,新手必看
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
你的MySQL数据库为什么总是又慢又卡?掌握这五大优化法则,查询速度快十倍!(上篇)
你的MySQL数据库为什么总是又慢又卡?掌握这五大优化法则,查询速度快十倍!(下篇)