aboutsummaryrefslogtreecommitdiff
path: root/dangling-archive
diff options
context:
space:
mode:
Diffstat (limited to 'dangling-archive')
-rwxr-xr-xdangling-archive48
1 files changed, 48 insertions, 0 deletions
diff --git a/dangling-archive b/dangling-archive
new file mode 100755
index 0000000..e9a66c2
--- /dev/null
+++ b/dangling-archive
@@ -0,0 +1,48 @@
+#!/bin/bash
+#
+# Archive dangling files.
+#
+
+# Parameters
+DATE="`date +%Y%m%d%I%M%S`"
+LOAD="$HOME/load"
+IMAGES="$HOME/data/images/incoming"
+IMAGES_PATTERN=".*\.(png|jpg|jpeg|gif|svg)"
+DOC="$HOME/data/doc/incoming"
+DOC_PATTERN=".*\.(txt|doc|docx|rtf|pdf|sxc|csv|odt|odf|ods|xls|xlsx|ppt|epub|mobi|djvu|lit)"
+NOISE="$HOME/data/noise/incoming"
+NOISE_PATTERN=".*\.(mp3|ogg|opus|m4a)"
+VIDEO="$HOME/data/video/incoming"
+VIDEO_PATTERN=".*\.(mp4|mov|mkv|avi|srt|mpg)"
+FIND_OPTS="-maxdepth 1 -regextype posix-egrep -iregex"
+
+# Ensure all folders exist
+mkdir -p $LOAD $IMAGES $DOC
+
+# Move images
+if [ "`find $LOAD/ $FIND_OPTS "$IMAGES_PATTERN" | wc -l`" != "0" ]; then
+ echo "Moving images into $IMAGES/$DATE ..."
+ mkdir -p $IMAGES/$DATE
+ find $LOAD/ $FIND_OPTS "$IMAGES_PATTERN" -exec mv {} $IMAGES/$DATE/ \;
+fi
+
+# Move doc
+if [ "`find $LOAD/ $FIND_OPTS "$DOC_PATTERN" | wc -l`" != "0" ]; then
+ echo "Moving docs into $DOC/$DATE ..."
+ mkdir -p $DOC/$DATE
+ find $LOAD/ $FIND_OPTS "$DOC_PATTERN" -exec mv {} $DOC/$DATE/ \;
+fi
+
+# Move noise
+if [ "`find $LOAD/ $FIND_OPTS "$NOISE_PATTERN" | wc -l`" != "0" ]; then
+ echo "Moving noise into $NOISE/$DATE ..."
+ mkdir -p $NOISE/$DATE
+ find $LOAD/ $FIND_OPTS "$NOISE_PATTERN" -exec mv {} $NOISE/$DATE/ \;
+fi
+
+# Move video
+if [ "`find $LOAD/ $FIND_OPTS "$VIDEO_PATTERN" | wc -l`" != "0" ]; then
+ echo "Moving video into $VIDEO/$DATE ..."
+ mkdir -p $VIDEO/$DATE
+ find $LOAD/ $FIND_OPTS "$VIDEO_PATTERN" -exec mv {} $VIDEO/$DATE/ \;
+fi