#!/bin/bash
#author:Cristiano Siqueira
#descricao:Automatiza o backup ou restauração de um PDV ou Supervisor.
#Revisao:

user=`whoami`
resp=0
bkprest=0 pdvousup=0 linha=8
skytef=$resp scanntech=$resp backup=$resp openerp=$resp rclocal=$resp crontab=$resp shfrente=$resp

vesaonfce=4.51.16

psigpdv='/usr/local/sigpdv'
lpdvconfig='/usr/local/sigpdv/pdvconfig.cfg'
baixapdv='download.sigsolucoes.net.br/produtos/crss/txt/PDV.sh'
dlpadrao='download.sigsolucoes.net.br/produtos/crss'
localpadrao=$('/recebe/bkpcx$cx')
localdumpPDV=$('/recebe/bkpcx$cx')
localdumpERP=$('/recebe/bkpcx$cx')

criaDumpPDV=$(pg_dump --host localhost --port 5432 --username "postgres" --role "postgres" --format custom --blobs --verbose --file $localdumpPDV/sigpdv_$cx.dump $bpdv)
criaDumpERP=$(pg_dump --host localhost --port 5432 --username "openerp" --role "openerp" --format custom --blobs --verbose --file $localdumpERP/$spdv.$cx.dump $spdv)

prevbkpPDV=$(pg_dump --host localhost --port 5432 --username "postgres" --role "postgres" --format custom --blobs --verbose --file $localdumpPDV/sigpdv_$cx.dump $bpdv)
prevbkpERP=$(pg_dump --host localhost --port 5432 --username "openerp" --role "openerp" --format custom --blobs --verbose --file $localdumpERP/$spdv.$cx.dump $spdv)

restauraPDV=$(pg_restore --host localhost --port 5432 --username "postgres" --role "postgres" --dbname sigpdv --verbose $localdumpPDV/sigpdv_$cx.dump)
restauraERP=$(pg_restore --host localhost --port 5432 --username "openerp" --role "openerp" --dbname $spdv --verbose $localdumpERP/$spdv.$cx.dump)

lerpfvcfg(){
    while [ $linha -le 19 ]
    do
      cat -n $lpdvconfig | grep -n ^ | grep ^$linha: | cut -d: -f2
      linha=$(( $linha + 1 ))
    done
}

erro_opcao(){
    clear
    echo "╔══════════════════════════════════════════════════════════╗"
    echo "║              Você digitou uma opção erra!                ║"
    echo "║  Por favor, reinicie o processo e responda corretamente. ║"
    echo "╚══════════════════════════════════════════════════════════╝"
    exit
}

erro_opcao_continuar(){

    echo "╔═════════════════════════════════════╗"
    echo "║     Você digitou uma opção erra!    ║"
    echo "║  Continuando processo de instalação ║"
    echo "╚═════════════════════════════════════╝"
    sleep 3
}

fim(){
	echo "      ╔═══════╗"
	echo "      ║  FIM  ║"
	echo "      ╚═══════╝"
	exit
}

installpdv(){
    wget $baixapdv
    [ -f PDV.sh ] && chmod 755 PDV.sh && ./PDV.sh
}

funcrestauraounaopdv(){
    echo "╔═════════════════════════════════════════╗"
    echo "║ Deseja Restaurar a pasta SigPDV antiga? ║"
    echo "║                (1) = SIM.               ║"
    echo "║                (2) = NÃO.               ║"
    echo "╚═════════════════════════════════════════╝"
    read -p "R: " restauraounaopdv
}

naorestaurapdv(){
    cd $localpadrao/
    wget $dlpadrao/txt/start-sigpdv
    cp start-sigpdv /usr/bin/
    cat /usr/bin/start-sigpdv
    sleep 3
    
    cd $localpadrao/
    cp pdvconfig.cfg $psigpdv
    cp CliSiTef.ini $psigpdv
    
    cd $localpadrao/
    wget $dlpadrao/PDV/nfe-$vesaonfce.tar.gz
    tar xfvz nfe-$vesaonfce.tar.gz
    cd $localpadrao/nfe-$vesaonfce
    sudo python setup.py install
    cd v/
    rm -rf nfe-$vesaonfce/
}

