Fragen zum automatischen Backup mit rsync.

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
derd
Mitglied
Beiträge: 1176
Registriert: 19.04.2004 19:30
Wohnort: Aue
Kontaktdaten:

Fragen zum automatischen Backup mit rsync.

Beitrag 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
Benutzeravatar
petzsch
Mitglied
Beiträge: 261
Registriert: 03.12.2003 21:31
Wohnort: Deutschland, Thürinen, Ilfeld
Kontaktdaten:

Beitrag 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. :-)
You never know, until you try!
Antworten

Zurück zu „Coding & Technik“