aboutsummaryrefslogtreecommitdiff
path: root/dupbackup
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-09-18 16:47:55 -0300
committerSilvio Rhatto <rhatto@riseup.net>2014-09-18 16:47:55 -0300
commitb4e2708c6f8cc2191c581aef404803478e65e678 (patch)
tree703d3f7f8f96d9564e7cc3f8ebf85a38c93ab3e1 /dupbackup
parent4fdd3ebb2b0622fb6cff7376a02a5b92c1aba2ae (diff)
downloadscripts-b4e2708c6f8cc2191c581aef404803478e65e678.tar.gz
scripts-b4e2708c6f8cc2191c581aef404803478e65e678.tar.bz2
Moved scripts to custom repos
Diffstat (limited to 'dupbackup')
-rwxr-xr-xdupbackup51
1 files changed, 51 insertions, 0 deletions
diff --git a/dupbackup b/dupbackup
new file mode 100755
index 0000000..f020c36
--- /dev/null
+++ b/dupbackup
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# dupbackup: duplicity wrapper
+# feedback: rhatto at riseup.net
+#
+# dupbackup is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or any later version.
+#
+# common.sh is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+# Place - Suite 330, Boston, MA 02111-1307, USA
+
+# Usage: dupbackup <host> [option]
+
+USER="`whoami`"
+LOCAL_FOLDER="/mnt/crypt/home/$USER/"
+REMOVE_OLDER_THAN="3M"
+KEY=""
+HOST="$1"
+OPTION="$2"
+
+# Load configuration
+if [ -e "$HOME/.config/scripts/dupbackup" ]; then
+ source $HOME/.config/scripts/dupbackup
+fi
+
+if [ ! -z "$HOST" ]; then
+ DEST="/var/backups/remote/$USER/duplicity"
+ DEST="scp://$USER@$HOST/$DEST"
+else
+ DEST="file:///var/backups/users/$USER/duplicity"
+fi
+
+if [ -z "$OPTION" ]; then
+ OPTION="incr"
+fi
+
+mkdir -p $LOCAL_FOLDER/tmp/duplicity
+
+duplicity $OPTION -v6 --full-if-older-than $REMOVE_OLDER_THAN \
+ --allow-source-mismatch --encrypt-key $KEY \
+ --sign-key $KEY $LOCAL_FOLDER $DEST \
+ --tempdir $LOCAL_FOLDER/tmp/duplicity \
+ --exclude $LOCAL_FOLDER/tmp/duplicity
+
+duplicity remove-older-than $REMOVE_OLDER_THAN $DEST --force