Zusammenfassung

Das 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-

  • Mitarbeitende


Am URZ wird aktuell das Backupsystem Bareos (Backup Archiving REcovery Open Sourced) verwendet.

  • Symantec Netbackup (seit 2018)
  • Atempo Time Navigator (seit 2016)

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.

FeldAnmerkung
HostnameEs 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 TypSiehe unten 'Arten Backup'
......

Fragen zum Backup-Antrag können Sie im URZ-Service Desk stellen.

Festlegungen

Dauer der Aufbewahrung des Backups

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.

Backup-Arten

Wir unterscheiden 2 Typen von Backup, die bestimmte Eigenschaften besitzen.


Desktop PCServer
onlineRechner ist unregelmäßig am Netzwerk.Rechner ist immer an und erreichbar.
Datenmengeeinige GBGB bis TB
Backupdauermax. 2hmax. 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.

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:

*/.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:

[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

(Warnung) 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:

Beispielskript für MySQL Sicherung

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


Automysqlbackup

Einfach Paket installieren und bei täglicher Bareos Sicherung den Cron-Job deaktivieren:

aptitude install automysqlbackup
cd /etc/cron.daily
mv automysqlbackup automysqlbackup.deak

Beispielskript für PostgreSQL Sicherung

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