Posso criar e editar manualmente '/ var / spool / cron / crontabs / t' sem 'crontab -e'?

2 respostas

3

Com o Vixie Cron, eles são apenas arquivos comuns - contanto que você tenha as permissões certas, você pode editá-las como desejar. O Cron notará os arquivos modificados e recarregará o crontab (verifica uma vez por minuto). Isso tudo é realmente documentado na página do cron man "NOTES" , pelo menos no Debian.

Mas você realmente não deveria.

Primeiro, você realmente não precisa: você pode simplesmente passar um arquivo para instalar como um crontab no programa crontab : crontab -u bob FILE instalará FILE como o crontab de Bob. E FILE pode ser - para usar stdin. Se você quiser fazer o script de uma alteração do crontab, você pode usar crontab -l -u bob para listar o crontab, editá-lo e, em seguida, carregá-lo de volta. Você poderia, por exemplo, fazer isso (não testado) para garantir que seu termo como raiz tenha vida curta:

#!/bin/bash

while read -r -u 9 user; do
    {
        crontab -l -u "$user"
        printf '%s\n' '* * * * * fortune -o | mail -s "DegradedArray event on /dev/md0" root'
    } | crontab -u "$user" -
done 9< <(getent passwd | cut -d: -f1)

Segundo, uma boa razão para não ter sido mencionada acima: isto está documentado para ser aplicado ao cron do Debian. Mas há muitos Crons diferentes. O RHEL, por exemplo, usa um diferente. Arch usa temporizadores systemd por padrão (não tem certeza se usa a ponte crontab-to-timer systemd ou não), mas dá a você a opção de 5 implementações diferentes para escolher se você quiser um Cron real. Usar crontab para instalar o crontab funcionará independentemente, ou pelo menos falhará com uma mensagem de erro para que você saiba que não funcionou. É muito mais portátil.

    
por 31.10.2018 / 21:10
0

Além do fato de que /var/spool/cron/crontabs/ só pode ser gravado por root por motivos de segurança crontab informa o processo cron por meio do canal nomeado /etc/cron.d/FIFO .

Portanto, se você for root e adicionar ou modificar entradas de crontab, precisará aguardar até que cron seja reiniciado para ativar suas alterações.

    
por 31.10.2018 / 20:30

Tags