%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /opt/webdir/bin/menu/03_mysql/
Upload File :
Create Path :
Current File : //opt/webdir/bin/menu/03_mysql/06_remove_mysql_slave.sh

PROGNAME=$(basename $0)
PROGPATH=$(dirname $0)
[[ -z $DEBUG ]] && DEBUG=0

. $PROGPATH/functions.sh || exit 1
logo=$(get_logo)

remove_slave(){
    local my_server="${1}"

    # test if server exist
    cache_mysql_servers_status
    local my_data=$(echo "$MYSQL_SERVERS" | egrep ":slave:" |  grep "^$my_server:")
    if [[ -z $my_data ]]; then
        my_data=$(echo "$MYSQL_SERVERS" | egrep ":slave:" |  grep ":$my_server$")
    fi

    if [[ -z "$my_data" ]]; then
        print_message "$MY0200" \
            "$(get_text "$MY0028" "$my_server")" "" any_key
    fi

    # test server settings
    check_mysql_options
    if [[ $? -gt 0 ]]; then
        print_message "$MY0200" \
            "" "" any_key
        exit
    fi

    local task_cmd="$bx_mysql_script -s $my_server -a remove"
    [[ $DEBUG -gt 0   ]] && \
        echo "task_cmd=$task_cmd"
    exec_pool_task "$task_cmd" "$(get_text "$MY0043" "$my_server")"
}

sub_menu(){
    menu_00="$MY0201"
    menu_01="   $MY0044"

    menu_logo="$MY0044"


    MENU_SELECT=
    until [[ -n "$MENU_SELECT" ]]; do
        clear
        echo -e "\t\t\t" $logo
        echo -e "\t\t\t" $menu_logo
        echo

        # print only slave servers
        print_mysql_servers_status "master" "1"
        print_mysql_servers_status_rtn=$?
        
        # task info
        get_task_by_type '(mysql|monitor)' POOL_MYSQL_TASK_LOCK POOL_MYSQL_TASK_INFO
        print_task_by_type '(mysql|monitor)' "$POOL_MYSQL_TASK_LOCK" "$POOL_MYSQL_TASK_INFO"

        # background task or not found free servers in the pool
        if [[ ( $POOL_MYSQL_TASK_LOCK -eq 1 )  || ( $print_mysql_servers_status_rtn -gt 0 )]]; then
            menu_list="\n$menu_00"
        else
            menu_list="\n$menu_01\n$menu_00"
        fi
        
        print_menu

        if [[ $POOL_MYSQL_TASK_LOCK -gt 0 ]]; then
            print_message "$MY0202" '' '' MENU_SELECT 0
        else
            print_message "$MY0204" '' '' MENU_SELECT 
        fi

        case "$MENU_SELECT" in
            0) exit ;;
            *) remove_slave "$MENU_SELECT" ;;
        esac
        MENU_SELECT=
    done
}

sub_menu

Zerion Mini Shell 1.0