Czy istnieje kanoniczny sposób, aby dowiedzieć się, kiedy ostatnio yum update
uruchomiono system?
Nasza konfiguracja polega na tym, że mamy serwery pośredniczące, które uruchamiają automatyczne aktualizacje i pod warunkiem, że się nie przewrócą, będziemy ręcznie aktualizować nasze serwery produkcyjne mniej więcej raz w miesiącu (z wyjątkiem aktualizacji krytycznych). (Mówię ręcznie, najlepiej chcę ręcznie uruchomić aktualizację we wszystkich, ale to kolejny problem).
Ale robisz się zajęty, zadania ślizgają się itp. Więc chcę ustawić czek nagios, który zacznie nas niepokoić, jeśli zostawimy go zbyt długo.
Przeszukiwanie sieci nie za bardzo mnie doprowadziło. Grzebiąc w systemie, najlepszą rzeczą, jaką do tej pory znalazłem, byłoby coś takiego:
grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2
co daje mi coś, Mar 12
co mogę później przekształcić w randkę. Istnieje kilka drobnych komplikacji związanych z tym, czy data jest w tym roku czy w zeszłym roku, i musiałbym również sprawdzić /var/log/yum.log.1
w przypadku sprawdzenia natychmiast po logrotacie. Ale to tylko szczegóły skryptu.
Można to oczywiście oszukać przez aktualizację pojedynczego pakietu, a nie ogólną aktualizację.
Czy jest więc bardziej kanoniczny sposób sprawdzenia, kiedy yum update
został uruchomiony?
Edycja: Napisałem wtyczkę Nagios NRPE, która wykorzystuje ideę przedstawioną w pytaniu. Możesz go pobrać z https://github.com/aptivate/check_yum_last_update
źródło
history
dostępnej komendy. (Przeważnie nadal używamy CentOS 5). Właściwie właśnie wypróbowałem i CentOS 6 ma to. Ale nie jest wystarczająco uniwersalny dla naszych celów - ale wydaje się przydatny dla innych.I, U
że grep jest nieco bardziej skomplikowany. Może się to zdarzyć, jeśli zaktualizowany pakiet zależy od nowego pakietu, co powoduje zainstalowanie nowego pakietu.Myślę, że jedynym sposobem, aby być absolutnie pewnym, jest bieganie
psacct
.To pozwoli ci uruchomić
lastcomm yum
. Jeśli go przeanalizujesz, będziesz wiedział, kto go uruchomił i kiedy.źródło
Zgaduję, że wskazujesz zestaw serwerów „Dev” na repozytorium Dev mniam?
Możesz wykonać automatyczną aktualizację w skrypcie cron / puppet / chef, który po sukcesie zapisuje do pliku. (powiedz
/etc/yum_last
)Następnie możesz
yum check-update
okresowo używać w cron / other na serwerach Dev, aby sprawdzić, czy są dostępne jakieś aktualizacje. Jeśli to polecenie mówi, że> dostępnych jest 0 aktualizacji, oznacza to, że bieżąca data jest porównywana ze znacznikiem czasu pliku utworzonego podczas ostatniej aktualizacji automatycznej.Jeśli różnica dat rośnie w ciągu kilku dni, możesz mieć alert Nagios.
Możesz także spojrzeć na Pulp, jeśli pasuje do twoich potrzeb.
źródło
Następujące polecenie wyświetla listę ostatnio zainstalowanych lub zaktualizowanych pakietów RPM:
Może zawierać również pakiety zainstalowane poza YUM. To polecenie można również uruchomić bez uprawnień administratora.
źródło