Grep'e to ting
Jeg har lavet en overvågning web-side til en server. Bl.a. viser den to linier fra SMARTs output. For tiden gør jeg således (bær over med ombrydning):
Det giver fx dette output:
#!/bin/bash
DEVICE="/dev/sda"
BASE="/var/www/monitor"
date > $BASE/hddstatus.txt
/usr/sbin/smartctl -a $DEVICE | grep self-assessment >> $BASE/hddstatus.txt
/usr/sbin/smartctl -a $DEVICE | grep ^194 >> $BASE/hddstatus.txt
Tue Feb 5 22:59:01 CET 2008
SMART overall-health self-assessment test result: PASSED
194 Temperature_Celsius 0x0022 035 042 000 Old_age Always - 35 (Lifetime Min/Max 0/19)
Det virker fint, men det er jo ikke særlig elegant at køre smartctl to gange i træk.
Nogen, der har et bud på noget lækkert?
- Log in to post comments
Kommentarer11
Re: Grep'e to ting
Saet smartd op, saa den sender dig en lille fin email hvis der sker noget med din disk du skal vaere opmarksom paa ;)
Re: Re: Grep'e to ting
#1 - Det har jeg gjort ;-) Men jeg vil gerne lære om man kan grep'e smartere end jeg gør i eksemplet.
Re: Re: Re: Grep'e to ting
Saa svar 2 nok lidt bedere
Men der skal nok "" rundt om ().. :/
#4:debianserver:~#
Der gik vist noget galt her multi-posts her!
#4:
debianserver:~#
#4:
debianserver:~# /usr/sbin/smartctl -a /dev/sda | grep -P (^194|self-assessment)
-su: syntax error near unexpected token `('
#4:debianserver:~#
#4:debianserver:~#
#4:debianserver:~#
#4:debianserver:~#
#6 Perfekt! Det var lige hvad jeg ønskede! Tak.
Re: Grep'e to ting
eller noget ligende, hvis du skal bruge det saaledes:
/usr/sbin/smartctl -a $DEVICE | grep -P (^194|self-assessment) >> $BASE/hddstatus.txt
Det er ikke testet men skulle virker udenmaerket
Re: Grep'e to ting
Det her er fra en ubuntu box, virker somom -P er en RHEL ting.
blackbox:~$ sudo /usr/sbin/smartctl -a /dev/sda -d ata | grep -E "(^194|self-assessment)"
SMART overall-health self-assessment test result: PASSED
194 Temperature_Celsius 0x0022 154 100 000 Old_age Always - 28
blackbox:~$