¿Dónde se ejecuta este cronjob?

¿Dónde se ejecuta este cronjob?

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 fetchnewscada 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 -eestá garantizado para crondseleccionar 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 sudopara ver qué hay en un archivo determinado, así:

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

Simplemente puede comentar las entradas de este archivo, usando crontabpara desactivar su ejecución. Si tu trabajo es bastante breve también puedes desactivar el servicio cron temporalmente:

$ sudo service crond stop

información relacionada