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
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
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Melhores Práticas de Nomenclatura: Pastas, Arquivos e Código [RESOLVID... (4)
Recuperar arquivos de HD em formato RAW usando Linux (0)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta