Pagina 1 di 1
Riavvio vdr dopo crash
Inviato: 14 set 2009, 12:43
da darknike
Ciao a tutti. Volevo sapere se c'è possibilità di far riavviare in automatico Vdr dopo un crash. Mi spiego meglio: io utilizzo prevalentemente Vdr come Videorecorder, senza monitor collegato. Ho notato che se imposto un timer per registrare una trasmissione, e alla fine quella trasmissione viene criptata, vdr dopo un po che la trasmissione viene criptata va in crash.
Di conseguenza, considerando che la vdrbox è senza monitor, e generalmente la utilizzo da remoto, non ho modo di notare se vdr va in crash o meno.
Ho visto quindi che nello script di avvio della vdrlive (il runvdr.ss2.ecc ecc ecc) alla fine c'è un Restart Vdr, ma dopo di esso ci sono solo i Killall per vdr e per xine. C'è quindi un modo per controllare se vdr è crashato e in automatico farlo ripartire?
Tnx
Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 13:13
da ragno
Se non hai un kernel panic, non ci sono problemi...
Scusa ma tu non utilizzi un script che cicla in questo modo?
:startup
load driver
load vdr
unload driver
goto startup
ciao
Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 13:54
da darknike
Ciao Ragno. No, kernel panic non ne escono. Per l'avvio utilizzo lo script della vdrlive a cui ho commentato la riga per la partenza di xine, e che posto di seguito:
Codice: Seleziona tutto
#! bin bash
PIDOF_PATH= sbin
VDR_PATH= vdr
PID_RUNVDR=var run run_vdr.pid
if [ -e ${PID_RUNVDR} ];then
echo " Vdr is already running? I kill run_vdr and vdr process!"
kill -9 `cat ${PID_RUNVDR}` `${PIDOF_PATH} pidof vdr`
fi
echo $$ > ${OLD_PID}
export LC_CTYPE="it_IT.utf8"
export LC_ALL="it_IT.utf8"
export LANG="it_IT.utf8"
cd ${VDR_PATH}
echo "` date +%d-%m-%Y-%H-%M` Starting VDR ... wait a moment"
sleep 2
#xine --hide-gui --post vdr vdr: tmp vdr-xine stream#demux:mpeg_pes &
if [ $? -eq 0 ]
then
echo "avviato con successo"
else
echo "operazione fallita!! "
fi
cd vdr
. vdr -P'xine -r' -Pstreamdev-server -Pchanman -Pchannelswitcher -Pepgsearch -Pextrecmenu -Pfemon -Plive -Ploadepg -Pmenuorg -Posdadjust -Ppilotskin -Pprefermenu -Preelchannelscan -Pskinenigmang -Pskinreel -Psleeptimer -Ptvonscreen -Pyaepg -s" etc shutdown.sh" -w 30
if test $? -eq 0 -o $? -eq 2; then exit; fi
date
echo "restarting VDR"
killall xine
killall vdr
sleep 5
done
Tieni conto che tutte le / le ho eliminate dal listato altrimenti esce l'errore del php, ma nella vdrbox sono presenti.

Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 14:44
da ragno
Il tuo script a meno che non sia gestito tramite inittab se vdr esce (termina per un errore, etc) finisce li...
Ti conviene prendere spunto da runvdr presente nel tarball di vdr...Che come ti indicavo nel precedente messaggio cicla, quindi se vdr esce per errore, viene ricaricato dallo script.
ciao
Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 15:01
da darknike
Ok grazie mille. Hai per caso un link dove prendere il tarball di vdr?
Edit:
Ho provato a cercarli con google e ne ho trovato uno della versione 1.5.0, però nell'unico file runvdr (che non è .sh) non ci capisco niente.

Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 15:03
da ragno
darknike ha scritto:Ok grazie mille. Hai per caso un link dove prendere il tarball di vdr?
tarball = sorgenti di vdr
Quindi sul sito di Klaus...

Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 15:09
da darknike
Grazie 1000 Ragno. Purtroppo però, come ho scritto nell'edit, non ci capisco nulla nell'unico file chiamato runvdr. Non è con estensione .sh e non ci sono comandi simili al mio script

Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 15:31
da ragno
darknike ha scritto:Grazie 1000 Ragno. Purtroppo però, come ho scritto nell'edit, non ci capisco nulla nell'unico file chiamato runvdr. Non è con estensione .sh e non ci sono comandi simili al mio script

Cosa e' che non capisci? Non mi pare molto difficile capire che devi modificare il tuo script inserendo il ciclo while col comando che lancia il tuo vdr all'interno di esso...
Il fatto che non sia .sh non c'entra nulla, linux non guarda l'estensione ma solo se il file ha i giusti attributi...

Credo che comunque la lettura di una guida su linux non ti farebbe male...
ciao
p.s. dovresti sostituire
Codice: Seleziona tutto
cd vdr
. vdr -P'xine -r' -Pstreamdev-server -Pchanman -Pchannelswitcher -Pepgsearch -Pextrecmenu -Pfemon -Plive -Ploadepg -Pmenuorg -Posdadjust -Ppilotskin -Pprefermenu -Preelchannelscan -Pskinenigmang -Pskinreel -Psleeptimer -Ptvonscreen -Pyaepg -s" etc shutdown.sh" -w 30
if test $? -eq 0 -o $? -eq 2; then exit; fi
date
echo "restarting VDR"
killall xine
killall vdr
sleep 5
done
con
Codice: Seleziona tutto
cd vdr
while (true) do
#### devi sostituire questa riga col tuo comando per lanciare il tuo vdr con tutti i parametri
sleep 2
echo "`date` restarting VDR"
done
L'ideale sarebbe anche scaricare i driver dvb e ricaricarli, dal momento che il maggior numero di crash e' imputabile proprio ai driver..
Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 17:04
da Gringo
Dal manuale VDR che trovi qui
http://gringo.netsons.org/wiki/doku.php ... anuale_vdr si legge in questa sezione
http://gringo.netsons.org/wiki/doku.php ... r#generici:
Codice: Seleziona tutto
Uscita di emergenza sì
Se, per qualche ragione, una registrazione fallisce perché il flusso dati video è corrotto, oppure una CAM non decodifica etc, VDR esce automaticamente in modo da permettere allo script di controllo di ricaricare i driver DVB. Se questa opzione è impostata a 'no', allora l'Uscita di emergenza sarà ignorata, nella speranza che il problema si risolva da solo (come, per esempio, nel caso di cattive condizioni ambientali).
Re: Riavvio vdr dopo crash
Inviato: 14 set 2009, 19:02
da darknike
Eccomi qua. Ringrazio per l'assistenza ad entrambi. Per ora provo con l'opzione dell'uscita di emergenza che era impostata su SI, e poi nel caso modifico lo script.
P.S. Appena ho un po di tempo leggo pure la guida su linux...
Re: Riavvio vdr dopo crash
Inviato: 15 set 2009, 08:03
da ragno
darknike ha scritto:Eccomi qua. Ringrazio per l'assistenza ad entrambi. Per ora provo con l'opzione dell'uscita di emergenza che era impostata su SI, e poi nel caso modifico lo script.
P.S. Appena ho un po di tempo leggo pure la guida su linux...
Io ci perderei un attimo di tempo, perche' il tuo script di controllo e' alquanto farraginoso, e non e' male imparare a controllare meglio il proprio sistema...
ciao