PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rsync



Duddle
26.07.06, 11:21
Hallo!

Im Moment versuche ich, alle wichtigen Ordner eines Servers automatisiert zu backuppen. Dies will ich mit rsync machen, so dass ich dann bei Datenverlust des Servers die alten Daten wieder einspielen kann.

Als Testversuch probiere ich, den Ordner /etc zu rsyncen. Mein Befehl:


rsync -a etc /mnt/backup/ 2> /dev/stdout

Dabei gibt es vorallendingen Probleme bei den Symlinks:


rsync: symlink "/mnt/backup/etc/rc4.d/S50proftpd" -> "../init.d/proftpd" failed: Operation not permitted (1)


und so weiter.

Er kopiert also natürlich die Symlinks nicht mit, deshalb sind die Ordner rcX.d komplett leer. Ich bezweifle, dass dann das System läuft, falls ich die Daten mal zurückspielen muss.

1. Sind diese Symlinks ultra-wichtig für ein reines Datenbackup?
2. Erstellen sie sich vielleicht sogar von selber, wenn ich dann den Server mit zurückgespielten Daten neustarte?
3. Oder gibt es einen Weg, die Links gescheit neu zu erstellen? Eigentlich beinhaltet die Option -a ja auch -l (also: When symlinks are encountered, recreate the symlink on the destination.), also sollten doch die Symlinks selbst erstellt werden.

Achja, nebenbei kommen noch 2 Fehler, die ich aber als unwichtig betrachte:

rsync: mkstemp "/mnt/backup/etc/.\164.20.166.54.0SSrBc" failed: No such file or directory (2)
rsync: mkstemp "/mnt/backup/etc/.\164.20.166.54test.MKSY3c" failed: No such file or directory (2)

Der Fehler ist sicherlich nicht bedeutend, oder?

System ist ein Debian 3.1 Sarge.


Danke im Voraus,

Duddle

drcux
26.07.06, 12:04
Ist /mnt/backup zufällig ne fat32-Partition?

Duddle
26.07.06, 12:28
Nope. NTFS.

Und ich habe auch entsprechenden Vollzugriff.


Duddle

marce
26.07.06, 12:29
Such mal hier im Forum nach "NTFS" und "Schreibzugriff" - oder wie hast Du das gelöst?

fuffy
26.07.06, 12:36
Hi!

Für ein richtiges Backup von einem Linux-System sind FAT32 und NTFS ungeeignet, weil sie viele Fähigkeiten von Linux-Dateisystemen nicht bzw. anders abbilden, d.h. du würdest damit z.B. die den Dateien und Verzeichnissen zugewiesenen Rechte, den jeweiligen Eigentümer, die jeweilige Gruppe, usw. verlieren.
Zudem hättest du Probleme, Dateien zu sichern, die Sonderzeichen im Namen haben, welche unter Windows nicht erlaubt sind, wie * oder ?. Unter Linux sind bis auf / alle Zeichen in Dateinamen erlaubt.

Gruß
fuffy

Duddle
26.07.06, 19:25
Danke schonmal für die Antworten.

Die Kopie geht derzeitig nur auf einen Win-Rechner, weil es durch unternehmensinterne Strukturen nicht so schnell möglich ist einen komplett neuen Rechner mit entsprechenden Rechten zu integrieren. Daher gehen meine Trockenversuche auf einen vorhandenen Windows-Client.
In Kürze steht dann aber das richtige Gerät mit Debian und ich hoffe, die Fehler verschwinden dann.

Jetzt Teil 2 meiner Fragen zu rsync, ich hoffe ihr habt noch ein wenig Geduld :rolleyes:

Ziel ist es, die Serverfunktionen des schon erwähnten Debians hoch verfügbar zu machen. Aus Gründen der Einfachheit benenne ich die wichtigen Rechner mal: Der derzeitige Server heisst... Luke, der neue Vader.

Meine Vorgaben sind:
- auf Vader wird ein von Grund auf neues Debian in der neusten Version installiert, ein von Luke auf Vader überspieltes Image würde wohl zu (HW-) Inkompatibilitäten führen. Nachteil davon ist, dass beide Server bei einem neuen Dienst gewartet werden müssen, aber egal.

- Vader soll laufbereit mit möglichst aktuellen Daten in der Hinterhand bleiben, sodass er gleich umgestöpselt werden kann, wenn Luke ausfällt (ja, da gibt es auch automatische Möglichkeiten, das kommt später)


Mein Konzept:
Ich will jede Nacht ein Backup in 2-Tage-Rotation machen, das aber nur inkrementell, sodass ich auf die Daten vom Morgen und vom Vortag zurückgreifen kann. Aller 2 Wochen wird ein Wochenbackup mit dem aktuellen Stand gemacht, dieses im Grossvater-Vater-Sohn- Prinzip (endlich kann ich mal was aus der Berufsschule anwenden :p). Monatsbackups usw. sind bei unseren Daten nicht sinnvoll und können daher ignoriert werden.

Diese Backups sollen a) als reine Datenbackups auf die zweite Festplatte von Vader && b) in die laufbereiten Dienste (Datenbank, Webserver) auf die Systemplatte von Vader gespielt werden.
So möchte ich erreichen, dass neben einem lauffähigen und recht aktuellen Backupsystem die Rohdaten für eventuelle Ausfälle nochmal zur Verfügung stehen.


Meine Fragen dazu sind:

1. Was gibt es an dem Konzept zu meckern? Ich beschäftige mich das erste Mal mit automatisierter Datensicherung in dem Umfang, daher bin ich für Tipps und Ergänzungsvorschläge dankbar.

2. Ich möchte den Speicherverbrauch der Rohdaten (siehe a) ) so gering wie möglich halten. Von rsync habe ich gelesen, dass es beim Aufruf automatisch Hardlinks erstellen kann und damit nur den neuen Platz der neuen Daten belegt, der Ordner aber nach aussen wie ein Vollbackup wirkt.
Angenommen, ich habe Montag auf Vader ein Vollbackup namens BackMo überspielt, wie kann ich jetzt rsync instruieren, die Daten von Luke mit BackMo abzugleichen, aber die Unterschiede (inkl. Hardlinks auf BackMo) als BackDi zu schreiben?


Vielen Dank im Voraus für Hilfe, Links und Tricks,

Duddle

Thorashh
26.07.06, 22:26
rsync erstellt keine Hardlinks. Das musst Du vorher selber machen.
Anschließend kannst Du dann per rsync die geänderten Dateien überschreiben und damit den Hardlink durch die neue Datei ersetzen lassen.

Ich empfehle Dir zu der Funktionalität mal einen Blick auf rsnapshot (http://www.rsnapshot.org/), BONTMIA (http://folk.uio.no/johnen/bontmia/) oder Dirvish (http://www.dirvish.org/) zu werfen.