Daten auf Backup-Server sichern (Linux)

In dieser Anleitung zeigen wir Ihnen, wie Sie Ihre Daten automatisiert auf einem Backup-Server sichern und wiederherstellen. In dem unten aufgeführten Shellscript, das als Beispiel aufgeführt wird, zeigen wir Ihnen darüber hinaus, wie Sie IONOS FTP Storage als Backup-Server verwenden.

Passen Sie backupXX.pureserver.info, BACKUP-BENUTZERNAME und BACKUP-PASSWORT entsprechend an.

Hinweis

Diese Sicherungsmethode eignet sich nicht für eine komplette Sicherung aller Daten auf dem Server!

Backups mit einem Shellscript erstellen

  • Legen Sie die Datei .netrc als root an. Setzen Sie die Rechte so, dass nur root die Datei einsehen und bearbeiten kann.
    [root@host ~]# touch /root/.netrc
    [root@host ~]# chmod 600 /root/.netrc
    In /root/.netrc fügen Sie danach folgende Einträge ein:
    machine backupXX.onlinehome-server.info
    login BACKUP-BENUTZERNAME
    password BACKUP-PASSWORT

    macdef backup
    put $1 $2
    put $1.md5 $2.md5
    quit

Hinweis

Nach dem Wort quit in der letzten Zeile muss eine Leerzeile folgen.

  • Das Backup-Archiv wird vor der Sicherung auf dem Server gespeichert. Dies sollte auf /home geschehen:
    [root@host ~]# mkdir /home/backup
    [root@host ~]# chmod 700 /home/backup 

  • Das Backup-Skript selbst wird unter /root/bin/simple-backup.sh gespeichert. Legen Sie das Verzeichnis /root/bin an, falls es noch nicht vorhanden sein sollte.
    [root@host ~]# mkdir /root/bin
    Erstellen Sie das Backup-Script und speichern SIe es unter /root/bin/simple-backup.sh.
    #!/bin/sh

    # Name der Backup-Datei
    BACKUP_FILE="backup.tar.gz"

    # temporaerer Speicherort des Backup-Archivs
    BACKUP_TMP="/home/backup/"

    # kompletter Pfad zum Backup
    BACKUP=${BACKUP_TMP}${BACKUP_FILE}

    # Verzeichnisse die gesichert werden sollen
    # in diesem Beispiel sind dies die Kunden Webseiten und E-Mails
    BACKUP_DATA="/home/htdocs /var/spool/mail"

    # Hostname des Backup-Servers
    BACKUP_SERVER="backupXX.pureserver.info"

    # alte UMASK sichern
    UMASK=`umask`

    umask 0077
    tar --exclude=${BACKUP} -czf ${BACKUP} ${BACKUP_DATA} 2>/dev/null
    md5sum ${BACKUP} > ${BACKUP}.md5
    echo "\$ backup ${BACKUP} ${BACKUP_FILE}" | pftp ${BACKUP_SERVER} >/dev/null
    rm -f ${BACKUP} ${BACKUP}.md5
    umask ${UMASK}

    In der Zeile BACKUP_SERVER="backupXX.onlinehome-server.info setzen Sie den Hostnamen des Backup-Servers ein.

  • Versehen Sie das Skript mit den korrekten Rechten:
    [root@host ~]# chmod 700 /root/bin/simple-backup.sh

  • Für die Automatisierung des Backups können Sie einen Cronjob einrichten. Dazu legen Sie die Datei /etc/cron.d/simple-backup an. Dort tragen Sie den Cronjob für ein tägliches Backup in folgender Form ein:
    MINUTE STUNDE * * * root /root/bin/simple-backup.sh
    Für MINUTE (0-59) und STUNDE (0-24) setzen Sie die gewünschte Uhrzeit für das Backup ein.

  • Hinweis
  • Bei der Sicherung des Backups auf dem FTP-Server wird das letzte Backup auf dem Server überschrieben.

Backupdatei zurückspielen

Das Backup können Sie zum Beispiel wie folgt wieder vom Backup-Server auf Ihren Server kopieren und anschließend auspacken:
[root@host ~]# curl ftp://BACKUP-BENUTZERNAME:BACKUP-PASSWORT@backup443.onlinehome-server.info/backup.tar.gz > backup.tar.gz

[root@host ~]# tar -xvf backup.tar.gz