crontab parece não funcionar e faz cronograma diferente no cron.d!

0

sudo crontab -e me permite editar o crontab, e eu coloco isso:

# Hourly backup
0 * * * * rsnapshot hourly

# Daily backup
0 2 * * * rsnapshot daily

# Weekly backup
0 4 * * 6 rsnapshot weekly

E não estava funcionando. Eu mudei para usar o caminho completo para rsnapshot, ainda não está funcionando. Eu havia lido algo em algum lugar sobre o cron.d, então fui ao /etc/cron.d/ e encontrei um arquivo chamado rsnapshot. Ficou assim:

#0 */4      * * *       root    /usr/bin/rsnapshot hourly
#30 3   * * *       root    /usr/bin/rsnapshot daily
#0  3   * * 1       root    /usr/bin/rsnapshot weekly
#30 2   1 * *       root    /usr/bin/rsnapshot monthly

Estranho, eu nunca tive um backup mensal via rsnapshot que eu saiba. De qualquer forma, descomente os que eu preciso.

Eu adicionei uma linha para teste via sudo crontab -e mas cat /etc/cron.d/rsnapshot não refletiu nenhuma alteração, mas o processo de teste (echo para um .txt) parece funcionar. Por que meu backup não está funcionando? Quando eu faço sudo rsnapshot hourly no terminal, parece funcionar bem.

Além disso, por que o horário é diferente do que eu coloquei? Este arquivo está relacionado ao crontab?

    
por Elijah Rockers 14.04.2016 / 19:41

2 respostas

0

As tarefas cron do "sistema" são executadas no arquivo /etc/crontab , e não no root user crontab file /var/spool/cron/crontabs/root , que é o sudo crontab -e edits. /etc/crontab no meu sistema Ubuntu 14.04.3 é (Observe o informativo #comments ):

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the 'crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# 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 )
#
    
por waltinator 14.04.2016 / 21:13
0

Eu estava confundindo as coisas. O arquivo /etc/cron.d/rsnapshot veio com o pacote rsnapshot, ele não foi criado pelo comando crontab (portanto, por que ele tinha um planejamento diferente). Não é necessário usar o comando crontab, simplesmente edite o /etc/cron.d/rsnapshot, isso funciona bem.

    
por Elijah Rockers 28.04.2016 / 17:20