Enviado em 03/10/2018 - 16:44h
Boa tarde Pessoal,#OBS: para funcionar corretamente devera criar um arquivo com o nome 'PASTA' e deixar no mesmo diretorio do script e mudar o caminho da variavel ARQUIVO dentro da funçao @BACKUPPASTAS #!/bin/bash INICIO=`date +%d/%m/%Y-%H:%M:%S` LOG=/var/log/`date +%Y-%m-%d`_BKP_DIARIO.txt PBACKUP=/mnt/backup #Pasta onde sera colocadao o backup antes da sincronização #parametro antigo /diretorio/BKPDIARIO DATA=`date +%d-%b-%Y` HORAAT=`date +%H:%M` #HORA= `date +%H:%M:%S` # FUNCAO CRIA PASTA DIARIA Com a function @CRIAPASTADIARIA () { mkdir -p /mnt/backup/$DATA # parametro antigo /diretorio/BKPDIARIO } # FUNCAO HORA function @HORA () { HORA=`date +%H:%M` } #FUNCAO COMPACTA PASTAS # function @BACKUPPASTAS () { # # ARQUIVO="/mnt/backup" # for PASTA in `cat $ARQUIVO`; do # # LOCAL=`echo $PASTA |awk -F / {'print $NF'}` # # echo "" >> $LOG # echo " Efetuando Backup da pasta $PASTA" >> $LOG # echo "" >> $LOG # # tar -czf $PBACKUP/$DATA/$LOCAL.tar.gz $PASTA # echo "Escrevendo backup diario em $PBACKUP" >> $LOG # done; # # } #FUNCAO RODA RSYNC function @RODARSYNC() { echo " " >> $LOG echo " " >> $LOG echo "|-----------------------------------------------" >> $LOG echo " Sincronização iniciada em $DATA $HORAAT" >> $LOG # Redmine Engenharia sudo sshpass -p "senha" ssh root@192.168.24.87:/var/www/redmine-2.6.6 sudo rsync -Cravzp /mnt/backup >> $LOG if [ $? = 0 ]; then #Verifica se a sincronizaçao foi bem sucedida se ela foi bem entra no if se nao cai no else echo " Sincronização Finalizada em $DATA $HORAAT" >> $LOG echo "|-----------------------------------------------" >> $LOG echo " " >> $LOG echo " " >> $LOG echo " deletando backups Locais de $PBACKUP $DATA $HORAAT" >> $LOG echo "Backup Deletado com Sucesso de $PBACKUP" >> $LOG echo "Enviando Email de informação para o Administrador" >> $LOG echo "" >> $LOG @ENVIAEMAIL # chama a funçao envia email - Backup Sucedido com sucesso else echo "Sincronização Mau concluida $DATA $HORAAT" >> $LOG @ENVIAMAILPROBLEMA # chama a funçao envia email - backup mau Sucedido fi #rm -rf /DadosObra/BKPDIARIO/* } #FUNCAO QUE ENVIA EMAIL PARA O ADMINISTRADOR function @ENVIAEMAIL () { EMAIL_FROM="alertas@inobram.com.br" EMAIL_TO="ti@inobram.com.br" SERVIDOR_SMTP="smtp.gmail.com:587" SENHA=**************** ASSUNTO="$HOSTNAME - $1" MENSAGEM=$2 if [ "$1" == "" ] ;then ASSUNTO="BKP DIARIO FEITO" fi if [ "$2" == "" ] ;then MENSAGEM="Backup Realizado com Sucesso e Sincronizado com Servidor de Arquivos" fi if [ "$3" != "" ] ;then MENSAGEM="$2 `cat $3`" fi sendemail -f $EMAIL_FROM -t $EMAIL_TO -u "$ASSUNTo" -m "$MENSAGEM" $ANEXO -a $LOG -o tls=yes -s $SERVIDOR_SMTP -xu $EMAIL_FROM -xp $SENHA echo "Email Enviado com Sucesso para $EMAIL_TO" >> $LOG echo " Deletando Arquivo de log do local" >> $LOG rm -rf $LOG } #FUNCAO QUE ENVIA EMAIL DE PROBLEMA CASO NÃO FOR FEITO O RSYNC COM SUCESSO function @ENVIAMAILPROBLEMA () { EMAIL_FROM="alertas@inobram.com.br" EMAIL_TO="ti@inobram.com.br" SERVIDOR_SMTP="smtp.gmail.com:587" SENHA=****************** ASSUNTO="$HOSTNAME - $1" MENSAGEM=$2 if [ "$1" == "" ] ;then ASSUNTO="BKP DIARIO FEITO" fi if [ "$2" == "" ] ;then MENSAGEM=" ERRO AO FAZER A SINCRONIZAÇÃO DOS DADOS - VERIFIQUE A CONDEXAO COM O SERVIDOR" >> $LOG fi if [ "$3" != "" ] ;then MENSAGEM="$2 `cat $3`" fi sendemail -f $EMAIL_FROM -t $EMAIL_TO -u "$ASSUNTo" -m "$MENSAGEM" $ANEXO -a $LOG -o tls=yes -s $SERVIDOR_SMTP -xu $EMAIL_FROM -xp $SENHA } @CRIAPASTADIARIA @BACKUPPASTAS @RODARSYNC
Enviado em 03/10/2018 - 16:50h
tu podes começando aos pouco a construir seu script e depois vai melhorandoEnviado em 03/10/2018 - 16:51h
https://www.hardware.com.br/tutoriais/backup2/Enviado em 03/10/2018 - 21:34h
Esse script esta bem completo, copia e envia um aviso para o ADM, agora já que é local a copia é usa o mount e o cifs para monta e copiar na rede, agora é bom monta um script e ir testando parte a parte para você saber tudo que seu script faz e da maneira que faz ;)Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
plasma manjaro nao espelha monitores (2)
Onde encontro a ISO do Linux educacional (4)
[AJUDA] Problemas ao atualizar BIOS da Gigabyte B550M K rev. 1.1 — “RO... (0)