im essayant de télécharger quotidiennement un fichier de sauvegarde de mon serveur sur mon serveur de stockage local, mais j'ai eu des problèmes.
J'ai écrit ce code (supprimé les parties inutiles, comme la fonction de messagerie): p> < Pré> xxx pré>
et je l'exécute avec un crontab comme: p> Il fonctionne avec de petits fichiers, mais avec les fichiers de sauvegarde (environ 1,7 Go) Il gèle, le fichier téléchargé obtient environ 1,2 Go puis ne grandit jamais (j'ai attendu environ une journée), et le fichier journal est vide. P> aucune idée? P> PS: im en utilisant Python 2.6.5 P> P>
3 Réponses :
Vous pouvez essayer de définir le délai d'attente. Du DOCS :
# timeout in seconds link = FTP(host=ftp_host, user=ftp_user, passwd=ftp_pass, acct='', timeout=3600)
Désolé si je réponds à ma propre question, mais j'ai trouvé la solution.
J'ai essayé FTPPOUPL sans succès, alors j'ai essayé de nombreuses méthodes et enfin, cela fonctionne: P>
01-12-2011 23.30 - Connected to FTP 01-12-2011 23.30 while > try, run retrbinary 02-12-2011 00.31 while > except, something going wrong: timed out file lenght is: 1754695793 > 1754695793 02-12-2011 00.31 - Connected to FTP Done with file, attempt to download m5dsum
J'ai implémenté le code avec FTPLIB qui peut surveiller la connexion, la reconnexion et le fichier de téléchargement de la chargement de téléchargement en cas de défaillance. Détails ici: Comment télécharger Big File en Python via FTP (avec surveillance et reconnexion)? P>
@Roman J'utilise votre script, je télécharge une taille de fichier de 2 Go car j'ai dirigé votre script, il est resté coincé quand il atteint la taille de 'dst_filesize'.
Pour résoudre encore le problème, vous pouvez peut-être utiliser l'argument code> Callback code> à partir de
ftp.retrbinary code> pour recueillir plus d'informations sur la progression de téléchargement. En outre, la lecture avec
maxblockSize code> pourrait révéler un problème de réseautage.