Newsgroup: it.comp.os.linux.iniziare
Titolo: Script per controllo stato RAID

Salve a tutti,
in questo howto 
http://www.ir3ip.net/iw3grx/docs/RAID1-mini-HOWTO.pdf
 ho 
trovato il sottonotato script che però, per le mie infime conoscenze di 
bash, non fa quello che dovrebbe fare.
Lo script è così composto:
#!/bin/bash
# /usr/local/sbin/raid-control.sh
# Controlla lo stato del RAID
RAIDSTRING='grep blocks /proc/mdstat |grep -v UU'
if [ -z "$RAIDSTRING" ]; then
cat /proc/mdstat |mail -s "raid problem at 'hostname'" email@delladmin
fi
In pratica, da quello che ho capito, lo script dovrebbe controllare che 
nel file /proc/mdstat sia presente la voce "blocks" e, se presente, se 
sia altresì presente la voce UU (che delineerebbe un normale 
funzionamento del raid).
La presenza però della -v nel secondo grep non mi convince.
Spiego ciò che IO ho capito dello script affinchè qualcuno possa 
eventualmente correggere:
RAIDSTRING= 'trova le linee che contengono la parola blocks nel file 
/proc/mdstat | [dal precedente output] trova le linee che non contengono 
  la parola UU'
se [ il risultato di RAIDSTRING non contiene caratteri] allora fai il 
cat di /proc/mdstat e postalo, con subject "raid problem at 'hostname'" 
all'email dell'admin.
In pratica il mio /proc/mdstat mi restituisce:
Personalities : [linear] [raid0] [raid1] [raid5]
read_ahead 1024 sectors
md0 : active raid1 hdb1[1] hda1[0]
       21992832 blocks [2/2] [UU]
unused devices: <none>
Quindi il raid dovrebbe funzionare bene ma nonostante questo eseguendo 
lo script di cui sopra mi ritrovo una mail che mi dice che il raid non 
funziona.
Qualcuno può aiutarmi nella comprensione ? La -v nello script è di 
troppo oppure sono io che ho capito male la funzione dello script ?
Ringrazio.

 Ringrazio.
Risolto. Grazie comunque a chi ha letto.

 fi
-- 
Ciao,
   Marco.

Saul ha scritto:

qual era il problema?

 qual era il problema?
Non aveva letto il manuale di grep ;-)
(l'opzione -v inverte il senso dell'espressione, cioè stampa solo le
righe che *non* la contengono)
-- 
Lorenzo `paulatz' Paulatto
Trieste
``Grandissima mi par l'inezia di coloro che vorrebbero che Iddio avesse
fatto l'universo più proporzionato alla piccola capacità del lor discorso.''
     --Galileo Galilei (Opere VII)

 righe che *non* la contengono)
LOL, tu sì che hai capito tutto, e mi autoquoto:
 >| [dal precedente output] trova le linee che non contengono
 >  la parola UU'
L'errore era da ben altra parte ma essendo tu un sapientone lo avrai già 
capito. ;-)

 qual era il problema?
E' ben esposto nel post d'inizio thread.

> fi
Lo provo, nonostante abbia risolto il problema sull'altro script che ora 
funziona regolarmente.
Grazie.

 funziona regolarmente.
E, tanto per capirci: quello che BQ ti chiedeva era DOVE fosse il 
problema all'interno dello script, vale a dire COME hai risolto la cosa; 
non ti stava chiedendo quale fosse il problema iniziale.
-- 
Ciao,
   Marco.

 per primo...)
Il far notare, e non solo a te, che la comprensione dell'opzione -v di 
grep mi era già chiara, come avevo scritto, ti sembra una manifestazione 
di antipatia ?
A me non sembra.
A te sì ?
Tant' è.
Sarà che la polemica sterile e fine a sè stessa da parte di chi non ha 
una fava da fare, e non mi riferisco certo a te, non mi è mai piaciuta, 
ma per me il thread si chiude qui.
Ti ringrazio per l'ulteriore intervento.

 capito. ;-)
(blush) scusa, avevo letto male il tuo primo messaggio


 ma per me il thread si chiude qui.
E quindi non sapremo mai come hai risolto il problema? :)
-- 
Ciao,
   Marco.