Direkte Übertraung von Dateien von Server zu Server per FTP möglich?

Kongolan

in einer ehrlichen Phase
Registriert
15 Juli 2013
Beiträge
69
Hallo Leute,

ich habe seit ein paar Tagen einen dedicated server mit Ubuntu und muss nun über 20GB von meinem alten Server übertragen. Wenn ich es jedoch über meinen Heim-PC versuche, wäre die Uploadzeit über 2 Tage, da ich hier nur 100 KiB/s habe.

Gibt es eine Möglichkeit den Ubuntu Server direkt per FTP mit dem alten Server zu verbinden, um die bessere Bandbreite zu nutzen? Ich wüsste nicht, wie ich einen FTP-Client ohne GUI auf dem Server zu laufen bekomme und wie ich die beiden verbinden würde.

Gibt es dafür vielleicht ein Schlüsselwort?

LG
 
Mit FTP wird alles unverschlüsselt übertragen. Eher weniger ratsam. SSH und rsync wäre wohl die sinnvollere Lösung. Damit läuft dann auch nichts über deinen Rechner daheim.
 
  • Thread Starter Thread Starter
  • #3
Verschlüsselung ist mir bei einmaliger Übertragung aktuell recht egal, was brauche ich denn dafür, um den Ubuntu Server mit meinem anderen FTP Server zu verbinden?

rsync sieht ganz gut aus, wie stelle ich die FTP Verbindung mit dem anderen Server her?

Edit: Ich habe lediglich einen FTP-User auf meinem alten Server, daher ist FTP die einzige Methode.
 
Zuletzt bearbeitet:
Rsync geht über SSH und nein, Verschlüsselung ist auch bei einer einmaligen Übertragung nicht egal.

Vielleicht solltest du einfach keinen Server administrieren, wenn du solche einfachen Konzepte nicht verstehst. RTFM.



Falls du zu dem alten Server nur einen FTP-Zugang hast: Was hast du dir dabei gedacht? Lass dir vom Hoster nen sicheren Zugang legen. Oder lass dir zumindest eine verschlüsselte Datei auf einen HTTP-Server mit Zugangsbeschränkung legen – dann kannst du es per wget/curl ziehen. FTP gibts auch als Kommandozeilentool, FXP wäre für einen einmaligen Transfer auch gerade noch so in Ordnung.
 
  • Thread Starter Thread Starter
  • #5
Es handelt sich bei beiden hauptsächlich um Gameserver, der alte war nur ein gemieteter Gameserver mit FTP-Zugang.

Die Daten sind aktuell wirklich keines Falls wichtig, daher ist bei der einmaligen Übertragung die Verschlüsselung nicht notwendig. Später verwende ich natürlich Verschlüsselungen und achte auf Sicherheit.

Ich versuche deine genannten Programme, das hilft mir schon weiter als es ins Blaue über Google zu probieren.
 
File Exchange Protocol (FXP) ?

