Programm/Script um neue Fotos automatisch umzubenennen

  • Habe jetzt mein Script unter "/share/MD0_DATA/Web/Eigene_Scripte" verschoben und die Rechte von meinem Script auf 777 gesetzt!
    Wenn ich mich jetzt mit putty über ssh verbinde und mich als admin einlogge und das script ausführen will mit: "/share/MD0_DATA/Web/Eigene_Scripte/Aufnahmen_verschieben.sh" kommt die Fehlermeldung: " permission denied"!!


    Warum??


    Edit: Ausführbar machen!!!!!!!! :-/
    chmod +x /share/MD0_DATA/Web/Eigene_Scripte/Aufnahmen_verschieben.sh


    Doch jetzt kommt:
    /bin/sh^M: bad interpreter: No such file or directory


    EDIT 2
    Lag an der codierung des Scriptes! Jetzt UTF-8! Jedoch wieder eine Fehlermeldung:


    Code
    : No such file or directoryScripte/Aufnahmen_verschieben1.sh: line 1: #!/bin/sh
    : command not found/Eigene_Scripte/Aufnahmen_verschieben1.sh: line 5:
    : command not found/Eigene_Scripte/Aufnahmen_verschieben1.sh: line 8:
    : Unknown host177.31
    /share/MD0_DATA/Web/Eigene_Scripte/Aufnahmen_verschieben1.sh: line 22: syntax er                'or near unexpected token `do
    /share/MD0_DATA/Web/Eigene_Scripte/Aufnahmen_verschieben1.sh: line 22: `for i in                '$RECORDS; do
  • Zitat von "MrKNX"

    Lag an der codierung des Scriptes! Jetzt UTF-8! Jedoch wieder eine Fehlermeldung:


    Die Codierung ist völlig uninteressant, ist ja keine Website.
    Du hast beim kopieren Windowszeilenumrüche gesetzt, dass ist aber schlecht für ein Linux.

  • Richtig! Danke


    Aber was ist jetzt wieder los :cursing:


    Code
    [~] # /share/MD0_DATA/Web/Eigene_Scripte/Aufnahmen_verschieben.sh/share/MD0_DATA/Web/Eigene_Scripte/Aufnahmen_verschieben.sh: line 1: #!/bin/sh: No such file or directory


    Mein Script sieht jetzt so aus



    IP der Dreambox ist ausge-x-t 8-)
    In dem Aufnahmeordner befindet sich aktuell eine .ts Datei!

  • Die Fehlermeldung ist doch noch gleich wie vorher.

  • Ja, nur jetzt kommt nur noch die eine Zeile als Fehlermeldung!
    Vorher war sie doch viel länger!
    Ich habe die Zeilenende jetzt dank Notepad++ auf Linux umgestellt und das Script neu in den Ordner verschoben!


    Edit: Habs jetzt nochmal rübergespielt und neu Ausführbar gemacht! Jetzt kommt keine Fehlermeldung mehr!!!


    DANKE


    Edit:
    Wie gesagt Fehlermeldung kommt keine mehr, jedoch passiert auch sonst nichts!


    Funktioniert das Script eigentlich auch wenn die Dreambox im Standby ist, oder muss sie im Deep Standby sein?

    Einmal editiert, zuletzt von frosch2 () aus folgendem Grund: Beiträge zusammengeführt, bitte den "Ändern-Button" nutzen!

  • Hab jetzt mal das SCript abgeändert ohne die Abfrage an die Dreambox und siehe da, es funkt sofort! D.h. die Box muss warscheinlich komplett heruntergefahren sein, was meine jedoch fast nie ist, weil mir die Bootzeit zulange ist! Gibts da trotzdem eine Möglichkeit die Box abzufragen, denn es wäre schlecht wenn sie gerade aufnimmt und meine Nas die Dateien verschieben will!!


    Der Ordner wird jetzt z.B so benannt : "20130817 1148 - DMAX - Das Erfinder-Duell - Geniale Ideen aus Schrott"
    Kann man das eventuell noch abändern auf :"Geniale Ideen aus Schrott" denn mehr als der Filmtitel interessiert mich im Ordnername eh nicht!


    Mfg

  • Zitat von "MrKNX"

    D.h. die Box muss warscheinlich komplett heruntergefahren sein, was meine jedoch fast nie ist, weil mir die Bootzeit zulange ist!

    Kann ich nicht nachvollziehen, dafür gibt es bei der DB die Vorlaufzeit.


    Zitat von "MrKNX"

    Gibts da trotzdem eine Möglichkeit die Box abzufragen, denn es wäre schlecht wenn sie gerade aufnimmt und meine Nas die Dateien verschieben will!!

    Mir nicht bekannt.

    Zitat von "MrKNX"

    Kann man das eventuell noch abändern auf :"Geniale Ideen aus Schrott" denn mehr als der Filmtitel interessiert mich im Ordnername eh nicht!Mfg

    Ja, dazu musst du dich mit

    Code
    RECORDS=`/opt/bin/find $RECDIR -maxdepth 1 -name "*.ts" | /bin/awk -F"/" '{ print $NF }'`

    auseinandersetzen.

  • Zitat von "frosch2"

    Kann ich nicht nachvollziehen, dafür gibt es bei der DB die Vorlaufzeit.


    Was meinst du mit Vorlaufzeit? Mir dauert es einfach nur zulange, wenn die Box heruntergefahren ist und ich sie einschalte um fernzusehen!!


    Zitat von "frosch2"

    Ja, dazu musst du dich mit

    Code
    RECORDS=`/opt/bin/find $RECDIR -maxdepth 1 -name "*.ts" | /bin/awk -F"/" '{ print $NF }'`

    auseinandersetzen.


    Alles klar :shock: :?:

  • Zum Fernsehen brauch ich nicht die Box.


    Zum Skript, ich sage es nochmals, ich helfe gern, wenn der Gegenüber sich mit der Materie auseinandersetzt.
    Ich bin nicht, bereit jedem User unseres Forum sein spezielles Skript zu schreiben.
    Obwohl ich es in diesem Fall getan habe.
    Wenn du jetzt Anpassungen brauchst, bemühe dich selbst.
    Bei diesen Bemühungen wird dir dann wieder gerne geholfen.

  • Verständlich!


    Ist nicht diese Zeile ausschlaggebend für den Namen des Ordners?


    Code
    i=${i%.*}


    Das müsste mit dem

    Code
    cut -d -  -f3,4


    Befehl funktionieren oder? Das Trennzeichen ist "-" und die Felder 3 und 4 sollen ausgegeben werden!
    Muss ich das jetzt auf i anwenden??


    Und nochmals zu dem Thema Dreambox anpingen!
    Da ich ja meine Box auch zum Fernsehen mißbrauche :D und daher nicht in den deepstandby gehe, wäre nicht vielleicht ein anderer Ansatz, Aufnahmen mit dem gleichem Datum wie das Datum an dem das Script läuft, in Ruhe zulassen?

  • Schaffe dir eine kleine Testumgebung (Ordner mit ein paar kopierten DB-Aufnahmen) und probiere selbst.

  • Ich habe jetzt die Zeile abgeändert in

    Code
    RECORDS=`/opt/bin/find $RECDIR -maxdepth 1 -name "*.ts" | /bin/awk -F"/" '{ print $NF }' | cut -d"-" -f3,4,5`


    Kann man das auch noch anders schreiben als -f3,4,5?? Möchte halt von Feld drei aufwärts?


    Edit. Es hat nur etwas gedauert, aber die Ordner werden jetzt so erstellt, wie ich mir das vorstelle! Doch die Dateien werden nicht mehr in den Ordner verschoben!
    Warum??


    Edit2 Warum glaub ich weis ich schon, weil die Dateien jetzt anders heißen als der Ordner

    Code
    /bin/mv $RECDIR/$i* $RECDIR/$i 2>/dev/null


    Das ist jetzt die Stelle die ich anpassen muss Oder?

  • Benutze doch den echo-Befehl. Damit kannst du dir zur Laufzeit z.B. die Variablen anzeigen lassen.

  • Endlich hab ichs!



    Ist warscheinlich nicht besonders schön, aber funktioniert!!


    Jetzt wird bei z.b "20130918 2010 - ProSieben Austria - Galileo.ts" der Ordner "Galileo" erstellt und die Datei dahin verschoben!
    Wenn aber jetzt eine zweite Datei z.B "20130919 1330 - ProSieben Austria - Galileo" vorhanden ist, kommt die Fehlermeldung, dass der Ordner schon existiert! Logisch!!! :D Die Datei wird aber trotzdem dahin verschoben!! Ist die Fehlermeldung auf dauer problematisch??? Bzw. Wie könnte ich das lösen??


    EDIT


    Auch der Punkt ist erledigt, denke ich!!! Code angepasst! Vielleicht kann noch einer der Profis drüberschauen, ob man es so lassen kann!?!? :)