zoukankan      html  css  js  c++  java
  • 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
    
    QQ:1061767621 Q群:215481318
  • 相关阅读:
    forin语句和document.write换行
    输入日期计算出当天是星期几
    输入半径求圆的面积和简单的ASCII码转化
    一段简单的代码用来在网页上测试javascript程序
    如何在ubuntu下修改hosts?
    如何在终端上打出货币符号和算式
    C#文件监控
    JavaScript类的写法 ( 仿jQuery )
    JavaScript类创建的几种方式
    (转)程序员的十层楼:大家都来测测你的技术层级
  • 原文地址:https://www.cnblogs.com/gaohongyu/p/14376455.html
Copyright © 2011-2022 走看看