#!/usr/bin/env bash if [[ -z "$1" ]] then echo Error: Not settings file specified! echo Settings files are located in ~/.config/backups. echo To use one, simply specify it\'s name. e.g. \'backup riftgate\' would use the \'~/.config/riftgate.config\' backup configuration file. echo Backup configuration files detected: ls ~/.config/backups exit fi CONFIG_FILE=~/.config/backups/$1.config echo Using config file ${CONFIG_FILE}. . "${CONFIG_FILE}" echo "Backing '${SOURCE_DIRECTORY}' up to '${BACKUP_DIRECTORY}'." if [[ ! -w "${BACKUP_DIRECTORY}" ]] then notify-send --icon "deja-dup" "Backup Cancelled" "The target directory is not currently available." exit fi env PASSPHRASE=${PASSWORD} SIGN_PASSPHRASE=${PASSWORD} duplicity --progress --encrypt-sign-key ${ENCRYPTION_KEY} "${SOURCE_DIRECTORY}" "${BACKUP_SOURCE_PREFIX}${BACKUP_DIRECTORY}" notify-send --icon "deja-dup" "Backup Complete" "Riftgate was backed up to Data Shape successfully." # Delete old backups #duplicity remove-all-but-n-full 3 --force ${BACKUP_DIRECTORY}