summaryrefslogtreecommitdiff
path: root/bak
diff options
context:
space:
mode:
authorTslil Clingman <hiato1@gmail.com>2015-06-17 21:59:14 +0200
committerTslil Clingman <hiato1@gmail.com>2015-06-17 21:59:14 +0200
commitaab74a4002f5154ee117bc38a2481be0ab710e1e (patch)
tree0ecbd29515e902c0e36b07f2363f2337db57cc20 /bak
parenteb393abbcd6c3913701fdb8f7919ae663cec1e04 (diff)
parent4b9bca8485bda63c9fdd90df0a4d5311c3fd7be8 (diff)
Merge branch 'master' of github.com:tslilc/scripts
Diffstat (limited to 'bak')
-rwxr-xr-xbak28
1 files changed, 28 insertions, 0 deletions
diff --git a/bak b/bak
new file mode 100755
index 0000000..e98ed56
--- /dev/null
+++ b/bak
@@ -0,0 +1,28 @@
+#!/usr/bin/env sh
+
+# A short "back-up" script used to archive directories neatly, optionally encrypt
+
+bakdir=$HOME/bak
+
+e=""
+if [ "$1" == "-e" ]; then
+ e="true"
+ shift
+fi;
+
+for k in $*; do
+ strip=${k%/}
+ [ "$(echo $strip | cut -c 1)" != "/" ] && strip=$PWD/$strip
+ folder=${strip##*/}
+ path=$(echo ${strip%/*} | sed "s#$HOME/##")
+ stamp="$(date +%y%m%d-%H%M%S)"
+ name="$(echo $bakdir/$path/$folder-$stamp.tar.xz | sed 's#//#/#g')"
+ echo Archiving and compressing $name ...
+ mkdir -p $bakdir/$path
+ cd $k; cd ..
+ tar --xz --atime-preserve -p -cf $name $folder
+ if [ -n "$e" ]; then
+ echo Encrypting $name
+ gpg --encrypt $name
+ fi
+done