File: //usr/local/locaweb/bin/lwcorp_apache2_operacoes.sh
#!/bin/bash
# VARS e FUNCTIONS
. /etc/lwcorp/lwcorp.functions
MENUAPACHE2=`dialog --backtitle "$LWCORPHEADER" --stdout \
--radiolist "\n ESCOLHA A ACAO:" \
0 0 0 \
Configtest 'Valida syntax e configs do Apache2;' off \
Reload 'Recarrega o Apache2 e suas configs sem derruba-lo;' off \
Restart 'Reinicia o Apache2 por completo encerrando todas conexoes.' off`
case $MENUAPACHE2 in
Configtest) apache2_configtest="true" ;;
Reload) apache2_reload="true" ;;
Restart) apache2_restart="true" ;;
*) dialog --backtitle "$LWCORPHEADER" --stdout --title "$TITLECANCELADO" --msgbox "\nPROCESSO CANCELADO.\n" 7 65;
echo "$LOGDATE - [Analista nao selecionou uma opcao ou cancelou o processo]" >> $LOGFILE; exit 1;;
esac
#
# APENAS FAZ UM CONFIGTEST E PRINTA NA TELA
#
if [[ $apache2_configtest = "true" ]];then
echo "$LOGDATE - [Executado um 'configtest']" >> $LOGFILE
echo -e "\n\033[1;32m==============================================================\033[0m"
echo -e "\n\033[1;32mEXIBINDO RESULTADO DO 'CONFIGTEST'\033[0m"
echo -e "\n\033[1;32m==============================================================\033[0m\n"
/usr/sbin/apachectl configtest
echo -e "\n\033[1;32m==============================================================\033[0m\n"
exit 0
fi
#
# FAZ UM RELOAD. ANTES, FAZ UM CONFIGTEST
#
if [[ $apache2_reload = "true" ]];then
echo "$LOGDATE - [Selecionado 'reload' do Apache2]" >> $LOGFILE
#
# CONFIGTEST
#
configtest
case $? in
0) dialog --backtitle "$LWCORPHEADER" --title "$TITLECONFIRMACAO" --yesno "\nDESEJA PROSSEGUIR COM O RELOAD?\n" 7 65;;
*) echo "$LOGDATE - [Processo cancelado devido a uma falha no Apache2 identificada pelo configtest]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nHA UM PROBLEMA NO CONFIGTEST DO APACHE.\n\nCORRIJA ISSO ANTES DE PROSSEGUIR." 9 65; exit 1;;
esac
case $? in
0) ;;
*) echo "$LOGDATE - [Processo cancelado pelo analista]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLECANCELADO" --msgbox "\nRELOAD DO APACHE2 CANCELADO.\n" 7 65; exit 1;;
esac
systemctl reload httpd
case $? in
0) echo "$LOGDATE - [Apache2 recarregado com sucesso]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLESUCESSO" --msgbox "\nAPACHE2 RECARREGADO COM SUCESSO." 7 65; exit 0;;
*) echo "$LOGDATE - [Erro no recarregamento do apache2]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nOCORREU UM ERRO NO RECARREGAMENTO DO APACHE2." 7 65; exit 1;;
esac
fi
#
# FAZ UM RESTART. ANTES, FAZ UM CONFIGTEST
#
if [[ $apache2_restart = "true" ]];then
echo "$LOGDATE - [Selecionado 'restart' do Apache2]" >> $LOGFILE
#
# CONFIGTEST
#
configtest
case $? in
0) dialog --backtitle "$LWCORPHEADER" --title "$TITLECONFIRMACAO" --yesno "\nDESEJA PROSSEGUIR COM O RESTART?\n" 7 65;;
*) echo "$LOGDATE - [Processo cancelado devido a uma falha no Apache2 identificada pelo configtest]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nHA UM PROBLEMA NO CONFIGTEST DO APACHE.\n\nCORRIJA ISSO ANTES DE PROSSEGUIR." 9 65; exit 1;;
esac
case $? in
0) ;;
*) echo "$LOGDATE - [Processo cancelado pelo analista]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLECANCELADO" --msgbox "\nRESTART DO APACHE2 CANCELANDO.\n" 7 65; exit 1;;
esac
systemctl stop httpd >/dev/null
echo ""
echo "Aguarde um momento..."
echo ""
sleep 5
systemctl start httpd >/dev/null
case $? in
0) echo "$LOGDATE - [Apache2 reiniciado com sucesso]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLESUCESSO" --msgbox "\nAPACHE2 REINICIADO COM SUCESSO.\n" 7 65; exit 0;;
*) echo "$LOGDATE - [Erro no reinicio do apache2]" >> $LOGFILE;
dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nOCORREU UM ERRO NO REINICIO DO APACHE2.\n" 7 65; exit 1;;
esac
fi