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 .