#!/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

相关文章:

  • 2022-12-23
  • 2022-02-10
  • 2021-08-17
  • 2021-10-24
  • 2022-12-23
  • 2022-01-22
  • 2021-07-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-22
  • 2022-02-25
  • 2021-09-29
  • 2021-12-14
相关资源
相似解决方案