Ich bin neu hier und habe bis jetzt noch wenig Erfahrung mit Python gemacht.
Ich habe auf meinem Raspberry ein Script geschrieben welches mir alle 5 minuten kleine Textdateien auf einen FTP-Server schreibt. Das ganze funktioniert soweit sehr gut und macht das was es soll. Allerdings habe ich ungefähr einmal die Woche das Problem das sich das Script mitten in der Übertragung aufhängt. Ich kann genau sehen wie ein Teil einer Textdatei fehlt. Das ganze wäre nicht schlimm wenn es irgendwann zu einem Abbruch kommen würde den ich mit Try-Except abfangen kann, tut es aber nicht. Das Script ist wie eingefrohren. Ich muss dann immer einen Neustart durchführen. Dummerweise läuft der Raspberry nicht bei mir zuhause.
Mein Code zum Übertragen schaut so aus:
Code: Alles auswählen
def ftp5min():
try:
con = urllib2.urlopen("http://www.google.com/") #internet testen
data = con.read()
print "--------------------- online -------------------------"
#mit ftp verbinden und hochladen
sftp = ftplib.FTP('ftp.xxxx.de','user','pass') # Connect
#datei hochladen
fp = open('slg/datei1.txt','rb') # file to send
sftp.storbinary('STOR ' +'httpdocs/PI/datei1.txt', fp) # Send the file
fp = open('slg/datei2.txt','rb') # file to send
sftp.storbinary('STOR ' +'httpdocs/PI/datei2.txt', fp) # Send the file
fp.close() # Close file and FTP
sftp.quit()
print 'Die FTP-Verbindung wurde getrennt.'
except:
print " "
print " ----- Fehler oder offline :-( --------"
Code: Alles auswählen
import socket
socket.setdefaulttimeout(20.0)
Es ist für mich schwer diesen Fehler zu simulieren, deswegen würde ich mich freuen wenn jemand eine Idee hat.
Christoph