X-Git-Url: http://git.sven.stormbind.net/?p=sven%2Fscripts.git;a=blobdiff_plain;f=hetzner%2Fhetznerbackupv2.sh;fp=hetzner%2Fhetznerbackupv2.sh;h=0000000000000000000000000000000000000000;hp=8361077902433ae91afcddf18bbb2de7a1bfd706;hb=2cf03307fed0f8e3bb9adde634361751be051bc7;hpb=e7572966b7566278c295b282f5d75a59713b80e8 diff --git a/hetzner/hetznerbackupv2.sh b/hetzner/hetznerbackupv2.sh deleted file mode 100755 index 8361077..0000000 --- a/hetzner/hetznerbackupv2.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/bash - -### Do not inherit the following variables -# Safety net just in case some calls this -# script in a bogus way. -unset $dry - -### Debug -#set -x -#set dry="--dry-run" - -### General settings -export PASSPHRASE=s -export FTP_PASSWORD=s -FTP_USER=uxxx -FTP_HOST=uxxx.your-backup.de -PROTO=ssh -GOPTS="--num-retries 15" -ROOTMAIL="root@localhost" -LOCKDIR="/var/lock/backup" -LOCKFILE="$LOCKDIR/hetznerbackup" -LOGFILE="/var/log/hetznerbackup.log" -SESSIONLOG=$(mktemp /var/tmp/hetznerbackup.XXXXXXXXX) -ERRSTAT=0 - -## Backup job for main -job_main() { - echo "" >> $SESSIONLOG - echo "Backing up main `date`" >> $SESSIONLOG - echo "" >> $SESSIONLOG - - echo "Going for /etc" >> $SESSIONLOG - duplicity $BMODE $dry $GOPTS /etc $PROTO://$FTP_USER@$FTP_HOST/main/etc >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity remove-all-but-n-full 5 --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/etc >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity cleanup --extra-clean --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/etc >> $SESSIONLOG 2>&1 || ERRSTAT=1 - - echo "Going for /home" >> $SESSIONLOG - duplicity $BMODE $dry $GOPTS /home $PROTO://$FTP_USER@$FTP_HOST/main/home >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity remove-all-but-n-full 5 --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/home >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity cleanup --extra-clean --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/home >> $SESSIONLOG 2>&1 || ERRSTAT=1 - - echo "Going for /var/www" >> $SESSIONLOG - duplicity $BMODE $dry $GOPTS /var/www $PROTO://$FTP_USER@$FTP_HOST/main/var/www >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity remove-all-but-n-full 5 --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/var/www >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity cleanup --extra-clean --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/var/www >> $SESSIONLOG 2>&1 || ERRSTAT=1 - - echo "Going for /var/lib/tomcat6" >> $SESSIONLOG - duplicity $BMODE $dry $GOPTS /var/lib/tomcat6 $PROTO://$FTP_USER@$FTP_HOST/main/tomcat6 >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity remove-all-but-n-full 5 --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/tomcat6 >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity cleanup --extra-clean --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/tomcat6 >> $SESSIONLOG 2>&1 || ERRSTAT=1 - - echo "Going for /var/lib/automysqlbackup" >> $SESSIONLOG - if [ -e /var/lib/automysqlbackup/backupdone ]; then - duplicity $BMODE $dry $GOPTS /var/lib/automysqlbackup $PROTO://$FTP_USER@$FTP_HOST/main/automysqlbackup >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity remove-all-but-n-full 5 --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/automysqlbackup >> $SESSIONLOG 2>&1 || ERRSTAT=1 - duplicity cleanup --extra-clean --force $dry $GOPTS $PROTO://$FTP_USER@$FTP_HOST/main/automysqlbackup >> $SESSIONLOG 2>&1 || ERRSTAT=1 - else - echo "WARNING: It seems that the last mysql backup is still runing" >> $SESSIONLOG - echo "Skipping mysql backup - please re-schedule" >> $SESSIONLOG - ERSSTAT=10 - fi - - echo "" >> $SESSIONLOG -} - -# Append the session log to the main logfile and remove log and lock -cleanup() { - ENDDATE=$(date) - if [ $ERRSTAT -eq 0 ]; then - echo "Backup finished successfully $ENDDATE" >> $SESSIONLOG - else - echo "ERROR Backup FAILED $ENDDATE with ERRSTAT $ERRSTAT" >> $SESSIONLOG - cat $SESSIONLOG|mail -s "ERROR Backup FAILED $ENDDATE with ERRSTAT $ERRSTAT" $ROOTMAIL - fi - cat $SESSIONLOG >> $LOGFILE - rm $SESSIONLOG $LOCKFILE -} - -### check for other runing instances of this script -if [ -e $LOCKFILE ]; then - echo "Lockfile $LOCKFILE found - aborting" - 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 - -### Set the duplicity backup mode we would like to use -if [[ $(LANG=C; date +%A) =~ Sunday ]]; then - echo "Runing in full mode" >> $SESSIONLOG - BMODE="full" -else - echo "Runing in incr mode" >> $SESSIONLOG - BMODE="incr" -fi - -### Start the backup jobs -job_main -### Cleanup and reporting -cleanup -exit $ERRSTAT