MySQL 数据库备份脚本


#!/bin/bash  

    #Shell Command For Backup MySQL Database Everyday Automatically By Crontab  

    #time 2015-5-20 

     #name huxianglin 

    USER=root 

    PASSWORD=xxxxxxxx 

    DATABASE1=zblog 

    DATABASE2=zabbix 

    BACKUP_DIR=/data/backup/database/  #备份数据库文件的路径 

    LOGFILE=/data/backup/database/data_backup.log    #备份数据库脚本的日志文件 

    DATE=`date +%Y%m%d-%H%M -d -3minute`     #获取当前系统时间-3分钟 

    DUMPFILE1=$DATE-zblog.sql                #需要备份的数据库名称 

    DUMPFILE2=$DATE-zabbix.sql 

    ARCHIVE1=$DUMPFILE1-tar.gz                #备份的数据库压缩后的名称 

    ARCHIVE2=$DUMPFILE2-tar.gz 


    if [ ! -d $BACKUP_DIR ];                 #判断备份路径是否存在,若不存在则创建该路径 

    then  

    mkdir -p "$BACKUP_DIR" 

    fi  


    echo -e "\n" >> $LOGFILE   

    echo "------------------------------------" >> $LOGFILE  

    echo "BACKUP DATE:$DATE">> $LOGFILE  

    echo "------------------------------------" >> $LOGFILE  


    cd $BACKUP_DIR                           #跳到备份路径下 

    /usr/local/mysql/bin/mysqldump -u$USER -p$PASSWORD $DATABASE1 > $DUMPFILE1    #使用mysqldump备份数据库 

    if [[ $? == 0 ]]; then 

    tar czvf $ARCHIVE1 $DUMPFILE1 >> $LOGFILE 2>&1                               #判断是否备份成功,若备份成功,则压缩备份数据库,否则将错误日志写入日志文件中去。 

    echo "$ARCHIVE1 BACKUP SUCCESSFUL!" >> $LOGFILE  

    rm -f $DUMPFILE1 

    else  

    echo “$ARCHIVE1 Backup Fail!” >> $LOGFILE  

    fi 

    /usr/local/mysql/bin/mysqldump -u$USER -p$PASSWORD $DATABASE2 > $DUMPFILE2 

    if [[ $? == 0 ]]; then 

    tar czvf $ARCHIVE2 $DUMPFILE2 >> $LOGFILE 2>&1 

    echo "$ARCHIVE2 BACKUP SUCCESSFUL!" >> $LOGFILE 

    rm -f $DUMPFILE2 

    else 

    echo “$ARCHIVE2 Backup Fail!” >> $LOGFILE 

    fi 


标签: shell

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:Nginx+php+fastcgi的原理与关系
下一篇:修改系统内核脚本

发表评论

阿里云2021年 618 年中钜惠活动