Menu VPN

De jagfloriano.com
Ir a la navegaciónIr a la búsqueda
#!/bin/bash
#--------------------------------------------------------------#
#       MenuVPN v 1.2
#       Jorge Gomez Floriano
#       29/03/2018
#       14/07/2018 se actualiza la ruta de server.conf
#--------------------------------------------------------------#

#Saca toda la info del PID
function InfoPID {
PID=$(ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep|awk '{print $2}')

info=$(ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep)
}

#Chequea cuantos proceos PID estan corriendo
function check {
ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep|wc -l
}


clear
while :
do
        echo
        echo
        echo
        echo
        echo "  **********************************"
        echo
        echo "          1. Ver PID"
        echo "          2. PararVPN"
        echo "          3. ArrancarVPN"
        echo "          4. ReiniciarVPN"
        echo "          5. Exit"
        echo
        echo "  **********************************"
        date;
        read op

        case $op in
                1)      clear;
                        echo "OPENVPN ARRANCADO"
                                                InfoPID;
                        echo "PID =" $PID;
                        echo $info;
                        ;;

                2)      clear;
                        echo "PARANDO OPENVPN";
                        echo "MATANDO PROCESO CON PID=$PID";
                        InfoPID;
                        kill -9 $PID;
                        sleep 5;
                        echo "OPENVPN PARADO";
                        ;;


                3)      clear;
                        echo "ARRANCANDO OPENVPN";
                        openvpn --config /etc/openvpn/server/server.conf --daemon;
                        sleep 5;
                        echo "COMPROBANDO PID";
                        InfoPID;
                        echo "PID=" $PID;
                        echo $info;
                        echo "OPENVPN LEVANTADO";
                        ;;


                4)      clear;
                        echo "REINICIANDO OPENVPN";
                        echo "Parando PID = $PID"
                        OldPID=$PID;
                        kill -9 $PID;
                        sleep 5;

                        Check=$(ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep|wc -l)

                                if [ $Check == 0 ] ; then

                                        echo "OPENVPN PARADO";
                                else
                                        kill -9 $OldPID;
                                fi

                        echo "ARRANCANDO PROCESOS";
                        Start1=$(openvpn --config /etc/openvpn/server/server.conf --daemon)
                        $Start1;
                        sleep 5;

                        NewPID=$(ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep|awk '{print $2}')
                        InfoPID=$(ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep)
                        Check2=$(ps -ef|grep "openvpn --config /etc/openvpn/server/server.conf --daemon" |grep -v grep|wc -l)

                        echo $Check2
                        while [ $Check2 == 0 ] ; do
                                if [ $Check2 == 0]; then
                                        echo "OPENVPN PARADO";
                                        echo "RELANZANDO SERVICIO"
                                        $Start;
                                        sleep 5 ;
                                fi
                        done
                        echo "PID= $NewPID";
                        echo $InfoPID;
                        echo "OPENVPN LEVANTADO";

                        ;;

                5)exit 1;;

                *)echo "$op NO ES UNA OPCION VALIDA";
                echo "PPRESIONA UNA TECLA PARA CONTINUAR"
                read foo;;
        esac

done