restaurapdv(){
    cd /usr/local/
    tar cfvz sigpdv_newinstall_$cx.tar.gz sigpdv
    cp sigpdv_newinstall_$cx.tar.gz $localpadrao

    cd $localpadrao/
    cp sigpdv_$cx.tar.gz /usr/local/
    sleep 3

    cd /usr/local/
    rm -rf sigpdv/
    tar xfvz sigpdv_$cx.tar.gz
    sleep 3

    cd $localpadrao/
    wget $dlpadrao/txt/start-sigpdv
    cp start-sigpdv /usr/bin/
    cat /usr/bin/start-sigpdv
    sleep 3

    cd v/
    wget download.sigsolucoes.net.br/produtos/releases/python-nfe/4.51/nfe-$vesaonfce.tar.gz
    tar xfvz nfe-$vesaonfce.tar.gz
    cd $localpadrao/nfe-$vesaonfce
    sudo python setup.py install
    cd $localpadrao/
    rm -rf nfe-$vesaonfce/
}

ini_restuar(){

    if [ -e /recebe/ ];then
        funcrestauraounaopdv
        if [[ $restauraounaopdv == 1 ]];then
            restaurapdv
        elif [[ $restauraounaopdv == 2 ]];then
            naorestaurapdv
        else
            echo "Opção errada! Tente novamente!"
            echo " "
            echo " "
            funcrestauraounaopdv
        fi
    fi

}

instalar_sigfrente(){
    echo "╔═════════════════════════════════════╗"
    echo "║    Deseja instalar o SigFrente?     ║"
    echo "║                                     ║"
    echo "║           Digite 1 (Sim)            ║"
    echo "║           Digite 2 (Não)            ║"
    echo "╚═════════════════════════════════════╝"

    read -p "R: " sigfrente
    case "$sigfrente" in 1 ) echo "OK!"
    installpdv
    ;; 2 ) echo "OK!"
    ini_restuar
    ;; * ) clear
    echo "Opção errada!"
    echo " "
    instalar_sigfrente ;; esac
}

