Hetzner - DokuWiki

Backup
K
Zeile 1: Zeile 1:
<br>
+
= Backup beantragen =
  
= Backup beantragen  =
+
*Der Backup-Speicherplatz wird im Robot (https://www.hetzner.de/robot/) beantragt
 
+
*Dort auf 'Support-Anfragen' klicken.
*Der Backup Speicherplatz wird im Robot beantragt, https://www.hetzner.de/robot/  
+
*Dort auf 'Support-Anfragen' klicken.  
+
 
*Auswahl 'Backup-Speicherplatz beantragen'
 
*Auswahl 'Backup-Speicherplatz beantragen'
  
= Nützliche Software =
+
= Nützliche Software =
  
*Backup mit [http://wertarbyte.de/tartarus.shtml '''Tartarus''']  
+
*Backup mit [http://wertarbyte.de/tartarus.shtml '''Tartarus''']
**"On-the-fly"-Sicherung auf FTP-Server  
+
**"On-the-fly"-Sicherung auf FTP-Server
**Unterstützung von LVM-Snapshots  
+
**Unterstützung von LVM-Snapshots
**Verschlüsselung (symmetrisch und asymmetrisch durch Schlüssel oder Passwort)  
+
**Verschlüsselung (symmetrisch und asymmetrisch durch Schlüssel oder Passwort)
**Inkrementelle Sicherungen  
+
**Inkrementelle Sicherungen
**Basiert auf verbreiteten Unix-Tools, dadurch einfache Wiederherstellung auch aus dem Rettungssystem (tar, bzip2, etc.)  
+
**Basiert auf verbreiteten Unix-Tools, dadurch einfache Wiederherstellung auch aus dem Rettungssystem (tar, bzip2, etc.)
**Konfiguration über Profildateien  
+
**Konfiguration über Profildateien
**Durch integrierte "Hooks" auch für Spezialfälle geeignet  
+
**Durch integrierte "Hooks" auch für Spezialfälle geeignet
**Entfernung alter Sicherungen vom FTP-Server mit dem Hilfsprogramm '''charon'''  
+
**Entfernung alter Sicherungen vom FTP-Server mit dem Hilfsprogramm '''charon'''
**[[Tartarus Backup-Konfiguration]] mit kopierfertigen Beispielen und Anleitungen  
+
**[[Tartarus Backup-Konfiguration]] mit kopierfertigen Beispielen und Anleitungen
*Backup mit Hilfe von '''[[Backup2l]]'''/gpg/ftp  
+
*Backup mit Hilfe von '''[[Backup2l]]'''/gpg/ftp
*[http://duplicity.nongnu.org/ '''Duplicity'''] -- GPG-verschlüsseltes, komprimiertes, inkrementelles Backup auf nicht-vertrauenswürdige Medien oder unverschlüsselte Protokolle wie das von Hetzner ausschließlich angebotene FTP zu den [http://www.hetzner.de/backup_server.html Backup-Servern]. Kann außerdem auch noch rsync und ssh. Unter Debian (4.0) sollte es '''nicht''' mit <code>apt-get install [http://packages.debian.org/duplicity duplicity]</code> installiert werden, da die in Debian enthaltene veraltete Version (0.4.2) Probleme mit einigen FTP-Servern (Error 226: Transfer complete) macht. Stattdessen sollte die aktuelle Version (getestet mit 0.4.9) von [http://download.savannah.gnu.org/releases/duplicity/ http://download.savannah.gnu.org/releases/duplicity/] verwendet werden. Details siehe [http://forum.hetzner.de/wbb2/thread.php?threadid=10316 Hetzner-Forum].  
+
*[http://duplicity.nongnu.org/ '''Duplicity'''] -- GPG-verschlüsseltes, komprimiertes, inkrementelles Backup auf nicht-vertrauenswürdige Medien oder unverschlüsselte Protokolle wie das von Hetzner ausschließlich angebotene FTP zu den [http://www.hetzner.de/backup_server.html Backup-Servern]. Kann außerdem auch noch rsync und ssh. Unter Debian (4.0) sollte es '''nicht''' mit <code>apt-get install [http://packages.debian.org/duplicity duplicity]</code> installiert werden, da die in Debian enthaltene veraltete Version (0.4.2) Probleme mit einigen FTP-Servern (Error 226: Transfer complete) macht. Stattdessen sollte die aktuelle Version (getestet mit 0.4.9) von [http://download.savannah.gnu.org/releases/duplicity/ http://download.savannah.gnu.org/releases/duplicity/] verwendet werden. Details siehe [http://forum.hetzner.de/wbb2/thread.php?threadid=10316 Hetzner-Forum].
 
**Ein [[Duplicity Script]]
 
**Ein [[Duplicity Script]]
  
= Allgemeine Tips =
+
= Allgemeine Tips =
  
Backups sollte man im Allgemeinen nachts durchführen, damit es keine Beinträchtigungen der Netzqualität für die Racknachbarn oder die selbst angebotenen Dienste gibt.  
+
Backups sollte man im Allgemeinen nachts durchführen, damit es keine Beinträchtigungen der Netzqualität für die Racknachbarn oder die selbst angebotenen Dienste gibt.
  
Bewährt hat sich ausserdem den Cronjob dazu auf "krumme" Uhrzeiten zu legen, also nicht um 0:00 oder 3:00 Uhr wenn viele Leute ihre Backups durchführen sondern z.B. um 1:42 oder 2:23 Uhr.  
+
Bewährt hat sich ausserdem den Cronjob dazu auf "krumme" Uhrzeiten zu legen, also nicht um 0:00 oder 3:00 Uhr wenn viele Leute ihre Backups durchführen sondern z.B. um 1:42 oder 2:23 Uhr.
  
Das "schont" das Netz und den Backupserver und als angenehmer Nebeneffekt ist das Backup auch meist schneller fertig als zu den Stoßzeiten.  
+
Das "schont" das Netz und den Backupserver und als angenehmer Nebeneffekt ist das Backup auch meist schneller fertig als zu den Stoßzeiten.
  
Eine sehr effiziente Backupstrategie mit rsync ist unter http://www.linux-magazin.de/Artikel/ausgabe/2004/09/backups/backups.html beschrieben.  
+
Eine sehr effiziente Backupstrategie mit rsync ist unter http://www.linux-magazin.de/Artikel/ausgabe/2004/09/backups/backups.html beschrieben.
  
= Historisches Backup aller MySQL-Datenbanken in einzelne Dateien =
+
= Historisches Backup aller MySQL-Datenbanken in einzelne Dateien =
  
Oft macht man nur einen Mysqldump über alle Datenbanken in einer Datei. Diese Datei wird dann oft gezippt, was Nachteile hat: Ein Byte im Zip-File futsch: Eventuell ganzes Backup futsch.  
+
Oft macht man nur einen Mysqldump über alle Datenbanken in einer Datei. Diese Datei wird dann oft gezippt, was Nachteile hat: Ein Byte im Zip-File futsch: Eventuell ganzes Backup futsch.
  
Außerdem entstehen oft Dateigrößen, die man nicht handeln will. Beim Wiedereinspielen muß man erst die relevanten daten in einer Riesendatenmenge isolieren. Die Zeit, den Platz hat man oft nicht.  
+
Außerdem entstehen oft Dateigrößen, die man nicht handeln will. Beim Wiedereinspielen muß man erst die relevanten daten in einer Riesendatenmenge isolieren. Die Zeit, den Platz hat man oft nicht.
  
Mein Backup-Skript wird jede Nacht von Cron (als root) angestoßen, geht durch alle Datenbanken einzeln, dumpt und gzippt die SQL-Dateien und legt jede Woche einen neuen Ordner an, sodaß man zum einen eine tägliche Sicherung und zum anderen eine wöchentliche, historische Sicherung hat:  
+
Mein Backup-Skript wird jede Nacht von Cron (als root) angestoßen, geht durch alle Datenbanken einzeln, dumpt und gzippt die SQL-Dateien und legt jede Woche einen neuen Ordner an, sodaß man zum einen eine tägliche Sicherung und zum anderen eine wöchentliche, historische Sicherung hat:
  
Man legt dazu (zumindest bei Debian) folgende Datei in den Ordner /etc/cron.daily&nbsp;:  
+
Man legt dazu (zumindest bei Debian) folgende Datei in den Ordner /etc/cron.daily:
 
<pre>#!/bin/bash
 
<pre>#!/bin/bash
 
echo "Alle MySQL-Datenbanken sichern:"
 
echo "Alle MySQL-Datenbanken sichern:"
Zeile 60: Zeile 58:
 
echo "Dateien zippen:"
 
echo "Dateien zippen:"
 
gzip *
 
gzip *
</pre>  
+
</pre>
= Hetzner Backupspace - Speicherverbrauch bestimmen  =
+
  
Um herauszufinden wieviel Platz einem noch zur verfügung steht (sei es in Backupscripten oder Status-Emails) kann das Programm lftp benutzt werden:  
+
= Speicherverbrauch bestimmen =
 +
 
 +
Um herauszufinden wieviel Platz einem noch zur verfügung steht (sei es in Backupscripten oder Status-E-Mails) kann das Programm 'lftp' benutzt werden:
  
 
  # apt-get install lftp
 
  # apt-get install lftp
  
Speicherplatz bestimmen:  
+
Speicherplatz bestimmen:
  
 
  # echo du -s .  \
 
  # echo du -s .  \
 
   | lftp -u USERNAME,PASSWORT BACKUPSERVER
 
   | lftp -u USERNAME,PASSWORT BACKUPSERVER
  
Lesbarer wird es mit dem Parameter -h:  
+
Lesbarer wird es mit dem Parameter -h:
  
 
  # echo du -hs . \
 
  # echo du -hs . \
 
   | lftp -u USERNAME,PASSWORT BACKUPSERVER
 
   | lftp -u USERNAME,PASSWORT BACKUPSERVER
  
Der Befehl lässt sich per Hook auch in Tartarus einbinden, indem folgende Zeilen in die Tartarus-Konfiguration eingefügt werden:  
+
Der Befehl lässt sich per Hook auch in Tartarus einbinden, indem folgende Zeilen in die Tartarus-Konfiguration eingefügt werden:
  
 
  TARTARUS_POST_PROCESS_HOOK() {
 
  TARTARUS_POST_PROCESS_HOOK() {
Zeile 83: Zeile 82:
 
  }
 
  }
  
[[Category:Dedizierte_Server]]
+
[[Kategorie:Dedizierte Server]]
 
+
 
[[Kategorie:Dedi-Überwachung, Sicherung und Wartung]]
 
[[Kategorie:Dedi-Überwachung, Sicherung und Wartung]]

Version vom 26. Dezember 2008, 11:15 Uhr

Inhaltsverzeichnis

Backup beantragen

  • Der Backup-Speicherplatz wird im Robot (https://www.hetzner.de/robot/) beantragt
  • Dort auf 'Support-Anfragen' klicken.
  • Auswahl 'Backup-Speicherplatz beantragen'

Nützliche Software

  • Backup mit Tartarus
    • "On-the-fly"-Sicherung auf FTP-Server
    • Unterstützung von LVM-Snapshots
    • Verschlüsselung (symmetrisch und asymmetrisch durch Schlüssel oder Passwort)
    • Inkrementelle Sicherungen
    • Basiert auf verbreiteten Unix-Tools, dadurch einfache Wiederherstellung auch aus dem Rettungssystem (tar, bzip2, etc.)
    • Konfiguration über Profildateien
    • Durch integrierte "Hooks" auch für Spezialfälle geeignet
    • Entfernung alter Sicherungen vom FTP-Server mit dem Hilfsprogramm charon
    • Tartarus Backup-Konfiguration mit kopierfertigen Beispielen und Anleitungen
  • Backup mit Hilfe von Backup2l/gpg/ftp
  • Duplicity -- GPG-verschlüsseltes, komprimiertes, inkrementelles Backup auf nicht-vertrauenswürdige Medien oder unverschlüsselte Protokolle wie das von Hetzner ausschließlich angebotene FTP zu den Backup-Servern. Kann außerdem auch noch rsync und ssh. Unter Debian (4.0) sollte es nicht mit apt-get install duplicity installiert werden, da die in Debian enthaltene veraltete Version (0.4.2) Probleme mit einigen FTP-Servern (Error 226: Transfer complete) macht. Stattdessen sollte die aktuelle Version (getestet mit 0.4.9) von http://download.savannah.gnu.org/releases/duplicity/ verwendet werden. Details siehe Hetzner-Forum.

Allgemeine Tips

Backups sollte man im Allgemeinen nachts durchführen, damit es keine Beinträchtigungen der Netzqualität für die Racknachbarn oder die selbst angebotenen Dienste gibt.

Bewährt hat sich ausserdem den Cronjob dazu auf "krumme" Uhrzeiten zu legen, also nicht um 0:00 oder 3:00 Uhr wenn viele Leute ihre Backups durchführen sondern z.B. um 1:42 oder 2:23 Uhr.

Das "schont" das Netz und den Backupserver und als angenehmer Nebeneffekt ist das Backup auch meist schneller fertig als zu den Stoßzeiten.

Eine sehr effiziente Backupstrategie mit rsync ist unter http://www.linux-magazin.de/Artikel/ausgabe/2004/09/backups/backups.html beschrieben.

Historisches Backup aller MySQL-Datenbanken in einzelne Dateien

Oft macht man nur einen Mysqldump über alle Datenbanken in einer Datei. Diese Datei wird dann oft gezippt, was Nachteile hat: Ein Byte im Zip-File futsch: Eventuell ganzes Backup futsch.

Außerdem entstehen oft Dateigrößen, die man nicht handeln will. Beim Wiedereinspielen muß man erst die relevanten daten in einer Riesendatenmenge isolieren. Die Zeit, den Platz hat man oft nicht.

Mein Backup-Skript wird jede Nacht von Cron (als root) angestoßen, geht durch alle Datenbanken einzeln, dumpt und gzippt die SQL-Dateien und legt jede Woche einen neuen Ordner an, sodaß man zum einen eine tägliche Sicherung und zum anderen eine wöchentliche, historische Sicherung hat:

Man legt dazu (zumindest bei Debian) folgende Datei in den Ordner /etc/cron.daily:

#!/bin/bash
echo "Alle MySQL-Datenbanken sichern:"
# Bereinigte Liste der Datenbanken erzeugen
# "geheim" ist das MySQL-Rootpasswort:
DBASELIST=`mktemp`
mysqlshow -pgeheim | awk '{print $2}' | grep -v Databases | sort >$DBASELIST
# Wohin sollen die ganzen Backups geschrieben werden?
cd /irgendeinverzeichnis
mkdir -p `date +%Y%m%W`
cd `date +%Y%m%W`
for x in `cat $DBASELIST`; do
    echo "Datenbank: $x sichern";
    mysqldump --opt -pgeheim $x >$x.sql;
done;
echo "Alte .gz-Dateien loeschen:"
rm *.gz
echo "Dateien zippen:"
gzip *

Speicherverbrauch bestimmen

Um herauszufinden wieviel Platz einem noch zur verfügung steht (sei es in Backupscripten oder Status-E-Mails) kann das Programm 'lftp' benutzt werden:

# apt-get install lftp

Speicherplatz bestimmen:

# echo du -s .  \
  | lftp -u USERNAME,PASSWORT BACKUPSERVER

Lesbarer wird es mit dem Parameter -h:

# echo du -hs . \
  | lftp -u USERNAME,PASSWORT BACKUPSERVER

Der Befehl lässt sich per Hook auch in Tartarus einbinden, indem folgende Zeilen in die Tartarus-Konfiguration eingefügt werden:

TARTARUS_POST_PROCESS_HOOK() {
 echo "du" | /usr/bin/lftp -u "$STORAGE_FTP_USER,$STORAGE_FTP_PASSWORD" "$STORAGE_FTP_SERVER" | awk -v LIMIT=50 '$2=="." {print ((LIMIT*1024*1024)-$1)/1024 " MiB backup space remaining"}'
}


© 2020. Hetzner Online GmbH. Alle Rechte vorbehalten.