mysql 备份脚本

#!/bin/bash# 要备份的数据库名'多个数据库用空格分开databases=(  basedata os-data os-ues policy_manage  datadb  uee enn_fnt etsp fannengdb filedb fnw-boss riet rules busi uac wit-operation mysql pvsdb pvs-datadb )# 备份文件要保存的目录basepath='/data/backup/'if [ ! -d "$basepath" ]; then  mkdir -p "$basepath"fi# 循环databases数组for db in ${databases[*]}  do   # 备份数据库生成SQL文件/usr/local/mysql/bin/mysqldump -umha  -p'admin+1234'  -h10.39.41.111 --default-character-set=utf8 -R  --triggers  --events --opt  --hex-blob --single-transaction  --master-data=1 $db 2>/dev/null | gzip  >$basepath$db-$(date +%Y%m%d-%H).sql.gz#/usr/local/mysql/bin/mysqldump -umha  -p'admin+1234'   --default-character-set=utf8 -R  --triggers  --events --opt   --set-gtid-purged=on --hex-blob --single-transaction --dump-slave=2 $db 2>/dev/null | gzip  >$basepath$db-$(date +%Y%m%d-%H%M%S).sql.gzFILE_NAME="$db-$(date +%Y%m%d-%H).sql.gz" #最终保存的数据库备份文件名FILE=${basepath}${FILE_NAME}#echo "$FILE"# 判断当天备份文件是否生成if [ ! -f "$FILE" ];then      echo "####### $DATA #########">> /data/backup/mysql_bak.err      echo "MySQL back up $IP hava not created!" >>    /data/backup/mysql_bak.err      echo "MySQL back up $IP hava not created!" | mail -s "WARN! MySQL back up $IP $FILE hava not created!" DbaAdmin@enn.cnelif [ `ls -s $FILE|awk '{print $1}'` -lt 15 ];then      echo "####### $DATA #########">> /data/backup/mysql_bak.err      echo "MySQL back up $IP hava created,but file is not greater than 15kB!" >>    /data/backup/mysql_bak.err      echo "MySQL back up $IP hava created,but file is not greater than 15kB!" | mail -s "WARN! MySQL back up $IP $FILE hava failed!" DbaAdmin@enn.cnelse      echo "MySQL back up  $FILE have exist!"      echo "MySQL back up successful!"fi done# 删除天之前的备份数据find $basepath -mtime +30 -name "*.sql.gz" -exec rm -rf {} \;
(0)

相关推荐

  • Docker定时备份MySQL数据到七牛云

    前言:我Linux服务器安装了docker,docker容器跑了springboot项目,用到了mysql数据库.所以必须准备程序,数据备份功能,万一哪天系统挂了,数据丢了,我可以随时恢复.因为没钱开 ...

  • docker 使用mysqldump命令备份导出项目中的mysql数据

    下图为镜像重命名后的镜像名为uoj,现在要把这个镜像中的mysql导出 运行如下命令: docker exec -it uoj mysqldump -uroot -proot app_uoj233 & ...

  • MySQL备份与恢复之Xtrabackup工具(二)

    (一)Xtrabackup工具简介 percona公司的备份工具,性能比较高.物理备份工具. 特点: 物理备份工具,在同级数据量基础上,都要比逻辑备份性能要好的多. 特别是在数据量比较大的时候,体现的 ...

  • UC头条:MySQL数据库定时备份到其他电脑

    最近我的一个学弟问了我一个问题,说他要实现一个功能,他老师给他提出来一个问题,让他的项目实现定时备份数据库到其他电脑,确保安全.他就来问我,还好我之前弄过,虽然我是干前端的,哈哈哈,之前学的比较杂. ...

  • 【竺】数据库笔记7——Mysql数据库备份

    *. mysql -u username -p password: 这个命令用于输入用户名和密码登陆mysql服务器: *.show databases;:用于查看mysql服务器中的数据库情况(会罗 ...

  • mysql数据库binlog日志的异地备份

    MySQL数据库的二进制日志binlog记录了对数据库的全量DDL和DML操作,对数据库的point to point灾难恢复起着无法替代的关键作用.因此,基于此类考虑,需要对生产环境产生的binlo ...

  • java mysql 数据库备份和还原操作

    package com.itenp.gen.action; import java.io.BufferedReader; import java.io.FileInputStream; import ...

  • 4步搞定MySQL安装部署(附MySQL一键式部署脚本)

    墨墨导读:良好的开端是成功的一半,从MySQL安装开始. 学习数据库技术,实际动手的第一步是安装自己的MySQL.MySQL方面也提供多样式的安装方式rpm ,tar ,源码包.当安装完投入使用之后, ...

  • MySQL 定时备份数据库(非常全)

    在操作数据过程中,可能会导致数据错误,甚至数据库奔溃,而有效的定时备份能很好地保护数据库.本篇文章主要讲述了几种方法进行 MySQL 定时备份数据库. 一. mysqldump命令备份数据 在MySQ ...

  • centos下直接使用命令备份mysql数据库

    mysqldump -u root -p 要备份的数据库名> /home/mysql/backup/db/back/数据库名.sql 如果出现mysqldump: Got error: 2002 ...