if [[ $user == "root" ]];then

    echo "╔════════════════════════════╗"
    echo "║  O que voce deseja fazer?  ║"
    echo "║                            ║"
    echo "║  (1) - Backup do Caixa.    ║"
    echo "║  (2) - Restaurar Caixa.    ║"
    echo "╚════════════════════════════╝"
    read -p "R: " bkprest
    case "$bkprest" in 1 ) echo "OK!" ;; 2 ) echo "OK!" ;; * ) clear
    erro_opcao ;; esac

    echo "╔═══════════════════════════════════════════╗"
    echo "║ O computador é Caixa ou Supervisor/Caixa? ║"
    echo "║                                           ║"
    echo "║          (1) Caixa - PDV somente          ║"
    echo "║          (2) Caixa e Supervisor           ║"
    echo "╚═══════════════════════════════════════════╝"
    read -p "R: " pdvousup
    case "$pdvousup" in 1 ) echo "OK!" ;; 2 ) echo "OK!" ;; * ) clear
    erro_opcao ;; esac

    read -p "1) O PDV tem TEF da SkyTEF? (s/n): " skytef
    case "$skytef" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "2) O PDV tem scanntech? (s/n): " scanntech
    case "$scanntech" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "3) O PDV tem a pasta /backup? (s/n): " backup
    case "$backup" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "4) O PDV tem OpeneERP instalado? (s/n): " openerp
    case "$openerp" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "5) O PDV tem arquivo rc.local com algum tipo de configuração? (s/n): " rclocal
    case "$rclocal" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "6) O PDV possui algum tipo de configuração feita no arquivo crontab? (s/n): " crontab
    case "$crontab" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "7) O PDV possui algum tipo de configura SAMBA feita no arquivo smb.conf? (s/n): " smbconf
    case "$smbconf" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac
    read -p "8) O PDV é Supervisor de alguma loja do Santa Helena? (s/n): " shfrente
    case "$shfrente" in s ) echo "OK!" ;; n ) echo "OK!" ;; * ) clear
        erro_opcao ;; esac

    if [[ $bkprest == 1 ]];then # Fazendo backup do caixa
        echo "╔════════════════════════════════════════╗"
        echo "║ Iniciando processo de backup do caixa! ║"
        echo "╚════════════════════════════════════════╝"
        sleep 1
        echo "╔══════════════════════════════╗"
        echo "║ Verificando numero do caixa! ║"
        echo "╚══════════════════════════════╝"
        sleep 2
        cat $lpdvconfig | grep caixa
        echo "╔═══════════════════════════╗"
        echo "║ Digite o numero do caixa! ║"
        echo "╚═══════════════════════════╝"
        read -p "R: " cx

        lerpfvcfg

        psql -U postgres -l

        if [[ $pdvousup == 1 ]];then #caixa
            read -p "Qual o nome do banco do Caixa $cx para backup? R: " bpdv
        elif [[ $pdvousup == 2 ]];then #caixa e supervisor
            read -p "Qual o nome do banco do Caixa $cx para backup? R: " bpdv
            read -p "Qual o nome do banco do Supervisor para backup? R: " spdv
        else
            erro_opcao
        fi

        echo " "
        echo "╔═════════════════════════════════╗"
        echo "║ Fazendo backup da pasta sigpdv. ║"
        echo "╚═════════════════════════════════╝"
        echo " "
        sleep 3

        if [[ -e /recebe/ ]];then
            echo " "
            echo "╔════════════════════════════════════════════╗"
            echo "║ Pasta Recebe existe! Continuando processo. ║"
            echo "╚════════════════════════════════════════════╝"
            echo " "
            sleep 2
            echo " "
            echo "╔═══════════════════╗"
            echo "║ Dando permissões. ║"
            echo "╚═══════════════════╝"
            echo " "
            sleep 2
            mkdir $localpadrao/
            chmod 777 /recebe/ -R
            chown caixa:caixa /recebe/ -R
        else
            echo " "
            echo "╔═════════════════════════════════════════╗"
            echo "║ Pasta Recebe não existe. Criando pasta. ║"
            echo "╚═════════════════════════════════════════╝"
            echo " "
            sleep 2
            mkdir /recebe/
            mkdir $localpadrao/
            echo " "
            echo "╔═══════════════════╗"
            echo "║ Dando permissões. ║"
            echo "╚═══════════════════╝"
            echo " "
            sleep 2
            chmod 777 /recebe/ -R
            chown caixa:caixa /recebe/ -R
        fi
	
        cd /usr/local/
        tar cfvz sigpdv_$cx.tar.gz sigpdv
        cp sigpdv_$cx.tar.gz $localpadrao
        cd $psigpdv
        cp pdvconfig.cfg $localpadrao/
        cp CliSiTef.ini $localpadrao/

        if [[ $skytef == "s" ]];then
            if [[ -e /etc/wnbtlscli/registry ]];then
                cp -v /etc/wnbtlscli/registry $localpadrao/
            else
                echo "╔═════════════════════════════════════════╗"
                echo "║ O aquivo 'registry' não foi encontrado! ║"
                echo "╚═════════════════════════════════════════╝"
                sleep 3
            fi
        fi

        if [[ $scanntech == "s" ]];then
            if [[ -e /usr/local/scanntech/ ]];then
                echo "╔═════════════════════════════════════╗"
                echo "║ Gerando tar.gz da pasta scanntech.  ║"
                echo "║ Isso pode demorar muito, dependendo ║"
                echo "║ do tamanho e quantidade das pastas. ║"
                echo "╚═════════════════════════════════════╝"

                sleep 4
                cd /usr/local/scanntech/
                cp -r agente/ /recebe/
                rm -rf agente/
                cd /usr/local/
                tar cfvz scanntech_$cx.tar.gz scanntech/
                cp -v scanntech_$cx.tar.gz $localpadrao/
                cd /recebe/
                cp -r -v agente/ /usr/local/scanntech/

                echo "╔══════════════════════════════════════╗"
                echo "║     Finalizado criação do tar.gz     ║"
                echo "║        da pasta do scanntech.        ║"
                echo "╚══════════════════════════════════════╝"
                sleep 2
            else
                echo "A pasta 'scanntech' não foi encontrada!"
                sleep 3
            fi
        fi

        if [[ $backup == "s" ]]; then
            if [[ -e /backup/ ]];then
                echo "╔═════════════════════════════════════╗"
                echo "║   Gerando tar.gz da pasta backup.   ║"
                echo "║ Isso pode demorar muito, dependendo ║"
                echo "║ do tamanho e quantidade das pastas. ║"
                echo "╚═════════════════════════════════════╝"
                sleep 4
                cd /
                tar cfvz backup_$cx.tar.gz /backup
                cp -v backup_$cx.tar.gz $localpadrao/
                echo "╔══════════════════════════════════════╗"
                echo "║     Finalizado criação do tar.gz     ║"
                echo "║          da pasta do backup.         ║"
                echo "╚══════════════════════════════════════╝"
                sleep 2
            else
                echo "A pasta /backup não foi encontrada!"
                sleep 3
            fi
        fi

        if [[ $openerp == "s" ]];then
            if [[ -e /etc/openerp-server.conf ]];then
                echo "Salvando openerp-server.conf."
                sleep 2
                cp -v /etc/openerp-server.conf $localpadrao/
            else
                echo "O arquivo openerp-server.conf não foi encontrado!"
                sleep 3
            fi
            if [[ -e /usr/local/sigerp ]];then
                echo "Salvando pasta 'sigerp'."
                sleep 3
                cd /usr/local/
                tar cfvz sigerp_$cx.tar.gz sigerp/
                cp -v sigerp_$cx.tar.gz $localpadrao/
            else
                echo "A pasta sigerp não foi encontrada!"
                sleep 3
            fi
        fi

        if [[ $rclocal == "s" ]];then
            if [[ -e /etc/rc.local ]];then
                echo "Sanvando arquivo rc.local."
                sleep 2
                cp -v /etc/rc.local $localpadrao/
            else
                echo "O arquivo rc.local não foi encontrado!"
                sleep 3
            fi
        fi

        if [[ $crontab == "s" ]];then
            if [[ -e /etc/crontab ]];then
                echo "Salvando arquivo crontab!"
                sleep 2
                cp -v /etc/crontab $localpadrao/
            else
                echo "O arquivo 'crontab' não foi encontrado!"
                sleep 3
            fi
        fi

        if [[ $smbconf == "s" ]];then
            if [[ -e /etc/samba/smb.conf ]];then
                echo "Salvando arquivo de configuração do Samba."
                cp -v /etc/samba/smb.conf $localpadrao/
            else
                echo "O arquivo 'smb.conf' não foi encontrado!"
                sleep 3
            fi
        fi

        if [[ $stahelenafrente == "s" ]];then
            if [[ -e /etc/init.d/frente ]];then
                echo "Salvando arquivo frente do Supervisor do Santa Helena."
                sleep 2
                cp -v /etc/init.d/frente $localpadrao/
            else
                echo "O arquivo 'frente' não foi encontrado!"
                sleep 3
            fi
        fi

        lerpfvcfg

        if [[ $pdvousup == 1 ]];then #caixa
            echo " "
            echo "Criando dump sigpdv. . ."
            echo " "
            sleep 3
            eval $criaDumpPDV
        elif [[ $pdvousup == 2 ]];then #caixa e supervisor
            echo " "
            echo "Criando dump sigpdv. . ."
            echo " "
            sleep 3
            eval $criaDumpPDV
            lerpfvcfg
            echo " "
            echo "Criando dump do supervisor. . ."
            echo " "
            sleep 3
            eval $criaDumpERP
        else
            erro_opcao
        fi

        echo " "
        echo "Arquivos salvos na pasta de $localpadrao:"
        echo " "
        ls -lha $localpadrao/
        sleep 3

        fim

    elif [[ $bkprest == 2 ]];then # Restaurando backup do caixa!!

        echo "Iniciando processo de restauração do caixa."
        sleep 3

        read -p "Digite o numero do caixa: " cx
        sleep 2

        if [[ -e /recebe ]];then
            echo "Pasta Recebe existe! Continuando processo."
            if [[ -e $localpadrao ]];then
                echo "Pasta Backup$cx encontrada!"
                chmod 777 /recebe/ -R
                chown caixa:caixa /recebe/ -R
            else
                mkdir $localpadrao/
                chmod 777 /recebe/ -R
                chown caixa:caixa /recebe/ -R
            fi
        else
            mkdir /recebe/
            mkdir $localpadrao/
            chmod 777 /recebe/ -R
            chown caixa:caixa /recebe/ -R
        fi

        instalar_sigfrente

        if [[ $pdvousup == 1 ]];then #Somente Caixa

            if [[ -e /etc/postgresql/10/main/ ]];then
                echo "Postresql 10 instalado!!"
                echo "Removendo versão antiga e instalando versão nova!"
                sleep 3
                sudo apt --purge remove postgresql-10 -y
            fi
            if [[ -e /etc/postgresql/13/main/ ]];then
                echo "Postresql 13 instalado!"
                sleep 3
            else
                #sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
                sudo sh -c 'echo "deb https://apt-archive.postgresql.org/pub/repos/apt bionic-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
                wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
                sudo apt update
                sudo apt -y install postgresql-13 postgresql-client-13
            fi
            if [[ -e /etc/postgresql/15/main/ ]];then
                sudo apt --purge remove postgresql-15 -y
            fi
        fi

        if [[ $pdvousup == 2 ]];then
            read -p "Qual o nome do banco do Supervisor à ser restaurado?: " spdv

            read -p  "Deseja instalar o Postgresql atualizado?: " installpostgres
            echo "╔════════════════════════════════════╗"
            echo "║           Digite (1) Sim           ║"
            echo "║           Digite (2) Não           ║"
            echo "╚════════════════════════════════════╝"

            if [[ installpostgres == 1 ]];then
                echo "Salvando base de dados do caixa e supervisor antes de atualizar o Postgresql!"
                sleep 3 #melhor prevenir do que remediar!

                lerpfvcfg
                prevbkpPDV
                prevbkpERP

                if [[ -e /etc/postgresql/10/main/ ]];then
                    echo "Postgresql 10 instalado!!"
                    echo "Removendo versão antiga e instalando versão nova!"
                    sleep 3
                    sudo apt --purge remove postgresql-10 -y
                fi
                if [[ -e /etc/postgresql/13/main/ ]];then
                    echo "Postgresql 13 instalado!"
                    sleep 3
                else
                    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
                    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
                    sudo apt update
                    sudo apt -y install postgresql-13 postgresql-client-13
                fi
                if [[ -e /etc/postgresql/15/main/ ]];then
                    sudo apt --purge remove postgresql-15 -y
                fi
            elif [[ installpostgres == 2 ]];then
                echo "╔════════════════════════╗"
                echo "║ Continuando instalação ║"
                echo "╚════════════════════════╝"
                sleep 3
            else
                erro_opcao_continuar
            fi
        fi
        #Aqui estão os arquivos importantes para funcionamento do Computador.

        if [[ $skytef == "s" ]];then
            if [[ -e /etc/wnbtlscli/ ]];then
                echo "O SkyTEF já se econtra instalado. Veja se ele está funcionando normalmente."
                sleep 3
            else
                echo "O SkyTEF não está instalado. Intale-o!"
                echo "Use as informações do arquivo registry para registar o caixa novamente."
                sleep 4
            fi
        fi

        if [[ $scanntech == "s" ]];then
            echo "Verificando se o scanntech está instalado:"
            sleep 2
            if [[ -e /usr/local/scanntech/ ]];then
                cd $localpadrao/
                cp -v $localpadrao/scanntech_$cx.tar.gz /usr/local/
                cd /usr/local/
                tar xfvz scanntech_$cx.tar.gz scanntech/
            else
                echo "O scanntech não está instalado. Instale ele, depois descompacte o backup."
                sleep 3
            fi
        fi

        if [[ $backup == "s" ]];then
            if [ -e $localpadrao/backup_$cx.tar.gz ];then
                echo "Voltando pasta de backup para seu devido lugar."
                sleep 3
                cp -r $localpadrao/backup_$cx.tar.gz /
                cd /
                tar xfvz backup_$cx.tar.gz
            else
                echo "Não foi possível encontrar o arquivo tar da pasta backup."
                sleep 3
            fi
        fi

        if [[ $openerp == "s" ]];then
            if [[ -e /usr/local/sigerp/ ]];then
                echo "Copiando arquivos OpenERP para seu devido lugar."
                sleep 3
                cp -v $localpadrao/openerp-server.conf /etc/
                cd /usr/local/
                rm -rf sigerp/
                cp -v $localpadrao/sigerp_$cx.tar.gz /usr/local/
                tar xfvz sigerp_$cx.tar.gz
            else
                echo "O OpenERP e o SigERP não estão instalados. Instale-os!!"
                sleep 3
            fi
        fi

        if [[ $rclocal == "s" ]];then
            if [[ -e $localpadrao/rc.local ]];then
                echo "Copiando rc.local para seu devido local."
                sleep 2
                cp -v $localpadrao/rc.local /etc/
            else
                echo "O arquivo rc.local não foi encontrado."
                sleep 3
            fi
        fi

        if [[ $crontab == "s" ]];then
            if [[ -e $localpadrao/crontab ]];then
                echo "Copiando crontab para seu devido local."
                sleep 2
                cp -v $localpadrao/crontab /etc/
            else
                echo "O arquivo crontab não foi encontrado."
                sleep 3
            fi
        fi

        if [[ $smbconf == "s" ]];then
            if [[ -e $localpadrao/smb.conf ]];then
                echo "Copiando smb.conf para seu devido local."
                sleep 2
            else
                echo "O arquivo smb.conf não foi encontrado."
                sleep 3
            fi
        fi

        if [[ $stahelenafrente == "s" ]];then
            if [ -e $localpadrao/frente ];then
                echo "Copiando arquivo 'frente', usado pelo Fred, para envio de carga aos caixas."
                sleep 3
                cp -v $localpadrao/frente /etc/init.d/
            else
                echo "O arquivo 'frente' não foi encontrado."
                sleep 3
            fi
        fi

        if [[ $pdvousup == 1 ]];then
            echo " "
            echo "Subindo base sigpdv do caixa $cx. . ."
            echo " "
            sleep 3
            lerpfvcfg
            sleep 3
            restauraPDV
        elif [[ $pdvousup == 2 ]];then
            echo " "
            echo "Subindo base sigpdv do caixa $cx. . ."
            echo " "
            sleep 3
            lerpfvcfg
            sleep 3
            restauraPDV
            echo " "
            echo "Criando dump do supervisor. . ."
            echo " "
            sleep 3
            lerpfvcfg
            sleep 3
            psql -U postgres -l
            restauraERP

        else
            erro_opcao
            sleep 4
        fi
        fim
    else
        clear
        erro_opcao
        exit
    fi
else
    clear
    echo " "
    echo " "
    echo "╔══════════════════════════════════════════════════╗"
    echo "║Execute este aplicatvo em usuário Root, por favor.║"
    echo "╚══════════════════════════════════════════════════╝"
    exit
fi

#pg_dump --host localhost --port 5432 --username "postgres" --role "postgres" --format custom --blobs --verbose --file /recebe/bkpcx1/sigpdv.dump sigpdv
#pg_dump --host localhost --port 5432 --username "openerp" --role "openerp" --format custom --blobs --verbose --file /recebe/bkpcx1/supervisor.dump supervisor

#pg_restore --host localhost --port 5432 --username "postgres" --role "postgres" --dbname sigpdv --verbose /recebe/bkpcx1/sigpdv.dump
#pg_restore --host localhost --port 5432 --username "openerp" --role "openerp" --dbname supervisor --verbose /recebe/bkpcx1/supervisor.dump


