Update 'duplicacy.sh'
This commit is contained in:
40
duplicacy.sh
40
duplicacy.sh
@@ -1 +1,39 @@
|
||||
#!/bin/sh
|
||||
#!/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}
|
||||
Reference in New Issue
Block a user