
Tenemos un servidor de noticias ejecutándose en una máquina CentOS 6.5. Es leafnode y un cron está configurado para ejecutarse cada dos minutos. Decidimos cerrarlo para solucionar otros problemas, por lo que comentamos la línea en el crontab:
# */2 * * * * /usr/sbin/fetchnews
Sin embargo, por alguna razón, todavía estamos actualizando artículos de noticias. Entonces decidimos cambiar los permisos de ese binario.
chmod 400 /usr/sbin/fetchnews
Luego, comenzamos a recibir correos electrónicos cada dos minutos: '/usr/sbin/fetchnews: permiso denegado'.
Buscamos en /etc/cron/hourly, de hecho, en todo lo que tiene que ver con crond en /etc. No está en el archivo crontab de root, no está en el archivo crontab del usuario de noticias y no está en el archivo crontab de ningún otro usuario.
¿Cómo puedo saber qué está causando que se ejecute este binario?
Gracias.
Respuesta1
Intentar grep -ri fetchnews /etc/cron* /var/spool/cron/tabs/*
.
¿Hay más resultados además de la línea que comentaste?
Respuesta2
watch "ps -ef | grep fetchnews"
le mostrará la salida ps -ef | grep fetchnews
cada dos segundos. En la salida de ps -ef
, el pid principal es el tercer campo, 1458 en este caso:
ulmi 1462 1458 0 18:20 pts/1 00:00:00 sh -c ps -ef | grep ls
Ese es el trabajo que generó tu fetchnews y podría ayudarte.
(Mi bola de cristal dice que tal vez intentaste editar los crontabs directamente. Solo ejecutar crontab -e
está garantizado para crond
seleccionar la nueva pestaña).
Respuesta3
Suponiendo que hay un usuario propietario de los archivos de noticias, es probable que haya una entrada cron en la entrada crontab personal de este usuario que sea responsable de esto. Los crons de usuario se mantienen aquí en los sistemas RHEL:
$ sudo ls -l /var/spool/cron/
total 4
-rw-------. 1 slm slm 9 Oct 6 13:30 slm
Si ve entradas allí, puede usarlas sudo
para ver qué hay en un archivo determinado, así:
$ sudo crontab -u slm -l
### blah
Simplemente puede comentar las entradas de este archivo, usando crontab
para desactivar su ejecución. Si tu trabajo es bastante breve también puedes desactivar el servicio cron temporalmente:
$ sudo service crond stop