Script-Spielerei (4) – Bilder automatisch in Unterordner schieben

Heute habe ich ein neues Problem gelöst. Ich möchte mich nicht damit beschäftigen, dass die Bilder, die ich automatisch per owncloud, nextcloud oder egroupware hochgeladen werden in meine Ordnerstruktur eingebunden werden- dies soll automatisch geschehen.

Nicht leichter als das (zumindest unter Linux!)- einfach ein cron-job eingerichtet und folgende bash-Datei ausgeführt:

#!/bin/bash
quellordner=/home/files/quellpfad
zielordner=/home/files/zielpfad

if [ `ls -a „$quellordner“ | wc -l` -gt 2 ] ; then
for file in $quellordner/*.*
do
dir=`echo $file | cut -d“_“ -f2 | cut -c1-4,5-6,7-8 –output-delimiter=- `
jahr=`echo $dir | cut -d“-“ -f1`
mkdir -p $zielordner/$jahr/$dir && mv $file /$zielordner/$jahr/$dir
done
fi

Zu Erklärung: Zuerst wird getestet, ob der Ordner leer ist, danach wird für jede Datei des Quellordners aus den Dateinamen das Datum  und das Jahr generiert, und ein Ordner für das Jahr und darin ein Ordner für das Datum angelegt (europäisches Datumsformat, damit besser sortiert werden kann). Danach wird die Datei darin verschoben.

Folgende Ideen habe ich damit zusammengefasst:

Advertisements

Ein Gedanke zu “Script-Spielerei (4) – Bilder automatisch in Unterordner schieben

  1. War gestern schon etwas spät- kleiner Fehler mit den Dateirechten- hier die korrigierte Version:

    #!/bin/bash
    quellordner=Quellordner
    zielordner=Zielordner
    gruppe=gruppe

    if [ `ls -a „$quellordner“ | wc -l` -gt 2 ] ; then
    for file in $quellordner/*.*
    do
    benutzer=`ls -la $file | cut -d“ “ -f3`
    dir=`echo $file | cut -d“_“ -f2 | cut -c1-4,5-6,7-8 –output-delimiter=- `
    jahr=`echo $dir | cut -d“-“ -f1`
    mkdir -p $zielordner/$jahr/$dir && chown $benutzer:$gruppe $zielordner/$jahr/$dir && mv $file $zielordner/$jahr/$dir
    done
    fi

    Gefällt mir

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s