Napisałem sobie taki oto skrypt podający wyniki uptime serwera. Chciałem żeby w mrtg rysowało mi wykres rzeczywistego uptime w czasie aktualnym oraz maksymalny jaki zostal osiagniety.
Skrypt ma za zadanie utworzenie pliku z zawartoscia jaki najwyzszy uptime zostal osiagniety, oraz jesli aktualny uptime jest wiekszy od tego ktory jest w pliku z najwyzszym uaktulanienie go.
#!/bin/sh
if [ ! -r /home/httpd/html/mrtg/uptime/najwyzszy ]; then
najwyzszy=`uptime | grep day | awk {'print $3'}`
echo $najwyzszy > /home/httpd/html/mrtg/uptime/najwyzszy
fi
#sprawdzenie czy najwyzszy uptime jest wiekszy od aktualnego
aktualny=`uptime | grep day | awk {'print $3'}`
najwyzszy=`cat /home/httpd/html/mrtg/uptime/najwyzszy`
if [ $najwyzszy -lt $aktualny ]; then
echo $aktualny > /home/httpd/html/mrtg/uptime/najwyzszy
fi
#sprawdzenie czy uptime jest juz 1 dzien
#jesli nie to wypisanie 0 oraz najwyzszego uptime
sprawdzenie=`uptime | awk {'print $4'}`
if [ $sprawdzenie = day, ]; then
echo $aktualny
echo $najwyzszy
else if [ $sprawdzenie = days, ]; then
echo $aktualny
echo $najwyzszy
else
echo "0"
echo $najwyzszy
fi
fi
Jakby ktos mogl to prosilbym o sprawdzenie. Jednakze jedno co mi nie wychodzi to to ze jak plik z najwyzszym uptime nie istanieje, zeby skrypt dopisal wartosc zero do tego pliku jednoczesnie go tworzac.
Ma wypisywac rowniez tylko uptime w ilosci dni, a wiadomo ze w pierwszym dniu pokazuje on godziny. Sprobowalem to osiagnac piszac SPRAWDZENIE ale nie jest ono za bardzo odpowiednie.