码迷,mamicode.com
首页 > 数据库 > 详细

mysql 备份脚本

时间:2018-04-29 15:22:50      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:mysql mysq备份脚本

#!/bin/bash


DBname=用户名         #DB数据库

backup_dir=/data/mysqlbackup/DataBackup #备份目录

dbrootpwd=密码               #DB用户名root密码:

expired_days=7                          #BD备份存储7天


LogFile=$backup_dir/db.log                 #日志文件

DumpFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d_%H).sql   #备份数据库文件

NewFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d_%H).tgz    #新增备份数据库文件

OldFile=$backup_dir/DB_lelaohui_$(date +%Y%m%d --date="$expired_days days ago")*.tgz #旧的备份文件 “7 days ago”意思是7天以前时间  


[ ! -e "$backup_dir" ] && mkdir -p $backup_dir                 #判断备份目录/data/mysqlbackup/DataBackup不存在,那么新建备份目录


if [ -n "`ls $OldFile 2>/dev/null`" ];then  #当串的长度大于0时为真(串非空),查看  2>/dev/null代表不输出错误提示信息。

    /bin/rm -f $OldFile

    echo "[$OldFile] Delete Old File Success" >> $LogFile

else

    echo "[$OldFile] Delete Old Backup File" >> $LogFile

fi


if [ -e "$NewFile" ];then       #如果新文件存在,那么输出日志为那么不能备份

    echo "`date +%Y%m%d_%H`: [$NewFile] The Backup File is exists, Can't Backup" >> $LogFile

else    #否则创建新的备份文件,进入备份路径,压缩新增备份数据库文件.tgz,删除备份的.sql文件。

    /usr/bin/mysqldump -uroot -p$dbrootpwd -h10.66.126.90 --opt --databases dinner llh llh_bomb  > $DumpFile 

    cd $backup_dir                           

    tar czf $NewFile ${DumpFile##*/} >> $LogFile 2>&1            #${file##*/}:删掉最后一个/  及其左边的字符串:my.file.txt   压缩新备份数据库,并删除.sql数据库

    echo "`date +%Y%m%d_%H`: [$NewFile] Backup success ">> $LogFile      #追加打印备份成功的日志

    /bin/rm -f $DumpFile 

fi


mysql 备份脚本

标签:mysql mysq备份脚本

原文地址:http://blog.51cto.com/guoshaoliang789/2109070

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!