]> git.sven.stormbind.net Git - sven/scripts.git/blobdiff - hetzner/hetznerbackupv2.sh
On some systems /var/lock/ is on tmpfs or will be cleaned otherwise
[sven/scripts.git] / hetzner / hetznerbackupv2.sh
index 2db8f9283ddb2e35f0a1ead24972ff82130723aa..cd0e8306f412a2280269799227822c074a529ce4 100755 (executable)
@@ -16,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`" >> $SESSIONLOG
-    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
@@ -51,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
@@ -63,9 +60,17 @@ 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" >> $SESSIONLOG