[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?

    MP-Logos (Kanallogos für VDR) - Picons2VDR (Kanallogos für VDR) - MV_Backup (Backup mit RSync) - Skin FlatPlus (Fork)

    „In zwei Jahren wird das Spam-Problem gelöst sein.“ [Bill Gates], Microsoft-Chef, 2004

  • 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
    1. [Unit]
    2. ExecStartPre=/usr/local/bin/my_script_1
    3. ExecStartPre=/usr/local/bin/my_script_2
    4. 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.)

    The post was edited 1 time, last by 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 ...

    --
    vdr User #2022 - hdvdr2: Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 14 GB Ram, zram-swap/tmp, ubuntu-focal, softhddevice-vdpau
    ddbridge-6.x mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF1050Ti SFF (nvidia-dkms-495), System SSD btrfs,

    snapper, 8TB HDD XFS/cow /srv/vdr, yavdr-ansible-2.5.6-seahawk, vdr-epg-daemon mit Frodo-plugins, Kernel 5.15.6-xfsscrub

    vdradmin-am, live+webstreaming, vdrmanager (Smartphones als FB), ffmpeg-4.3.1-libfdk_aac, vdr-plugin-hbbtv.

  • 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

    MP-Logos (Kanallogos für VDR) - Picons2VDR (Kanallogos für VDR) - MV_Backup (Backup mit RSync) - Skin FlatPlus (Fork)

    „In zwei Jahren wird das Spam-Problem gelöst sein.“ [Bill Gates], Microsoft-Chef, 2004

  • seahawk1986


    Das mit dem dropin klappt irgendwie nicht


    Code
    1. 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
    1. cat /etc/systemd/system/vdr.service.d/pre-start.conf
    2. [Unit]
    3. ExecStartPre=/etc/vdr.d/scripts/vdr_init.sh

    MP-Logos (Kanallogos für VDR) - Picons2VDR (Kanallogos für VDR) - MV_Backup (Backup mit RSync) - Skin FlatPlus (Fork)

    „In zwei Jahren wird das Spam-Problem gelöst sein.“ [Bill Gates], Microsoft-Chef, 2004

  • Klappt! Danke

    MP-Logos (Kanallogos für VDR) - Picons2VDR (Kanallogos für VDR) - MV_Backup (Backup mit RSync) - Skin FlatPlus (Fork)

    „In zwei Jahren wird das Spam-Problem gelöst sein.“ [Bill Gates], Microsoft-Chef, 2004