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?
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) :
[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:
[Unit]
Description=Run on startup before vdr, scripts must exit, so vdr will be able to start.
Before=vdr.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/local/bin/my_script_1
ExecStart=/usr/local/bin/my_script_2
ExecStart=/usr/local/bin/my_script_3
[Install]
WantedBy=multi-user.target
Alles anzeigen
Die Unit dann noch mit systemctl enable pre-vdr.service aktivieren, damit sie beim Booten gestartet wird.
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
Versuche mal [Service] statt [Unit]
Klappt! Danke
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!