[fli4l] Bash /Dash
Mike B.
mbumen at web.de
Sa Okt 31 14:12:35 CET 2015
Danke für die Infos!Ich habe eine Bash welche ich täglich
via cronjob starten möchte. Diese Bash habe ich schon
teilweise zum laufen gebracht, jedoch nicht komplett.
Info: die unten liegende Bash ist das Original von
https://wiki.ubuntuusers.de/Skripte/inkrementelles_Backup
Ich habe die Sektion
"mail -s "Backupverzeichnis nicht vorhanden!" root <<EOM"
so angepaßt, dass eben keine Mail an Root geht. Habe für mich
das ganze so anpepaßt, dass eben eine TXt erstellt wird in
ein bestimmtes verzeichniss.
@fl_0 : wäre nett wenn du die Möglichkeit hättest, diese Bash
umzustellen um sie auch für den Fli4l brauchbar zu machen..
Danke und viele Grüße, Mike
#!/bin/bash
# Script fuer inkrementelles Backup mit 30 taegigem Vollbackup
### Einstellungen ##
BACKUPDIR="media/backup" ## Pfad zum Backupverzeichnis
ROTATEDIR="media/backup/rotate" ## Pfad wo die Backups nach 30 Tagen
konserviert werden
TIMESTAMP="timestamp.dat" ## Zeitstempel
SOURCE="home/user" ## 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 -cpzf ${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
Mehr Informationen über die Mailingliste Fli4L