¿Hay alguna forma canónica de averiguar la última vez que yum update
se ejecutó en un sistema?
Nuestra configuración es que tenemos servidores provisionales que ejecutan actualizaciones automáticas, y siempre que no se caigan, actualizaremos manualmente nuestros servidores de producción aproximadamente una vez al mes (salvo las actualizaciones críticas). (Digo manualmente, idealmente quiero activar manualmente una actualización en todos ellos, pero ese es otro problema).
Pero te pones ocupado, las tareas se escapan, etc. Así que quiero configurar un chequeo de nagios que comenzará a molestarnos si lo dejamos demasiado tiempo.
Buscar en la web no me ha llevado muy lejos. Buscando en el sistema, lo mejor que he encontrado hasta ahora sería algo como:
grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2
lo que me da algo como Mar 12
lo que luego puedo convertir en una cita. Hay algunas complicaciones menores sobre si la fecha es este año o el año pasado, y también tendría que verificar /var/log/yum.log.1
en caso de verificar inmediatamente después de un logrotate. Pero eso es solo detalles de secuencias de comandos.
Por supuesto, esto puede ser 'engañado' por una actualización de un solo paquete en lugar de una actualización general.
Entonces, ¿hay una forma más canónica de ver cuándo yum update
se ejecutó?
Editar: ahora he escrito un complemento Nagios NRPE que utiliza la idea que planteé en la pregunta. Puede obtenerlo en https://github.com/aptivate/check_yum_last_update
fuente
history
comando disponible. (En su mayoría todavía estamos usando CentOS 5). En realidad, acabo de probar y CentOS 6 lo tiene. Pero no es lo suficientemente universal para nuestros propósitos, pero parece útil para otros.I, U
hacer el grep un poco más complicado. Esto puede suceder si un paquete actualizado depende de un nuevo paquete, lo que hace que se instale el nuevo paquete.Creo que la única forma en que puedes estar absolutamente seguro es corriendo
psacct
.Esto te permitirá correr
lastcomm yum
. Si analiza esto, sabrá quién lo ejecutó y cuándo.fuente
Supongo que estás apuntando un conjunto de servidores 'Dev' a un repositorio Dev yum?
Puede realizar la actualización automática en un script cron / puppet / chef, que, en caso de éxito, escribe en un archivo. (decir
/etc/yum_last
)Luego, podría usar
yum check-update
periódicamente en cron / other en los servidores Dev para ver si hay actualizaciones disponibles. Si este comando dice> 0 número de actualizaciones disponibles, puede comparar la fecha actual con la marca de tiempo del archivo que creó la última vez que realizó una actualización automática.Si esta diferencia de fecha aumenta en días, puede tener alerta a Nagios.
También puede ver Pulp si se ajusta a sus necesidades.
fuente
El siguiente comando enumera los paquetes RPM recientemente instalados o actualizados:
También puede incluir paquetes instalados fuera de YUM. Este comando también puede ejecutarse sin privilegios de root.
fuente