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/zielpfadif [ `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:
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
LikeLike