summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKjetil Orbekk <kjetil.orbekk@gmail.com>2015-11-24 23:38:23 -0500
committerKjetil Orbekk <kjetil.orbekk@gmail.com>2015-11-24 23:48:38 -0500
commit6199e52d708427e792a6137eaac7387032b9d93b (patch)
treee2b9e80b29d536ae56b2801a7dee51720644aa8a
parent3905f84f5b4b2b321cd331c86d0876309f82d48b (diff)
New import script to be used with devmon.
-rwxr-xr-ximport/photobox_import2.sh44
1 files changed, 44 insertions, 0 deletions
diff --git a/import/photobox_import2.sh b/import/photobox_import2.sh
new file mode 100755
index 0000000..c84d752
--- /dev/null
+++ b/import/photobox_import2.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+readonly photoregex='.*\(jpg\|raf\|cr2\)'
+
+readonly backup_root=/btrfs/staging/import_tmp
+readonly pending_root=/btrfs/storage/pending-photos
+readonly input="$1"
+
+make_unique() {
+ if [[ ! -d "$1" ]]; then
+ echo "$1"
+ else
+ extension=1
+ while [[ -d "${1}-${extension}" ]]; do
+ extension=$(($extension + 1))
+ done
+ echo "${1}-${extension}"
+ fi
+}
+
+readonly backup_path="$(make_unique $backup_root/$(date +%Y-%m-%d)-$(basename $input))"
+readonly pending_path="$(make_unique $pending_root/$(date +%Y-%m-%d))"
+
+(
+ flock -x -w 120 200 || exit 1
+ mkdir -p "$backup_path"
+ rsync -Hvax "$input/." "$backup_path/."
+ echo "Contents backed up to: $backup_path"
+ echo "pending_path: $pending_path"
+
+ if [[ -d "$backup_path/DCIM" && \
+ -n $(find "$backup_path/DCIM" -iregex "$photoregex" -print -quit) ]]; then
+ echo "Found photos"
+ echo mkdir -p "${pending_path}.importing"
+ echo rsync -avx "$backup_path"/DCIM/*/* "${pending_path}.importing/"
+ echo mv "${pending_path}.importing" "${pending_path}"
+ fi
+
+ echo "Deleting original files"
+ # Prevents 'rm -rf /'
+ echo rm -rf /media/"$(basename $input)"
+ rsync -Hvax --remove-source-files "$input/." "$backup_path/."
+ echo umount "${input}"
+) 200>/tmp/photobox_import2.lock | systemd-cat -t photobox_import