Qual é a diferença entre cron.d (como em /etc/cron.d/) e crontab?

1

Qual é a principal diferença entre o diretório cron.d (como em /etc/cron.d/ ) e crontab ?

AFAIU, pode-se criar um arquivo como /etc/cron.d/my_non_crontab_cronjobs e colocar o que quiser dentro dele, da mesma forma que os colocaria em crontab via crontab -e .

Então, qual é a principal diferença entre os dois?

    
por Arcticooling 15.01.2018 / 20:27

2 respostas

9

As diferenças estão documentadas em detalhes em a cron(8) manpage no Debian. A principal diferença é que /etc/cron.d é preenchido com arquivos separados, enquanto crontab gerencia um arquivo por usuário; Assim, é mais fácil gerenciar o conteúdo de /etc/cron.d usando scripts (para instalação e atualizações automatizadas) e mais fácil gerenciar crontab usando um editor (para 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 em /etc/cron.d têm que atender a um determinado número de requisitos (além de serem trabalhos cron válidos): eles devem ser de propriedade root e devem estar em conformidade às convenções de nomenclatura de run-parts '( sem pontos , apenas letras, dígitos, sublinhados e hífens).

Se você estiver pensando em usar /etc/cron.d , normalmente vale a pena considerar uma das /etc/cron.hourly , /etc/cron.daily , /etc/cron.weekly ou /etc/cron.monthly .

    
por 15.01.2018 / 20:40
1

Eu diria que a principal diferença é óbvia: /etc/crontab e /etc/cron.d não são modificáveis pelos usuários regulares, enquanto os crontabs por usuário em /var/spool/cron que a ferramenta crontab edita são. (Sujeito a cron.allow e cron.deny , é claro). É claro que em um sistema no qual você é o administrador, você poderia usar qualquer um deles. Em um sistema compartilhado, os usuários regulares podem usar apenas um.

Relacionado a este é o campo extra nos arquivos do sistema, o nome de usuário sob o qual o trabalho é executado.

    
por 15.01.2018 / 23:03

Tags