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
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Visualizar arquivos em formato markdown (ex.: README.md) pelo terminal
Dando - teoricamente - um gás no Gnome-Shell do Arch Linux
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gestão de Ambiente em uma rede Linux (2)
Ajuda Pra Melhoria do NFTABLES. (7)
Zorin OS - Virtual Box não consigo abrir maquinas virtuais (4)