Eu li na página de manual do cron:
Cron procura
/var/spool/cron
por arquivos crontab que são nomeados após contas em/etc/passwd
; Os crontabs encontrados são carregados na memória. O Cron também procura/etc/anacrontab
e quaisquer arquivos no/etc/cron.d
diretório que tenham um formato diferente (consulte Recursoscrontab(5)
). Cron examina todos os crontabs armazenados e verifica cada trabalho para ver se ele precisa ser executado no minuto atual
E então diz:
/etc/crontab
sistema crontab. Hoje em dia o arquivo está vazio por padrão. Originalmente, era geralmente usado para executar tarefas diárias, semanais e mensais. Por padrão, esses trabalhos agora são executados através do anacron, que lê/etc/anacrontab
o arquivo de configuração. Vejaanacrontab(5)
para mais detalhes.
Ok, está claro para mim o que acontece se /etc/crontab
estiver vazio.
Minha pergunta é: se de qualquer maneira /etc/crontab
existe, quando é lido?
Nota: A página man é do CentOS 8.
A resposta depende da variante exata de
cron
seu interesse.No Debian, o
cron
daemon é documentado como recarregando/etc/crontab
sempre que necessário :e, de fato, o loop principal recarrega todos os
cron
bancos de dados a cada iteração (os carregamentos só acontecem se os arquivos forem alterados).No Fedora, e derivados (incluindo CentOS),
cron
se comporta de forma semelhante , com ajuda adicional deinotify
se disponível.Se você tem uma
cron
implementação que documenta um arquivo, você deve estar em uma variantecrontab
histórica .UNIX
Há mais de 30 anos, a única interface válida para ocron
utilitário é através docrontab
comando.Esta é a razão pela qual
POSIX
não documenta ocron
utilitário, pois é um detalhe específico da implementação.Portanto, certifique-se de se comportar corretamente e use apenas
crontab -l
para listar crontabs oucrontab -e
editar crontabs.Se você editar seu crontab, o
crontab
comando armazenará o arquivo crontab em um local específico do sistema e informará aocron
utilitário que um crontab foi alterado e precisa ser relido.