Diferenças entre '/ etc / crontab', arquivos sob '/etc/cron.d/' e '/ var / spool / cron / crontabs / root'?

1

Qual é a diferença entre os propósitos de

  • /etc/crontab
  • arquivos em /etc/cron.d/
  • /var/spool/cron/crontabs/root

Se você quiser adicionar um cron job, em qual arquivo você o adicionaria?

manpage do cron (8) Diz

/etc/cron.d/: directory that contains system cronjobs stored for different users.

O que significa "armazenado para diferentes usuários"? Parece confuso com arquivos em /var/spool/cron/crontabs/ .

link citações do cron manpage:

In general, the system administrator should not use /etc/cron.d/, but use the standard system crontab /etc/crontab.

Um sysadmin adicionará um trabalho a /etc/crontab , /etc/cron.d/ ou /var/spool/cron/crontabs/root ?

Obrigado.

    
por Tim 31.10.2018 / 01:30

1 resposta

3

/etc/crontab é o local histórico dos trabalhos de "sistema". Não é necessariamente usado em todos os sistemas (por exemplo, RedHat 7 e derivados tem uma entrada "vazia"), ou pode ter comandos para chamar cron.daily e outros.

/etc/cron.d/* é, essencialmente, o mesmo que /etc/crontab , mas dividido em arquivos separados. Isso torna mais fácil para os pacotes adicionar novas entradas do cron; basta colocá-los neste diretório.

Então, por exemplo, no CentOS 7:

% rpm -ql sysstat | grep cron
/etc/cron.d/sysstat

% sudo cat /etc/cron.d/sysstat
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# 0 * * * * root /usr/lib64/sa/sa1 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A

Você pode ver essas entradas como o que estaria em /etc/crontab .

Antes de o cron.d ser criado, um script precisaria editar /etc/crontab para fazer o mesmo trabalho, o que é mais trabalhoso e provavelmente dá errado.

/var/spool/cron/crontabs é o material gerenciado pelo comando crontab .

Então ...

Se uma tarefa cron for implantada por um pacote, o pacote deverá colocar o arquivo em /etc/cron.d/ . Ferramentas de automação empresarial também podem fazer isso.

Se um administrador de sistema (ou qualquer outro usuário) quiser adicionar um trabalho cron com crontab -e , ele será colocado em /var/spool/cron/crontabs/

    
por 31.10.2018 / 01:43

Tags