Aufnamen verschieben

  • Hallo zusammen,


    ich habe fogendes vor.
    Ich möchte gerne Aufnamen, die schon von Werbung befreit sind per OSD Menu Befehl verschieben.
    Ich habe ein script geschrieben, welches den Pfad, der ja als Parameter $1 beim Aufruf aus dem OSD Übergeben wird nutzt um das Verzeichnis einer Datei in ein anderes Verzeichnis kopiert.
    Nun habe ich folgendes Problem.
    Der Pfad wird fogendermassen übergen:
    z.B. "/video/%TV_total/2005-03-21.22.11.50.99.rec" darin befinden sich ja die Dateien, die ich gerne alle verschieben möchte.
    Ich habe nun ein Verzeichnis /video/ARCHIV in welchem ein SMB Netzwerkpfad gemounted ist.


    Das kopieren der Aufname hat nur zwei Haken:
    a) Ich möchte nicht "/video/%TV_total/2005-03-21.22.11.50.99.rec" verschieben, sondern "/video/%TV_total" mit allem was darunter liegt.
    Ich bin aber zu dusselig bei dem Pfad den letzten Ornder abzuschneiden.
    Ich weiss zwar dass es mit grep irgendwie gehen müsste, weiss aber nicht wie.


    Haken b) Wenn ich aus dem OSD eine Aufname markiere und dann den Befehl zum verschieben aufrufe bleibt das Display des VDR solange geöffnet, bis das verschieben durchgeführt wurde. Gibt es die möglichkeit den cp oder mv Befehl im Hintergrund laufen zu lassen?


    Ich benutze übrigens gen2vdr in der Version 1.3.34.


    Ich bin für jeden Hinweis dankbar.


    Gruß
    Stefan

  • Zitat

    a) Ich möchte nicht "/video/%TV_total/2005-03-21.22.11.50.99.rec" verschieben, sondern "/video/%TV_total" mit allem was darunter liegt.


    Für dein Vorhaben sollte es reichen, wenn du einfach "/.." an den Pfad anhängst, damit beginnst du eine Ebene früher: "/video/%TV_total/2005-03-21.22.11.50.99.rec/.."


    Um einen Befehl im Hintergrund laufen zu lassen, gibst du am Ende ein & an. Bei deinem Beispiell sieht das so aus

    Code
    cp -R $1/.. /video/ARCHIV/ &

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Hi geeg07,


    danke für den Tipp.
    Doch leider funktioniert das so nicht. Weder über das script, noch über die Kommandozeile.
    Trotz des "/.." wird nach wie vor das Verzeichnis "/video/%TV_total/2005-03-21.22.11.50.99.rec" kopiert und leider nicht "/video/%TV_total".
    Was zumindest in der Komandozeile funktioniert ist den Befehl im Hintergrund auszuführen, aber das OSD des VDR bleibt immer noch blockiert, bis der copy Vorgang fertig ist, wenn ich das script im VDR starte.


    Ich bin leider totaler noob was scripting unter linux angeht, mit Windoofs Mitteln wüsste ich wie es klappt.


    Gruß
    Stefan

  • Schau dir mal diesen thread an, villeicht hilft dir das weiter. So verschiebe ich meine Aufnahmen auf ein NAS.
    http://www.vdrportal.de/board/thread.php?threadid=41213&sid=&hilight=verschiebe


    Gruß


    Carlos

    VDR1: AMD Athlon 64 3200+ - Hauppauge Nexus-S, Debian Lenny - Kernel 2.6.28.2 VDR 1.7.21(Tobi)
    VDR2: POV ION 330 -2GB RAM - Tevii S470 MS-Tech 1200 Gehäuse, Debian YaVDR 0.4
    VDR4: Seagate Goflex net - Debian Wheezy - Linux 3.9.5-dockstar-goflex-shyd VDR 2.0.3
    VDR5: SMT-7020S zen2vdr auf Festplatte
    VDR5: SMT-7020S zen2mms 1.3b auf CF-Karte
    TV: Samsung LE46ES8090

  • Upps, sorry war wohl noch etwas früh heute :D


    du musst noch einen Ebene zurück, dann sollte es funktionieren:

    Code
    cp -R $1/../.. /video/ARCHIV/ &


    Zitat

    Was zumindest in der Komandozeile funktioniert ist den Befehl im Hintergrund auszuführen,


    Wo gibst du das & an, beim cp oder in der commands.conf für das Script?


    Zitat

    Ich bin leider totaler noob was scripting unter linux angeht


    sind wir das nicht größtenteils fast alle...? ;)

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Hi geeg07,


    ich mal eine Frage.


    Wenn ich "cp -R $1/../.. /video/ARCHIV/ &" verwende vershciebt er dann nicth alle Dateien aus dem video Verzeichnis?


    Der pfad ist ja "/video/%TV_total/2005-03-21.22.11.50.99.rec" wenn ich dann zwei Ebenen höher bin, dann befinde ihc mich ja im "/video/" Verzeichnis.
    Ich möchte aber nicht alle Aufnamen des "/video" Verzeichnisses verschieben, sondern eben nur "/video/%TV_total/.
    Geht es nicht für den Pfad alles von rechts her bis zum "/" wegzuschmeissen durch irgendwelche String bearbeitung. In Windows VB gibte es einen schönen Befehl, der da heisst "RIGHT", damit kann man sowas wegschneiden.
    Aber mit grep breche ich mir die Finger, auch mit man grep komme ich nicht wirklich weiter.



    Zu: Wo gibst du das & an, beim cp oder in der commands.conf für das Script?
    Ich habe das & innerhalb des scriptes aufegerufen, nicht für das script.


    Gruß
    Stefan


  • Die SED hilft dir weiter :]

    Aktuelle Systeme:
    VDR-Server: MSI KT6A Ultra FISR ; Athlon XP 2200+ ; GrKa Geforce 2 MX; 256MB DDR-SDRam Plugins: streamdev-server, remote
    2 x DVB-Budget Karte, Gentoo, Kernel 2.6.8 usw....

  • Zitat

    Wenn ich "cp -R $1/../.. /video/ARCHIV/ &" verwende vershciebt er dann nicth alle Dateien aus dem video Verzeichnis?


    Na heute bin ich aber wirklich strange unterwegs, du hast natürlich recht!
    Das kommt, wenn man etwas nur so nebenbei erledigt. :rolleyes:


    Also, jetzt nochmal aber ordentlich:

    Code
    #/bin/sh
    cp -R ${1/%\/2[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].rec/} /video/ARCHIV/


    sorry nochmals...


    <edit>
    Der Aufruf muss in einem Script erfolgen.


    <edit 2>
    Unnötigen "\" aus Aufruf entfernt.

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

    2 Mal editiert, zuletzt von geeg07 ()

  • Zitat

    Darauf wär ich nie gekommen, ich weiss auch nicht genau was Du da mit dem Pfad machst


    Das nicht ganz so schlimm wie es aussieht, es wird am Ende des übergebenen String nach einer Zeichenfolge gesucht die so aufgebaut ist wie die VDR-Aufnahmeverzeichnisse, in denen die *.vdr enthalten sind. "[0-9]" steht für einen beliebige Ziffer. Wobei ich gerade bemerkt habe, dass sich da noch ein "\" eingeschlichen hat der eigentlich nicht erforderlich ist. Ich korrigiere das im letzten Posting.

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Das verschieben von Aufnahmen innerhalb des Videoverzeichnisses funktioniert auch mit einem Patch - ich weiss jetzt leider nicht welcher (habe den BigPatch drin).
    Geh mal auf eine Aufnahme und drücke 0 - vielleicht hast Du den Patch ja schon drin.

    My VDRs:

  • Hi dad401,


    Du hast recht ich habe die Möglichkeit eine Aufnahme zu verschieben, dass funktioniert aber nur wenn das Verzeichnis nicht auf einem Netzlaufwerk gemounted ist. Sobald ich das mit meinem Archiv Ordner veruche (im Archiv ist ein SMB Pfad gemounted funktioniert das nicht, dann gibt es eine Fehlermeldung die besagt. "Fehler beim Zugrif auf Aufnahme".


    Trodzdem gut zu wissen.


    Gruß
    Stefan

  • Komisch, dass das nicht mit einem gemounteten Netzlaufwerk geht, dass sich im Videoverzeichnis befindet :-/. Müsste man mal den Patch untersuchen, wie er das ganze verschiebt...


    Die Rechte stimmen alle, d.h. vdr darf zugreifen/schreiben auf den Mountpoint?

    My VDRs:

  • Hi MrNice,


    klar geht das Verschieben mit mv, aber wir suchen hier nach einem gut funktionierendem Weg Aufnahmen aus dem OSD des VDR heraus zu markieren und dann per Befehl mit der Fernbedienung zu verschieben.
    Und das ganze dann noch in ein Verzeichnis in welchem ein NAS gemounted ist.


    Derzeit funktioniert das ganze mit einem Scrip ganz gut, welches ich mit Unterstützung aus Beiträgen dieses Board gebastelt habe.


    ****************************************
    #!/bin/sh
    # Entfernen von /2005-22.21.16.55.99.rec...
    AUFNAME="${1/%\/2[0-9][0-9][0-9]\-[0-9][0-9]-[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].rec/}"
    SCRIPT4MOVE="/video/eigene_scripts/move2archive_bg.sh"
    $SCRIPT4MOVE $AUFNAME > /dev/null &
    *****************************************


    Das erste script parst den Pfad, der als Parameter mit übergeben wird und ruft das zweit script als Hintergrungprozess auf, damit das VDR Display nicht einfriert.


    *****************************************
    #!/bin/sh
    AUFNAME="$1"
    svdrpsend.pl MESG "Kopieren gestartet."
    cp -R $AUFNAME /video/ARCHIV
    if [ $? != "0" ]; then
    svdrpsend.pl MESG "Fehler beim Kopieren!"
    #echo "Fehler beim kopieren!"
    exit 1
    fi
    rm -d -r "$1"
    touch /video/.update
    if [ -e "$1" ]; then
    svdrpsend.pl MESG "Dateien kopiert / Dir nicht geloescht!"
    #echo "DATEI OK / DIR NOK"
    else
    svdrpsend.pl MESG "Dateien kopiert / Dir geloescht"
    #echo "Datei OK / DIR OK"
    fi
    *********************************************


    Das klappt soweit ganz gut, aber während des Kopiervorgangs kann man zwar den Kanal des VDR wechseln, der ist aber dann leider solange ohne Livebild, bis das kopieren bendet ist. Es funktioniert nur der Kanal auf dem man den Befelh ausgeführt hat und auch nur solange man nicht zwischendrin umschaltet.


    Gibt es dafür auch noch eine Lösung?
    Wenn ich das Script mit putty als root per Hand ausführe gibt es dieses Problem nicht.


    Viele Grüße
    Stefan

  • Zitat

    Das klappt soweit ganz gut, aber während des Kopiervorgangs kann man zwar den Kanal des VDR wechseln, der ist aber dann leider solange ohne Livebild, bis das kopieren bendet ist. Es funktioniert nur der Kanal auf dem man den Befelh ausgeführt hat und auch nur solange man nicht zwischendrin umschaltet.


    Interessant!
    Versuch einmal den Befehl mittels nice mit niedrigerer Priorität abzusetzen.
    Entferne noch den unnötigen "\" der sich da in meinem Post eingeschlichen hat.


    Bash
    #!/bin/sh
    # Entfernen von /2005-22.21.16.55.99.rec...
    AUFNAME="${1/%\/2[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9].rec/}"
    SCRIPT4MOVE="/video/eigene_scripts/move2archive_bg.sh"
    ( nice -n 14 $SCRIPT4MOVE $AUFNAME > /dev/null ) &

    Kann aber leider nicht sagen, ob das wirklich weiterhilft.


    Gerry

    VDR1: AMD Duron-1300, 512mb RAM, Nexus-S rev2.1, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    VDR2: Athlon XP-M-2600+, 512mb RAM, TT Prem 1.3 DVB-S, Skystar2, Airstar 2, Debian Lenny, kernel: 2.6.28-etobi.3, VDR 1.6.0-17 experimental/extensions von Tobi
    Extern: Activy300, Gen2VDR V2

  • Hi geek07,


    Dein Vorschlag ändert leider auch nix.
    Kann es was bringen das script in einem anderen userkontext auzuführen per sudo oder so ähnlich?


    Gibt es sonst vielleicht noch einen anderen Weg die Aufnahmen zu verschieben ohne den VDR zu blockieren? Wie würde es aussehen, wenn ich den zu Verschiebenen Pfad in eine Text Datei schreiben würde, und dazu noch einen cron.job oder so was ähnliches, welcher dann in regelmässigen Abständen nachsieht, ob dort was drinsteht, wenn ja, dann soll der cron.job die Dateien verschieben, die derzeit über das script verschoben werden.?



    Gruß
    Stefan

  • nicht getestet aber sollte angeblich funktionierern:


    befehl | at now


    PS: Das mit dem '&'-Zeichen verschiebt den Prozess nur in den Hintergrund....... (Wie bei kleinen Kindern die sich beim verstecken die augen zu halten :D , aber trotzdem sind sie noch da)

    Aktuelle Systeme:
    VDR-Server: MSI KT6A Ultra FISR ; Athlon XP 2200+ ; GrKa Geforce 2 MX; 256MB DDR-SDRam Plugins: streamdev-server, remote
    2 x DVB-Budget Karte, Gentoo, Kernel 2.6.8 usw....

    Einmal editiert, zuletzt von BlackKing ()

Jetzt mitmachen!

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