#!/bin/bash USER="$1" SOURCEPATH="/var/lib/nextcloud/$1/files/$2" DESTINATIONPATH="/var/lib/nextcloud/$1/files/$3" echo "STARTING..." SCAN="FALSE" IFS=$'\n' for f in `find "$SOURCEPATH" -iname *.PNG -o -iname *.JPG -o -iname *.CR2 -o -iname *.CR3 -o -iname *.MP4 -o -iname *.MOV`; do echo "PROCESSING: $f" DATE=`exiftool "$f" | grep -m 1 "Create Date"` if ! echo "$DATE" | grep "Create Date" >/dev/null then echo "SKIP: no 'Create Date' in exif ($f)" continue fi SCAN="TRUE" YEAR=`echo $DATE | cut -d':' -f2 | cut -c 2-` MONTH=`echo $DATE | cut -d':' -f3` DAY=`echo $DATE | cut -d':' -f4 | cut -d' ' -f1` HOUR=`echo $DATE | cut -d':' -f4 | cut -d' ' -f2` MINUTE=`echo $DATE | cut -d':' -f5` SECOND=`echo $DATE | cut -d':' -f6` HASH=`sha256sum "$f" | xxd -r -p | base64 | head -c 3 | tr '/+' '_-'` EXT=`echo "${f##*.}" | tr '[:upper:]' '[:lower:]'` if [[ "$EXT" = "cr2" ]] || [[ "$EXT" = "cr3" ]] then RAW="raw/" else RAW="" fi FILE="$DESTINATIONPATH/$YEAR-$MONTH/$RAW$YEAR$MONTH$DAY"-"$HOUR$MINUTE$SECOND"_"$HASH"."$EXT" echo "DESTINATION: $FILE" mkdir -p "$(dirname "$FILE")" mv -v "$f" "$FILE" done if [ "$SCAN" == "TRUE" ]; then echo "SCANNING..." # find "$SOURCEPATH/"* -type d -empty -delete >> /var/echo/nc-picsort.echo # nextcloud app bug when deleting folders chown -R www-data:www-data "$DESTINATIONPATH" chmod -R 777 "$DESTINATIONPATH" sudo -u www-data php /opt/nextcloud/occ files:scan $USER sudo -u www-data php /opt/nextcloud/occ preview:generate-all $USER fi echo "FINISH."