自动化运维——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, ...
随机推荐
- python 中 __dict__函数的使用
class F: def __init__(self, name, age): self.name = name self.age = age obj = F('tom', 20)s = obj.__ ...
- C++数据结构之哈希表
哈希表的定义:哈希表是一种根据关键码去寻找值的数据映射结构,该结构通过把关键码映射的位置去寻找存放值的地方.键可以对应多个值(即哈希冲突),值根据相应的hash公式存入对应的键中. 哈希函数的构造要求 ...
- C语言基础:内置函数的调用
#include<stdio.h>#include<math.h>#include<stdlib.h>#include<ctype.h>#include ...
- Beego框架的一条神秘日志引发的思考
公司目前的后台是用Beego框架搭的,并且为了服务的不中断升级,我们开启了Beego的Grace模块,用于热升级支持.一切都跑井然有序,直到有一天,领导甩出一些服务日志,告知程序一直报错: 2018/ ...
- app测试基础知识之命令
app测试点:功能测试,安全测试,用户体验测试,交叉事件测试,兼容性测试,性能测试,安装/升级/卸载 ,UI测试 命令操作: adb connect 名 adb devices adb instal ...
- Oracle Express Edition
Oracle Express Edition(简洁版/开发版)非注册下载安装及SQL*Plus的简单使用 https://www.cnblogs.com/cjw1115/p/6209439.html ...
- 【linux杂谈】遇到REMOTE HOST IDENTIFICATION HAS CHANGED怎么办?
今日遇到如下问题: 警告的大概意思就是,主机密钥发生变更,并提示安全风险(可能存在中间人攻击) 但是事实是,这是因为我重装系统之后遇到的问题.重装系统后,指纹当然会发生变化了...在Xshell实验中 ...
- @Transient注解的使用(不被序列化和作为临时变量存储)
转自:https://blog.csdn.net/sinat_29581293/article/details/51810805 java 的transient关键字的作用是需要实现Serilizab ...
- 西安邀请赛-L(打表找规律)
题目链接:https://nanti.jisuanke.com/t/39279 题意:给定n个不同的数表示的序列,定义两种操作:1. 交换前一半和后一半(如果有奇数个,则中间的不管).2. 交换每个偶 ...
- Oracle 即时客户点下载以及简单连接数据库的方法
1. 下载方法 百度 oracle client 第一个即可 2. 下载地址为: https://www.oracle.com/database/technologies/instant-client ...