This repository has been archived on 2021-02-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
duplicacy-scripts-OLD/duplicacy.sh
2019-12-04 12:21:18 -05:00

39 lines
1.2 KiB
Bash

#!/bin/sh
lockfile="/tmp/duplicacy.lock"
FOLDERS_TO_BACKUP=("<folder to backup>" "<2nd folder to backup>")
HOST=$(hostname -s)
LOGFILE="/var/log/duplicacy/duplicacy_$(/bin/date +%Y%m%d-%H%M%S).log"
if [ -e ${lockfile} ] && kill -0 `cat ${lockfile}`; then
echo "duplicacy backup already running" >> ${LOGFILE}
exit
fi
# make sure the lockfile is removed when we exit and then claim it
trap "rm -f ${lockfile}; exit" INT TERM EXIT
echo $$ > ${lockfile}
# run the backup
for folder in ${FOLDERS_TO_BACKUP[@]}; do
# removes the slashes and replaces with a dash
id=${HOST}${folder////-}
cd ${folder}
if [ -d "${folder}/.duplicacy" ]; then
duplicacy -verbose -log backup -stats >> ${LOGFILE} 2>&1
else
# sftp password DUPLICACY_SSH_PASSWORD DUPLICACY_<STORAGENAME>_SSH_PASSWORD ssh_password
echo "Please enter duplicacy ssh password"
read -S SSH_PASSWORD
export DUPLICACY_SSH_PASSWORD=${SSH_PASSWORD}
duplicacy init ${id} sftp://duplicacy@gauntnas.home.johnhgaunt.com//mnt/data-pool/duplicacy/data
duplicacy set -key ssh_password -value "${SSH_PASSWORD}"
SSH_PASSWORD=''
fi
done
# compress the logs
pigz $(dirname ${LOGFILE})/*.log
# clean up lockfile
rm -f ${lockfile}