#!/bin/bash
# Datensicherung auf dem Spiegel-Server

# Prüfen, ob Backup-Zeitstempel existiert
if [ ! -f /var/local/backup_time ]
then
    echo 0 > /var/local/backup_time
fi

# Sicherungsdaten vom mirror holen
rsync -av --numeric-ids mirror:/mnt/backup/var/local/ /var/local/mirror


if [ ! -f /var/local/mirror/startup_time ]
then
    echo 0 > /var/local/mirror/startup_time
fi

lastbackup=`cat /var/local/backup_time`
laststartup=`cat /var/local/mirror/startup_time`

if (( $laststartup > $lastbackup ))
then
    echo "Backup ist nicht erlaubt, da das Backup-Medium benutzt wurde."
    echo "Bitte erst eine Widerherstellung starten."
    exit -1
fi

# Backup ist erlaubt
# Aktuelle Backup-Zeit festhalten
date +%s > /var/local/backup_time

# Snapshot erzeugen; dazu alle notwendigen Server runterfahren
service_stop
/usr/local/bin/snap
service_start

# Datensicherung durchführen
rsync -av --delete --exclude-from=/usr/local/etc/backup/exclude --numeric-ids / mirror:/mnt/backup

# Snapshot löschen
/usr/local/bin/unsnap

exit 0

