Loading...

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
posted @ 2021-02-05 10:46  高宏宇  阅读(236)  评论(0编辑  收藏  举报