服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|

服务器之家 - 数据库 - Mysql - mysql备份脚本以及删除前5天的备份文件

mysql备份脚本以及删除前5天的备份文件

2020-01-12 17:30MYSQL教程网 Mysql

mysql备份脚本在网上有很多的,在本文将为大家详细介绍下如何删除前5天的备份文件,感兴趣的朋友不要错过

代码如下:


USER=root #数据库用户名 
PASSWORD=cucrzmysql #数据库用户密码 
#DATABASE=idssr #数据库名称 
for DATABASE in `ls /mysql/data/mysql/ | grep idss` #数据库名称 
do 
#WEBMASTER=849699940@qq.com #管理员邮箱地址,用以发送备份失败消息提醒 
BACKUP_DIR=/mysql_bak #备份文件存储路径 
LOGFILE=/mysql_bak/data_backup.log #日记文件路径 
DATE=`date '+%Y%m%d-%H%M'` #日期格式(作为文件名) 
DUMPFILE=$DATABASE-$DATE.sql #备份文件名 
ARCHIVE=$DATABASE-$DATE.sql.tgz #压缩文件名 
DATE_5=`date -d "-5 day" +%Y%m%d` 

#判断备份文件存储目录是否存在,否则创建该目录 
if [ ! -d $BACKUP_DIR ];then 
mkdir -p "$BACKUP_DIR" 
fi 

#开始备份之前,将备份信息头写入日记文件 
echo " ">> $LOGFILE 
echo "----------------------">> $LOGFILE 
echo "BACKUP DATE:" $(date +"%Y-%m-%d %H:%M:%S") >> $LOGFILE 
echo "----------------------">> $LOGFILE 

#切换至备份目录 
cd $BACKUP_DIR 
#删除五天前的备份文件 
rm -rf $DATABASE-$DATE_5* 
#使用mysqldump 命令备份制定数据库,并以格式化的时间戳命名备份文件 
mysqldump --opt $DATABASE -uroot -pcucrzmysql > /$BACKUP_DIR/$DUMPFILE 
#判断数据库备份是否成功 
if [[ $? == 0 ]]; then 
#创建备份文件的压缩包 
tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1 
#输入备份成功的消息到日记文件 
echo "[$ARCHIVE] Backup Successful!" >> $LOGFILE 
#删除原始备份文件,只需保 留数据库备份文件的压缩包即可 
rm -f $DUMPFILE 
else 
echo "Database Backup Fail!" >> $LOGFILE 

#备份失败后向网站管理者发送邮件提醒,需要mailutils或者类似终端下发送邮件工具的支持 
#mail -s “Database:$DATABASE Daily Backup Fail” $WEBMASTER 
fi 
#输出备份过程结束的提醒消息 
echo "Backup Process Done" 
done 

延伸 · 阅读

精彩推荐
  • Mysqlmysql 数据插入优化方法

    mysql 数据插入优化方法

    当一个线程对一个表执行一个DELAYED语句时,如果不存在这样的处理程序,一个处理器线程被创建以处理对于该表的所有DELAYED语句。 ...

    mysql教程网1432019-11-12
  • MysqlMySQL中无过滤条件的count详解

    MySQL中无过滤条件的count详解

    这篇文章主要给大家介绍了关于MySQL中无过滤条件count的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需...

    点滴积累1932019-06-06
  • MysqlCan’t open file:'[Table]mytable.MYI'

    Can’t open file:'[Table]mytable.MYI'

    也许很多人遇到过类似Can’t open file: ‘[Table]mytable.MYI’ 这样的错误信息,却不知道怎么解决他,下面我们做个介绍, ...

    mysql教程网4872019-11-14
  • Mysqlmysql如何按照中文排序解决方案

    mysql如何按照中文排序解决方案

    本文将详细介绍mysql如何按照中文排序解决方案,需要的朋友可以参考下 ...

    MYSQL教程网3422019-12-12
  • MysqlMySQL删除数据Delete与Truncate语句使用比较

    MySQL删除数据Delete与Truncate语句使用比较

    在MySQL数据库中,DELETE语句和TRUNCATE TABLE语句都可以用来删除数据,但是这两种语句还是有着其区别的,下文就为您介绍这二者的差别所在 ...

    MYSQL教程网2882019-12-07
  • MysqlWindows下mysql 8.0.11 安装教程

    Windows下mysql 8.0.11 安装教程

    这篇文章主要为大家详细介绍了Windows下mysql 8.0.11安装教程 ,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    dhweicheng6052019-07-15
  • MysqlMySQL里的found_row()与row_count()的解释及用法

    MySQL里的found_row()与row_count()的解释及用法

    MySQL中有两个函数来计算上一条语句影响了多少行,不同于SqlServer/Oracle,不要因为此方面的差异而引起功能问题 ...

    mysqlpub4312019-12-16
  • Mysql还原大备份mysql文件失败的解决方法分享

    还原大备份mysql文件失败的解决方法分享

    今天在维护公司CRM的时候,恢复一个大的mysql数据库,恢复失败. 用下面方法解决(管理mysql用的是navicat).,设置以下几个参数的值后就正常了,以下语句也可以在...

    MYSQL教程网3142019-12-08