shell脚本安装卸载统一脚本
#!/bin/bash
set -e
OUT_DIR=out
function usage() {
cat - <<-EOF
SlightShift-SPB Kit
Usage:
$0 <command>
commands:
install Install {mysql-spb}
uninstall Backup {mysql-spb}
EOF
}
function render() {
RENDER_DIR=$OUT_DIR/$(date +%Y%m%d%H%M%S)
mkdir -p $RENDER_DIR
cp -r `ls | grep -E -v "^(out)$"` $RENDER_DIR/
cd $RENDER_DIR
#render hosts with env.yml
ansible all -i inventory/localhost -m template --connection=local \
-a "src=inventory/hosts dest=inventory/hosts" \
-e "@env.yml"
#render vars with env.yml
ansible all -i inventory/localhost -m template --connection=local \
-a "src=plays/group_vars/all.yml dest=plays/group_vars/all.yml" \
-e "@env.yml"
#render vars with env.yml
#ansible all -i inventory/localhost -m template --connection=local \
#-a "src=plays/group_vars/mysql-exporter.yml dest=plays/group_vars/mysql-exporter.yml" \
#-e "@env.yml"
#render vars with env.yml
ansible all -i inventory/localhost -m template --connection=local \
-a "src=plays/group_vars/mysql-master.yml dest=plays/group_vars/mysql-master.yml" \
-e "@env.yml"
#render vars with env.yml
ansible all -i inventory/localhost -m template --connection=local \
-a "src=plays/group_vars/mysql-slave.yml dest=plays/group_vars/mysql-slave.yml" \
-e "@env.yml"
}
function install() {
# render
ansible-playbook -i inventory/hosts plays/mysql_install.yml --verbose
# ansible-playbook -i inventory/hosts plays/mysql_verify.yml --verbose
}
function uninstall() {
render
# ansible-playbook -i inventory/hosts plays/mysql_backup.yml --verbose
ansible-playbook -i inventory/hosts plays/mysql_uninstall.yml --verbose
}
function start() {
case $1 in
install )
install
;;
uninstall )
uninstall
;;
*)
usage
exit 1
;;
esac
}
function main() {
if [[ $# == 0 ]] ; then
usage
exit 1
fi
cd $(dirname $0)
cd ..
start $1
}
main $1
shell脚本安装卸载统一脚本的更多相关文章
- mysql 安装卸载自动化脚本
#!/bin/sh #mkdir /root/mysql #tar -xvf mysql-5.7.-.el7.x86_64.rpm-bundle.tar -C /root/mysql #cd /roo ...
- [云原生]Docker - 安装&卸载
目录 系统要求 卸载旧版本 安装Docker 方法一:通过repo安装 设置Repository 安装Docker Engine 升级Docker Engine 方法二:通过package安装 方法三 ...
- Linuxqq shell脚本安装后的卸载
官方下载和帮助页面: 传送门 linuxqq_2.0.0-b1 的时候,并没有发布 MIPS64 的 DEB 包,只能用 .sh 安装,需要手动删除卸载.愚人节发布的 beta2 新增了 MIPS64 ...
- [记录]Shell并发模式批量安装saltstack的脚本
SaltStack+Shell: salt-master的配置: #cat /etc/salt/master user: root auto_accept: True salt-minion的配置(支 ...
- centos7 安装docker(手动和脚本安装)换源 卸载
centos7 安装docker(手动和脚本安装)换源 卸载 Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker ...
- shell脚本安装python、pip--这种写法是错误的---每一个命令执行完都要判断是否执行成功,否则无法进行下一步
shell脚本安装python.pip--不需要选择安装项目--不管用总报错,必须带上判断符号,while没有这种用法,写在这里为了以后少走弯路,所以不要用下面的执行了 首先把pip-.tgz 安装包 ...
- shell脚本安装python、pip--交互式的
首先把pip-.tgz 安装包放在 /usr/local 下面,按照顺序先安装pip,再安装python.不要先安装或只安装python,否则很容易出错, [root@bogon ~]# cat pi ...
- shell 脚本安装Tomcat和java
脚本安装Tomcat和java#!/bin/bash##SCRIPT:install_jdk-8u181-linux-x64_apache-tomcat-8.0.53#AUTHOR:Shinyinfo ...
- CentOS 6.x 一键安装PPTP VPN脚本
环境 CentOS 6.x 32位/64位XEN/KVM/OpenVZ 步骤 依次运行下列命令 #wget http://www.hi-vps.com/shell/vpn_centos6.sh #ch ...
- lnmp_auto:自动化安装lnmp环境脚本
朋友找我在一台机器上帮忙安装下discuz.想着搭建过好几次的lnmp了,但是还没有使用过"一键安装"的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是 ...
随机推荐
- .NET+WPF 桌面快速启动工具 GeekDesk
前言 大家在平时工作中,是不是经常为了找某个文件或者应用而在电脑桌面上来回翻找?桌面图标乱七八糟,每次找东西都像在大海捞针一样. 今天给大家介绍一个开源项目 GeekDesk,它能够让桌面焕然一新,工 ...
- NetCore消息管道 Middleware
中间件定义 /// <summary> /// 自定义中间件1 /// </summary> public class MyMiddleware : IMiddleware { ...
- 并查集noi水题 (P1955 [NOI2015]程序自动分析)
现将输入排序,把merge排在前面 ,避免冗余计算 1 n=rd(); 2 FOR(i,1,n) 3 { 4 s[i].x=rd(),a[++tot]=s[i].x, 5 s[i].y=rd(),a[ ...
- RabbitMQ接口封装
1.引用 <dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client< ...
- 非常简易的SpringBoot后台项目
非常简易的SpringBoot后台项目 1. 创建项目 使用IDEA创建 Spring项目,或在 https://start.spring.io/ . https://start.aliyun.com ...
- .NET 多版本兼容的精美 WinForm UI控件库
前言 有粉丝小伙伴在后台留言咨询有没有WinForm 控件库推荐,现在就给安排上. .NET 平台进行 Windows 应用程序开发的我们来说,找一个既美观又实用的 WinForm UI 控件库至关重 ...
- 爬虫案例1-爬取图片的三种方式之一:DrissionPage篇(3)
@ 目录 前言 DrissionPage介绍 实战 共勉 博客 前言 继requests篇和selenium篇,本文是爬取图片的最后一个案例,利用了python第三方库DrissionPage来自动化 ...
- 给vue+element-ui动态设置主题色(包括外链样式、内联样式、行内样式)
基本思路 实现思路:实现一个mixins混入的主题js即theme.js,注册到全局下.使用el-color-picker组件切换颜色的时候,把颜色值传递到根root下,在根实例下监听主题色的变化来更 ...
- 学习高校课程-软件设计模式-软件设计原则(lec2)
Feature of Good Design (1) 优秀设计的特点(一) Code reuse 代码复用 – Challenge: tight coupling between components ...
- Figma 学习笔记 – Auto Layout
用途 Auto Layout 有点像 CSS 的 Flex, 它还带有 responsive 的概念.使用它以后可以替代掉不少 constraints 的写法. 用法 一个 parent 抱着多个 c ...