Onde esse cronjob está sendo executado?

Onde esse cronjob está sendo executado?

Temos um servidor de notícias rodando em uma caixa CentOS 6.5. É leafnode e um cron está configurado para ser executado a cada dois minutos. Decidimos desligá-lo para solucionar outros problemas, então comentamos a linha no crontab:

# */2 * * * * /usr/sbin/fetchnews

Por alguma razão, no entanto, ainda estamos recebendo notícias atualizadas. Então decidimos alterar as permissões desse binário.

chmod 400 /usr/sbin/fetchnews

Então, começamos a receber e-mails a cada dois minutos: '/usr/sbin/fetchnews: permissão negada'.

Nós olhamos em /etc/cron/hourly, na verdade, em tudo que tem a ver com crond em /etc. Não está no arquivo crontab do root, não está no arquivo crontab do usuário de notícias e não está no arquivo crontab de nenhum outro usuário.

Como posso descobrir o que está causando a execução desse binário?

Obrigado.

Responder1

Tentar grep -ri fetchnews /etc/cron* /var/spool/cron/tabs/*.

Há mais resultados além da linha que você comentou?

Responder2

watch "ps -ef | grep fetchnews"

mostrará a saída a ps -ef | grep fetchnewscada dois segundos. Na saída de ps -ef, o pid pai é o terceiro campo, 1458 neste caso:

ulmi      1462  1458  0 18:20 pts/1    00:00:00 sh -c ps -ef | grep ls

Esse é o trabalho que gerou seu fetchnews e pode ajudá-lo.

(Minha bola de cristal diz que talvez você tenha tentado editar os crontabs diretamente? Somente a execução crontab -egarante a crondseleção da nova guia.)

Responder3

Supondo que haja um usuário que possua os arquivos de notícias, provavelmente há uma entrada cron na entrada pessoal do crontab desse usuário que é responsável por isso. Os crons dos usuários são mantidos aqui nos sistemas RHEL:

$ sudo ls -l /var/spool/cron/
total 4
-rw-------. 1 slm slm 9 Oct  6 13:30 slm

Se você vir entradas lá, você pode usar sudopara ver o que há em um determinado arquivo da seguinte forma:

$ sudo crontab -u slm -l
### blah

Você pode simplesmente comentar as entradas neste arquivo, usando crontabpara desabilitar sua execução. Se o seu trabalho for bastante breve, você também poderá desativar o serviço cron temporariamente:

$ sudo service crond stop

informação relacionada