本文主要是介绍干货操作:shell脚本实现数据库备份-----------------------------小董偷懒系列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
shell脚本实现数据库备份
- 前言:
前言:
- 日常备份数据库的操作,用于日常维护,一键操作,操作成功与否一键发送邮件通知。
- 可能代码有点low,大神请给出意见,感谢!
#!/bin/bash
BACK_DIR=/home/backup
DATE=$(date +%F)
MYSQL_USER=root
MYSQL_PASSWORD=123
RECIVE_USER=13222000226@163.com
SUBJECT="数据库备份状态通知"[ -d $BACK_DIR ] || mkdir -p $BACK_DIRSTART_TIME=$(echo "$(date +%F_%T)")
mysqldump -u$MYSQL_USER -p$MYSQL_PASSWORD -B wg > $BACK_DIR/wg-$DATE.sql
if [ $? -ne 0 ];thenecho "备份失败!账号密码不正确" exit
fitar zcPf $BACK_DIR/wg-$DATE.tar.gz $BACK_DIR/wg-$DATE.sql && rm -f $BACK_DIR/wg-$DATE.sqlif [ -f $BACK_DIR/wg-$DATE.tar.gz ];thenecho "wg数据库备份成功!"END_TIME=$(echo "$(date +%F_%T)")expires_file=$(find $BACK_DIR -type f -mtime +2)rm -f $expires_file && echo -e "删除过期文件:\n $expires_file"echo "正在发送邮件..."/usr/local/sbin/mail.py $RECIVE_USER $SUBJECT "$(echo -e "开始的时间:$START_TIME\n结束时间:$END_TIME\n备份的数据库:wg\n状态:成功\n清理的过期文件:\n$expires_file" )"[ $? -eq 0 ] && echo "邮件发送成功" || echo "邮件发送失败"
elseecho "wg数据库备份失败!"END_TIME=$(echo "$(date +%F_%T)")expires_file=$(find $BACK_DIR -type f -mtime +2)rm -f $expires_file && echo -e "删除过期文件:\n $expires_file"echo "正在发送邮件..."/usr/local/sbin/mail.py $RECIVE_USER $SUBJECT "$(echo -e "开始的时间:$START_TIME\n结束时间:$END_TIME\n备份的数据库:wg\n状态:失败\n清理的过期文件:\n$expires_file" )"[ $? -eq 0 ] && echo "邮件发送成功" || echo "邮件发送失败"
fi
这篇关于干货操作:shell脚本实现数据库备份-----------------------------小董偷懒系列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!