• mysql实现自动备份数据库


    1、新建.sh文件,内容是

    # encoding: utf-8
    #配置参数  
    USER=root #数据库用户名  
    PASSWORD=123456 #数据库用户密码 
    DATABASE=cnm #数据库名称  
    WEBMASTER="xingyunyy@qq.com" #管理员邮箱地址,用以发送备份失败消息提醒
    BACKUP_DIR=/home/HuiLife_Backup #备份文件存储路径
    LOGFILE=/home/HuiLife_Backup/backup.log  #日志文件路径 
    DATE=`date +"%Y%m%d-%H%M"` #日期格式(作为文件名) 
    
    FILENAME=$DATABASE$DATE.gz #压缩文件名
    OPTIONS="-u$USER  -p$PASSWORD cnm | gzip "
    #mysqldump 参数 详情见帮助  mysqldump -help
     
    #判断备份文件存储目录是否存在,否则创建该目录 
    if [ ! -d $BACKUP_DIR ]; then
        mkdir -p "$BACKUP_DIR"
    fi
     
    #开始备份之前,将备份信息头写入日记文件 
    echo "———————————————–" >> $LOGFILE
    echo "BACKUP DATE:" $(date +"%y-%m-%d %H:%M:%S") >> $LOGFILE
    
     
    #切换至备份目录 
    cd $BACKUP_DIR
     
    #使用mysqldump 命令备份制定数据库,并以格式化的时间戳命名备份文件
    mysqldump -u$USER -p$PASSWORD  $DATABASE | gzip > $BACKUP_DIR/$FILENAME
     
    #判断数据库备份是否成功 
    if [[ $? == 0 ]]; then
        #输入备份成功的消息到日记文件 
        echo "[$BACKUP_DIR/$DATABASE$FILENAME] Backup Successful!" >> $LOGFILE
    else
        echo "Database Backup Fail!" >> $LOGFILE
        #备份失败后向网站管理者发送邮件提醒,需要mailutils或者类似终端下发送邮件工具的支持
        #如果需要发邮件,且mail配置好了,就去掉下面的注释
        echo "数据库备份错误,请及时检查!时间:"`date +"%Y年%m月%d日  %H点%M分"` | mail -s "Database DATABASE Daily Backup Fail" $WEBMASTER
    fi
     
    #输出备份过程结束的提醒消息
    echo "Backup Process Done"

    核心内容是:

    filename=`date +%Y%m%d`
    /usr/bin/mysqldump -u root -proot cnm | gzip > /root/HuiLife_Backup/cnm$filename.gz

     (1)邮件提醒功能依赖sendmail

    2、辅助执行权限并测试

    chmod +x autobackup
    ./autobackup

    3、实现自动备份

     要求安装Cron服务(定时任务管理服务器)

     vi /etc/crontab

    最后加入:(每天18:45执行)

    45 18 * * * root  /root/autobackup

    Done!

  • 相关阅读:
    HDU 4512 吉哥系列故事——完美队形I (LCIS)
    HDU 4506 小明系列故事——师兄帮帮忙
    SDUT Greatest Number
    HDU 4545 魔法串
    HDU 4546 比赛难度 (优先队列 * * )
    Android布局学习
    K9mail编译
    没有小的项目
    dxDBTreeView自动删除数据问题
    SQL Server查看表空间占用情况
  • 原文地址:https://www.cnblogs.com/xingyyy/p/3948006.html
Copyright © 2020-2023  润新知