[0.7] Skripte vor VDR Start ausführen

  • Wo kann man Skripte einbauen, die vor dem VDR-Start laufen sollen? Ich habe da ein paar, die es erfordern, dass der VDR noch nicht läuft.

    Gibt es da so was wie startup-hooks oder muss ich das im vdr.service eintragen?

  • Solche Skripte kannst du in ExecStartPre= Felder für die vdr.service eintragen, wenn die jedes Mal ausgeführt werden sollen, bevor der VDR startet - wenn man das als Drop-in realisiert, muss man die eigentliche vdr.service nicht anfassen (aber nicht vergessen systemd die Units neu einlesen zu lassen, wenn man etwas geändert hat, damit Systemd die berücksichtigt: systemctl daemon-reload) :

    Code: /etc/systemd/system/vdr.service.d/pre-start.conf
    [Unit]
    ExecStartPre=/usr/local/bin/my_script_1
    ExecStartPre=/usr/local/bin/my_script_2
    ExecStartPre=/usr/local/bin/my_script_3

    Oder in eine eigene Systemd-Unit, die beim Starten des Systems vor der vdr.service eingereiht wird:

    Die Unit dann noch mit systemctl enable pre-vdr.service aktivieren, damit sie beim Booten gestartet wird.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    Einmal editiert, zuletzt von seahawk1986 ()

  • Im service-File von yavdr ist da /usr/lib/vdr/merge-commands.sh eingetragen, und da wird gleich mal /usr/lib/vdr/config-loader.sh gesourced.

    Aber was spricht gegen ein ExecStartPre=<your_command>? Muß halt bei jedem VDR-Upgrade neu eingetragen werden ...

  • Drei Möglichkeiten! Super! Ich werde das vermutlich mit dem Drop-In machen. Da reicht mir ja ein Skript, dass die anderen "Abarbeitet"

    Vielleicht wird es aber auch ein eigenes .service; ist interessant. Hätte ich eigentlich auch selbst drauf kommen können


    :lovevdr

  • seahawk1986


    Das mit dem dropin klappt irgendwie nicht


    Code
    Mai 27 11:31:41 vdr01 systemd[1]: /etc/systemd/system/vdr.service.d/pre-start.conf:2: Unknown key name 'ExecStartPre' in section 'Unit', ign>
    Code
    cat /etc/systemd/system/vdr.service.d/pre-start.conf 
    [Unit]
    ExecStartPre=/etc/vdr.d/scripts/vdr_init.sh
  • Klappt! Danke

Jetzt mitmachen!

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