Existe uma maneira canônica de descobrir a última vez que yum update
foi executada em um sistema?
Nossa configuração é que temos servidores de armazenamento temporário que executam atualizações automáticas e, desde que não caiam, atualizaremos manualmente nossos servidores de produção cerca de uma vez por mês (exceto atualizações críticas). (Eu digo manualmente, o ideal é acionar manualmente uma atualização em todos eles, mas isso é outro problema).
Mas você fica ocupado, as tarefas caem etc. Então, eu quero configurar uma verificação de nagios que começará a nos incomodar se a deixarmos por muito tempo.
Pesquisando na web não me levou muito longe. Analisando o sistema, a melhor coisa que encontrei até agora seria algo como:
grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2
o que me dá algo como o Mar 12
que posso converter em uma data. Existem algumas pequenas complicações sobre se a data é este ano ou no ano passado, e eu também precisaria verificar /var/log/yum.log.1
caso verifique imediatamente após um logrotate. Mas isso são apenas detalhes de script.
Obviamente, isso pode ser "enganado" por uma atualização para um único pacote, em vez de uma atualização geral.
Então, existe uma maneira mais canônica de ver quando yum update
foi executada?
Edit: Agora eu escrevi um plugin Nagios NRPE que usa a ideia apresentada na pergunta. Você pode obtê-lo em https://github.com/aptivate/check_yum_last_update
fonte
history
comando disponível. (Ainda estamos usando o CentOS 5). Na verdade, apenas tentei e o CentOS 6 possui. Mas não é universal o suficiente para nossos propósitos - mas parece útil para outros.I, U
tornando o grep um pouco mais complicado. Isso pode acontecer se um pacote atualizado depender de um novo pacote, fazendo com que o novo pacote seja instalado.Acho que a única maneira de ter certeza absoluta é executando
psacct
.Isso permitirá que você execute
lastcomm yum
. Se você analisar isso, saberá quem o executou e quando.fonte
Suponho que você esteja apontando um conjunto de servidores 'Dev' para um repositório Dev yum?
Você pode fazer a atualização automática em um script cron / puppet / chef, que, com sucesso, grava em um arquivo. (digamos
/etc/yum_last
)Em seguida, você pode usar
yum check-update
periodicamente no cron / other nos servidores Dev para ver se há atualizações disponíveis. Se este comando indicar que> 0 número de atualizações está disponível, você comparará a data atual com o registro de data e hora do arquivo que você criou na última atualização automática yum.Se essa diferença de data aumentar em dias, você poderá receber o alerta do Nagios.
Você também pode consultar o Pulp, se ele atender às suas necessidades.
fonte
O comando a seguir lista os pacotes RPM instalados ou atualizados recentemente:
Pode incluir pacotes instalados fora do YUM também. Este comando também pode ser executado sem privilégios de root.
fonte