北京SEO

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

2019/10/10/17:34:21  阅读:1687  来源:谷歌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数据库定时备份

相关阅读

热门评论

萧红SEO 萧红SEO

SEO爱好者,分享SEO经验~

总篇数212

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法