Backup über shell auf definiertem port ohne root mit rsync ?

Backup, Restore und Transfer von Daten
Post Reply
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

Backup über shell auf definiertem port ohne root mit rsync ?

Post by the.dancer »

Hallo Gemeinde.

Mal wieder habe ich eine Frage, und hoffe, bei Euch Hilfe bzw. Denkanstöße zu erhalten. Als Grundinformation unsere bisherige Backuplösung:

Rooti als Webserver
Suse als lokaler Backupserver

Suse startet via Cron (z.Bsp.) das lokale Script für ein inkrement. Backup von /home des Rootis.
Das Script baut eine ssh-Verbindung auf Port 22 zum Rooti auf. Via RSA-Key kann es sich ohne Passwort am Server anmelden.
Das Script lädt die geänderten Daten herunter, und legt sie auf unserem lokalen Backupserver ab.
Die Weiterverarbeitung der Daten sei jetzt mal uninteressant.
Funktionierte bisher sehr gut.

Aber: auf dem neuen Server wurde der SSH-Port geändert (häufige Brutforce-Attacken), Root-Anmeldung wurde unterbunden (nur noch User, dann "su")

Jetzt zur Frage: wie läßt sich die oben beschriebene Backup-Maßnahme auf die neue Konstellation anwenden? Wird das Backup nicht über den Benutzer "root" ausgeführt, ändern sich die Dateirechte beim herunterladen. Somit also total unbrauchbar.
Gibt es eine möglichkeit, sich via RSA als "su" zu identifizieren? Bleiben die Rechte dann erhalten? Und wo im rsync-Syntax beim LogIn via ssh muss der Port angegeben werden?

Fragen über Fragen!

:?:
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Backup über shell auf definiertem port ohne root mit rsync ?

Post by captaincrunch »

man rsync wrote:rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

thanx, aber ...

Post by the.dancer »

das mit dem zugriff auf einen anderen, als den standard-port funzt.
allerdings find ich keine lösung, die rechte der dateien beizubehalten, ausser einem login via root. aber genau dieses wollte ich ja nicht. root-anmeldungen sind auf dem webserver deaktiviert.
vielleicht weiss ja jemand den abschnitt in einer man-datei, welchen ich übersehe.
captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten
Contact:
 

Re: Backup über shell auf definiertem port ohne root mit rsync ?

Post by captaincrunch »

Geht nicht:
man rsync wrote:-o, --owner preserve owner (root only)
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc
kuntho
Posts: 149
Joined: 2004-10-27 14:22
Location: Küps
Contact:
 

Re: Backup über shell auf definiertem port ohne root mit rsync ?

Post by kuntho »

Wieso versuchst Du es nicht ansers? Wir erzeugen als root per cron ein Tarfile (mit tar -cvzpf /home), das dann per ssh abgeholt werden kann. In diesem Fall ist es egal, dass die Owner / Rechte des Tar - Files beim Runterladen als "normaler" User geändert werden, nach Auspachen mit tar -xvzpf [TARFILE] passen die Rechte / Eigentümer der Entpackten Dateien.
the.dancer
Posts: 56
Joined: 2004-01-25 19:53
 

gute idee

Post by the.dancer »

thanx, die idee ist ja gut. hatte ich auch bereits mal an-, jedoch nicht zuendegedacht.
somit würde das eigentliche backup auf dem webserver laufen, und die backupfiles nur ausgelagert auf unseren backupserver.
somit erzeuge ich aber mehr traffic, als mit der alten version mit root-login. oder seh ich das falsch? denn rsync wird mir dann wohl immer die gesammte .tar downloaden, und nicht wie bisher nur geänderte dateien.

oder?

:)
kuntho
Posts: 149
Joined: 2004-10-27 14:22
Location: Küps
Contact:
 

Re: Backup über shell auf definiertem port ohne root mit rsync ?

Post by kuntho »

Stimmt schon. In dem Fall würde ich nur Inkremente ins Tarfile packen. Denkbar wäre zum Beispiel bei einem täglichen Backup:

find [VERZEICHNIS] -mtime -1 -exec tar -rvpf BACKUPFILE.tar {} ;

Damit werden nur die Dateien, die in den letzten 24 Stunden erzeugt / geändert werden ins Tarfile gepackt. Das kann dann mit gzip gepackt und runtergeladen werden.

Alternativ baut man sich ein Infofile über alle Dateien / Dateigrößen im zu sichernden Verzeichnis zum Zeitpunkt X, vergleicht das per Script mit dem aktuellen Bestand und ermittelt so die Inkremente, die gesichert werden sollen. Da gibts mehr als genug Möglichkeiten, wie man das erschlagen kann.
Post Reply