Загрузка больших файлов через FTP с помощью python

Я пытаюсь ежедневно загружать файл резервной копии с моего сервера на локальный сервер хранения, но у меня некоторые проблемы.

Я написал этот код (удалил бесполезные части, такие как функция электронной почты):

import os
from time import strftime
from ftplib import FTP
import smtplib
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders

day = strftime("%d")
today = strftime("%d-%m-%Y")

link = FTP(ftphost)
link.login(passwd = ftp_pass, user = ftp_user)
link.cwd(file_path)
link.retrbinary('RETR ' + file_name, open('/var/backups/backup-%s.tgz' % today, 'wb').write)
link.delete(file_name) #delete the file from online server
link.close()
mail(user_mail, "Download database %s" % today, "Database sucessfully downloaded: %s" % file_name)
exit()

И я запускаю его с помощью crontab, например:

40    23    *    *    *    python /usr/bin/backup-transfer.py >> /var/log/backup-transfer.log 2>&1

Он работает с небольшими файлами, но с файлами резервных копий (около 1,7 ГБ) он зависает, загруженный файл получает около 1,2 ГБ, а затем никогда не растет (я ждал около дня), а файл журнала пуст.

Есть идеи?

ps: я использую Python 2.6.5

7
задан Strae 30 November 2011 в 09:22
поделиться