使用if语句编写MySQL备份脚本

代码:

#!/bin/bash
#auro backup mysql db
#by steve yu
#define backup path BAK_DIR=/data/backup/`date +%Y%m%d`
MYSQLUSR=root
MYSQLPW=Root123
MYSQLCMD=/usr/bin/mysqldump
#ne是代表not equals,$UID是代表用户,0为root用户
#这边时表示如果不是root用户,则退出
if [[ $UID -ne ]];then
echo "Must to be use root for exec Shell."
exit
fi if [[ ! -d $BAK_DIR ]];then
mkdir -p $BAK_DIR
echo -e "\033[32mThe $BAK_DIR create successfully!\033[0m"
else
echo -e "\033[32mThis $BAK_DIR is exists...\033[0m"
fi $MYSQLCMD -u$MYSQLUSR -p$MYSQLPW --all-databases > $BAK_DIR/backup.sql if [[ $? -eq ]];then echo -e "\033[32mMysql backup successfully!\033[0m" else echo -e "\033[32mMysql backup failed!\033[0m" fi

截图:

运行结果:

sh -n 文件名,检查脚本有没有问题

crontab -e添加定时任务

     * * * /bin/bash /root/auto_backup_mysql.sh >> /tmp/mysql_bak.log >&

今日作业,修改上脚本,使得mysql当天不备份2次

修改后bash脚本

BAK_DIR=/data/backup/`date +%Y%m%d`
MYSQLUSR=root
MYSQLPW=Root123
MYSQLCMD=/usr/bin/mysqldump
#ne是代表not equals,$UID是代表用户,0为root用户
#这边时表示如果不是root用户,则退出
if [[ $UID -ne ]];then
echo "Must to be use root for exec Shell."
exit
fi if [[ ! -d $BAK_DIR ]];then
mkdir -p $BAK_DIR
echo -e "\033[32mThe $BAK_DIR create successfully!\033[0m"
else
echo -e "\033[32mThis $BAK_DIR is exists...\033[0m"
fi if [[ ! -f $BAK_DIR/backup.sql ]];then
$MYSQLCMD -u$MYSQLUSR -p$MYSQLPW --all-databases > $BAK_DIR/backup.sql
if [[ $? -eq ]];then
echo -e "\033[32mMysql backup successfully!\033[0m"
else
echo -e "\033[32mMysql backup failed!\033[0m"
fi
else
echo -e "\033[32mToday is already backuped\033[0m"
fi

自动化运维——MySQL备份脚本(二)的更多相关文章

  1. Docker搭建Jenkins+Maven/Gradle——代码自动化运维部署平台(二)

    一.简介 1.Jenkins 概述: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins ...

  2. mysql备份脚本二(带日志)

    #!/bin/bashdb_PATH='/shareSAN/mysqldata/ocs/mysql_back_wjf' #备份文件保存的路径#db_DBNAME='sz_ocs' #备份的数据库名db ...

  3. Python_oldboy_自动化运维之路(二)

    本节内容: 1.pycharm工具的使用 2.进制运算 3.表达式if ...else语句 4.表达式for 循环 5.break and continue 6.表达式while 循环 1.pycha ...

  4. 运维常用shell脚本二(压缩文件、过滤不需要的文件、检测进程)

    一.压缩指定目录下的文件并删除原文件 #!/bin/bashZIP_DAY=7 function zip { local dir=$1 if [ -d $dir ];then local file_n ...

  5. 有赞MySQL自动化运维之路—ZanDB

      有赞MySQL自动化运维之路—ZanDB 一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管理等任务都对DBA产生了更高的要求,单纯的凭借记忆力去管理那几十 ...

  6. 有赞 MySQL 自动化运维之路 — ZanDB

    转自:https://tech.youzan.com/youzan-mysql-auto-ops-road/ 一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管 ...

  7. 部署MySQL自动化运维工具inception+archer

    ***************************************************************************部署MySQL自动化运维工具inception+a ...

  8. 自动化运维—tomcat服务起停(mysql+shell+django+bootstrap+jquery)

    项目简介: 项目介绍:自动化运维是未来的趋势,最近学了不少东西,正好通过这个小项目把这些学的东西串起来,练练手. 基础架构: 服务器端:web框架-Django 前端:html css jQuery ...

  9. mysql操作及自动化运维

    备份恢复工具:percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm mysql主从配置命令: 主: 1.编辑主MYSQL 服务器的MySQL配置文件my.cnf, ...

随机推荐

  1. Java多线程(1):3种常用的实现多线程类的方法

    (1) 继承java.lang.Thread类(Thread也实现了Runnable接口) 继承Thread类的方法是比较常用的一种,如果说你只是想起一条线程.没有什么其它特殊的要求,那么可以使用Th ...

  2. 有道自然语言翻译和文字识别OCR(图片文字识别)接口调用

    官网 http://ai.youdao.com 文档地址 http://ai.youdao.com/docs/doc-ocr-api.s#p01 在Python中调用api. #/usr/bin/en ...

  3. Web测试方法_02

    1.页面链接检查 检查每一个链接是否都有对应的页面,页面与页面之间的来回切换是否正常响应,包括一些返回页面的链接是否正常,还要检查点击图片所链接的页面是否准确展示. 2.相关性检查 功能相关性检查:例 ...

  4. Leetcode之广度优先搜索(BFS)专题-994. 腐烂的橘子(Rotting Oranges)

    Leetcode之广度优先搜索(BFS)专题-994. 腐烂的橘子(Rotting Oranges) BFS入门详解:Leetcode之广度优先搜索(BFS)专题-429. N叉树的层序遍历(N-ar ...

  5. 基于硬件的消息队列中间件 Solace 简介之二

    前言...... 前面简单介绍了Solace来自于哪家公司, 主要能做哪些事情. 本篇主要进一步介绍Solace作为消息传递的中间件如何工作的. 传统意义上来讲, 每当我们谈到消息中间件时, 首先想到 ...

  6. 第四周课程总结&实验报告(二)

    Java实验报告(二) 实验二 Java简单类与对象 一. 实验目的 (1) 掌握类的定义,熟悉属性.构造函数.方法的作用,掌握用类作为类型声明变量和方法返回值: (2) 理解类和对象的区别,掌握构造 ...

  7. 5.写一个sh脚本,可以通过一台机器控制多台机器

    先创建一个脚步文件 对这个脚本进行编辑 [hadoop@node1 ~]$ vim xcall.sh 给脚本赋予权限 执行脚本 把脚本移动到 /usr/local/bin/目录下 [hadoop@no ...

  8. Python操作 RabbitMQ、Redis、Memcache

    Python操作 RabbitMQ.Redis.Memcache Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数 ...

  9. vue第一篇(搭建vue开发环境)

    1.下载node并安装 下载地址: https://nodejs.org/zh-cn/ 下载后双击文件安装 2.检查是否安装成功 node -v v10.16.0 npm -v 6.9.0 如果能正常 ...

  10. Luogu P3810 【模板】三维偏序(陌上花开)(CDQ分治)

    题目 以三维偏序为例来讲一下CDQ分治. CDQ的本质就是把一个序列分成两段,计算左边对右边的贡献,然后分治. 不过一般都是先分治到底再从下往上算,这样可以先归并再算. 比如这道题,我们先按第一维排序 ...