check_update

19 lutego, 2010 (20:30) | centos, linux | By: konrad

Jakiś czas temu musiałem napisać prosty skrypt robiący „spis z natury” pakietów na linuksowych serwerach. Chodziło o coś, co wypluje w każdej linijce:

  • nazwę hosta,
  • nazwę pakietu,
  • wersję pakietu zainstalowanego,
  • najnowszą wersję pakietu, która została wydana i można ją zainstalować.

Skrypt powstał w BASHu i wygląda tak:
#!/bin/bash
IFS=$'\n'
for l in `yum -d 0 check-update | grep -v "^$"`; do
pakiet=`echo ${l} | cut -d ' ' -f 1`
ver1=`yum list ${pakiet} | grep -A 1 "^Installed Packages" | grep -v "^Installed Packages" | awk '{print $2}'`
ver2=`echo ${l} | awk '{print $2}'`
s=`hostname`; while [ ${#s} -lt 30 ]; do s="${s} "; done
s="${s} pakiet: ${pakiet}"; while [ ${#s} -lt 70 ]; do s="${s} "; done
s="${s} aktualna wersja: ${ver1}"; while [ ${#s} -lt 120 ]; do s="${s} "; done
s="${s} nowa wersja: ${ver2}"
echo "${s}"
done

Nie jest może zbyt wyrafinowany i zdecydowanie nie jest najszybszy, ale robi to, co do niego należy i nie jest zbytnio skomplikowany.

Po co? Bo fajnie jest wiedzieć, co się u moich „podopiecznych” dzieje i jak bardzo ten stan odbiega od tzw. „nówki sztuki”.

Trackback URL: http://konrad.bechler.pl/2010/02/check_update/trackback/

«

»

Write a comment





*