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运行别人的脚本还是 ...
随机推荐
- disconf分布式配置管理(二) 与spring集成
上一章介绍了disconf的安装预配置,这章主要介绍下disconf与spring集成 1.添加依赖 <dependency> <groupId>com.baidu.disco ...
- JavaScript设计模式样例十六 —— 备忘录模式
备忘录模式(Memento Pattern) 定义:保存一个对象的某个状态,以便在适当的时候恢复对象.目的:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.场景:数据缓存. ...
- python安装和使用常见问题以及解决技巧
1. 快速切换pip版本 pip install pip==22.2 此处22.2代表版本号 , 自动加载压缩包自动切换 2. py窗口程序不能挂代理!!!!!!!!!!!!!!!!!!!!!!!! ...
- 【爬虫实战】——利用bs4和正则表达式,简单实现爬取数据
前言 好久没有写博客了,由于一直比较忙,感觉快荒废了学习的步伐,最近由于需要利用爬虫爬取数据,总结一下,以便以后查阅. 目录 一.bs4的安装 二.bs4解析器 三.定位查找标签 四.转换格式 五.提 ...
- uni-app 路由封装(简易版)
在实践运用中,经常需要在路由跳转时判断是否需要登录权限,页面跳转时,添加加在if判断. 插件市场也有一些这种插件,配置也稍微复制,大部分朝向vue-router. 注:本次路由封装,只是单纯的判断是否 ...
- Openstack-删除卷:您被禁止执行 删除卷 (僵尸卷)
您被禁止执行 删除卷 (僵尸卷) 您被禁止执行 删除卷: 7f23a26a-27f2-4504-9191-0f5630a5bff5, 卷一直在创建,但实例已经被删除了 [root@controller ...
- SQL全表扫描优化基础知识
1.模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like:对于like '%...%'(全模糊)这样的条件,是无法使用索引的,全表扫描自然效率很低:另外,由于匹配算法的 ...
- ASP.NET Core – Data Protection & Azure Storage + Azure Key Vault
前言 以前就写过很多篇了 Asp.net core 学习笔记 ( Data protection ) Asp.net core 学习笔记 Secret 和 Data Protect Azure key ...
- Angular 18+ 高级教程 – Signals
前言 首先,我必须先说明清楚.Signal 目前不是 Angular 的必备知识. 你的项目不使用 Signal 也不会少了条腿,断了胳膊. Angular 官方维护的 UI 组件库 Angular ...
- 将Sublime Text添加到鼠标右键
事件起因: 在众多 文本文档软件中,个人用过比较多,notepad++ / Edit / EditPlus / notepad-- / Sublime Text 等等,但是比较偏爱的还是 Subl ...