Meu entendimento é que posso adicionar tarefas do sistema com agendas simples a /etc/cron.hourly/
, /etc/cron.daily/
e assim por diante, e tarefas do sistema com agendas personalizadas para /etc/cron.d/
.
But in a large IT department, where several people might look after a server, then the directory /etc/cron.d is probably the best place to install crontabs - it's a central point and saves searching for them! (CronHowTo)
Eu criei /etc/cron.d/testing
com o seguinte conteúdo:
# /etc/cron.d/testing: crontab entries for report generation
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
15 13 * * 3 root /usr/bin/supervisorctl start reports
00 16 * * 4 root /usr/bin/supervisorctl start reports
O arquivo tem as seguintes propriedades:
user@server:/etc/cron.d$ ls -la
total 28
drwxr-xr-x 2 root root 4096 Jul 14 12:57 .
drwxr-xr-x 146 root root 12288 Jul 14 13:48 ..
-rw-r--r-- 1 root root 188 Feb 20 2014 anacron
-rw-r--r-- 1 root root 102 Feb 9 2013 .placeholder
-rwxr--r-- 1 root root 286 Jul 14 13:43 testing
Eu reiniciei a máquina às 13h na quinta-feira, esperando que ela disparasse um relatório às 13:15. (O plano era testar essa invocação, mas também marcá-la para as 16h toda sexta-feira.)
Mas nada aconteceu. Não há erro (ou qualquer evento) em /var/log/syslog
ou nos logs do Supervisor. Eu uso o mesmo comando em /etc/cron.daily/testing
e funciona:
#!/bin/sh
/usr/bin/supervisorctl start reports
... e eu posso invocar o trabalho de supervisor de forma independente. Então eu não acho que o problema esteja no trabalho do Supervisor ou na minha invocação.
O que estou fazendo de errado? (E onde está o problema sendo registrado?)