
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 fetchnews
cada 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 -e
garante a crond
seleçã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 sudo
para 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 crontab
para 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