Como verificar quando a atualização do yum foi executada pela última vez

10

Existe uma maneira canônica de descobrir a última vez que yum update foi executado em um sistema?

Nossa configuração é que temos servidores temporários que executam atualizações automáticas e, desde que não caiam, atualizaremos manualmente nossos servidores de produção uma vez por mês (exceto atualizações críticas). (Eu digo manualmente, idealmente eu quero disparar manualmente uma atualização em todos eles, mas isso é outro problema).

Mas você fica ocupado, as tarefas escorregam etc. Então, eu quero configurar um cheque de nagios que vai começar a nos incomodar se tivermos ficado por muito tempo.

A pesquisa 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

que me dá algo como Mar 12 , que eu posso converter em uma data. Existem algumas pequenas complicações sobre se a data é este ano ou no ano passado, e eu também preciso verificar /var/log/yum.log.1 em caso de verificação imediatamente após um logrotate. Mas isso é apenas detalhes de script.

Isso pode ser enganado por uma atualização de um único pacote, em vez de uma atualização geral.

Existe uma maneira mais canônica de ver quando yum update foi executado?

Edit: Agora escrevi um plugin Nagios NRPE que usa a ideia que apresentei na pergunta. Você pode pegá-lo em link

    
por Hamish Downer 16.05.2012 / 15:36

3 respostas

17

A opção de histórico do yum permite ao usuário visualizar o que aconteceu em transações passadas. Para torná-lo mais simples, você pode grep Atualizar do histórico do yum

# yum  history
Loaded plugins: fastestmirror, refresh-packagekit
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
    41 | root <root>              | 2012-04-27 20:17 | Install        |   19   
    40 | root <root>              | 2011-11-20 10:09 | Install        |   10   
    39 | root <root>              | 2011-11-20 08:14 | Install        |    1 E<
    38 | root <root>              | 2011-11-19 15:46 | Update         |    1 
    
por 16.05.2012 / 16:01
2

Acho que a única maneira de ter absoluta certeza é executar psacct .

Isso permitirá que você execute lastcomm yum . Se você analisar isso, saberá quem o executou e quando.

    
por 16.05.2012 / 15:46
1

Eu estou supondo que você está 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 após ser bem-sucedido, grava em um arquivo. (diga /etc/yum_last )

Em seguida, você pode usar yum check-update periodicamente no cron / other nos servidores de desenvolvimento para ver se há atualizações disponíveis. Se este comando diz > 0 número de atualizações disponíveis, você compara a data atual com o registro de data e hora do arquivo que você criou quando fez a última atualização do yum.

Se essa diferença de data aumentar em dias, você poderá ter o alerta do Nagios.

Você também pode ver o Pulp se ele atende às suas necessidades.

    
por 17.05.2012 / 00:13