reccmds geht nicht.

  • Hallo,
    ich wollte mich ein wenig im Skripten versuchen.
    Ich habe einen Skript geschrieben, der die Video Dateien einer Aufzeichnung (001.vdr ...) auf eine andere Platte verschiebt, und im ursprünglichenVerzeichniss einen neuen Link auf die verschobene Datei hinterläßt. (ich möchte damit bei bedarf Platz auf der video-Platte schaffen, und etwas mehr vom Skripten lernen)


    Es funktionierte auch schonmal eine version, nur ich wollte es mittels 'at now' ausführen lassen, damit das OSD nicht solange blockiert ist.


    Mein skript sieht so aus:


    er würde in einer reccmds.moverecording.conf aufgerufen werden

    Code
    Move Recording : /usr/bin/moverec.sh


    und würde ja vom vdr den Pfad übergeben bekommen.


    Benutze ich den at now Befehl falsch?




    Was ich auch noch gesehen hatte war, daß in einem Skript eine .conf Datei eingebunden wurde, in etwa so:

    Code
    . /etc/vdr/plugins/moverecording.conf


    ich hätte dann das Ziellaufwerk (BackUpDir) in dieser .conf Datei einstellbar gemacht, aber die entsprechende Variable bleibt bei meinem Skript leer. Das ist scheinbar keine normale Skript-funktion, die ich da (zB bei vdrconvert) gesehen habe?


    Ich würde das gerne verstehen lernen.
    Leider kann ichs nicht Schritt für Schritt ausführen, um genau zu sehen, wo's hakt.
    Gruß Ray

  • Alles klar, habe was lauffähiges hinbekommen


    leider läuft es über 2 Skripte, da ich es nicht hinbekommen habe einen Skript über die reccmds.xx.conf mittels "at now" aufzurufen, und ohne ist mir der Bildschirm zu lange blockiert.


    mein reccmds Eintrag

    Code
    Move Recording : /usr/lib/vdr/callRecMove.sh


    die callRecMove.sh

    Bash
    #!/bin/sh  
    echo "/usr/lib/vdr/RecMove.sh '$1'" |at now


    dann die RecMove.sh


    und die Zielverzeichnisseingabe per plugin.moverecords.conf

    Code
    BackUpDir=/var/lib/video/film/tmp


    Ich hätte es ja gern mit nur einem Skript gemacht, aber sowas hier hat nicht geklappt:

    Code
    Move Recording : /usr/lib/vdr/callRecMove.sh | at now


    oder das hier:

    Code
    Move Recording : at now /usr/lib/vdr/callRecMove.sh


    wenn es da doch ne Möglichkeit gibt wäre ich über nen Tipp froh, ich will schließlich was lernen!


    Gruß
    Ray

  • Hi,


    Ich hab hier auch so ein Probs bei nem Script über die reccmds.conf
    , hab das auf drei verschiedene Arten in die reccmds.conf eingetragen,
    aber es lässt sich so wie bei dir nur über ein weiteres Script
    (ich nenne das dann Starterscript) starten.


    Has du auch schon sowas;


    Code
    Move Recording : echo "/usr/lib/vdr/RecMove.sh '$1'" |at now


    oder


    Code
    Move Recording : at -f /usr/lib/vdr/RecMove.sh '$1' >/dev/null


    oder


    Code
    Move Recording : sh /usr/lib/vdr/RecMove.sh '$1' now >/dev/null &


    probiert?
    Hat bei mir jedenfalls nix gebracht, aber kannst ja mal testen.



    Ansonsten wegen;

    Zitat

    wenn es da doch ne Möglichkeit gibt wäre ich über nen Tipp froh, ich will schließlich was lernen!


    Da wärs gut so ein Thema ins Scripting Forum zu posten.
    Es geht zwar um die reccmds.conf aber doch auch um Scripting.



    Gruss, Bert

    Hardware: Intel Core i9-9900K, ASUS ROG Maximus XI Hero, MSI GeForce GTX 1050 Ti (vdpau), Dvbsky S952 V3 mit 2X DVB-S2 Tuner
    Multibootsystem (yavdr-ansible auf Ubuntu-20.04, Kubuntu-20.04 Focal Fossa, Win10)
    yavdr-ansible, Ausgabe über Nvidia vdpau

  • Hallo,


    die Beispiele funktionieren leider alle nicht.
    Es kommt entweder zu einer Fehlermeldung, oder es wird nicht der Pfad zur Aufzeichnung übergeben... :(



    Ich hab das Skripting Forum leider übersehen, (nach "C / C++ " hab ich nicht weitergelesen) und jetzt kann ich nicht verschieben ... naja


    Gruß
    Ray

  • das von bert wird auch nie funken
    recording wird hinten angehaengt.


    wuerde als dann so aufgerufen:
    echo "/usr/lib/vdr/RecMove.sh ''" |at now /pfad/zur/aufnahme


    also in "/usr/lib/vdr/RecMove.sh" was entsprechendes einbauen.

Jetzt mitmachen!

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