- October 15, 2007
- 252
- 6
- Home Country
- Austria
Hi!
Da ich früher bei meinem HTPC auf Fehler gestoßen bin, die erst auftraten, wenn der PC seit Tagen oder Wochen nicht mehr neu gebootet wurde, kam die Anforderung, dass sich der HTPC eben regelmässig neu starten soll.
Dies geht ja recht unkompliziert, einfach in den Geplanten Tasks unter Systemsteuerung ein Batch-File "reboot.cmd" mit dem Inhalt "shutdown -r -t 00" eintragen und den gewünschten Zeitplan
einstellen.
Doch was ist, wenn genau während eines geplanten Neustarts eine programmierte Aufnahme läuft?
Hier soll der HTPC den reboot-Befehl natürlich ignorieren und brav weiter aufzeichnen.
Angeblich soll dies mit dem PVR-Scheduler möglich sein, doch ich hatte mit dem PVR-Scheduler immer schon mehr Probleme als Lösungen, deshalb scheidet dieser bei mir grundsätzlich aus.
Ich bin auf folgende Selbstbau-Lösung gekommen:
Das Programm "Hibernate-Trigger" (zu downloaden am Ende dieses Posts) dient dazu, Programme oder Skripte vor und nach dem Standby/Hibernate zu starten. Es ist ein selbstständiges Mini-Programm und völlig unabhängig von MP oder dem TV-Service.
ich erstellte 2 batch-skripte:
-> standby.cmd:
(hier wird nur die Datei reboot.cmd aus dem unterordner "folder" herauskopiert)
-> wakeup.cmd:
(hier wird das skript sleep.vbs ausgeführt, welches nur dazu da ist, 20sek zu warten (es wird in Millisekunden gerechnet, also 1000 ist 1sek), dann wird die datei reboot.cmd wieder gelöscht)
-> Hier der Inhalt von sleep.vbs:
Somit ist die reboot.cmd, die Datei, die den Neustart auslösen kann, immer nur die ersten 20sek nach einem Wakeup im "Hauptordner" vorhanden!
Tja und der Rest ist selbsterklärend. Ich hab zwar nicht versucht, ob eine Datei, die nur zeitweise vorhanden ist, in die "geplanten Tasks" integrierbar ist, deshalb hab ich einfach ein extra Startskript erstellt welches nur direkt die reboot.cmd startet
-> go.cmd:
Die go.cmd kommt in die geplanten Tasks und wird regelmässig ausgeführt. Bei mir ist es jeden 3. Tag um 4 Uhr früh.
Wird also während eines geplanten Reboots gerade eine Aufnahme erledigt, findet das Skript go.cmd einfach keine reboot.cmd und die Sache hat sich erledigt.
Um das ganze sauber zu halten, wird für jeden Systemstart noch ein Lösch-Skript ausgeführt, denn nach einem erfolgreichen Reboot ist die Datei reboot.cmd ja noch vorhanden und sollte entfernt werden.
-> del.cmd:
Im Endeffekt hat man 5 Skripte, 4 davon in einem Ordner und eins in einem Unterordner, was dann schon wieder kompliziert scheint. Die skripte sind aber alle so extrem einfach und simpel, dass ich es als eine gute und vor allem solide Alternative sehe.
Vor allem komme ich nun ohne PVR-Scheduler und ohne Standby-Handler aus, da die restlichen Dinge alle mit MP 1.0 alleine schon funktionieren!
Ist doch nicht schlecht, oder?
Da ich früher bei meinem HTPC auf Fehler gestoßen bin, die erst auftraten, wenn der PC seit Tagen oder Wochen nicht mehr neu gebootet wurde, kam die Anforderung, dass sich der HTPC eben regelmässig neu starten soll.
Dies geht ja recht unkompliziert, einfach in den Geplanten Tasks unter Systemsteuerung ein Batch-File "reboot.cmd" mit dem Inhalt "shutdown -r -t 00" eintragen und den gewünschten Zeitplan
einstellen.
Doch was ist, wenn genau während eines geplanten Neustarts eine programmierte Aufnahme läuft?
Hier soll der HTPC den reboot-Befehl natürlich ignorieren und brav weiter aufzeichnen.
Angeblich soll dies mit dem PVR-Scheduler möglich sein, doch ich hatte mit dem PVR-Scheduler immer schon mehr Probleme als Lösungen, deshalb scheidet dieser bei mir grundsätzlich aus.
Ich bin auf folgende Selbstbau-Lösung gekommen:
Das Programm "Hibernate-Trigger" (zu downloaden am Ende dieses Posts) dient dazu, Programme oder Skripte vor und nach dem Standby/Hibernate zu starten. Es ist ein selbstständiges Mini-Programm und völlig unabhängig von MP oder dem TV-Service.
ich erstellte 2 batch-skripte:
-> standby.cmd:
Code:
"copy folder\reboot.cmd"
(hier wird nur die Datei reboot.cmd aus dem unterordner "folder" herauskopiert)
-> wakeup.cmd:
Code:
sleep.vbs
del reboot.cmd /q
(hier wird das skript sleep.vbs ausgeführt, welches nur dazu da ist, 20sek zu warten (es wird in Millisekunden gerechnet, also 1000 ist 1sek), dann wird die datei reboot.cmd wieder gelöscht)
-> Hier der Inhalt von sleep.vbs:
Code:
set WshShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 20000
Somit ist die reboot.cmd, die Datei, die den Neustart auslösen kann, immer nur die ersten 20sek nach einem Wakeup im "Hauptordner" vorhanden!
Tja und der Rest ist selbsterklärend. Ich hab zwar nicht versucht, ob eine Datei, die nur zeitweise vorhanden ist, in die "geplanten Tasks" integrierbar ist, deshalb hab ich einfach ein extra Startskript erstellt welches nur direkt die reboot.cmd startet
-> go.cmd:
Code:
reboot.cmd
Die go.cmd kommt in die geplanten Tasks und wird regelmässig ausgeführt. Bei mir ist es jeden 3. Tag um 4 Uhr früh.
Wird also während eines geplanten Reboots gerade eine Aufnahme erledigt, findet das Skript go.cmd einfach keine reboot.cmd und die Sache hat sich erledigt.
Um das ganze sauber zu halten, wird für jeden Systemstart noch ein Lösch-Skript ausgeführt, denn nach einem erfolgreichen Reboot ist die Datei reboot.cmd ja noch vorhanden und sollte entfernt werden.
-> del.cmd:
Code:
del reboot.cmd /q
Im Endeffekt hat man 5 Skripte, 4 davon in einem Ordner und eins in einem Unterordner, was dann schon wieder kompliziert scheint. Die skripte sind aber alle so extrem einfach und simpel, dass ich es als eine gute und vor allem solide Alternative sehe.
Vor allem komme ich nun ohne PVR-Scheduler und ohne Standby-Handler aus, da die restlichen Dinge alle mit MP 1.0 alleine schon funktionieren!
Ist doch nicht schlecht, oder?