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. |
Diese Anleitung richtet sich besonders an folgende Zielgruppen: -Nicht zutreffende Zielgruppen bitte löschen-
|
Am URZ wird aktuell das Backupsystem Bareos (Backup Archiving REcovery Open Sourced) verwendet.
|
Für das Backup muss der Bareos-Client installiert werden. Eine Anleitung dafür ist hier zu finden.
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.
Feld | Anmerkung |
---|---|
Hostname | Es muss ein gültiger DNS-Name für den Client existieren, da ansonsten dieser vom Backupserver nicht erreicht werden kann. Daher ist dies auch ein Pflichtfeld. |
Host Typ | Siehe unten 'Arten Backup' |
... | ... |
Fragen zum Backup-Antrag können Sie im URZ-Service Desk stellen.
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.
Wir unterscheiden 2 Typen von Backup, die bestimmte Eigenschaften besitzen.
Desktop PC | Server | |
---|---|---|
online | Rechner ist unregelmäßig am Netzwerk. | Rechner ist immer an und erreichbar. |
Datenmenge | einige GB | GB bis TB |
Backupdauer | max. 2h | max. 5d |
Server werden klassisch nach festen Zeitplan gesichert:
oder
(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.
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!
*/.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 !! |
[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 |
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:
Hier werden alle Datenbanken nach /var/backups/mysql gesichert und nach 10 Tagen gelöscht.
Dump Verzeichnis erzeugen:
mkdir /var/backups/mysql |
Skript /usr/local/sbin/dump_mysql_dbs.sh :
#!/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 |
Einfach Paket installieren und bei täglicher Bareos Sicherung den Cron-Job deaktivieren:
aptitude install automysqlbackup cd /etc/cron.daily mv automysqlbackup automysqlbackup.deak |
Dump Verzeichnis erzeugen:
mkdir /var/backups/postgres |
Skript /usr/local/sbin/dump_postgres_dbs.sh:
#!/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 |
Titel: "Server-Backup" Stand: 23.11.2021 |