crontab -e
é a maneira tradicional de criar um crontab. Eu acho que é estranho e antiquado, mas as pessoas ainda usam isso.
/etc/cron.hourly
, incluindo cron.daily
, cron.weekly
& /etc/cron.d
, etc. são fornecidos pela maioria das distribuições Linux porque são convenientes e funcionam bem com ferramentas de automação, como gerenciadores de pacotes e sistemas de gerenciamento de configuração. É muito fácil para um gerenciador de pacotes colocar um arquivo em /etc/cron.hourly/foo
comparado a criar um script e criar um crontab existente. Editar um arquivo programaticamente por meio de um gerenciador de pacotes pode corromper o arquivo, adicionar entradas duplicadas, excluir a linha errada, estragar comentários etc. Consulte Editfiles Considerado Nocivo para alguma discussão, já que este problema já existe há algum tempo.
Does running a crontab command create an entry in the specified cron folder?
Não. /etc/cron.daily/foo
é criado pelo gerenciador de pacotes ou criado manualmente. Não é criado quando você executa o comando crontab. crontab -e
criará o crontab em /var
, como /var/spool/cron/root
.
Eu prefiro /etc/cron.$period/foo
e /etc/cron.d
porque essa hierarquia é organizada e organizada, e é fácil criar scripts para o meu sistema de Gerenciamento de Configurações. /etc/crontab
também está disponível no Linux, mas é um pouco monolítico e difícil de editar programaticamente. Sistemas como o FreeBSD suportam /etc/crontab
e /etc/periodic
.