Existe-t-il un moyen canonique de connaître la dernière yum update
exécution de ce système?
Notre configuration est que nous avons des serveurs intermédiaires qui exécutent des mises à jour automatiques, et à condition qu'ils ne tombent pas, nous mettrons à jour manuellement nos serveurs de production environ une fois par mois (sauf mises à jour critiques). (Je dis manuellement, idéalement, je veux déclencher manuellement une mise à jour sur chacun d'eux, mais c'est un autre problème).
Mais vous êtes occupé, les tâches glissent, etc. Je veux donc mettre en place un chèque nagios qui commencera à nous déranger si nous l'avons laissé trop longtemps.
La recherche sur le Web ne m'a pas conduit très loin. En fouillant dans le système, la meilleure chose que j'ai trouvée jusqu'à présent serait quelque chose comme:
grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2
ce qui me donne quelque chose comme ça Mar 12
que je peux ensuite convertir en date. Il y a quelques complications mineures quant à savoir si la date est cette année ou l'année dernière, et je devrais également vérifier /var/log/yum.log.1
en cas de vérification immédiatement après un logrotate. Mais ce ne sont que des détails de script.
Cela peut bien sûr être «dupé» par une mise à jour d'un package unique plutôt que par une mise à jour générale.
Existe-t-il donc une manière plus canonique de voir quand a yum update
été exécuté?
Edit: J'ai maintenant écrit un plugin Nagios NRPE qui utilise l'idée que j'ai avancée dans la question. Vous pouvez le récupérer sur https://github.com/aptivate/check_yum_last_update
la source
history
commande soit disponible. (Nous utilisons principalement CentOS 5). En fait, juste essayé et CentOS 6 l'a. Mais il n'est pas assez universel pour nos besoins - mais semble utile pour les autres.I, U
que la grep est un peu plus compliquée. Cela peut se produire si un package mis à jour dépend d'un nouveau package, provoquant l'installation du nouveau package.Je pense que la seule façon d’être absolument sûr est de courir
psacct
.Cela vous permettra de courir
lastcomm yum
. Si vous analysez ceci, vous saurez qui l'a exécuté et quand.la source
Je suppose que vous pointez un ensemble de serveurs 'Dev' vers un repo Dev yum?
Vous pouvez effectuer la mise à niveau automatique dans un script cron / puppet / chef qui, en cas de succès, écrit dans un fichier. (dis
/etc/yum_last
)Ensuite, vous pouvez utiliser
yum check-update
périodiquement dans cron / other sur les serveurs de développement pour voir si des mises à jour sont disponibles. Si cette commande indique> 0 nombre de mises à jour sont disponibles, vous comparez la date actuelle avec l'horodatage du fichier que vous créez lors de votre dernière mise à niveau automatique.Si cette différence de date augmente en jours, vous pouvez avoir une alerte Nagios.
Vous pouvez également consulter Pulp s'il correspond à vos besoins.
la source
La commande suivante répertorie les packages RPM récemment installés ou mis à jour:
Il peut également inclure des packages installés en dehors de YUM. Cette commande peut également s'exécuter sans privilège root.
la source