comand beim shutdown absetzen

  • Moin,


    da mein Board kein nvram-wakeup unterstuetzt hab ich mir was anderes ueberlegt.
    Beim runterfahren wird per svdrp der naechste Timer abgefragt, das wird in eine datei auf ner Windows Buechse abgelegt die immer laeuft.
    Dort liest ein perl script die Datei aus und setzt per soon nen at Job auf der dann mit wakeonlan den vdr weckt. So weit, so einfach.


    Ich bekomm den vdr aber nicht dazu das script auszufuehren welches die datei anlegt. Ich hab /scripts/wakeup.sh in die /etc/vdr/shutdownhooks/shutdown90.custom eingetragen, bzw. in /usr/share/vdr/vdrshutdown (kann grad nicht nachsehen, hoffe die Dateinamen stimmen). Entweder die timer-datei wird nicht angelegt oder es steht nix drin.
    Kann mir jemand nen Tip geben wo man so ein script am besten einbinden kann? Der vdr muss zu der Zeit ja noch oben sein damit die svdrp anfragen noch beantwortet werden kann, der smb share muss ebenfalls noch zur verfuegung stehen.


    Piti

  • Hi,
    schau dir DAS mal an. Vielleicht hilft's dir ja. Hab ich aber keine Erfahrung mit. :)
    Gruß
    steini

    1.: Multitainer, P3 Celeron 1,1GHz, 320MB, Samsung 300GB, TT 1.3 (4MB), TT-Budget, IR Selbstbau, µC-Wakeup-Selbstbau, RGB & SPDif über Platine von STB
    mod. Linvdr 0.7 (auf 512 Mb CF), AC3-Firmware 2623
    2.: Met@box 500, 64 MB, mod. Linvdr0.7 (auf 128 Mb CF), 20GB Seagate, TT 1.5

  • Das sieht doch sehr gut aus. Zwar hab ich keine Linuxmaschine die immer an ist, aber Perl laeuft auch auf dem Windows Rechner, sollte doch zum laufen zu bewegen sein.


    Danke schonmal.


    Piti

  • Hi,


    nicht mal ändern, nur benutzen. ;) Die Idee des Skripts ist, dass eine feste Aufweckzeit 23:59 am 31. im BIOS eingetragen wird. Beim Runterfahren wird die Systemzeit so verstellt, dass die Kiste bzgl. dieser Weckzeit hochfährt. Beim Hochfahren wird dann wieder die richtige Uhrzeit hergestellt. Einfach mal ins Skript reinschaun, dort ist auch die Doku drin.


    Tschüss,


    winni

  • Hallo,


    klick mal unten auf den Wakeup-Software Link. Da findest du in dem Archiv mit den Scripten auch ein Shutdown-Script und eine Beschreibung im Readme wo es hin muss. Eigentlich musst Du nur ein Script in /usr/share/vdr/shutdown-hooks mit entsprechendem Namen anlegen.


    Achso, nochwas, die Timerzeit musst du nicht extra auslesen. Die bekommt das Shutdown-Script beim Aufruf in $1 übergeben. Am besten schaust du es die mal an.


    Tschüß Frank

  • Hi Frank,


    das mit /usr/share/vdr/shutdown-hooks hatte ich schon versucht. Aber mit den Informationen die ich heute erhalten habe versuch ich das nochmal.
    Dort (in den Scripts) kann ich auch den Shutdown abbrechen lassen, oder?
    wuerde ein


    cat $1 > file.name
    EXITCODE=1


    reichen um die Sekunden in die Datei zu schreiben und den Shutdown abzubrechen?
    Zum testen ist es ziemlich aetzend wenn der immer runterfaehrt.


    Sorry fuer die vielleicht bloeden fragen, leider hab ich grade keinen Zugriff auf einen Linux Rechner um das mal schnell zu testen.....


    (Eigentlich gibts keine bloeden Fragen, nur bloede Frager. ;D )


    Piti

  • Hi piti,
    das geht schon so. Du kannst das durchaus in eine Datei reinschreiben. Ich mach das auch so, halt nur mit "echo". Den Befehl kannst du ja in deinem shutdownskript unterbringen.
    Kleine Anmerkung: $1 ist das Datum und Uhrzeit des nä. Timers. $2 ist die Zeit in Sek. bis zum nä. Timer. Du verwendest ja Version 1.2.6. Da ist $2 allerdings noch u.U. 300 Sek. zu lang. Das solltest du beim "Zeitpuffer" mit einkalkulieren. Ab 1.3.2 ist das gefixt.
    Gruß
    steini

    1.: Multitainer, P3 Celeron 1,1GHz, 320MB, Samsung 300GB, TT 1.3 (4MB), TT-Budget, IR Selbstbau, µC-Wakeup-Selbstbau, RGB & SPDif über Platine von STB
    mod. Linvdr 0.7 (auf 512 Mb CF), AC3-Firmware 2623
    2.: Met@box 500, 64 MB, mod. Linvdr0.7 (auf 128 Mb CF), 20GB Seagate, TT 1.5

  • Hi,
    ok dann schau mal HIER. Da kannst du sehen wie und warum ich das so gemacht habe (halt als Beispiel). Allerdings übergebe ich die Zeit in Sek. an einen µC (so wie Frank auch) und diese Zeit wird aus $1 berechnet weil man lt. kls besser $1 auswerten sollte.
    Gruß
    steini

    1.: Multitainer, P3 Celeron 1,1GHz, 320MB, Samsung 300GB, TT 1.3 (4MB), TT-Budget, IR Selbstbau, µC-Wakeup-Selbstbau, RGB & SPDif über Platine von STB
    mod. Linvdr 0.7 (auf 512 Mb CF), AC3-Firmware 2623
    2.: Met@box 500, 64 MB, mod. Linvdr0.7 (auf 128 Mb CF), 20GB Seagate, TT 1.5

  • Aktuell hab ich ein anderes Problem.
    Wenn ich folgenden Befehl aus einem Menu des vdr aufrufe wird er nicht korrekt abgearbeitet.
    Das sagt das Log:


    Aug 27 20:25:16 tyvdr001 vdr[1117]: executing command '/usr/share/vdr/svdrpsend.pl NEXT|/bin/grep 250 | /usr/bin/awk '{print $3-600}' > /video/filme/Serien/tyvdr001-wol.txt'
    Aug 27 20:25:26 tyvdr001 vdr[1117]: connect from 127.0.0.1, port 32825 - accepted
    Aug 27 20:25:26 tyvdr001 vdr[1117]: ERROR (svdrp.c,354): Datenübergabe unterbrochen (broken pipe)


    Rufe ich den Befehl selbst von der shell auf klappt es ohne Probleme.
    Der vdr laeuft als root, rechte sollten doch damit kein Problem sein.


    Auch wenn ich nur /usr/share/vdr/svdrpsend.pl NEXT als command einstelle kommt die Meldung bez broken pipe.


    Jemand ne Idee?


    Piti

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!