#!/usr/bin/env bash echo -e "####################################################" echo -e "#Este script atualiza WILDFLY com: " echo -e "# " echo -e "# - VentaBoletosServidor" echo -e "# - EventosExtrasServidor" echo -e "# - TareasAgendadas" echo -e "# - VentaBoletosClientes" echo -e "# " echo -e "####################################################" echo -e " " sleep 1 IPPRIV=$(hostname -I | awk '{ print $1 }') listaclientes=$(ls /etc/systemd/system/ | grep ^wild* | sort | cut -d "." -f 1) read -p "DIGITE ou COPIE e COLE o que vai atualizar: " service case $service in VentaBoletosServidor) echo -e "Opção "VentaBoletosServidor" foi escolhida..." echo -e " " echo -e "Listando clientes neste server..." echo -e "-------------------------------------------------" echo -e "$listaclientes" echo -e "-------------------------------------------------" read -p "COPIE e COLE ou digite qual cliente será atualizado: " cliente echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "jboss.socket.binding.port-offset" | cut -d ":" -f 2 | tr -d '}">') portapp=$(expr $portconf + 8080) echo -e "A porta da aplicação é: $portapp" sleep 1 versaoatual=$(curl -L -s http://$IPPRIV:$portapp/VentaBoletosServidor | grep VBS) echo -e " " echo -e "A versão atual do VentaBoletosServidor de $cliente é: " echo -e " " echo -e "###############################" echo -e " $versaoatual" echo -e "###############################" echo -e " " echo -e "Abaixo, informe seu usuario e senha do Jenkins..." echo -e " " echo -e " https://jenkinstotalbus.rjconsultores.com.br " echo -e " " read -p "Digite seu USUÁRIO do Jenkins: " userj echo -e " " read -s -p "Digite sua SENHA do Jenkins: " passj echo -e " " echo -e "Validando usuario e senha..." echo -e " " validj=$(curl -s -w "%{http_code}" -su "$userj:$passj" -o /dev/null "https://jenkinstotalbus.rjconsultores.com.br" ; echo) if [[ "$validj" -eq 200 ]]; then echo "Usuário e senha validado com sucesso!" elif [[ "$validj" -eq 401 ]]; then echo -e "Usuário ou senha incorretos." echo -e "Tente novamente..." exit 0 else echo "Erro ao tentar logar. Código HTTP: $validj" echo -e "Finalizando script." exit 1 fi echo -e " " read -p "Informe o NÚMERO da versão do VentaBoletosServidor: " versaovta echo -e " " sleep 1 echo -e "Listando arquivos disponíveis da versão ***" $versaovta "***" echo -e " " sleep 3 listvta=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosServidor/$versaovta/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.war(?=")') echo -e "--------------------------------------------" echo -e "$listvta" echo -e "--------------------------------------------" echo -e " " read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " vtaescolhido echo -e " " echo -e "Baixando $vtaescolhido versão $versaovta ..." rm -rf /tmp/VentaBoletosServidor.war curl -u $userj:$passj -o /tmp/$vtaescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosServidor/$versaovta/artifact/dist/$vtaescolhido echo -e " " mv /tmp/$vtaescolhido /tmp/VentaBoletosServidor.war echo -e " " sleep 1 echo -e "***Iniciando backup do "VentaBoletosServidor.war" de " $cliente " ..." echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "socket-binding-group name" | cut -d ":" -f 2 | tr -d '}">') portconsole=$(expr $portconf + 9990) echo -e "A porta da console é: $portconsole" sleep 1 time=$(date +%Y-%m-%d-%H-%M) mkdir -p /dados/bkp_VTA/$cliente-$time bkp=/dados/bkp_VTA/$cliente-$time export JAVA_HOME=/dados/jdk-11.0.5 /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="attachment save --operation=/deployment=VentaBoletosServidor.war:read-content() --file=$bkp/VentaBoletosServidor.war" sleep 1 echo -e " " echo -e "Iniciando atualização de "VentaBoletosServidor" do cliente "$cliente" para versão "$versaovta"..." /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="deployment deploy-file --replace /tmp/VentaBoletosServidor.war" echo -e " " sleep 5 echo -e "Atualização do cliente "$cliente" para versão "$versaovta" concluída!!! " echo -e " " echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################" exit 0 ;; EventosExtrasServidor) echo -e "Opção "EventosExtrasServidor" foi escolhida..." echo -e " " echo -e "Listando clientes neste server..." echo -e "-------------------------------------------------" echo -e "$listaclientes" echo -e "-------------------------------------------------" read -p "COPIE e COLE ou digite qual cliente será atualizado: " cliente echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "jboss.socket.binding.port-offset" | cut -d ":" -f 2 | tr -d '}">') portapp=$(expr $portconf + 8080) echo -e "A porta da aplicação é: $portapp" sleep 1 versaoatual=$(curl -L -s http://$IPPRIV:$portapp/EventosExtrasServidor | grep EES) echo -e " " echo -e "A versão atual do EventosExtrasServidor de $cliente é: " echo -e " " echo -e "###############################" echo -e " $versaoatual" echo -e "###############################" echo -e " " echo -e "Abaixo, informe seu usuario e senha do Jenkins..." echo -e " " echo -e " https://jenkinstotalbus.rjconsultores.com.br " echo -e " " read -p "Digite seu USUÁRIO do Jenkins: " userj echo -e " " read -s -p "Digite sua SENHA do Jenkins: " passj echo -e " " echo -e "Validando usuario e senha..." echo -e " " validj=$(curl -s -w "%{http_code}" -su "$userj:$passj" -o /dev/null "https://jenkinstotalbus.rjconsultores.com.br" ; echo) if [[ "$validj" -eq 200 ]]; then echo "Usuário e senha validado com sucesso!" elif [[ "$validj" -eq 401 ]]; then echo -e "Usuário ou senha incorretos." echo -e "Tente novamente..." exit 0 else echo "Erro ao tentar logar. Código HTTP: $validj" echo -e "Finalizando script." exit 1 fi echo -e " " read -p "Informe o NÚMERO da versão do EventosExtrasServidor: " versaoees echo -e " " sleep 1 echo -e "Listando arquivos disponíveis da versão ***" $versaoees "***" echo -e " " sleep 3 listees=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20EventosExtrasServidor/$versaoees/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.war(?=")') echo -e "--------------------------------------------" echo -e "$listees" echo -e "--------------------------------------------" echo -e " " read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " eesescolhido echo -e " " echo -e "Baixando $eesescolhido versão $versaoees ..." rm -rf /tmp/EventosExtrasServidor.war curl -u $userj:$passj -o /tmp/$eesescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20EventosExtrasServidor/$versaoees/artifact/dist/$eesescolhido echo -e " " mv /tmp/$eesescolhido /tmp/EventosExtrasServidor.war echo -e " " sleep 1 echo -e "***Iniciando backup do "EventosExtrasServidor.war" de " $cliente " ..." echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "socket-binding-group name" | cut -d ":" -f 2 | tr -d '}">') portconsole=$(expr $portconf + 9990) echo -e "A porta da console é: $portconsole" sleep 1 time=$(date +%Y-%m-%d-%H-%M) mkdir -p /dados/bkp_EES/$cliente-$time bkp=/dados/bkp_EES/$cliente-$time export JAVA_HOME=/dados/jdk-11.0.5 /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="attachment save --operation=/deployment=EventosExtrasServidor.war:read-content() --file=$bkp/EventosExtrasServidor.war" sleep 1 echo -e " " echo -e "Iniciando atualização de "EventosExtrasServidor" do cliente "$cliente" para versão "$versaoees"..." /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="deployment deploy-file --replace /tmp/EventosExtrasServidor.war" echo -e " " sleep 5 echo -e "Atualização do cliente "$cliente" para versão "$versaoees" concluída!!! " echo -e " " echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################" exit 0 ;; TareasAgendadas) echo -e "Opção "TareasAgendadas" foi escolhida..." echo -e " " echo -e "Listando clientes neste server..." echo -e "-------------------------------------------------" echo -e "$listaclientes" echo -e "-------------------------------------------------" read -p "COPIE e COLE ou digite qual cliente será atualizado: " cliente echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "jboss.socket.binding.port-offset" | cut -d ":" -f 2 | tr -d '}">') portapp=$(expr $portconf + 8080) echo -e "A porta da aplicação é: $portapp" sleep 1 versaoatual=$(curl -L -s http://$IPPRIV:$portapp/TareasAgendadas | grep TAG) echo -e " " echo -e "A versão atual do TareasAgendadas de $cliente é: " echo -e " " echo -e "###############################" echo -e " $versaoatual" echo -e "###############################" echo -e " " echo -e "Abaixo, informe seu usuario e senha do Jenkins..." echo -e " " echo -e " https://jenkinstotalbus.rjconsultores.com.br " echo -e " " read -p "Digite seu USUÁRIO do Jenkins: " userj echo -e " " read -s -p "Digite sua SENHA do Jenkins: " passj echo -e " " echo -e "Validando usuario e senha..." echo -e " " validj=$(curl -s -w "%{http_code}" -su "$userj:$passj" -o /dev/null "https://jenkinstotalbus.rjconsultores.com.br" ; echo) if [[ "$validj" -eq 200 ]]; then echo "Usuário e senha validado com sucesso!" elif [[ "$validj" -eq 401 ]]; then echo -e "Usuário ou senha incorretos." echo -e "Tente novamente..." exit 0 else echo "Erro ao tentar logar. Código HTTP: $validj" echo -e "Finalizando script." exit 1 fi echo -e " " read -p "Informe o NÚMERO da versão do TareasAgendadas: " versaotar echo -e " " sleep 1 echo -e "Listando arquivos disponíveis da versão ***" $versaotar "***" echo -e " " sleep 3 listtar=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20TareasAgendadas/$versaotar/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.war(?=")') echo -e "--------------------------------------------" echo -e "$listtar" echo -e "--------------------------------------------" echo -e " " read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " tarescolhido echo -e " " echo -e "Baixando $tarescolhido versão $versaotar ..." rm -rf /tmp/TareasAgendadas.war curl -u $userj:$passj -o /tmp/$tarescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20TareasAgendadas/$versaotar/artifact/dist/$tarescolhido echo -e " " mv /tmp/$tarescolhido /tmp/TareasAgendadas.war echo -e " " sleep 1 echo -e "***Iniciando backup do "TareasAgendadas.war" de " $cliente " ..." echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "socket-binding-group name" | cut -d ":" -f 2 | tr -d '}">') portconsole=$(expr $portconf + 9990) echo -e "A porta da console é: $portconsole" sleep 1 time=$(date +%Y-%m-%d-%H-%M) mkdir -p /dados/bkp_TAR/$cliente-$time bkp=/dados/bkp_TAR/$cliente-$time export JAVA_HOME=/dados/jdk-11.0.5 /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="attachment save --operation=/deployment=TareasAgendadas.war:read-content() --file=$bkp/TareasAgendadas.war" sleep 1 echo -e " " echo -e "Iniciando atualização de "TareasAgendadas" do cliente "$cliente" para versão "$versaotar"..." /dados/$cliente/bin/jboss-cli.sh --user=admin --password=rjmaster09 --connect controller=localhost:$portconsole --commands="deployment deploy-file --replace /tmp/TareasAgendadas.war" echo -e " " sleep 5 echo -e "Atualização do cliente "$cliente" para versão "$versaotar" concluída!!! " echo -e " " echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################" exit 0 ;; VentaBoletosClientes) echo -e "Opção "VentaBoletosCliente" foi escolhida..." echo -e " " echo -e "Listando clientes neste server..." echo -e "-------------------------------------------------" echo -e "$listaclientes" echo -e "-------------------------------------------------" read -p "COPIE e COLE ou digite qual cliente será atualizado: " cliente echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "jboss.socket.binding.port-offset" | cut -d ":" -f 2 | tr -d '}">') portapp=$(expr $portconf + 8080) echo -e "A porta da aplicação é: $portapp" sleep 1 echo -e " " echo -e "Abaixo, informe seu usuario e senha do Jenkins..." echo -e " " echo -e " https://jenkinstotalbus.rjconsultores.com.br " echo -e " " read -p "Digite seu USUÁRIO do Jenkins: " userj echo -e " " read -s -p "Digite sua SENHA do Jenkins: " passj echo -e " " echo -e "Validando usuario e senha..." echo -e " " validj=$(curl -s -w "%{http_code}" -su "$userj:$passj" -o /dev/null "https://jenkinstotalbus.rjconsultores.com.br" ; echo) if [[ "$validj" -eq 200 ]]; then echo "Usuário e senha validado com sucesso!" elif [[ "$validj" -eq 401 ]]; then echo -e "Usuário ou senha incorretos." echo -e "Tente novamente..." exit 0 else echo "Erro ao tentar logar. Código HTTP: $validj" echo -e "Finalizando script." exit 1 fi echo -e " " read -p "Informe o NÚMERO da versão do VentaBoletosCliente: " versaoclient echo -e " " sleep 1 echo -e "Listando arquivos disponíveis da versão ***" $versaoclient "***" echo -e " " sleep 3 listclient=$(curl https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosCliente/$versaoclient/artifact/dist/ -su $userj:$passj | grep -oP '(?<=href=")[^"]+\.gz(?=")') echo -e "--------------------------------------------" echo -e "$listclient" echo -e "--------------------------------------------" echo -e " " read -p "COPIE e COLE ou digite qual arquivo listado vai ser utilizado: " clientescolhido echo -e " " echo -e "Baixando $clientescolhido versão $versaoclient ..." rm -rf /tmp/SCO.jar.pack.gz curl -u $userj:$passj -o /tmp/$clientescolhido https://jenkinstotalbus.rjconsultores.com.br/job/SCO%20-%20VentaBoletosCliente/$versaoclient/artifact/dist/$clientescolhido echo -e " " mv /tmp/$clientescolhido /tmp/SCO.jar.pack.gz echo -e " " sleep 1 echo -e "***Iniciando backup do "SCO.jar.pack.gz" de " $cliente " ..." echo -e " " portconf=$(cat /dados/$cliente/standalone/configuration/standalone.xml | grep "socket-binding-group name" | cut -d ":" -f 2 | tr -d '}">') portconsole=$(expr $portconf + 9990) echo -e "A porta da console é: $portconsole" sleep 1 time=$(date +%Y-%m-%d-%H-%M) mkdir -p /dados/bkp_VBC/$cliente-$time bkp=/dados/bkp_VBC/$cliente-$time cp -rv /dados/$cliente/standalone/deployments/webstart.war/sco2/SCO.jar.pack.gz $bkp/SCO.jar.pack.gz rm -rf /dados/$cliente/standalone/deployments/webstart.war/sco2/SCO.jar.pack.gz* rm -rf /dados/$cliente/standalone/deployments/webstart.war/sco2/scopaf.conf* sleep 1 echo -e " " echo -e "Iniciando atualização de "VentaBoletosCliente" do cliente "$cliente" para versão "$versaoclient"..." cp -rv /tmp/SCO.jar.pack.gz /dados/$cliente/standalone/deployments/webstart.war/sco2/ chown -Rf $cliente:$cliente /dados/$cliente/standalone/deployments/webstart.war/sco2/ echo -e " " systemctl restart $cliente sleep 5 echo -e "Atualização do cliente "$cliente" para versão "$versaoclient" concluída!!! " echo -e " " echo -e "##############F-I-N-A-L-I-Z-A-D-O!!!##################################" exit 0 ;; *) echo "Opção inválida, tente novamente." exit 1 ;; esac