ubuntuusers.de

"inkrementelles Backup" aus der Wiki

Status: Ungelöst | Ubuntu-Version: Kein Ubuntu
Antworten |

mezo

Anmeldungsdatum:
5. August 2006

Beiträge: Zähle...

Hallo, ich würde gerne diesen Script für meinen Debian Server benutzen. Ich hatte es auch schon erfolgreich in Benutzung, aber nun habe ich den Ordner Pfad geändert. Seit dem legt er eine 1mb große .tgz Datei an in dieser viele Order mit Namen wie "12110642277" sind und in diesen befinden sich dann einzelne Dateien die gesichert werden sollen. Eine Ordner höher hat das ganze wie gesagt einwandfrei funktioniert. Ich habe die Pfade überprüft und diese stimmen.

So sieht es bei mir aus:

  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
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
#!/bin/bash
# Script fuer inkrementelles Backup mit 30 taegigem Vollbackup

### Einstellungen ##
BACKUPDIR="mnt/webdav.mediencenter.t-online.de/germanq2backup"                # Pfad zum Backupverzeichnis
ROTATEDIR="mnt/webdav.mediencenter.t-online.de/germanq2backup/rotate"     # Pfad wo die Backups nach 30 Tagen konserviert werden
TIMESTAMP="timestamp.dat"                 # Zeitstempel
SOURCE="home/quake2/quake2/jump"                            # Verzeichnis(se) welche(s) gesichert werden soll(en)
DATUM="$(date +%d-%m-%Y)"             # Datumsformat einstellen
ZEIT="$(date +%H:%M)"                          # Zeitformat einstellen

### Verzeichnisse/Dateien welche nicht gesichert werden sollen ! Achtung keinen Zeilenumbruch ! ##
EXCLUDE="--exclude=home/user/Filme --exclude=home/user/Musik --exclude=home/user/Spiele --exclude=home/user/.VirtualBox  --exclude=home/user/.local/share/Trash"

### Wechsel in root damit die Pfade stimmen ##
cd /

### Backupverzeichnis anlegen ##
mkdir -p ${BACKUPDIR}

### Test ob Backupverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${BACKUPDIR}" ]; then

mail -s "Backupverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
das Backup am ${DATUM} konnte nicht erstellt werden. Das Verzeichnis ${BACKUPDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM

 . exit 1
fi

### Alle Variablen einlesen und letzte Backupdateinummer herausfinden ##
set -- ${BACKUPDIR}/backup-???.tgz
lastname=${!#}
backupnr=${lastname##*backup-}
backupnr=${backupnr%%.*}
backupnr=${backupnr//\?/0}
backupnr=$[10#${backupnr}]

### Backupdateinummer automatisch um +1 bis maximal 30 erhoehen ##
if [ "$[backupnr++]" -ge 30 ]; then
mkdir -p ${ROTATEDIR}/${DATUM}-${ZEIT}

### Test ob Rotateverzeichnis existiert und Mail an Admin bei fehlschlagen ##
if [ ! -d "${ROTATEDIR}/${DATUM}-${ZEIT}" ]; then

mail -s "Rotateverzeichnis nicht vorhanden!" root <<EOM
Hallo Admin,
die alten Backups konnten am ${DATUM} nicht verschoben werden. Das Verzeichnis ${ROTATEDIR} wurde nicht gefunden und konnte auch nicht angelegt werden.
Mit freundlichem Gruss Backupscript
EOM

 . exit 1
else
mv ${BACKUPDIR}/* ${ROTATEDIR}/${DATUM}-${ZEIT} 
fi

### Abfragen ob das Backupverschieben erfolgreich war ##
if [ $? -ne 0 ]; then

mail -s "Backupverschieben fehlerhaft!" root <<EOM
Hallo Admin,
die alten Backups konnte am ${DATUM} nicht verschoben werden.
Mit freundlichem Gruss Backupscript
EOM

exit 1
else

mail -s "Backupverschieben erfolgreich" root <<EOM
Hallo Admin,
die alten Backups wurde am ${DATUM} erfolgreich nach ${ROTATEDIR}/${DATUM}-${ZEIT} verschoben.
Mit freundlichem Gruss Backupscript
EOM

### die Backupnummer wieder auf 1 stellen ##
backupnr=1 
fi 
fi

backupnr=000${backupnr}
backupnr=${backupnr: -3}
filename=backup-${backupnr}.tgz

### Nun wird das eigentliche Backup ausgefuehrt ##
tar -czf ${BACKUPDIR}/${filename} -g ${BACKUPDIR}/${TIMESTAMP} ${SOURCE} ${EXCLUDE}

### Abfragen ob das Backup erfolgreich war ##
if [ $? -ne 0 ]; then

mail -s "Backup (${SOURCE}) war fehlerhaft!" root <<EOM
Hallo Admin,
das Backup ${filename} am ${DATUM} wurde mit Fehler(n) beendet.
Mit freundlichem Gruss Backupscript
EOM

else

mail -s "Backup (${SOURCE}) war erfolgreich" root <<EOM
Hallo Admin,
das Backup ${filename} am ${DATUM} wurde erfolgreich beendet.
Mit freundlichem Gruss Backupscript
EOM

fi

Mit "SOURCE="home/quake2/quake2" hat es einwandfrei funktioniert.

Um diesen Script handelt es sich: http://wiki.ubuntuusers.de/Skripte/inkrementelles_Backup

Antworten |