linux中shell脚本进行MySQL数据库定时备份

萧红SEO SEO爱好者,分享SEO经验~

数据库备份有很多种方法,最常用的一般是数据库自动定时备份了,下面我来介绍在linux中利用shell脚本进行MySQL数据库定时备份方法.

具体方法,代码如下:

  1. #!/bin/bash
  2. #ShellCommandForBackupMySQLDatabaseEverydayAutomaticallyByCrontab
  3. #Author:CarlosWong
  4. #Date:2010-08-24

配置参数,代码如下:

  1. USER=root#数据库用户名">用户名
  2. PASSWORD=×××××#数据库用户密码
  3. DATABASE=TIENIUZAI#数据库名称
  4. WEBMASTER=tieniuzai@qq.com#管理员邮箱地址,用以发送备份失败消息提醒
  5. BACKUP_DIR=/var/www/Data_Backup/topons/#备份文件存储路径
  6. LOGFILE=/var/www/Data_Backup/topons/data_backup.log#日记文件路径
  7. DATE=`date‘+%Y%m%d-%H%M’`#日期格式(作为文件名)
  8. DUMPFILE=$DATE.sql#备份文件名
  9. ARCHIVE=$DATE.sql.tgz#压缩文件名
  10. OPTIONS=”-u$USER-p$PASSWORD–opt–extended-insert=false–triggers=false-R–hex-blob–flush-logs–delete-master-logs-B$DATABASE”#mysqldump参数详情见帮助mysqldump-help

判断备份文件存储目录是否存在,否则创建该目录,代码如下:

  1. if[!-d$BACKUP_DIR];
  2. then
  3. mkdir-p“$BACKUP_DIR”
  4. fi

开始备份之前,将备份信息头写入日记文件,代码如下:

  1. echo””>>$LOGFILE
  2. echo””>>$LOGFILE
  3. echo“———————————————–”>>$LOGFILE
  4. echo“BACKUPDATE:”$(date+”%y-%m-%d%H:%M:%S”)>>$LOGFILE
  5. echo“———————————————–”>>$LOGFILE

切换至备份目录,代码如下:

cd $BACKUP_DIR

使用mysqldump 命令备份制定数据库,并以格式化的时间戳命名备份文件,代码如下:

mysqldump $OPTIONS > $DUMPFILE

判断数据库备份是否成功,代码如下:if [[ $? == 0 ]]; then

创建备份文件的压缩包,代码如下:

tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1

输入备份成功的消息到日记文件,代码如下:

echo “[$ARCHIVE] Backup Successful!” >> $LOGFILE

删除原始备份文件,只需保 留数据库备份文件的压缩包即可,代码如下:

  1. rm-f$DUMPFILE
  2. else
  3. echo“DatabaseBackupFail!”>>$LOGFILE

备份失败后向网站管理者发送邮件提醒,需要mailutils或者类似终端下发送邮件工具的支持,代码如下:

#mail -s “Database:$DATABASE Daily Backup Fail” $WEBMASTER

fi
相关广告
  • linux中shell脚本进行MySQL数据库定时备份 linux中shell脚本进行MySQL数据库定时备份 linux中shell脚本进行MySQL数据库定时备份
相关阅读

linux中shell脚本进行MySQL数据库定时备份

2019/10/10 17:34:21 | 谷歌SEO算法 | SEO培训