Gibt es eine kanonische Methode, um herauszufinden, wann das letzte Mal yum update
auf einem System ausgeführt wurde?
Wir haben Staging-Server eingerichtet, auf denen automatische Updates ausgeführt werden. Sofern diese nicht umfallen, aktualisieren wir unsere Produktionsserver etwa einmal im Monat manuell (außer bei kritischen Updates). (Ich sage manuell, idealerweise möchte ich ein Update für alle manuell auslösen, aber das ist ein anderes Problem).
Aber du wirst beschäftigt, Aufgaben rutschen ab usw. Also möchte ich einen Nagios-Check einrichten, der uns stört, wenn wir ihn zu lange stehen lassen.
Das Durchsuchen des Webs hat mich nicht weit gebracht. Das Beste, was ich bisher gefunden habe, ist das Stöbern im System:
grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2
Das gibt mir so etwas, Mar 12
das ich dann in ein Datum umwandeln kann. Es gibt ein paar kleinere Komplikationen, ob das Datum dieses oder letztes Jahr ist, und ich müsste es auch überprüfen, /var/log/yum.log.1
falls es unmittelbar nach einem Logrotate überprüft wird. Aber das sind nur Skriptdetails.
Dies kann natürlich durch ein Update auf ein einzelnes Paket und nicht durch ein allgemeines Update "getäuscht" werden.
Gibt es also eine kanonischere Möglichkeit, um zu sehen, wann ausgeführt yum update
wurde?
Bearbeiten: Ich habe jetzt ein Nagios NRPE-Plugin geschrieben, das die Idee verwendet, die ich in der Frage vorgebracht habe. Sie können es unter https://github.com/aptivate/check_yum_last_update herunterladen
quelle
history
Befehl scheint nicht verfügbar zu sein. (Wir verwenden meistens noch CentOS 5). Eigentlich gerade ausprobiert und CentOS 6 hat es. Aber es ist nicht universell genug für unsere Zwecke - aber es sieht für andere nützlich aus.I, U
dass der Grep etwas komplizierter wird. Dies kann passieren, wenn ein aktualisiertes Paket von einem neuen Paket abhängt und das neue Paket installiert wird.Ich denke, der einzige Weg, auf dem Sie absolut sicher sein können, ist das Laufen
psacct
.Auf diese Weise können Sie ausführen
lastcomm yum
. Wenn Sie dies analysieren, wissen Sie, wer es wann ausgeführt hat.quelle
Ich vermute, Sie zeigen eine Reihe von "Dev" -Servern auf ein Dev Yum Repo?
Sie können das automatische Upgrade in einem Cron / Puppet / Chef-Skript durchführen, das bei Erfolg in eine Datei schreibt. (sagen
/etc/yum_last
)Dann können Sie
yum check-update
in cron / other auf den Dev-Servern regelmäßig verwenden, um festzustellen, ob Updates verfügbar sind. Wenn dieser Befehl besagt, dass> 0 Aktualisierungen verfügbar sind, vergleichen Sie das aktuelle Datum mit dem Zeitstempel der Datei, die Sie beim letzten automatischen Yum-Upgrade erstellt haben.Wenn dieser Datumsunterschied in Tagen zunimmt, können Sie Nagios alarmieren.
Sie können sich auch Pulp ansehen, wenn es Ihren Anforderungen entspricht.
quelle
Der folgende Befehl listet kürzlich installierte oder aktualisierte RPM-Pakete auf:
Es kann auch Pakete enthalten, die außerhalb von YUM installiert sind. Dieser Befehl kann auch ohne Root-Berechtigung ausgeführt werden.
quelle