Cara memeriksa kapan pembaruan yum terakhir dijalankan

11

Apakah ada cara kanonik untuk mengetahui kapan terakhir kali yum updatedijalankan pada suatu sistem?

Pengaturan kami adalah bahwa kami memiliki server pementasan yang menjalankan pembaruan otomatis, dan asalkan tidak jatuh, kami akan secara manual memperbarui server produksi kami sebulan sekali (kecuali pembaruan kritis). (Saya katakan secara manual, idealnya saya ingin secara manual memicu pembaruan di semua dari mereka, tapi itu masalah lain).

Tapi Anda sibuk, tugas-tugas terpeleset dll. Jadi saya ingin mengatur pemeriksaan nagios yang akan mulai mengganggu kami jika kami meninggalkannya terlalu lama.

Mencari di web belum membuat saya terlalu jauh. Mengaduk-aduk sistem, hal terbaik yang saya temukan sejauh ini adalah sesuatu seperti:

grep Updated /var/log/yum.log | tail -1 | cut -d' ' -f 1-2

yang memberi saya sesuatu seperti Mar 12yang kemudian dapat saya ubah menjadi kencan. Ada beberapa komplikasi kecil tentang apakah tanggalnya tahun ini atau tahun lalu, dan saya juga perlu memeriksa /var/log/yum.log.1jika ada pengecekan segera setelah logrotate. Tapi itu hanya detail skrip.

Ini tentu saja dapat 'dibodohi' oleh pembaruan ke satu paket daripada pembaruan umum.

Jadi apakah ada cara yang lebih kanonik untuk melihat kapan yum updatedijalankan?

Sunting: Saya sekarang telah menulis plugin Nagios NRPE yang menggunakan ide yang saya ajukan dalam pertanyaan. Anda dapat mengambilnya dari https://github.com/aptivate/check_yum_last_update

Hamish Downer
sumber

Jawaban:

19

Opsi riwayat yum memungkinkan pengguna untuk melihat apa yang telah terjadi dalam transaksi sebelumnya. Untuk membuatnya lebih sederhana, Anda dapat menerima Pembaruan dari riwayat 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 
Chakri
sumber
1
Apa versi yum yang Anda gunakan - Saya tampaknya tidak memiliki historyperintah yang tersedia. (Kami sebagian besar masih menggunakan CentOS 5). Sebenarnya, baru saja mencoba dan CentOS 6 memang memilikinya. Tapi itu tidak cukup universal untuk tujuan kita - tetapi terlihat bermanfaat bagi orang lain.
Hamish Downer
1
Ya ini pada centos 6.x dengan yum versi 3.2.29. Terima kasih
Chakri
1
Perhatikan bahwa jika ada kombinasi Instal dan Perbarui, kolom Tindakan mengatakan I, Umembuat grep sedikit lebih rumit. Ini bisa terjadi jika paket yang diperbarui tergantung pada paket baru, menyebabkan paket baru diinstal.
Hamish Downer
Karena kadang-kadang pembaruan terjadi saat menginstal sesuatu yang lain, jika Anda ingin melihatnya juga, mungkin meneruskan output melalui grep seperti ini: yum history | grep 'U' yang akan menangkap semua proses yang melibatkan pembaruan.
JJC
2

Saya pikir satu-satunya cara Anda dapat benar-benar yakin adalah dengan berlari psacct.

Ini akan memungkinkan Anda untuk menjalankan lastcomm yum. Jika Anda menguraikan ini, Anda akan tahu siapa yang menjalankannya dan kapan.

Bart De Vos
sumber
1

Saya kira Anda menunjuk satu set server 'Dev' ke repo Dev yum?

Anda dapat melakukan peningkatan otomatis dalam skrip cron / boneka / koki, yang setelah berhasil, menulis ke file. (katakanlah /etc/yum_last)

Kemudian Anda dapat menggunakan yum check-updatecron / other secara berkala di server Dev untuk melihat apakah ada pembaruan. Jika perintah ini mengatakan> 0 jumlah pembaruan tersedia, Anda membandingkan tanggal saat ini dengan stempel waktu file yang Anda buat saat terakhir melakukan peningkatan otomatis.

Jika perbedaan tanggal ini bertambah dalam berhari-hari, Anda dapat membuat nagios waspada.

Anda juga dapat melihat Pulp jika sesuai dengan kebutuhan Anda.

Tidak sekarang
sumber
0

Perintah berikut mencantumkan paket RPM yang baru saja diinstal atau diperbarui:

rpm -qa --last  | head

Ini mungkin termasuk paket yang diinstal di luar YUM juga. Perintah ini juga dapat dijalankan tanpa root privilege.

Seff
sumber