#!/bin/sh
# Datum
DATE=$(date +%Y-%m-%d)
# Wochentag
WEEKDAY=$(date +%w)
# Backup-Arbeitsordner
BACKUP_DIR="******"
# Pfad zur Cloud
SOURCE_DIR="******"
# Pfad zu den Cloud-Systemdateien
SYSTEM_SOURCE="******"
# Pfad zu den Benutzerdaten
DATA_SOURCE="******"
# FTP-Host
FTP_HOST="******"
# Datenbank-Dump
cd /
mysqldump --single-transaction -u****** -p****** DATENBANK > $BACKUP_DIR/dump/DATENBANK_$DATE.sql
# System-Backup
tar cpf $BACKUP_DIR/system/system_backup-$DATE.tar.bz2 -I pbzip2 $SYSTEM_SOURCE --exclude="data"
# Komplettsicherung Benutzerdaten an jedem Sonntag
if [ $WEEKDAY == 0 ]
then
tar -cpf $BACKUP_DIR/data/data_backup-$DATE.tar.bz2 -I pbzip2 $DATA_SOURCE
fi
#
# Uebertragung der Sicherung auf Backup-Server
# Inkrementelle Sicherung der Benutzerdaten
# Loeschen aller Sicherungen aelter als 3 Tage bzw. 3 Wochen (Benutzerdaten-Komplettsicherung)
#
# Finde und loesche nicht mehr benötigte Backups
find $BACKUP_DIR/system/ -type f -mtime +3 -exec rm {} \;
find $BACKUP_DIR/dump/ -type f -mtime +3 -exec rm {} \;
find $BACKUP_DIR/data/ -type f -mtime +21 -exec rm {} \;
# Uebertrage Backups auf Backup-Server
lftp $FTP_HOST -e "mirror -Rev --use-cache $BACKUP_DIR/ /cloudBackup/; quit"
lftp $FTP_HOST -e "mirror -Rev --use-cache $DATA_SOURCE/ /cloudBackup/UserData/; quit"
exit