HEX
Server: Apache
System: Linux vpshost0650.publiccloud.com.br 4.4.79-grsec-1.lc.x86_64 #1 SMP Wed Aug 2 14:18:21 -03 2017 x86_64
User: bandeirantesbomb3 (10068)
PHP: 8.0.7
Disabled: apache_child_terminate,dl,escapeshellarg,escapeshellcmd,exec,link,mail,openlog,passthru,pcntl_alarm,pcntl_exec,pcntl_fork,pcntl_get_last_error,pcntl_getpriority,pcntl_setpriority,pcntl_signal,pcntl_signal_dispatch,pcntl_sigprocmask,pcntl_sigtimedwait,pcntl_sigwaitinfo,pcntl_strerror,pcntl_wait,pcntl_waitpid,pcntl_wexitstatus,pcntl_wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl_wstopsig,pcntl_wtermsig,php_check_syntax,php_strip_whitespace,popen,proc_close,proc_open,shell_exec,symlink,system
Upload Files
File: //usr/local/locaweb/bin/lwcorp_fix_db_restore.sh
#!/bin/bash

# VARS e FUNCTIONS
. /etc/lwcorp/lwcorp.functions

DB_RESTORE_DIR="/var/tmp/bacula-restores"

# Verifica se o diretorio /var/tmp/bacula-restores existe

if [ -d $DB_RESTORE_DIR ]; then

    RESTORES_DISPONIVEIS="$(ls -l $DB_RESTORE_DIR | grep ^d | awk '{print$9}')"

    # Verifica se o diretorio /var/tmp/bacula-restores esta vazio
        
    if [ -z $RESTORES_DISPONIVEIS ];then

        # Nao ha restores disponiveis em /var/tmp/bacula-restores

        echo "$LOGDATE - [O diretorio $DB_RESTORE_DIR esta vazio. Processo cancelado]" >> $LOGFILE;
        dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nNAO HA RESTORES DISPONIVEIS EM $DB_RESTORE_DIR.\n\nPROCESSO CANCELADO." 9 65
        exit 1

    else

        # Seleciona o diretorio a ser ajustado

        RESTORE_SELECIONADO=$(dialog --backtitle "$LWCORPHEADER" --stdout --radiolist "\nSELECIONE O RESTORE DESEJADO:" 0 0 0 `for a in $RESTORES_DISPONIVEIS; do echo "$a '' off"; done`)

        if [ -z $RESTORE_SELECIONADO];then

            # Printa erro; O analista nao selecionou um diretorio

            echo "$LOGDATE - [Analista nao selecionou o restore e/ou cancelou a configuracao de fixowner]" >> $LOGFILE;
            dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nVOCE NAO SELECIONOU UM RESTORE.\n\nPROCESSO CANCELADO." 9 65
            exit 1

        else

            DIRETORIO_ALVO="$DB_RESTORE_DIR/$RESTORE_SELECIONADO"

            # Printa o diretorio selecionado e pede confirmacao:

            echo "$LOGDATE - [Analista selecionou o restore $RESTORE_SELECIONADO. Aguardando confirmacao]" >> $LOGFILE;
            dialog --backtitle "$LWCORPHEADER" --title "$TITLECONFIRMACAO" --yesno "\nPATH: $DIRETORIO_ALVO\n\nVOCE DESEJA PROSSEGUIR?\n\n" 9 65

            # Se o analista responder yes, entra em '0'. Qualquer outra resposta entra como '*':

            case $? in
                0) chmod 755 $DIRETORIO_ALVO;;
                *) echo "$LOGDATE - [Processo cancelado pelo analista]" >> $LOGFILE;
                   dialog --backtitle "$LWCORPHEADER" --title "$TITLE" --msgbox "OK. CANCELADO." 7 65; exit 1;;
            esac

            # Verifica a saĆ­da do comando chmod: Se sair com '0' (exit 0), encerra e o script e sai com 0 tb
            # Se algo der errado no chmod, a saida sera diferene de 0. Nesse caso, o script encerra com exit 1.

            case $? in
                0) echo "$LOGDATE - [Permissao corrigida em $DIRETORIO_ALVO]" >> $LOGFILE;
                   dialog --backtitle "$LWCORPHEADER" --title "$TITLESUCESSO" --msgbox "\nPERMISSAO CORRIGIDA COM SUCESSO." 7 65; exit 0;;
                *) echo "$LOGDATE - [Erro no ajuste de permissao em $DIRETORIO_ALVO]" >> $LOGFILE;
            dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nOCORREU UM ERRO AO SETAR PERMISSAO EM $DIRETORIO_ALVO. VERIFICAR." 7 65; exit 1;;
            esac

        fi

     fi

else

        # Caso o diretorio /var/tmp/bacula-restores nao exista, exibe erro:

        echo "$LOGDATE - [O diretorio $DB_RESTORE_DIR nao existe no servidor. Configuracao cancelada]" >> $LOGFILE;
        dialog --backtitle "$LWCORPHEADER" --title "$TITLEERRO" --msgbox "\nDIRETORIO $DB_RESTORE_DIR NAO EXISTE.\n\nPROCESSO CANCELADO." 9 65
        exit 1

fi