自动化运维——MySQL备份脚本(二)
使用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备份脚本(二)的更多相关文章
- Docker搭建Jenkins+Maven/Gradle——代码自动化运维部署平台(二)
一.简介 1.Jenkins 概述: Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,无论用的是什么平台.这是一个免费的源代码,可以处理任何类型的构建或持续集成.集成Jenkins ...
- mysql备份脚本二(带日志)
#!/bin/bashdb_PATH='/shareSAN/mysqldata/ocs/mysql_back_wjf' #备份文件保存的路径#db_DBNAME='sz_ocs' #备份的数据库名db ...
- Python_oldboy_自动化运维之路(二)
本节内容: 1.pycharm工具的使用 2.进制运算 3.表达式if ...else语句 4.表达式for 循环 5.break and continue 6.表达式while 循环 1.pycha ...
- 运维常用shell脚本二(压缩文件、过滤不需要的文件、检测进程)
一.压缩指定目录下的文件并删除原文件 #!/bin/bashZIP_DAY=7 function zip { local dir=$1 if [ -d $dir ];then local file_n ...
- 有赞MySQL自动化运维之路—ZanDB
有赞MySQL自动化运维之路—ZanDB 一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管理等任务都对DBA产生了更高的要求,单纯的凭借记忆力去管理那几十 ...
- 有赞 MySQL 自动化运维之路 — ZanDB
转自:https://tech.youzan.com/youzan-mysql-auto-ops-road/ 一.前言 在互联网时代,业务规模常常出现爆发式的增长.快速的实例交付,数据库优化以及备份管 ...
- 部署MySQL自动化运维工具inception+archer
***************************************************************************部署MySQL自动化运维工具inception+a ...
- 自动化运维—tomcat服务起停(mysql+shell+django+bootstrap+jquery)
项目简介: 项目介绍:自动化运维是未来的趋势,最近学了不少东西,正好通过这个小项目把这些学的东西串起来,练练手. 基础架构: 服务器端:web框架-Django 前端:html css jQuery ...
- mysql操作及自动化运维
备份恢复工具:percona-xtrabackup-2.0.0-417.rhel6.x86_64.rpm mysql主从配置命令: 主: 1.编辑主MYSQL 服务器的MySQL配置文件my.cnf, ...
随机推荐
- Spring Data JPA 查询
1 按照关键字方法名查询 自定义的简单查询就是根据方法名来自动生成SQL,主要的语法是findBy,readABy,queryBy,getBy,countBy后面跟属性名称 findBy,readAB ...
- python配置主机名
.准备hosts模板 mkdir -p /k8s/profile cat >/k8s/profile/hosts<<EOF 192.168.0.91 test1 192.168.0. ...
- 重启 hdfs and yarn datanode
1- start-all.sh and stop-all.sh: Used to start and stop hadoop daemons all at once. Issuing it on th ...
- Window Position
IE, Safari, Opera, and Chrome all provide screenLeft and screenTop properties that indicate the wind ...
- java:面向对象(多态,final,抽象方法,(简单工厂模式即静态方法模式),接口)
* 生活中的多态:同一种物质,因环境不同而表现不同的形态. * 程序中多态:同一个"接口",因不同的实现而执行不同的操作. * 多态和方法的重写经常结合使用,子类重写父类的方法,将 ...
- JAVA文件上传 ServletFileUpLoad 实例
1. jsp <%@ page language="java" contentType="text/html" pageEncoding="u ...
- 使用Zabbix进行IPMI监控
1. 安装IPMItool软件包 # yum -y install OpenIPMI OpenIPMI-devel ipmitoolfreeipmi 2. 配置Zabbix 服务器端配置z ...
- 第六次java实验报告
Java实验报告 班级 计科二班 学号20188437 姓名 何磊 完成时间 2019/10/17 评分等级 实验四 类的继承 实验目的 理解异常的基本概念: 掌握异常处理方法及熟悉常见异常的捕获方法 ...
- @Transient注解的使用(不被序列化和作为临时变量存储)
转自:https://blog.csdn.net/sinat_29581293/article/details/51810805 java 的transient关键字的作用是需要实现Serilizab ...
- vue组件添加事件@click.native
1,给vue组件绑定事件时候,必须加上native ,否则会认为监听的是来自Item组件自定义的事件 2,等同于在子组件中: 子组件内部处理click事件然后向外发送click事件:$emit(&q ...