1
0
Fork 0
bin/backup

34 lines
1.0 KiB
Bash
Executable File

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