
Tengo procesos en ejecución en mi servidor que se cancelan todas las noches a medianoche. Es en el trabajo, no estoy presente cuando sucede y no tengo acceso remoto.
La matanza ocurre de manera muy previsible a las 23:59 todas las noches. Lo sé porque cuando llego al día siguiente:
- Los procesos están hasta las 23:59
- Los registros del proceso muestran la hora de la última modificación a las 23:59 (y el nuevo registro con fecha se inicia inmediatamente después).
Como el asesinato se produjo a la misma hora, sospeché firmemente que se trataba de un trabajo por lotes. Revisé las crontab
s de todas nuestras máquinas y no pude encontrar nada. Claramente me falta algo.
Estoy pensando en diseñar un script de vigilancia que informaría la salida de ps
forma intermitente, se iniciaría at
unos minutos antes y se repetiría durante un rato. Esta idea parece débil y muy propensa a errores, por lo que me pregunto si alguien tiene una idea mejor.
Más detalles:
El universo es un sistema heredado muy grande y muy antiguo; nadie en mi equipo parece estar al tanto de tal proceso (si alguien lo supiera, estaría en nuestro equipo) aunque la organización más grande consta de miles de empleados, muchos de ellos teóricamente tendrían acceso a esto (no veo por qué lo harían). En otras palabras, la seguridad no es muy estricta.
El entorno consta de varias máquinas que ejecutan Solaris 10.
No es un entorno de producción, por lo que el tiempo de espera o de inactividad no es crítico.
No excluyo la posibilidad de que el asesinato no se deba a un trabajo por lotes, aunque es poco probable debido a lo preciso que es el momento.
Es evidente que existen deficiencias en nuestra contabilidad, por lo que cualquier cosa imaginable es posible.
Mi pregunta es ¿cuál es la mejor estrategia a adoptar? Cae bajo el paraguas más amplio de "la alegría de trabajar en sistemas heredados". Estoy empezando a trabajar en mi guión que publicaré aquí en breve para recibir comentarios. Mientras tanto, si alguien tiene una idea mejor, que lo diga.
Respuesta1
Es común rotar los troncos periódicamente, rotarlos a medianoche es común. Muchas aplicaciones harán esto automáticamente.
Para aquellos que no, hay herramientas como logrotate
esa que harán la rotación. Muchos programas están configurados para reabrir sus registros cuando se les envía una señal HUP, y esta es una de las técnicas utilizadas por logrotate
.
Cosas para comprobar:
- ¿Cambian todos los PID? De lo contrario, es posible que los programas estén rotando sus propios registros o respondiendo adecuadamente a la rotación de sus registros.
- Para los programas que cambian los PID, ¿se reiniciaron a medianoche? Si no, consulte a sus padres para ver qué hace.
- Consulte el crontab de root para ver qué procesos se ejecutan al final del día.
- Verifique en el crontab el ID de usuario del proceso para ver qué procesos se ejecutan al final del día.
- Verifique si los archivos de registro se están escribiendo directamente o mediante un escritor de registros que rota los registros.