
Acabei de colocar um novo servidor online e configurei-o da mesma forma que o antigo em relação ao cron, mas os trabalhos não estão em execução. Então, analisei a configuração com cuidado e verifiquei se o cron atual funciona da mesma forma que o antigo. Sim, parece que sim!
Como é um sistema do tipo "systemd", executei o comando apropriado para ver o que ele acha que está programado e aqui está o que obtive:
# systemctl list-timers --all
NEXT LEFT LAST PASSED UNIT ACTIVATES
Sun 2020-08-16 15:15:55 PDT 5min left Sun 2020-08-16 14:15:54 PDT 54min ago dnf-makecache.timer dnf-makecache.service
Sun 2020-08-16 20:57:26 PDT 5h 47min left Sat 2020-08-15 20:57:26 PDT 18h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Mon 2020-08-17 00:00:00 PDT 8h left Mon 2020-08-10 00:00:00 PDT 6 days ago fstrim.timer fstrim.service
Mon 2020-08-17 00:00:00 PDT 8h left Sun 2020-08-16 00:00:01 PDT 15h ago mlocate-updatedb.timer mlocate-updatedb.service
Mon 2020-08-17 00:00:00 PDT 8h left Sun 2020-08-16 00:00:01 PDT 15h ago unbound-anchor.timer unbound-anchor.service
5 timers listed.
Está tudo muito bem, mas não está mostrando minhas adições específicas - nenhuma delas. Então, fiz o que achei correto, corri systemctl reload crond.service
e obtive o mesmo resultado. Então reiniciei e ainda obtive a mesma saída!
Minhas adições são:
- cron.d: local - um conjunto de coisas locais que não estão nas programações habituais
- cron.daily: backup.daily logrotate mailbox_check
- cron.mensalmente; backup.mensalmente e;
- cron.semanalmente; backup.semanalmente
Estou totalmente preparado para acreditar que fiz algo errado na configuração, ou talvez haja algum outro problema sobre o motivo pelo qual ACHO que eles não foram executados, mas foram. Mas não estou vendo as outras entradas na systemctl list-timer
saída s que foram colocadas lá por pacotes instalados que estavam lá antes mesmo de eu começar a mexer com minhas próprias adições.
Talvez o problema seja minha falta de familiaridade com a saída do cronômetro de lista? Não deveria mostrar esses outros empregos também?
Responder1
Tal como acontece com muitas coisas no Linux, há mais de uma maneira de fazer as coisas. Cron e systemd timer são maneiras diferentes de fazer coisas semelhantes ao cron, assim como upstart, init.d e systemd são três sistemas init diferentes.
Muitos cron jobs pertencem a umusuário específico, para que você possa crontab -l
ser o usuário específico ou crontab -u username -l
verificar os cron jobs de outro usuário como root.
Você também tem diariamente, semanalmente, mensalmente e assim por diante
Embora você possa se aprofundar em cada um deles, eles são uma série de arquivos, então
então ls -la /etc/cron.*
lhe daria uma visão geral
geek@heckate_router:~$ ls -la /etc/cron.*
/etc/cron.d:
total 28
drwxr-xr-x 2 root root 4096 Jan 22 2020 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r-- 1 root root 589 Jun 26 2018 mdadm
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
-rw-r--r-- 1 root root 190 Jul 25 2018 popularity-contest
/etc/cron.daily:
total 76
drwxr-xr-x 2 root root 4096 Aug 12 06:54 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rwxr-xr-x 1 root root 376 Nov 20 2017 apport
.....
/etc/cron.hourly:
total 20
drwxr-xr-x 2 root root 4096 Jul 25 2018 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
/etc/cron.monthly:
total 20
drwxr-xr-x 2 root root 4096 Nov 18 2018 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
/etc/cron.weekly:
total 28
drwxr-xr-x 2 root root 4096 May 30 2019 .
drwxr-xr-x 117 root root 12288 Aug 12 06:54 ..
-rwxr-xr-x 1 root root 723 Apr 7 2018 man-db
-rw-r--r-- 1 root root 102 Nov 16 2017 .placeholder
-rwxr-xr-x 1 root root 211 Jun 27 2018 update-notifier-common
Convertendo estes parascripts de temporizador do systemdestá fora do escopo desta resposta, mas eles estãonãoo mesmo que um cron job clássico.