Qual é a principal diferença entre o diretório cron.d (como em /etc/cron.d/
) e crontab
?
Tanto quanto eu entendo, pode-se criar um arquivo como /etc/cron.d/my_non_crontab_cronjobs
e colocar o que se quiser dentro dele, da mesma maneira que se poderia colocá-los no crontab
caminho crontab -e
.
Então, qual é a principal diferença entre os dois?
crontab
.Respostas:
As diferenças estão documentadas em detalhes na página de
cron(8)
manual do Debian. A principal diferença é que ela/etc/cron.d
é preenchida com arquivos separados, enquantocrontab
gerencia um arquivo por usuário; é, portanto, mais fácil gerenciar o conteúdo do/etc/cron.d
uso de scripts (para instalação e atualizações automatizadas) e mais fácil gerenciarcrontab
usando um editor (para os usuários finais, na verdade).Outras diferenças importantes são que nem todas as distribuições suportam
/etc/cron.d
e que os arquivos/etc/cron.d
precisam atender a um certo número de requisitos (além de serem trabalhos cron válidos): eles devem ser de propriedade do root e devem estar de acordo comrun-parts
as convenções de nomenclatura ( sem pontos , apenas letras, dígitos, sublinhados e hífens).Se você está pensando em usar
/etc/cron.d
, é geralmente vale a pena considerar um dos/etc/cron.hourly
,/etc/cron.daily
,/etc/cron.weekly
, ou/etc/cron.monthly
em seu lugar.fonte
cron.d
normalmente são adicionados via instalação do pacote, enquanto os várioscrontab
arquivos estão cheios de coisas criadas por um usuário correspondente. IE, o pacotecertbot
ouletsencrypt
coloca uma entradacron.d
- antes que o pacote estivesse disponível, o sysadmin (root) adicionaria uma entrada no usuário raizcrontab
apontando para um script de shell / etc. para manter os certificados atualizados.(8)
anacron
.hourly|daily|weekly|monthly
diretórios é que (AFAICT), eles sempre são executados como root e não suportam diretamente a execução com menos privilégios.Eu diria que a principal diferença é a óbvia:
/etc/crontab
e/etc/cron.d
não é modificável por usuários regulares, enquanto os crontabs por usuário em/var/spool/cron
que acrontab
ferramenta edita, são. (Sujeitocron.allow
ecron.deny
, é claro.) É claro que em um sistema em que você é o administrador, você também pode usá-lo. Em um sistema compartilhado, os usuários regulares podem usar apenas um.Relacionado a isso, está o campo extra nos arquivos de todo o sistema, o nome de usuário sob o qual a tarefa é executada.
fonte