diff options
Diffstat (limited to 'dupbackup')
-rwxr-xr-x | dupbackup | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/dupbackup b/dupbackup new file mode 100755 index 0000000..a9ca2d0 --- /dev/null +++ b/dupbackup @@ -0,0 +1,56 @@ +#!/bin/bash +# +# dupbackup: duplicity wrapper +# feedback: rhatto at riseup.net +# +# This 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. +# +# This software 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 + +# Determine destination +if [ ! -z "$HOST" ]; then + DEST="/var/backups/remote/$USER/duplicity" + DEST="scp://$USER@$HOST/$DEST" +else + DEST="file:///var/backups/users/$USER/duplicity" +fi + +# Check for option +if [ -z "$OPTION" ]; then + OPTION="incr" +fi + +# Create temporary folder +mkdir -p $LOCAL_FOLDER/tmp/duplicity + +# Do the backup +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 + +# Rotate older backups +duplicity remove-older-than $REMOVE_OLDER_THAN $DEST --force |