[SCRIPT] Dateien verschieben und Ordner erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [SCRIPT] Dateien verschieben und Ordner erstellen

    Hallo Forum,

    Ich muss mich mit einem Problem wiedermal an euch wenden.

    Die Problemstellung sieht folgendermaßen aus:
    Ich habe eine IP Kamera mit Bewegungserkennung. Nach der Aufnahme lädt die Kamera die Dateien selbstständig per FTP auf /share/Kameras hoch.

    Da hier aber schon mal mehr als 50 Aufnahmen pro Tag anfallen können und das manuelle Einsortieren der Dateien ziemlich nervig ist, möchte ich das gerne per Shell-Scrip und einem Cronjob auf meiner TS-419p automatisieren.

    Ich habe mir folgende Strukturierung überlegt:
    2011 "Jahr
    |-01 "Monat
    |-01 "Tag
    |-02 "Tag
    |-Videodatei
    |-Videodatei
    |-03 "Tag

    Die erzeugten Video-Datein haben folgende Nomenklatur:
    Trigger_1_YYYYMMDDhhmmss.avc

    • Das heißt ich müsste über die Dateien im Verzeichnis "Kameras" loopen.
    • Jeden Dateinamen in Jahr, Monat und Tag zerlegen.
    • Dann schauen ob es für das Jahr, den Monat und den Tag ein Verzeichnis gibt. Falls nein, dann das/die entsprechende(n) Verzeichnis(e) erzeugen.
    • Videodatei in das entsprechende Verzeichnis verschieben.


    Leider hab ich von der Shell-Programmierung noch kaum eine Ahnung, weshalb ich mich freuen würde wenn ihr mir hier helfen könntet.

    Mein aktueller Stand: ;)

    Shell-Script

    1. #!/bin/bash
    2. FILES="/share/Kameras
    3. for file in $FILES
    4. do
    5. done
    6. exit 0


    lg,
    Christian
  • Re: [SCRIPT] Dateien verschieben und Ordner erstellen

    Hi,

    hier mal ein kleiner Lösungsansatz evtl. musst du das noch auf deine Belange anpassen:

    Shell-Script

    1. #!/bin/sh
    2. cd /share/Kameras #in Verzeichnis wechseln
    3. FILES=( $( find -name "Trigger*" ) ) #alle Dateinamen, die mit "Trigger" beginnen in ein Array einlesen
    4. for ((i=0;i<${#FILES[@]}; i++))
    5. do #splitten der einzelnen Teile des Dateinamens
    6. NEW_NAME=`echo "${FILES[i]}" | cut -d "_" -f3-`
    7. NEW_NAME_YEAR=`echo $NEW_NAME | cut -c -4`
    8. NEW_NAME_MONTH=`echo $NEW_NAME | cut -c 5-6`
    9. NEW_NAME_DAY=`echo $NEW_NAME | cut -c 7-8`
    10. NEW_NAME_FILE=`echo $NEW_NAME | cut -c 9-`
    11. mkdir -p $NEW_NAME_YEAR/$NEW_NAME_MONTH/$NEW_NAME_DAY #Verzeichnis anlegen falls nicht existiert
    12. mv ${FILES[i]} $NEW_NAME_YEAR/$NEW_NAME_MONTH/$NEW_NAME_DAY/$NEW_NAME_FILE # Dateien in entsprechende Ordner verschieben
    13. done
    14. exit 0
    Alles anzeigen
  • Re: [SCRIPT] Dateien verschieben und Ordner erstellen

    Habe mehrere Aussenkameras die bei Bewegung Bilder in verschiedene Folder schreiben. Leider kann nur eine in einzele Tagesordner schreiben.
    Die anderen alles in einen Ordner. Ich möchte jetzt per crontab tägl. die Bilder in Tagesordner verschieben.

    Meine Bilder heissen Cam_Screenshoot20150522_120609_1230.jpg

    Diese Bilder sollen in einen Ordner mit Namen 2015_05_22 verschoben werden.

    Das Script oben passt da nicht und ich habe keine Ahnung. Gibt es dazu ein App um das zu machen?