- Posts: 434
- Karma: 5
- Thank you received: 78
- Sint Wind PI - Documentation
- Forum
- Volo Libero Monte Cucco
- Sint Wind PI
- Script per il riavvio automatico
Postate qui domande o segnalate problemi / bug che riscontrate,
Script per il riavvio automatico
Lo script controlla l'ora dell'ultimo aggiornamento del wh1080_rf.txt (viene generato dalla libreria che controlla l'RFM01) e se son passati più di 600 secondi riavvia swpi.
Ovviamente può essere utilizzato anche con gli altri sensori, ma va cambiato il file da monitorare.
#!/bin/bash
now=$(date "+%d/%m/%Y - %H:%M")
seconds=$(expr `date +%s` - `stat -c %Y /home/pi/swpi/wh1080_rf.txt`)
if [ $seconds -gt 600 ]; then
echo "[ $now ] $seconds seconds since last update, REBOOT swpi" >> /home/pi/swpi/rebootscript.log
sudo /home/pi/swpi/killswpi.sh
sudo -u pi /home/pi/swpi/swpi.sh
else
echo "[ $now ] $seconds seconds since since update. Wait" >> /home/pi/swpi/rebootscript.log
fi
Please Log in to join the conversation.
Sensori PCE-FWS20, DVB-T 820T2 SDR, BMP085, Raspberry Pi mod. B www.meteoportocervo.it (Abbiadori Porto Cervo - Arzachena - OT) 108 m s.l.m.)
Please Log in to join the conversation.
Forse è possibile monitorare il file swi.cfg che come ha notato Roberto nella discussione del watchdog aggiorna la propria data con la stessa cadenza di invio dati/webcam (ovvero il valore webcaminterval).
Forse però a questo punto conviene usare proprio il watchdog che ha implementato Roberto.
In ogni caso le istruzioni passo passo per implementare lo script (qualsiasi, in realtà) sono queste:
cd /home/swpi
nano rebootswpi.sh
(qui copiare il contenuto dello script)
salvare con CTRL+O e premere Y, INVIO
dare i permessi di esecuzione scrivendo: chmod +x ./rebootswpi.sh
a questo punto per eseguirlo a cadenza regolare bisogna inserirlo in crontab (come root)
sudo crontab -e
ed in fondo aggiungere la riga
*/10 * * * * /home/pi/swpi/rebootswpi.sh
Salvare sempre con CTRL+O e premere Y, INVIO
Lo script inoltre genera un log delle azioni nel file /home/pi/swpi/rebootscript.log
Please Log in to join the conversation.
Che confusioooooone
Sensori PCE-FWS20, DVB-T 820T2 SDR, BMP085, Raspberry Pi mod. B www.meteoportocervo.it (Abbiadori Porto Cervo - Arzachena - OT) 108 m s.l.m.)
Please Log in to join the conversation.
- tetox
- Visitor
mi permetto di risponderti ..solo perche' anche io ho implementato pochi minuti fa' il wuatchdog di Alessandro..
Collegati con ssh al raspy e segui con attenzione il msg. di Ale
cd /home/swpi
nano rebootswpi.sh
(qui copiare il contenuto dello script)
salvare con CTRL+O e premere Y, INVIO
dare i permessi di esecuzione scrivendo: chmod +x ./rebootswpi.sh
l'unica cosa che puoi modificare e' questa riga
seconds=$(expr `date +%s` - `stat -c %Y /home/pi/swpi/swpi.cfg`)
Scusa dell'intromissione ...
Auguri a tutti ..Buone Festivita'..
Stefano i6wvq
Please Log in to join the conversation.
- Roberto Vaccaro
- Offline
- Moderatore
pierpis wrote: Scusami se sono un testone.. io avevo modificato il file swi.cfg dalla maschera rosa (192.168.1.***) penso che per aggiungere le righe che hai scritto bisogna intervenire direttamente senza entrare nella maschera rosa.... ma per fare ciò, dovete manovrare il "swi.cfg" direttamente dal Rasp?.... quindi in fase di caricamento OS bloccarlo e scrivere cd/home/swpi ??
Che confusioooooone
Si, penso che tu abbia fatto confusione.
Quello che tu hai modificato nella "maschera rosa" via web non è il watchdog, ma è un riavvio dell'intero sistema a una determinata ora. Equivale ad un reboot del raspberry. E serve più che altro a resettare la chiavetta telefonica.
Quello che ha fatto Alessandro è una cosa molto più fine, controlla il file "wh1080_rf.txt" e se passati i minuti impostati non lo trova aggiornato killa il processo swpi e lo fa ripartire. E serve solo a chi usa l'RFM01 per ricevere i dati dai sensori. Se segui le istruzioni ti trovi un nuovo file aòò'interno della cartella swpi, che nulla ha che fare con swpi.cfg, e si tratta di uno script che va lanciato da cron (crontab), sempre come da istruzioni.
Nulla vieta comunque di usarli tutti e due
73 agli om de iw1pur.
Auguri a tutti
Please Log in to join the conversation.
Please Log in to join the conversation.
- Centauri
- Visitor
Valuta il tempo del crontab, nel senso che se l'aggiornamento avviene ogni 10 minuti, mettere 10 minuti anche del cron potrebbe creare dei falsi positivi.
Io nel mio sistema con un aggiornamento dei dati e scrittura nel db ogni 10 minuti ho inserito il controllo ogni 15 min.
Please Log in to join the conversation.
Please Log in to join the conversation.
Sensori PCE-FWS20, DVB-T 820T2 SDR, BMP085, Raspberry Pi mod. B www.meteoportocervo.it (Abbiadori Porto Cervo - Arzachena - OT) 108 m s.l.m.)
Please Log in to join the conversation.
Sensori PCE-FWS20, DVB-T 820T2 SDR, BMP085, Raspberry Pi mod. B www.meteoportocervo.it (Abbiadori Porto Cervo - Arzachena - OT) 108 m s.l.m.)
Please Log in to join the conversation.
Il mio script quindi è questo:
#!/bin/bash
now=$(date "+%d/%m/%Y - %H:%M")
seconds=$(expr `date +%s` - `stat -c %Y /home/pi/swpi/db/swpi.s3db`)
if [ $seconds -gt 450 ]; then
echo "[ $now ] $seconds seconds since last update, REBOOT swpi" >> /home/pi/swpi/log/rebootscript.log
sudo /home/pi/swpi/killswpi.sh
sudo -u pi /home/pi/swpi/swpi.sh
else
echo "[ $now ] $seconds seconds since since update. Wait" >> /home/pi/swpi/log/rebootscript.log
fi
Ho spostato anche il file di log nella più opportuna cartella "log"
Please Log in to join the conversation.
- Sint Wind PI - Documentation
- Forum
- Volo Libero Monte Cucco
- Sint Wind PI
- Script per il riavvio automatico