Cron ignorando uma atualização para crontab

4

Eu comentei uma linha no crontab em um servidor Debian, que eu acho que estava lá por padrão, mas que me fazia receber e-mails de erro a cada hora:

# m h dom mon dow user  command
17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly

No entanto, os e-mails de erro continuam aparecendo como se não tivessem sido comentados. Os e-mails de erro:

Subject: Cron <root@(none)> root    cd / && run-parts --report /etc/cron.hourly (failed)
/bin/sh: root: not found

Alguma idéia?

    
por GJ. 19.02.2011 / 14:26

2 respostas

5

Quando você diz "o crontab" você não está sendo específico. Você deveria dizer qual deles você quer dizer. No entanto, com base no conteúdo, parece /etc/crontab . Como esse arquivo tem um campo de usuário, não faz sentido receber esse erro. Minha aposta é que há um crontab de usuário que tem essa linha nele. Crontabs de usuário não contêm campos de usuário.

O correto é não alterar essa linha em /etc/crontab . Pode haver outros trabalhos em execução.

Você pode editar esse arquivo e os arquivos nos subdiretórios /etc/cron.* usando qualquer editor. Você pode especificar o editor que deseja usar ao usar crontab -e definindo a variável de ambiente EDITOR .

Você deve usar crontab -e para editar crontabs de usuário (incluindo root's). Remova o campo do usuário ou remova a linha no crontab usuário onde ele aparece (não /etc/crontab ). Os crontabs do usuário não possuem um campo de usuário, mas os crontabs do sistema fazem isso.

Os crontabs do usuário estão localizados em /var/spool/cron/crontabs . Você pode sudo grep para a linha para descobrir qual arquivo tem a linha perdida. Novamente, use apenas crontab -u username -e para editar o crontab do usuário.

    
por 19.02.2011 / 16:20
2

Verifique a página de manual do seu sistema para crontab (5) ( man 5 crontab ), especialmente na seção "EXAMPLE SYSTEM CRON FILE". Apenas o arquivo / etc / crontab inclui um campo de nome de usuário. Os crontabs de usuário que não são do sistema não incluem esse campo. Se você quiser editar o arquivo / etc / crontab, use um editor de texto, não o comando crontab (1).

    
por 19.02.2011 / 14:39