De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Garantindo o Funcionamento do Crontab

Colaboração: Renato Rudnicki

Data de Publicação: 19 de Novembro de 2006

Tenho tido várias vezes o mesmo problema, de programar um backup no crontab, para determinado horário, e nem sempre estar com meu computador ligado na hora agendada para que possa ocorrer o backup. Pesquisando em fóruns, e na net, descobri que posso usar parametros como @reboot, @daily, etc.... Com isso, voçê pode programar o seu backup agendado na crontab funcionar, mesmo que na hora determinada, o PC esteja desligado.

Aqui vão algumas dicas sobre esses parâmetros:

Diretiva Descrição Equivale a
@reboot ocorre ao iniciar o PC. --
@yearly ocorre 1 vez ao ano 0 0 1 1 *
@annually o mesmo que @yearly 0 0 1 1 *
@monthly ocorre 1 vez ao mês 0 0 1 * *
@weekly ocorre 1 vez na semana 0 0 * * 0
@daily ocorre uma vez por dia 0 0 * * *
@midnight mesmo que @daily 0 0 * * *
@hourly ocorre 1 vez a cada hora 0 * * * *

Não fiz todos testes descritos acimas, apenas o do @reboot e do @daily, que a princípio são os mais funcionais. Abaixo, algumas conclusões e exemplo da aplicação na crontab.

# Run daily cron jobs at 4:40 every day:
30 21 * * 1-5 /usr/bin/run-parts /etc/cron.daily 1> /dev/null
* * * 1-5 /etc/cron.daily/bkp_home.sh @daily

Pelos testes que eu fiz, pude constatar o seguinte:

  1. o @daily, @reboot etc, tem que ficar no final da linha

  2. Independente de usar o @daily ou @reboot, ele só fará um novo backup, caso não tenha nenhum com a mesma data ou nome, independente de se você reiniciar a máquina ou não (pelo menos nos testes que eu fiz ocorreu isso)

  3. Se quiser, não precisa criar uma nova linha na crontab para inserir o parametro @daily por exemplo. Eu apenas inseri uma nova linha, pois ao meu ver, parece algo mais legivel.

  4. Mesmo que voce modifique algum arquivo que esta no diretório a ser feito backup, caso o backup já tenha ocorrido no dia, e você reiniciar o PC, não será feito um novo backup, devido, a já existir um backup com a data do dia ou mesmo nome

OBS 1: Caso o backup seja muito grande, ele pode deixar um pouco lento a máquina ao efetuar o backup.

OBS 2: Também seria interessante ao invés de utilizar o backup, utilizar o rsync.

Gostaria de agradecer ao edyn pela dica que me deu no forum do underlinux, o que tornou possível a publicação desse post.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Renato Rudnicki