FTP-Timeout beim senden großer Dateien

Hallo liebe wer-weiss-was.de-Community,

ich habe einen kleinen Debian-Server am laufen und möchte gerne Backups auf einen backup-ftp sichern. Ich habe mir dazu ein Shellscript angelegt, welches alle Daten (4 tar.gz-dateien zwischen 1MB und 6 GB) in ein Verzeichnis kopiert und dann folgende Befehle ausführt:

ncftp -u $ftp\_user -p $ftp\_passwort $ftp\_server 

Das Script hat auf meinem alten Server super funktioniert, auf dem neuen bekomme ich jetzt folgenden Fehler:



    NcFTP 3.2.4 (Apr 07, 2010) by Mike Gleason (http://www.NcFTP.com/contact/).
    Connecting to \*\*\*\*\*\*\*\*\*
    ProFTPD 1.3.4b Server [::\*\*\*\*\*\*\*\*]
    Logging in...
    User \*\*\*\*\* logged in
    Logged in to \*\*\*\*\*\*\*.de.
    ./2012-09-07\_web.tar.gz: 6.50 GB 10.84 MB/s
    ./2012-09-07\_con.tar.gz: 356.89 kB 1.47 MB/s
    ...-07\_ho.tar.gz: ETA: 0:01 697.34/704.06 MB 10.97 MB/s Could not read reply from control connection -- timed out.
    ./2012-09-07\_ho.tar.gz: 704.06 MB 3.53 MB/s
    put .: could not send file to remote host.



Der FTP-Server wird von meinem Hoster gestellt, darauf habe ich keinen Zugriff. Ich habe dazu bereits Google befragt, aber keine Antwort erhalten. Ich muss irgendwie die Verbindung am Leben halten, aber wie? Hat jemand eine Idee?

Vielen Dank schon einmal im Voraus.

Grüße

Howdy,

hast du schon mal

set passive yes

probiert?

Gruss
norsemanna

Hallo Norsemanna,

danke für die schnelle Antwort. Ich habs ins Script eingebaut (direkt nach dem Login) doch leider kein Erfolg. Der Abbruch passiert ca an der selben Stelle.

Grüße

Howdy,

danke für die schnelle Antwort. Ich habs ins Script eingebaut
(direkt nach dem Login) doch leider kein Erfolg. Der Abbruch
passiert ca an der selben Stelle.

war 'nen Schuss wert, haette ja die Firewall sein koennen, die den Transferabbruch verursacht, weil der Datenport nicht durchgelassen wird. Ueberpruef auf jeden Fall nochmal die FW Einstellungen, sofern eine vorhanden ist.

Was anderes:
Warum nimmst du nicht lftp mit ftp:ssl-protect-data oder scp/sftp?

Deine Daten sind auf einer normalen ftp Verbindung nicht unbedingt sicher…

Gruss
norsemanna

Hallo,

ich bin ehrlich gesagt noch relativ in den Anfängen der Konsolenadiminstration und ncftp hat mir gefallen weil ich den Inhalt ganzer Verzeichnisse auf den FTP laden kann.

Die Sicherheit spielt in diesem Fall keine Rolle, da der FTP nur intern von meinem Server aus erreichbar ist (innerhalb des Netzwerkes meines Hosters). Der Datenverkehr geht nur Intern über ein Switch vom Server zum FTP.

Ich bin aber auch offen für andere Varianten. Das einzige was ich benötige is was schlankes, wo ich gesamte Verzeichnisse verschieben kann und es muss das FTP-Protokoll sein, was anderes kann der Backup-Space nicht, sonst wäre SCP meine erste Wahl.

Grüße

Probier mal lftp. Die Kommandosequenz da wuerde lauten

----lftp.script----
connect host
login user
mirror -R mein_verzeichnis

und dann

lftp -f lftp.script
(Man kann das natuerlich auch immer haendisch eingeben)

Sofern du sicheren Transfer haben moechtest, hast du in deinem Homeverzeichnis ein .lftprc

----.lftprc-----
set ftp:ssl-allow true
set ftp:ssl-force true
set ftp:ssl-protect-data true

Gruss
norsemanna

Hallo Norsemanna,

danke für den Tipp. So hat es nun endlich funktioniert. Wir haben zwar das Grundproblem nicht gelöst aber der Workaround funktioniert perfekt. Ich hab den Befehl folgendermaßen (und ein bisschen abgewandelt) ins SH-Script gebaut:

lftp -u $ftp\_user,$ftp\_passwort -e "rm -r aktuelles\_backup/;mirror -R aktuelles\_backup/;BYE" sftp://$ftp\_server

Leider hat

lftp -u $ftp\_user,$ftp\_passwort -c "rm -r aktuelles\_backup/;mirror -R aktuelles\_backup/" sftp://$ftp\_server

nicht funktioniert. Deshalb also -e und das BYE am Ende der Befehlsreihe. Vielen Dank für deine Hilfe Norsemanna.

Grüße