X-Git-Url: http://git.sven.stormbind.net/?a=blobdiff_plain;f=hetzner%2Fhetznerbackupv2.sh;h=cd0e8306f412a2280269799227822c074a529ce4;hb=fce842f605cc19b181e4952b38f892f311d1d4fd;hp=570ace5f51b061bcb8cf92f21d1929ad815a21bf;hpb=771c3ab297575afb75b6682fb3c071a03007c486;p=sven%2Fscripts.git diff --git a/hetzner/hetznerbackupv2.sh b/hetzner/hetznerbackupv2.sh index 570ace5..cd0e830 100755 --- a/hetzner/hetznerbackupv2.sh +++ b/hetzner/hetznerbackupv2.sh @@ -1,10 +1,5 @@ #!/bin/bash -### Halt on errors -#set -e -### Halt on unset variables -set -u - ### Do not inherit the following variables # Safety net just in case some calls this # script in a bogus way. @@ -21,17 +16,14 @@ FTP_USER=uxxx FTP_HOST=uxxx.your-backup.de PROTO=ssh ROOTMAIL="root@localhost" -LOCKFILE="/var/lock/backup/hetznerbackup" +LOCKDIR="/var/lock/backup" +LOCKFILE="$LOCKDIR/hetznerbackup" LOGFILE="/var/log/hetznerbackup" SESSIONLOG=$(mktemp /var/tmp/hetznerbackup.XXXXXXXXX) ERRSTAT=0 ## Backup job for main job_main() { - echo "" >> $SESSIONLOG - echo "Backing up main `date`" >> - echo "" >> $SESSIONLOG - echo "Going for /etc" >> $SESSIONLOG duplicity $BMODE $dry /etc $PROTO://$FTP_USER@$FTP_HOST/main/etc >> $SESSIONLOG 2>&1 || ERRSTAT=1 duplicity remove-all-but-n-full 5 --force $dry $PROTO://$FTP_USER@$FTP_HOST/main/etc >> $SESSIONLOG 2>&1 || ERRSTAT=1 @@ -56,7 +48,7 @@ job_main() { echo "" >> $SESSIONLOG } -# Append the session log to the main logfile and remove it +## Append the session log to the main logfile and remove it clean_log() { cat $SESSIONLOG >> $LOGFILE rm $SESSIONLOG @@ -68,15 +60,23 @@ if [ -e $LOCKFILE ]; then echo "This is a typical result of a failed backup run, please contact your admin" exit 5 else + if [ ! -d $LOCKDIR ]; then + mkdir -m 700 $LOCKDIR + fi touch $LOCKFILE fi +### Starting + echo "" >> $SESSIONLOG + echo "Starting Backup `date`" >> $SESSIONLOG + echo "" >> $SESSIONLOG + ### Set the duplicity backup mode we would like to use if [[ $(LANG=C; date +%A) =~ Sunday ]]; then - echo "Runing in full mode" + echo "Runing in full mode" >> $SESSIONLOG BMODE="full" else - echo "Runing in incr mode" + echo "Runing in incr mode" >> $SESSIONLOG BMODE="incr" fi