...
Panel | ||||
---|---|---|---|---|
| ||||
ZusammenfassungDas Universitätsrechenzentrum bietet Ihnen die Möglichkeit, die Server Ihrer Einrichtung in das zentrale Backup-System des Universitätsrechenzentrum einzubinden. Dadurch werden die Daten Ihres Servers in regelmäßigen Abständen gesichert und können bei Verlust wieder eingespielt werden. |
Panel | ||||
---|---|---|---|---|
| ||||
Diese Anleitung richtet sich besonders an folgende Zielgruppen:
|
Am URZ wird aktuell das Backupsystem Bareos (Backup Archiving REcovery Open Sourced) verwendet.
Info | ||
---|---|---|
| ||
|
Installation Bareos-Client
Für das Backup muss der Bareos-Client installiert werden. Eine Anleitung dafür ist hier zu finden.
Antrag Backup
Das Backup kann nach der Installation des Clients über dieses Formular beantragt werden.
Dort werden alle notwendigen Daten abgefragt, damit das Backup eingerichtet werden kann.
...
vom Backupserver nicht erreicht werden kann. Daher ist dies auch ein Pflichtfeld.
...
Fragen zum Backup-Antrag können Sie im URZ-Service Desk stellen.
Festlegungen
- Für jeden Backupclient muss es mindestens einen Ansprechpartner geben, der dann auch die Status-E-Mails erhält.
- Die Benachrichtigung (Status-E-Mail) kann nur an Uni-Jena Adressen (*@*uni-jena.de) versendet werden (auch mehrere möglich).
- Für einen eigenständigen Restore muss ein URZ-Account existieren und muss bei uns eingetragen werden (siehe Anleitung Restore mit Bareos)
Dauer der Aufbewahrung des Backups
- Die Backupdaten werden nach Ablauf der Retention (3 Wochen oder 3 Monate) automatisch gelöscht!
Sobald eine der folgenden Bedingungen erfüllt ist, wird davon ausgegangen, dass das Backup nicht mehr benötigt wird. Falls es dann keine andere Information gibt, wird das Backup dann komplett gelöscht.
- Der Ansprechpartner ist nicht mehr vorhanden (Nutzer bzw. E-Mail-Adresse existiert nicht mehr.)
- Der DNS-Name des Clients existiert nicht mehr.
- Es gab seit 6 Monaten kein erfolgreiches Backup mehr. Solange es keine automatische Benachrichtigung bzw. Warnung darüber gibt, wird zuerst nachgefragt.
Backup-Arten
Wir unterscheiden 2 Typen von Backup, die bestimmte Eigenschaften besitzen.
...
...
...
- wöchentlich voll (am Wochenende)
- täglich inkrementell (nachts)
oder
- monatlich voll (am Wochenende)
- wöchentlich inkrementell (am Wochenende)
(In einigen Fällen sind auch andere Zeitpläne möglich und sinnvoll.).
Bei Desktop PCs wird mehrmals täglich versucht, den Client zu erreichen und nur wenn dieser erreichbar ist, wird ein Backup gestartet. Dadurch ist die Wahrscheinlichkeit größer dauerhaft ein funktionierendes Backup zu haben.
Excludes
Es werden automatisch alle Verzeichnisse vom Backup ausgeschlossen, die eine Datei '.nobackup' beinhalten.
Für Windows gilt zusätzlich der Dateiname '.nobackup.txt' und der Inhalt des Registrykeys FilesNotToBackup.
Diese Verzeichnisse werden standardmässig ebenso nicht gesichert bzw. nur auf expliziten Wunsch!
Linux:
Codeblock |
---|
*/.cache
*/.gvfs
*/lost+found /var/tmp
/var/cache
/var/lock
/var/run
/var/log
/var/lib/mysql # use dumps !!
/var/lib/postgresql # use dumps !!
/var/lib/pqsql # use dumps !! |
Windows:
Codeblock |
---|
[A-Z]:/Users/*/AppData
[A-Z]:/ProgramData/Microsoft/Network/Downloader/qmgr[01].dat
[A-Z]:/WINDOWS/msdownld.tmp
[A-Z]:/WINDOWS/$Nt*Uninstall*
[A-Z]:/WINDOWS/SoftwareDistribution
[A-Z]:/WINDOWS/WinSxS
[A-Z]:/WINDOWS/Temp
[A-Z]:/RECYCLER
[A-Z]:/$Recycle.Bin
[A-Z]:/pagefile.sys
[A-Z]:/hiberfil.sys
[A-Z]:/bareos-restore |
Datenbanksicherungen
Datenbanken können nicht konsistent durch die Sicherung der Datenbankdateien gesichert werden! Die sicherste Methode dafür ist die Sicherung der Datenbank mit den jeweiligen Datenbankmitteln als Dump und dann Sicherung dieses Dumps mit Bareos.
Es ist möglich und am sinnvollsten diesen Dump direkt von Bareos vor der eigentlichen Sicherung starten zu lassen, was verschiedene Vorteile hat:
- Der Dump ist aktuell (direkt vor der Sicherung erzeugt).
- Es muss keine Zeitliche Abhänigkeit beachtet werden. Ansonsten kann es sein, dass der Dump während der Sicherung gerade (über)schrieben wird und somit kaputt ist.
- Bareos merkt Fehler anhand wie das Skript beendet wurde und startet dann das Backup nicht bei fehlerhafter Dumperzeugung. Somit wären auch nur konsistente Sicherungen in Bareos.
Beispielskript für MySQL Sicherung
Hier werden alle Datenbanken nach /var/backups/mysql gesichert und nach 10 Tagen gelöscht.
Dump Verzeichnis erzeugen:
Codeblock | ||
---|---|---|
| ||
mkdir /var/backups/mysql |
Skript /usr/local/sbin/dump_mysql_dbs.sh :
Codeblock | ||||
---|---|---|---|---|
| ||||
#!/bin/bash
mysqlopts="--defaults-file=/etc/mysql/debian.cnf"
dumpprefix="mysqldump-"
dumpopts="--complete-insert --single-transaction --routines --events"
archivedir=/var/backups/mysql
workdir=/tmp
umask 027
basedate=$(date +"%Y-%m-%d")
basename="$dumpprefix$basedate"
databases=$(echo show databases | mysql $mysqlopts --skip-column-names |egrep -v "(performance|information)_schema")
cd $workdir
for db in $databases ; do
echo "Dump $db ..."
mysqldump $mysqlopts $dumpopts $db |bzip2 >$archivedir/$basename-$db.bz2
ln -f -s $basename-$db.bz2 $archivedir/latest-$db.bz2
done
list=$(find $archivedir -name "${dumpprefix}*" -mtime +10)
for oldfile in $list ; do
echo "deleting old file $oldfile"
rm -f $oldfile
done |
Automysqlbackup
Einfach Paket installieren und bei täglicher Bareos Sicherung den Cron-Job deaktivieren:
Codeblock | ||
---|---|---|
| ||
aptitude install automysqlbackup
cd /etc/cron.daily
mv automysqlbackup automysqlbackup.deak |
Beispielskript für PostgreSQL Sicherung
Dump Verzeichnis erzeugen:
Codeblock |
---|
mkdir /var/backups/postgres |
Skript /usr/local/sbin/dump_postgres_dbs.sh:
Codeblock | ||||
---|---|---|---|---|
| ||||
#!/bin/bash
dbuser=postgres
dbhost=localhost
dumpprefix="dbdump-"
dumpopts=""
archivedir=/var/backups/postgres
workdir=/tmp
umask 027
basedate=$(date +"%Y-%m-%d")
basename="$dumpprefix$basedate"
databases=$(su -c 'psql -t -c "SELECT datname FROM pg_database WHERE datistemplate=FALSE;"' $dbuser)
cd $workdir
for db in $databases ; do
[ $quiet -eq 0 ] && echo $db ...
su -c "pg_dump $db" $dbuser |bzip2 >$archivedir/$basename-$db.bz2
ln -f -s $basename-$db.bz2 $archivedir/latest-$db.bz2
done
list=$(find $archivedir -name "${dumpprefix}*" -mtime +10)
for oldfile in $list ; do
[ $quiet -eq 0 ] && echo deleting old file $oldfile
rm -f $oldfile
done |
Panel | ||||
---|---|---|---|---|
| ||||
Titel: "Server - Backup" Stand: 2309.1101.20212025 |