bin ganz neu in der Programmierung mit Python und brauche eigentlich nur ein kleines upload Script. Jedoch will mein bisheriges kleines Script nicht so wie ich es will.
Code: Alles auswählen
import ftplib
import os,sys
import datetime
try:
sys.argv[1]
except IndexError:
print "usage:",__file__,"<dir>"
exit()
ftp_dir="/ZIELORDNER"
server="IP FTP ZIELSERVER"
user="FTP USER ZIELSERVER"
pw="FTP PASSWORT ZIELSERVER"
sdir = " ".join(sys.argv[1:])
ftp = ftplib.FTP(server)
ftp.login(user, pw)
ftp.cwd(ftp_dir)
targetname=datetime.datetime.now().strftime("%d.%m.%y_%H-%M")
ftp.mkd(targetname)
tp=os.popen("nice -1 tar cf - "+sdir)
ftp.storbinary('STOR %s' % targetname+"/Upload.tar", tp)
ftp.close()
Das funktioniert auch fast alles so weit gut. Wenn ich jedoch einen bestimmten Ordner mit etwa 6 GB als Argument eintrage, bricht das Script immer bei 2 GB ab und gibt mir diese Fehlermeldung aus:
Code: Alles auswählen
Traceback (most recent call last):
File "/ftp_backup/ftp_backup.py", line 38, in <module>
ftp.storbinary('STOR %s' % targetname+"/Upload.tar", tp)
File "/usr/lib/python2.7/ftplib.py", line 465, in storbinary
conn.sendall(buf)
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 104] Connection reset by peer
tar: -: Nur 2048 von 10240 Bytes geschrieben
tar: Error is not recoverable: exiting now
Gruß Janik