ubuntuusers.de

backup.sh

Autor:
chrivo82
Datum:
8. September 2014 12:32
Code:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/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