FXP muessten die Server aber unterstuetzen, sonst schaut das schlecht aus :(
Du koenntest das testen indem du z. B. FlashFXP Client installierst, zum neuen und alten Host verbindest und dann einfach versuchst ob du Files von A nach B "ziehen" kannst.

Wenn du jetzt aber schon einen "eigenen" Server hast, kannst du auch gleich beginnen dich mit der Konsole an zu freunden; da fuehrt sowieso kein Weg daran vorbei.

Vielleicht solltest du einfach keinen Server administrieren, wenn du solche einfachen Konzepte nicht verstehst. RTFM.

Na aber wenn man halt "nichts zu verbergen [SUP]TM[/SUP]" hat!?

Du sagst, auf den alten Server kommst du nur ueber FTP, sonst nichts? Schaffst du es auf deinen neuen Server ueber SSH zu verbinden? Wenn du eine SSH Session auf deinem neuen Server starten kannst (unter Windows am ehesten mit putty.exe unter Linux gewohnt ueber SSH Client), koenntest du von dort mit einem FTP Client ganz einfach alle Dateien kopieren. Ich verwende am liebsten lftp Client.

Also verbinde zum neuen Server ueber SSH. Dort gehst du in das Verzeichnis in das du alle Daten vom alten Server kopieren willst. Als Beispiel nehmen wir das Verzeichnis alter_server in meinem Homedir:

[src=bash]cd ~/
mkdir alter_server
cd alter_server[/src]

Dann checkst du ob lftp Client installiert ist:

[src=bash]apt-cache policy lftp[/src]

Wenn dort steht "Installed:None" dann:

[src=bash]sudo apt-get install lftp[/src]

Dann wirst du nach deinem root Passwort auf dem neuen Server gefragt und anschliessend der Client installiert. Danach sicherstellen, dass du noch immer in deinem "alter_server" Verzeichnis bist und lftp starten. Der -d Switch zeigt etwas genaueren Output falls Fehler auftreten.

[src=bash]lftp -d dein.username.am.alten.server@dein.alter.host.com[/src]

Danach gibst du dein FTP Passwort fuer den alten Server ein. Der Client verbindet erst wenn du den ersten Befehl eingibst:

[src=bash]im lftp client: ls[/src]

Wenn alles gut gegangen ist solltest du ein Directory Listing sehen oder zumindest eine Fehlerbeschreibung.

Um den kompletten Inhalt eines Verzeichnisses zu kopieren, wuerde ich den "mirror" Befehl verwenden:

[src=bash]im lftp: help mirror[/src]

Um den kompletten Inhalt deines alten Servers zu kopieren, wuerdest du also folgendes machen:

[src=bash]Zuerst SSH Verbindung zum neuen Server herstellen dann:

in der bash: mkdir /home/deinusername/alter_server
in der bash: cd /home/deinusername/alter_server
in der bash: lftp username@neuer-hostname.com
im lftp: ftp Passwort fuer neuen Server eingeben
im lftp: cd /
im lftp: mirror ./ ./
im lftp: quit[/src]

That's it ...

<3
 
Was spricht gegen folgendes Vorgehen:

- SSH von zu Hause auf den neuen Server
- wget mit dem Parameter -m (für mirror) per FTP auf den alten FTP hetzen
- warten
- fertig

Is zwar unverschlüsselt (das is dem TS ja nicht wichtig), aber einfach, schnell und mit Bordmitteln zu erledigen.
 
  • Thread Starter Thread Starter
  • #9
Wenn du jetzt aber schon einen "eigenen" Server hast, kannst du auch gleich beginnen dich mit der Konsole an zu freunden; da fuehrt sowieso kein Weg daran vorbei.

Du sagst, auf den alten Server kommst du nur ueber FTP, sonst nichts? Schaffst du es auf deinen neuen Server ueber SSH zu verbinden? Wenn du eine SSH Session auf deinem neuen Server starten kannst (unter Windows am ehesten mit putty.exe unter Linux gewohnt ueber SSH Client), koenntest du von dort mit einem FTP Client ganz einfach alle Dateien kopieren. Ich verwende am liebsten lftp Client.

Also verbinde zum neuen Server ueber SSH. Dort gehst du in das Verzeichnis in das du alle Daten vom alten Server kopieren willst. Als Beispiel nehmen wir das Verzeichnis alter_server in meinem Homedir:

Werde ich probieren, arbeite seit 2 Tagen sowieso schon mit Putty und habe schon einiges installiert. Hoffentlich klappt lftp...

Gibt es dort auch eine Möglichkeit, die Daten auf Datum und Dateigröße zu vergleichen? Habe schon etwa 2-3GB von den benötigten Daten auf dem Server und will sie natürlich nicht doppelt laden.

Was spricht gegen folgendes Vorgehen:

- SSH von zu Hause auf den neuen Server
- wget mit dem Parameter -m (für mirror) per FTP auf den alten FTP hetzen
- warten
- fertig

Is zwar unverschlüsselt (das is dem TS ja nicht wichtig), aber einfach, schnell und mit Bordmitteln zu erledigen.

Dagegen spricht gar nichts. Wusste einfach gar nicht, dass wget auch mit FTP geht, werde aber zuerst lftp verwenden.


Edit:
Es gibt einen -n parameter der nur neuere Daten übertragt, die Frage ist natürlich, ob die Dateigröße auch beachtet wird.

Habe den Prozess aber jetzt gestartet und schau einfach mal ;)

Hier noch ein Link, der mir geholfen hat:


Das ging schnell:
[src=bash]
Total: 57 directories, 10606 files, 0 symlinks
New: 5402 files, 0 symlinks
Modified: 210 files, 0 symlinks
51450842742 bytes transferred in 1676 seconds (29.27 MiB/s)
Removed: 0 directories, 4 files, 0 symlinks
3 errors detected
**** Peer closed connection
---- Closing control socket
[/src]

Etwas zu schnell irgendwie, nach knapp 20 Minuten war es geschehen, während ich normalerweise etwa 22 Stunden gebraucht hätte.
Sollte ich die 3 Errors beachten?
 
Zuletzt bearbeitet:
Was sind denn die 3 Errors?

29MiB/s ist für vermutliche GBit-Anbindung gar nicht mal so gut :p
Maximum wären 120MiB/s, meistens kommen so 80-90MiB/s raus.
 
  • Thread Starter Thread Starter
  • #12
Ich hatte leider -verbose an, was dazu führt, dass ich die Errors nicht mehr finde. Denke aber alles hat geklappt und ich kann den alten server stornieren.

Denke auch, dass die Transfergeschwindikeit durch die kleinen Dateien beeinflusst.

Ohne euch hätte es auf jeden Fall, um einiges länger gedauert. Danke dafür!
 
Mit curl auf dem neuen Server die Daten vom alten Server abholen.
 
Zurück
Oben