Kopieren einzelner Dateien von Server zu Server

killer666

New Member
Hallo zusammen,

mir steht eine Neuinstallation eines vServer mit altem Suse 9.3 bevor.
Hierzu müsste ich ein Backup auf einen externen Server spielen.
Bisher habe ich solche Probleme immer gelöst, indem ich gewünschte Verzeichnisse in ein Tarball gesteckt habe und diesen dann kopiert habe.
Auf dem genannten vServer ist jedoch zu wenig Platz um vor dem kopieren ein Tarball zu erstellen - demnach muss ich die Dateien irgendwie einzeln zum Server bekommen.
Meine Bedenken sind hierbei unter anderem dass mir sämtliche Dateiberechtigungen verloren gehen könnten.
Da das genanntes Suse ja keinen Support mehr besitzt, ist es mir nicht möglich irgendwelche Zusatzprogramm zu installieren, da u.A. sämtliche Files zum selbst kompilieren fehlen und diese seitens meinem Provider auch nicht mehr für den vServer angeboten werden.

Hat jemand eine Idee, wie ich eine Kopie von gewünschten Dateien auf einen anderen vServer bekomme - idealerweise natürlich im Hintergrund, sprich dass ich nicht die ganze Zeit eine Verbindung zu einem der beiden Server haben muss ...
Kür wäre hierbei dass alle Dateiberechtigungen erhalten bleiben ...

Vielen Dank für eure Ideen

killer
 
Tar muss nicht unbedingt in eine Datei schreiben, sondern kann das auch in direkt eine Pipe. Somit benötigst Du nicht den doppelten Speicherplatz auf dem Server.
Code:
tar cf - /ordner | ssh server2 "cat > /tmp/backup.tar"
oder
Code:
 tar cf - /ordner | ssh server2 tar xf -
 
Oder per rsync über ssh

Code:
rsync -av -e "ssh" /meine/daten/ user@neuerserver.com:/ziel/verzeichnis/
 
Vielen Dank für die Antworten.
Habe erfolgreich die tar-Methode getestet.
Bei Gelegenheit werde ich mir auch noch die rsync-Methode anschauen.

killer
 
WEnn ich mich mal dazwischen werfen darf, kann ich auch auf gute Art und Weise alle Daten von meinem vServer zu mir nach Hause sichern? Mir steht leider kein zweiter Server zur Verfügung und ich würde gerne demnächst ein Backup machen und daher alles vorher komplett sichern
 
Ja, das ist problemlos möglich, sofern Du auf dem lokalen Rechner ein Unix-basiertes Betriebssystem hast.
Code:
ssh server "tar jcf - /verzeichnis" > verzeichnis.tar.bz2
Evtl. geht das auch mit Windows in der Eingabeaufforderung, sofern Du die richtigen Tools dafür installiert hast (Kommandozeilen-Version der ssh). Das Einfachste wird sein, eine Live-Linux-DVD zu booten (z.B. Knoppix) und das damit zu machen. Eine Partition, auf der genügend Platz für das Backup ist, müsstest Du halt entsprechend mounten.
 
Evtl. geht das auch mit Windows in der Eingabeaufforderung, sofern Du die richtigen Tools dafür installiert hast (Kommandozeilen-Version der ssh). Das Einfachste wird sein, eine Live-Linux-DVD zu booten (z.B. Knoppix) und das damit zu machen. Eine Partition, auf der genügend Platz für das Backup ist, müsstest Du halt entsprechend mounten.
Warum so kompliziert? Da er von einem Server zum anderen kopieren möchte, kann er das doch schlicht von dort aus machen (natürlich auch nur, sofern da doppelt Platz ist) ;)

Ansonsten ist rsync echt ein tooles Tool:
Code:
rsync -r -e "ssh -p [PORT] -i [priv. Key]" [Quelldateien] [remote Benutzer]@[remote Host]:[Zielpfad]
 
Last edited by a moderator:
OK, danke, ich nutze zu Hause seit längerer Zeit Ubuntu, daher ist das kein Problem :-)

JEtzt wäre ich noch für einen Tipp für eine evtl. Rücksicherung dankbar :D
 
Warum probierst Du es nicht einfach mit ein paar Dateien aus? Es geht genau umgekehrt wie beim Backup:
Code:
ssh server "tar -jxf - " < backup.tar.bz2
Die Option -C von tar zum Angeben des Zielverzeichnisse ist in diesem Zusammenhang auch recht nützlich.
 
Back
Top