Backup, compactação, verificação e transferência de arquivos
Publicado por G. Magalhaes (última atualização em 23/07/2018)
[ Hits: 3.703 ]
Saudações a todos!
Script para backup, compactação, verificação e transferência de arquivo para outra máquina na rede com geração de log enviado por email. Sistemas CentOS 7 32 bits (sim, existem CentOS 7 32 bits!) com Firebird 2.56 versão SuperServer.
Vamos criar nomes padronizados no estilo $ano$mes$dia'Bk'$Diadasemana para serem usados em bases de dados Firebird, gerar um backup destas, compactá-la e enviar o arquivo compactado via rede para outra máquina tudo isso acompanhado de um log que ficará na máquina local e será também enviado via e-mail.
O arquivo original estará no formato .FDB o seu backup estará no formato GBK e este será compactado no formato 7z o qual será transferido para um compartilhamento em rede onde será descompactado e a base restaurada, esta segunda etapa, no outro computador estará, em breve, em outro artigo.
Usei configurações de compactação que geram arquivos 7z menores que 5% do tamanho do .FDB, claro, considerando a minha base de dados de produção que é de 7 Gbytes e foi para 199 Mbytes.
São feitos alguns testes de conectividade, montagem e desmontagem de caminhos de rede e de criação de pastas.
Pre-requisitos:
- CentOS 7 32 bits (espero publicar em breve um artigo de como instalar o desconhecido CentOS 32bits. Deve funcionar no 64 bits normalmente, mas não testei, faça-o por sua conta e risco)
- Firebird SuperServer (no CentOS 32 bits não é automática a instalação já o CentOS 32 bits não possui os repositórios padrões e isso também será abordado no artigo de instalação do CentOS 32 bits)
- 7zip
- Samba
Ressalvas:
1) Usei este script por muito tempo e nunca tive nenhum problema e tentei cercar algumas eventuais mensagens de erro/alertas do Firebird, mesmo assim use-o por sua conta e risco, se der algum problema não tenho culpa não ;-) ! Claro nunca se deve testar na base de produção antes de ter certeza do que está fazendo.
2) Algumas partes estão muito repetidas, pois inicialmente este script seria lido por um outro script então precisava de acesso à saída (exit) e não tive tempo de colocar de uma forma menos "macarrone".
3) Lembre-se de adicionar o script ao seu crontab. No meu caso usei, como root o comando "crontab -e". Ao tentar editar o /etc/crontab não deu certo, mas não procurei entender o porquê. --> crontab -e --> 00 22 * * MON-SAT /root/vivaobackup.sh
Abraços a todos!
#Script para backup, compactação, verificação e transferência de arquivo para outra máquina na rede com geração de log enviado por email. Sistemas Centos 7 32 Bits (sim, existem Centos 7 32 bits!) com Firebird 2.56 versão SuperServer. #Autor AgOfEarth submetido ao Viva o Linux - https://www.vivaolinux.com.br/ em 23 de julho de 2018. #Vamos criar nomes padronizados no estilo $ano$mes$dia'Bk'$Diadasemana para serem usados em bases de dados firebird gerar um backup destas, compactá-la e enviar o arquivo compactado via rede para outra máquina tudo isso acompanhado de um log que ficará na máquina local e será também enviado via e-mail. #O arquivo original estará no formato .FDB o seu Back-up estará no formato GBK e este será compactado no formato 7z o qual será transferido para um compartilhamento em rede onde será descompactado e a base restaurada, esta segunda etapa, no outro computador estará, em breve, em outro artigo. #Usei configurações de compactação que geram arquivos 7z menores que 5% do tamanho do .FDB, claro, considerando a minha base de dados de produção que é de 7 Gbytes e foi para 199 Mbytes. #São feitos alguns testes de conectividade, montagem e desmontagem de caminhos de rede e de criação de pastas. #Pre-Requisitos: #- Centos 7 32 bits (espero publicar em breve um artigo de como instalar o desconhecido Centros 32bits. Deve funcionar no 64 bits normalmente, mas não testei, faça-o por sua conta e risco.) #- Firebird SuperServer ( no Centos 32 bits não é automática a instalação já que o CENTOS 32 bits não possui os repositórios padrões e isso também será abordado no artigo de instalação do CENTOS 32 bits) #- 7zip #- mail #- Samba #Ressalvas: #1) Usei este script por muito tempo e nunca tive nenhum problema e tentei cercar algumas eventuais mensagens de erro/alertas do Firebird, mesmo assim use-o por sua conta e risco, se der algum problema não tenho culpa não ;-) ! Claro nunca se deve testar na base de produção antes de ter certeza do que está fazendo. #2) Algumas partes estão muito repetidas, pois inicialmente este script seria lido por um outro script então precisava de acesso à saída (exit) e não tive tempo de colocar de uma forma menos "macarrone" #3) Lembre-se de adicionar o script ao seu crontab. No meu caso usei, como root o comando "crontab -e". Ao tentar editar o /etc/crontab não deu certo, mas não procurei entender o porquê. --> crontab -e --> 00 22 * * MON-SAT /root/vivaobackup.sh #!/bin/bash INICIO=`date +%Y/%m/%d-%H:%M:%S` #Comandos não devem ser enviados para $LOG, mas para outros arquivos intermediarios reconhece-se tais comandos pela sequência &> #Modo detalhado # Se quisermos verificar em detalhes como foi executado o comando gbak mude a variável abaixo para 1 modo_detalhado=0 #===================== VERIFICA A EXISTENCIA DE ARQUIVO DE LOG, SE EXISTE É REMOVIDO======================================= if [ -e /root/`date +%Y-%m-%d`.txt ]; then rm -rf /root/`date +%Y-%m-%d`.txt fi #===================== FIM VERIFICA A EXISTENCIA DE ARQUIVO DE LOG, SE EXISTE É REMOVIDO ======================================= echo -n "" > /root/`date +%Y-%m-%d`.txt LOG=/root/`date +%Y-%m-%d`.txt echo -n "" > /root/log_temp.txt LOG_temp=/root/log_temp.txt ANO=`date +%Y` MES=`date +%m` DIA=`date +%d` DIA_SEMANA=`date +%w` HORA=`date +%H` MINUTO=`date +%M` SEGUNDO=`date +%S` case $DIA_SEMANA in 0) DIA_SEMANA='Domingo'; ;; 1) DIA_SEMANA='Segunda'; ;; 2) DIA_SEMANA='Terca'; ;; 3) DIA_SEMANA='Quarta'; ;; 4) DIA_SEMANA='Quinta'; ;; 5) DIA_SEMANA='Sexta'; ;; 6) DIA_SEMANA='Sabado'; ;; esac if [ -e /usr/bin/7z ] then compactador=1 #echo -e "Compactador = $compactador" else if [ -e /usr/bin/7za ] then compactador=2 # echo -e "Compactador = $compactador" else compactador=3 # echo -e "Compactador = $compactador" fi fi DATA_INICIAL=`echo $ANO'/'$MES'/'$DIA', '$DIA_SEMANA'-feira'` IP_LOCAL=$(hostname -i) prefixo=`echo $ANO$MES$DIA'Bk'$DIA_SEMANA` pasta_arquivo_original_fdb=`echo '/PASTA/'` arquivo_original_fdb=`echo 'NOME_DA_EMPRESA.fdb'` PASTA_LOCAL_BACKUP=`echo '/OUTRA_PASTA/'` caminho_arquivo_original_fdb=`echo $pasta_arquivo_original_fdb$arquivo_original_fdb` #echo -e "caminho_arquivo_original_fdb: $caminho_arquivo_original_fdb" arquivo_intermediario_gbk=`echo $prefixo'.gbk'` #echo -e "arquivo_intermediario_gbk: $arquivo_intermediario_gbk" caminho_arquivo_intermediario_gbk=`echo $PASTA_LOCAL_BACKUP$arquivo_intermediario_gbk` #echo -e "caminho_arquivo_intermediario_gbk: $caminho_arquivo_intermediario_gbk" arquivo_final_7z=`echo $prefixo'.7z'` #echo -e "arquivo_final_7z: $arquivo_final_7z" caminho_arquivo_final_7z=`echo $PASTA_LOCAL_BACKUP$arquivo_final_7z` #echo -e "caminho_arquivo_final_7z: $caminho_arquivo_final_7z" IP_RECEBE_COPIA_BACKUP=`echo '123.123.123.70'` DRIVE_DE_REDE_PARA_BACKUP=`echo '//'$IP_RECEBE_COPIA_BACKUP'/bk/'` #echo -e "DRIVE_DE_REDE_PARA_BACKUP: $DRIVE_DE_REDE_PARA_BACKUP" PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE=`echo '/mnt/'$ANO$MES$DIA$HORA$MINUTO$SEGUNDO'/'` #echo -e "PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE: $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP=`echo $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE'tmp_7z/'` #echo -e "PASTA_DE_MONTADA_NO_PONTO_DE_REDE_PARA_BACKUP: $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP" if [ -e $caminho_arquivo_original_fdb ] then chmod 777 $caminho_arquivo_original_fdb chown firebird.firebird $caminho_arquivo_original_fdb else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] *** Essa tarefa nao eh um teste e envolve o calculo de Direitos Autorais e o arquivo $arquivo_original_fdb nao foi localizado. VERIFIQUE ONDE ESTAH O ARQUIVO. SE ESTIVER TENTANDO FAZER UM TESTE FORA DO AMBIENTE DE TESTE CUIDADO PARA NAO SOBRESCREVER O ARQUIVO $arquivo_original_fdb ou o ARQUIVO `echo $pasta_arquivo_original_fdb'DA'$arquivo_orginal_fdb` NO SERVIDOR DE PRODUCAO!***" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] *** Nao existe $caminho_arquivo_original_fdb e verifique o que está acontecendo! ***" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR NENHUMA TAREFA!" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Nao foi possivel criar O BACK-UP." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1001 fi echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Inciciando back-up do $caminho_arquivo_original_fdb - $DATA_INICIAL, no servidor $IP_LOCAL NOVO!" >> $LOG #=================== PARANDO SERVIÇOS ANTES DE COMEÇAR O BACK-UP =============================================================== systemctl stop smb | echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Compartilhamento parado......................: systemctl stop smb" >> $LOG systemctl restart firebird-superserver | echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Firebird reiniciado..........................: systemctl firebird-superserver restart" >> $LOG #=================== FIM PARANDO SERVIÇOS ANTES DE COMEÇAR O BACK-UP =============================================================== #=================== BACK-UP echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Iniciando backup..." >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] $caminho_arquivo_original_fdb" >> $LOG LOG_gfix1=/root/log_gfix1.txt gfix -user SYSDBA -password SEGREDO -shut single -force 1 $caminho_arquivo_original_fdb &> $LOG_gfix1 if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Fechando o banco de da dados $caminho_arquivo_original_fdb................: gfix -user SYSDBA -password OCULTA -shut single -force 1 $caminho_arquivo_original_fdb" >> $LOG cat $LOG $LOG_gfix1 > $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp rm -rf $LOG_gfix1 ERRO_gfix1=0 else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Falhou a tentativa de fechar o banco de dados $caminho_arquivo_original_fdb................: gfix -user SYSDBA -password OCULTA -shut single -force 1 $caminho_arquivo_original_fdb" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] DEVERAH SER FEITO BACK-UP MANUAL" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG cat $LOG $LOG_gfix1 > $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp rm -rf $LOG_gfix1 ERRO_gfix1=1 ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Erro ao tentar fechar o banco de dados." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1006 fi LOG_gbak=/root/log_gbak.txt if [ $modo_detalhado -eq 1 ] then gbak -user SYSDBA -verify -password SEGREDO $caminho_arquivo_original_fdb $caminho_arquivo_intermediario_gbk &> $LOG_gbak testegbak=$? else gbak -user SYSDBA -password SEGREDO $caminho_arquivo_original_fdb $caminho_arquivo_intermediario_gbk &> $LOG_gbak testegbak=$? fi if [ $testegbak -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Iniciando backup.............................: gbak -user SYSDBA -password OCULTA $caminho_arquivo_original_fdb $caminho_arquivo_intermediario_gbk" >> $LOG cat $LOG $LOG_gbak > $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp rm -rf $LOG_gbak ERRO_gbak=0 else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Falhou a tentativa de fazer o back-up de $caminho_arquivo_original_fdb................: gbak -user SYSDBA -password OCULTA $caminho_arquivo_original_fdb $caminho_arquivo_intermediario_gbk" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] DEVERAH SER FEITO BACK-UP MANUAL" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG cat $LOG $LOG_gbak > $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp rm -rf $LOG_gbak ERRO_gbak=1 ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Erro em Gbak ao tentar fazer o backup banco de dados." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit=1008 fi LOG_gfix3=/root/log_gfix3.txt gfix -user SYSDBA -password SEGREDO -online normal $caminho_arquivo_original_fdb &> $LOG_gfix3 if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Reabrindo o Banco de dados $caminho_arquivo_original_fdb....................: gfix -user SYSDBA -password OCULTA -online normal $caminho_arquivo_original_fdb" >> $LOG cat $LOG $LOG_gfix3 > $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp rm -rf $LOG_gfix3 ERRO_gfix3=0 else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Falha ao tentar reabrir o Banco de dados $caminho_arquivo_original_fdb....................: gfix -user SYSDBA -password OCULTA -online normal $caminho_arquivo_original_fdb" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] EM PRINCIPIO O BANCO DE DADOS CRIADO NÃO ESTÁ CORROMPIDO, MAS VERIFICAR SE A RESTAURACAO FOI BEM SUCEDIDA!" >> $LOG cat $LOG $LOG_gfix3 > $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp rm -rf $LOG_gfix3 ERRO_gfix3=1 fi #================== FIM BACK-UP #=================== INICIANDO SERVIÇOS APÓS O BACK-UP =============================================================== systemctl start smb | echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Compartilhamento Reiniciado..................: systemctl start smb" >> $LOG systemctl start firebird-superserver | echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Firebird reiniciado..........................: systemctl firebird-superserver restart" >> $LOG #=================== FIM INICIANDO SERVIÇOS APÓS O BACK-UP =========================================================== if [ -e $caminho_arquivo_intermediario_gbk ]; then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] ARQUIVO DE BACKUP CRIADO COM EXITO!" >> $LOG ERRO_BACKUP=0 else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] ARQUIVO $caminho_arquivo_intermediario_gbk que teria sido criado não foi localizado. Verifique o que está ocorrendo." >> $LOG ERRO_BACKUP=1 fi #=================== COMPACTANDO O ARQUIVO DE BACK-UP GERADO ========================================================= if [ -e $caminho_arquivo_intermediario_gbk ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Iniciando compactacao para transferencia....." >> $LOG #=================== REMOVE SE JA EXISTE UM ARQUIVO COMPACTADO, NESTE CASO PODERIA SER UM ERRO DE COMPACTACAO if [ -e $caminho_arquivo_final_7z ] then rm -f $caminho_arquivo_final_7z fi #=================== FIM REMOVE SE JA EXISTE UM ARQUIVO COMPACTADO, NESTE CASO PODERIA SER UM ERRO DE COMPACTACAO LOG_7z=/root/log_7z.txt echo -e "--------------------------------------------------------------------" >> $LOG echo -e "++++++++++++++++++++++ INICIO DO LOG DE COMPACTACAO 7z +++++++++++++" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] INICIO DA COMPACTACAO!" >> $LOG_7z if [ $compactador -eq 1 ] then 7z a -aoa -t7z -m0=lzma -mx=9 $caminho_arquivo_final_7z $caminho_arquivo_intermediario_gbk &> $LOG_7z echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] 7z a -aoa -t7z -m0=lzma -mx=9 $caminho_arquivo_final_7z $caminho_arquivo_intermediario_gbk &> $LOG_7z" >> $LOG else if [ $compactador -eq 2 ] then 7za a -aoa -t7z -m0=lzma -mx=9 $caminho_arquivo_final_7z $caminho_arquivo_intermediario_gbk &> $LOG_7z echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] 7za a -aoa -t7z -m0=lzma -mx=9 $caminho_arquivo_final_7z $caminho_arquivo_intermediario_gbk &> $LOG_7z" >> $LOG else echo -e "NAO FOI LOCALIZANDO NEM O COMPACTADOR 7Z NEM O 7ZA, VERIFIQUE!!!" >> $LOG fi fi #================== REMOVENDO CARACTERES NÃO PADRÃO, CASO CONTRARIO NÃO SERIA POSSÍVEL ENVIAR O LOG NO CORPO DA MENSAGEM tr -s ' ' < $LOG_7z > /root/log_7z_UNIX.txt rm -rf /root/log_7z.txt #================== FIM REMOVENDO CARACTERES NÃO PADRÃO, CASO CONTRARIO NÃO SERIA POSSÍVEL ENVIAR O LOG NO CORPO DA MENSAGEM cat $LOG /root/log_7z_UNIX.txt > $LOG_temp rm -rf /root/log_7z_UNIX.txt echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FIM DA COMPACTACAO!" >> $LOG_temp echo -e "++++++++++++++++++++++ FIM DO LOG DE COMPACTACAO 7z+++++++++++++++++" >> $LOG_temp cat $LOG_temp > $LOG rm -rf $LOG_temp ERRO_COMPACTACAO=0 else echo -e "++++++++++++++++++++++ NAO FOI POSSIVEL COMPACTAR 7z, POIS O BACK-UP NAO FOI GERADO +++++++++++++++++++++++++++++++" >> $LOG ERRO_COMPACTACAO=1 fi if [ -e $caminho_arquivo_final_7z ] then echo -e "++++++++++++++++++++++++++LOG do 7zip+++++++++++++++++++++++++++++++" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Verificando integridade do arquivo compactado..." >> $LOG LOG_un7z=/root/log_un7z.txt LOG_temp=/root/log_temp.txt if [ $compactador -eq 1 ] then 7z t $caminho_arquivo_final_7z &> $LOG_un7z echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] 7z -t $caminho_arquivo_final_7z &> $LOG_un7z" >> $LOG else if [ $compactador -eq 2 ] then 7za t $caminho_arquivo_final_7z &> $LOG_un7z echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] 7za -t $caminho_arquivo_final_7z &> $LOG_un7z" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] NÃO FOI LOCALIZANDO NEM O COMPACTADOR 7Z NEM O 7ZA, VERIFIQUE!!!" >> $LOG fi fi tr -d '\015' < $LOG_un7z > /root/log_un7z2.txt cat $LOG /root/log_un7z2.txt > $LOG_temp rm -f /root/log_un7z2.txt echo -e "++++++++++++++++++++++FIM DO LOG do 7z testando+++++++++++++++++" >> $LOG_temp if [ "$ERRO_COMPACTACAO" -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Nao foi localizado erro no processo de criacao do arquivo 7z, portanto, arquivo $caminho_arquivo_intermediario_gbk serah sendo excluido." >> $LOG rm -rf $caminho_arquivo_intermediario_gbk if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] rm -rf $caminho_arquivo_intermediario_gbk" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Arquivo $caminho_arquivo_intermediario_gbk excluido com exito!" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] rm -rf $caminho_arquivo_intermediario_gbk" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] NAO FOI POSSIVEL EXCLUIR O ARQUIVO $caminho_arquivo_intermediario_gbk, VERIFIQUE!" >> $LOG fi fi rm -rf $LOG_un7z rm -rf /root/log_un7z.txt cat $LOG_temp > $LOG rm -rf $LOG_temp LOG_temp=/root/log_temp.txt else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] NAO FOI POSSIVEL VERIFICAR A INTEGRIDADE DO ARQUIVO $caminho_arquivo_final_7z POIS ELE NÃO FOI LOCALIZADO! \n VERIFICAR ARQUIVO DE LOG: $LOG" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Nao foi possivel criar $caminho_arquivo_final_7z." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit=1009 fi #Desmontando tudo em /mnt já que existe apenas este compartilhamento umount /mnt/* mkdir $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] mkdir $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta para ponto de montagem criada com exito" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE existe, verificando se ha algo montado nela..." >> $LOG if grep -qs $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE /proc/mounts; then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE existe e ha algo montado nela..." >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] tentando desmontar e verificando se foi desmontado" >> $LOG umount $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE if [ $? -eq 0 ] then #se a desmontagem foi be sucedida echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Como esperado, nao ha nada montado no Compartilhamento $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG else #se a desmontagem nao foi bem sucedida echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Nao foi possivel desmontar. Criarei outra pasta para ser usada como ponto de montagem, mas serah enviado um e-mail de alerta sobre este ponto de montagem jah existente\n" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Ponto de montagem ativo em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE=`echo /mnt/`date +%Y``date +%m``date +%d``date +%H``date +%M``date +%S``/`` fi else #existe a pasta que será usada como ponto de montagem, mas como esperado o ponto de montagem nao está ativo echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Como esperado não há nada montado em: $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG fi else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] mkdir $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta para ponto de montagem NÃO FOI criada. Back-Up Nao enviado!" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Nao foi possivel criar $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1010 fi chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Permissão 777 atribuida com exito aa pasta: $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta criada, mas falha ao tentar alterar a permissão CHMOD. O back-up nao foi enviado!" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Back-up nao sera transferido pois nao foi possivel alterar a permissão de: $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE." MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1011 fi ping -q -c5 $IP_RECEBE_COPIA_BACKUP > /dev/null if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O IP $IP_RECEBE_COPIA_BACKUP esta ligado e online, ou seja, responde ao Ping!">> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Verificando o Samba no Servidor $IP_LOCAL...">> $LOG systemctl status smb > /dev/null teste_smb=$? if [ $teste_smb -ne 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Problemas no samba, ANALISANDO-O." >> $LOG if [ $teste_smb -eq 3 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O samba estava parado por algum motivo, tentando reinicia-lo: systemctl restart smb" >> $LOG systemctl restart smb if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O samba foi reiniciado, prosseguindo..." >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Incapaz de reiniciar o Samba, PROBLEMA NO SERVIDOR, O ARQUIVO NÃO SERÁ ENVIADO" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - ERRO NO COMANDO SAMBA Nao foi possivel transferir "$caminho_arquivo_final_7z" para $DESTINO_DE_REDE_DO_BACKUP montado em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1013 fi fi else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O Samba em $IP_LOCAL está rodando normalmente" >> $LOG fi #=======================JÁ QUE O SERVIDOR QUE RECEBERÁ O BACK-UP ESTÁ ON LINE E O SAMBA ESTÁ RODANDO NORMALMENTE, MONTAR E COPIAR echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Tentando desmontar todos os drivers de rede em /mnt/" >> $LOG mount -t cifs $DRIVE_DE_REDE_PARA_BACKUP $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE -o user=root,pass=OUTRO_SEGREDO,rw,iocharset=utf8,file_mode=0777,file_mode=0777 if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] mount -t cifs $DESTINO_DE_REDE_DO_BACKUP $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE -o user=root,pass=SENHA_SAMBA_OCULTA,rw,iocharset=utf8,file_mode=0777,file_mode=0777" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Montado com exito $DESTINO_DE_REDE_DO_BACKUP em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] mount -t cifs $DESTINO_DE_REDE_DO_BACKUP $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE -o user=root,pass=SENHA_SAMBA_OCULTA,rw,iocharset=utf8,file_mode=0777,file_mode=0777" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Apesar do Samba no $IP_LOCAL estar conectado e o $IP_RECEBE_COPIA_BACKUP estar on-line nao foi possivel montah-lo em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE." >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Talvez o Samba do $IP_RECEBE_COPIA_BACKUP pode estar parado!" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Removendo pasta que iria receber o ponto de rede" >> $LOG rm -rf $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] rm -rf $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE removida com sucesso!" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] rm -rf $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE não removida do servidor $IP_LOCAL! Alguem deve fazer isso manualmente!" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] CERTIFIQUE-SE DE QUE A PASTA ESTAH VAZIA ANTES DE REMOVE-LA!!!!!!" >> $LOG fi echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Back-up nao sera transferido pois nao foi possivel montar $DRIVE_DE_REDE_PARA_BACKUP em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1014 fi if [ -e /root/log_copia.txt ]; then rm -fR /root/log_copia.txt fi echo -e "++++++++++++++++++++++++++LOG de transferencia++++++++++++++++++++" >> $LOG LOG_copia=/root/log_copia.txt if [ -e $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP ] then chmod 777 $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Permissão 777 atribuida com exito aa pasta: $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta criada e montada, mas falha ao tentar alterar a permissão CHMOD." >> $LOG fi echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP existe, copiando o arquivo" >> $LOG else mkdir $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP if [ -e $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP existe, copiando o arquivo" >> $LOG chmod 777 $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Permissão 777 atribuida com exito aa pasta: $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] chmod 777 $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta criada e montada, mas falha ao tentar alterar a permissão CHMOD." >> $LOG fi else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Sem a pasta $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP PORTANTO NAO FOI POSSIVEL transferir "$caminho_arquivo_final_7z" para ELA" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1015 fi fi cp -fR $caminho_arquivo_final_7z $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP #&> $LOG_copia if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Comando cp -fR $caminho_arquivo_final_7z $PASTA_NO_DRIVE_DE_REDE_PARA_RECEBER_BACKUP executado com exito!" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Transferencia concluida com exito." >> $LOG else echo -e "ERRO NO COMANDO **CP** Nao foi possivel transferir "$caminho_arquivo_final_7z" para $DESTINO_DE_REDE_DO_BACKUP montado em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE. Pode ser um problema no samba em $IP_RECEBE_COPIA_BACKUP... ele está funcionando?" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - ERRO NO COMANDO CP Nao foi possivel transferir "$caminho_arquivo_final_7z" para $DESTINO_DE_REDE_DO_BACKUP montado em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 1016 fi umount $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE &> $LOG_copia if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Comando umount $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE executado com exito!" >> $LOG systemctl restart smb &> $LOG_copia if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Reiniciando o samba exito!" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Não foi possível reiniciar o SAMBA após ter desmontado a pasta $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE!" >> $LOG fi rm -fR $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE if [ $? -eq 0 ] then echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE removida com exito!" >> $LOG else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Pasta $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE NÃO FOI removida com exito!" >> $LOG fi else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Nao foi possivel desmontar $DESTINO_DE_REDE_DO_BACKUP montado em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" >> $LOG systemctl restart smb &> $LOG_copia echo -e "Desmontado via samba reiniciado." >> $LOG ASSUNTO="$DATA_INICIAL, no servidor $IP_LOCAL - Nao foi possivel desmontar $DESTINO_DE_REDE_DO_BACKUP montado em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br fi else echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O computador $IP_RECEBE_COPIA_BACKUP nao esta online, ou seja, nao responde ao Ping, por isso nao conseguimos copiar o arquivo para lah $" >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O computador $IP_RECEBE_COPIA_BACKUP pode estar desligado, ou pode estar com problemas para se conectar a rede troque o cabo de placa de rede." >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] O hub/switch do computador IP $IP_RECEBE_COPIA_BACKUP pode estar desligado ou precisa ser reiniciado tal como o proóprio computador." >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] Voce precisarah transferir manualmente a cópia do back-up para o servidor$IP_RECEBE_COPIA_BACKUP." >> $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] FINALIZADO SEM CONCLUIR TODAS AS TAREFAS" >> $LOG ASSUNTO="$ANO/$MES/$DIA, $DIA_SEMANA-feira - Nao foi possivel transferir "$caminho_arquivo_final_7z" para $DESTINO_DE_REDE_DO_BACKUP montado em $PASTA_PARA_MONTAGEM_DO_DRIVE_DE_REDE" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br fi tr -d '\015' < $LOG_copia > /root/log_copia.txt cat $LOG /root/log_copia.txt > $LOG_temp rm -fR /root/log_copia.txt rm -fr $LOG_copia echo -e "++++++++++++++++++++++FIM de LOG de transferencia +++++++++++++++++" >> $LOG_temp cat $LOG_temp > $LOG echo -e "[`date +%Y`/`date +%m`/`date +%d` - `date +%H`:`date +%M`:`date +%S`] PROCESSO CONCLUIDO SEM ERROS" >> $LOG ASSUNTO="Backup do $caminho_arquivo_original_fdb - $DATA_INICIAL, no servidor $IP_LOCAL (novo /root)" MENSAGEM="Assunto: $ASSUNTO \nEMAIL_FROM: $EMAIL_FROM \nEMAIL_TO $EMAIL_TO" rm -rf /root/log_temp.txt tr X < $LOG | mail -s "$ASSUNTO" -cEMAIL1@dominio.NOME_DA_EMPRESA.br,EMAIL2@dominio.NOME_DA_EMPRESA.br EMAIL3@dominio.NOME_DA_EMPRESA.br exit 0
Backup de MySQL para uso no cron / cPanel
rotate.sh - Rotaciona arquivos de acordo com a data
Backup Máquina do Tempo com Rsync
Backup de MySql para outro servidor FTP!
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)