Il mio barbon pc non permette di interfacciarsi all'allarme del bios tramite acpi come descritto qui:
http://www.mythtv.org/wiki/ACPI_Wakeup
Quindi non riesco a settare dal pc l'accensione programmata.
Sempre in barbon-style non voglio un accessorio esterno che lo accenda (come il NAS di Gringo), e non posso usufruire del WakeOnLan perchè la box è connessa via wifi.
Il trick che mi son inventato prevede di settare un timer "fuffa" nel bios, fisso, e portare indietro l'ora del bios di un tempo giusto.
Il tutto viene effettuato allo spegnimento della box.
Poi con ntp all'avvio ripristino l'ora corretta per il normale funzionamento della box.
Il mio timer fisso è impostato alle 12:12 del 12 di ogni mese.
Pertanto se voglio accendere il pc tra 2 ore imposterò l'ora alle 10:12 del 12/12/2008 (data nel passato a caso).
ogni volta che spengo il pc, guardo se ci son timer attivi, setto l'ora e spengo.
scrippettone che uso per spegnere il pc:
Codice: Seleziona tutto
SECONDI=$(( $(date +%s --date "$(cat /video/timers.conf |grep ^1|awk -F: '{print $3" "$4}'|sed s/\-//g)") - $(date +%s) ));
if [[ $SECONDI -lt 0 ]] ;then
echo minore;
#evento già passato o nessun timer
echo "nessun timer da settare";
date -s "Fri Dec 12 12:15:00 CET 2008"+1hours
tune2fs -T now /dev/hda1
tune2fs -T now /dev/hda2
tune2fs -T now /dev/hda3
else
echo maggiore;
#timer da settare
echo Accensione tra $SECONDI secondi
echo "ovvero alle";
date --date now+$SECONDI"seconds";
date -s "Fri Dec 12 12:12:00 CET 2008"-$SECONDI"seconds+1hours+3minutes"
tune2fs -T now /dev/hda1
tune2fs -T now /dev/hda2
tune2fs -T now /dev/hda3
fi
halt
* ho provato con un solo timer, quindi mi sa che c'è ancora da ordinarli per data per avere un funzionamento corretto.
* ho testato solo per timer fissi di vdr, tipo "alle 20:30 del 05/11/2009" e non "alle 20:30 da martedì a venerdì", quindi il trick non funzionerà o avrà un funzionamento anomalo in tali casi.
* "grep ^1" serve per capire se il timer è attivo....il primo valore dovrebbe essere se è attivo, ma non ne son sicuro..una conferma?
* Il pc si spegnerà SEMPRE con un orario SBAGLIATO, o poco dopo il timer fisso (nessun timer vdr attivo), o prima (timer attivo)
* +1 hours serve per riallinearsi con le Coordinated Universal Time (ora di Greenwich)
* +3minutes serve per dare un minimo di tempo al boot.
* le righe di tune2fs servono per far finta che abbiamo appena controllato la partizione, e quindi non avere il tedio del messaggio "la tua partizione è stata controllata in una data futura", con conseguente check del disco ad ogni avvio.
* ovvio che tutti i file "toccati" in fase di boot avranno un access time e modify time errato.. ecco perchè il titolo del post.
* I timer distanti oltre 30 giorni mi sa che non funzioneranno.
Saluti
JohnnyRun