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