#!/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 [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