Seite 1 von 1

Fragen zum automatischen Backup mit rsync.

Verfasst: 26.07.2005 22:07
von derd
Hallo,

Wir sind gerade dabei alles automatisch mit einem Backup Programm sichern zu lassen ( Die gesamten Daten des Servers).

Nur stellen sich leider ein paar Fragen wo wir nicht weiter kommen.

Ahos wir benutzen als Betriebsprogramm Linux Fedora core und das Backup läuft über rsync.

1. Frage wäre. Ist es Sinnvoll den Mysqldienst während des Backups zu Stoppen.
Wenn ja wie ist der Befehl dazu die gängigen werden nicht Akzeptiert.

2.. Wenn das Script läuft und der Backup Server down ist und das Backupscipt einen Fehler bringt bliebe Mysql gestoppt wenn der Befehl zu wieder starten erst am Ende des Skriptes (nach erfolgtem Datentransfer) erfolgt ist was in diesem Falle nicht möglich ist.

3.Sichern von den confixxdaten reicht es da aus die Verzeichnisse root und var zu sichern. Welche Verzeichnisse wären Sinnvoll zu sichern. Im root liegt das confiixx.


Wir sitzen hier schon eine gewisse Zeit und konnten noch keine Lösung finden.
Normal geht bei uns die Lösungsfindung recht schnell. Das Problem ist das Standartbefehle nicht Akzeptiert werden.

Es muss aber auch langsam automatisch gesichert werden da die Datenmengen zu groß werden um alles mit der Hand zu Bewältigen.


Über Infos wäre ich dankbar.

Bye derd

Verfasst: 26.07.2005 22:55
von petzsch

Code: Alles auswählen

#!/bin/bash

# Schicke komplettes Webfile Backup nach oben
rsync -aq --delete --exclude=*-backup-????.??.??-??????.tar.gz --exclude=*-error.log --exclude=*-access.log /var/www/. server2@backup-1.kunden-server.org:/current/web/

# Erstelle MySQL Dumpfiles aller Datenbanken
        rm -f /root/bin/dumps/*
        for i in `echo SHOW DATABASES | mysql -N --user=root --password=MySQL-Root Passwort`; do
                mysqldump -u root --password=MySQL-Root Passwort --databases $i --opt > /root/bin/dumps/$i.sql
        done

# Schicke die DBs auf die Reise
rsync -aq --delete /root/bin/dumps/. server2@backup-1.kunden-server.org:/current/mysql/

# Mach sauber
rm -f /root/bin/dumps/*

# Jetzt noch die Mails Backuppen
rsync -aq --delete /var/mail/. server2@backup-1.kunden-server.org:/current/mail/

# Zu guter Letzt ruhig beenden damit Cron keine Mails verschickt
exit 0
Warum willst du MySQL anhalten?! Um die Rohdaten zu sichern? Nicht optimal und vorallem wenn du InnoDB benutzt eine Verschwendung.

Damit rsync wie beschrieben funktioniert solltest du SSH Keys hinterlegen, damit das Login auf dem Backupserver ohne Passworteingabe automatisch erfolgen kann.

Um noch ein bissel auf das Beispiel einzugehen:

Auf dem Backupserver gibt es neben den notwendigen Binaries (rsync) noch einige essentielle Programme für SCP Verbindungen die im Chroot je Benutzer vorhanden sein sollten, folgende Ordnerstruktur:

/current
  • /mysql/
    /web/
    /mail/
/archive
  • /mysql/
    /web/
    /mail/
Einmal jede Nacht läuft auf dem Backupserver ein Script welches von den Fassungen in current ein .tar.bz2 Archiv erstellt und mit dem Dateinamen des Wochentages (Monday.tar.bz2) versieht. Die In Archive befindlichen Kopien sind für den FTP/SCP/rsync Benutzer read only damit im Falle eines gehakten Webservers der Angreifer die Datensicherung nicht vernichten kann.

Das Script wie jetzt beschrieben sichert expliziz keine Confixx Daten, mann müsste halt die Pfade entsprechend anpassen. Konzipiert ist es viel mehr für einen VHCS Webserver. Vielleicht hilft es dir trotzdem ein bisschen weiter. :-)