Enviado em 25/06/2019 - 12:06h
Bom dia,
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
* * * * * root /home/tomatebg/Downloads/bbb/backup.sh
#
#!/bin/bash
INICIO=`date +%d/%m/%Y-%H:%M:%S` #Marca o horário de inicio
LOG='/home/tomatebg/Downloads/bbb/backup-log.txt' #Cria um arquivo de log ou atualiza o já existente
BOD='/home/tomatebg/Downloads/bbb/config.txt'
CRF='/home/tomatebg/Downloads/bbb/.cronconfig.txt'
ARC='/home/tomatebg/Downloads/bbb/backup.sh' #Arquivo com as definições de origem/destino
if [ -e $BOD ]; then #Checa existência do arquivo
ORIGEM=`(cat $BOD | awk '{print $1}')` #Pega a origem presente no arquivo "config"
echo "Origem : $ORIGEM" >> $LOG
DESTINO=`(cat $BOD | awk '{print $2}')` #Pega o destino presente no arquivo "config"
echo "Destino : $DESTINO" >> $LOG
VCNT=`(cat $CRF )` #Pega o destino presente no arquivo "config"
else #Criação do arquivo "config" caso não exista
echo 'Digite a origem do backup : '
read ORIGEM #Leitura da origem
while [ ! -d "$ORIGEM" ]; do #Checa se a origem lida existe
echo 'Origem não existente' #Aviso ao usuário de que a origem não existe
echo 'Digite a origem do backup : '
read ORIGEM
done
echo "Origem escolhida : $ORIGEM"
echo 'Digite o destino do backup : '
read DESTINO #Leitura do destino
echo "Destino escolhido : $DESTINO"
echo "$ORIGEM $DESTINO" >> $BOD #Salva no arquivo "config" os dados lidos
#####
fi
if [ -s "$CRF" ]; then
echo 'Realizando tarefa conforme agendamento anterior' >> $LOG
else
echo "criando novo agendamento"
crontab -u -l > /home/tomatebg/Downloads/bbb/.cronconfig.txt
echo "0-Domingo"
echo "1-Segunda"
echo "2-Terça"
echo "3-Quarta"
echo "4-Quinta"
echo "5-Sexta"
echo "6-Sabado"
echo "*-todos os dias"
echo -n "Informe o dia da semana: "
read adia
clear
echo "valores de 1 a 12"
echo "*-Todos os meses"
echo -n "Informe o mês: "
read ames
clear
echo "Valores de 1 a 31"
echo "*-Qualquer dia"
echo "Algum dia em especifico do mês:"
read adata
clear
echo "Valores de 0 a 23"
echo "*-qualquer hora"
echo -n "Hora: "
read ahora
clear
echo "Valores de 0 a 59"
echo "*-Qualquer minuto"
echo -n "Minuto: "
read amin
echo "$amin $ahora $adata $ames $adia $ARC" >> "/home/tomatebg/Downloads/bbb/.cronconfig.txt"
crontab < "/home/tomatebg/Downloads/bbb/.cronconfig.txt"
echo "Agendamento realizado"
fi
echo " " >> $LOG
echo "|-----------------------------------------------" >> $LOG
echo " Sincronização iniciada em $INICIO" >> $LOG #Salva no arquivo de log o horário de inicio do backup
rsync -Cravzp --delete $ORIGEM/ $DESTINO/ >> $LOG
FINAL=`date +%d/%m/%Y-%H:%M:%S` #Marca o horário de finalização
echo " Sincronização Finalizada em $FINAL" >> $LOG #Salva no arquivo de log o horário de finalização do backup
echo "|-----------------------------------------------" >> $LOG
echo " " >> $LOG