#!/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