Есть ли канонический способ узнать, когда последний раз yum update
запускался в системе?
Наша установка состоит в том, что у нас есть промежуточные серверы, на которых выполняются автоматические обновления, и, если они не падают, мы будем вручную обновлять наши производственные серверы примерно раз в месяц (за исключением критических обновлений). (Я говорю вручную, в идеале я хочу вручную запустить обновление для всех из них, но это другая проблема).
Но вы заняты, задачи ускользают и т. Д. Поэтому я хочу настроить проверку nagios, которая начнет беспокоить нас, если мы оставим ее слишком долго.
Поиск в Интернете не дал мне очень далеко. Покопаясь в системе, лучшее, что я нашел на данный момент, будет что-то вроде:
grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2
что дает мне что-то вроде того, Mar 12
что я могу затем преобразовать в дату. Есть несколько незначительных сложностей относительно того, будет ли дата в этом году или в прошлом году, и я также должен проверить /var/log/yum.log.1
в случае проверки сразу после входа в систему. Но это только детали сценариев.
Конечно, это может быть «одурачено» обновлением одного пакета, а не общим обновлением.
Так есть ли более канонический способ узнать, когда yum update
был запущен?
Изменить: я сейчас написал плагин Nagios NRPE, который использует идею, которую я выдвинул в вопросе. Вы можете получить его с https://github.com/aptivate/check_yum_last_update
источник
history
команды. (В основном мы все еще используем CentOS 5). На самом деле, только что попробовал и CentOS 6 есть. Но это не достаточно универсально для наших целей - но выглядит полезным для других.I, U
что grep немного усложняется. Это может произойти, если обновленный пакет зависит от нового пакета, вызывая установку нового пакета.Я думаю, что единственный способ, которым вы можете быть абсолютно уверены, это бег
psacct
.Это позволит вам бежать
lastcomm yum
. Если вы проанализируете это, вы узнаете, кто и когда его запускал.источник
Я предполагаю, что вы указываете набор серверов Dev на репозиторий Dev yum?
Вы можете выполнить автоматическое обновление в скрипте cron / puppet / chef, который в случае успеха записывает в файл. (скажем
/etc/yum_last
)Затем вы можете
yum check-update
периодически использовать cron / other на серверах разработчиков, чтобы узнать, доступны ли какие-либо обновления. Если в этой команде указано> 0 доступных обновлений, вы сравниваете текущую дату с отметкой времени файла, который вы создали при последнем автоматическом обновлении yum.Если эта разница в датах увеличивается в днях, вы можете получить предупреждение Nagios.
Вы также можете посмотреть на Pulp, если он соответствует вашим потребностям.
источник
Следующая команда выводит список недавно установленных или обновленных пакетов RPM:
Он также может включать пакеты, установленные вне YUM. Эта команда также может выполняться без привилегий root.
источник