Sunucumdan günlük olarak bir yedekleme dosyasını yerel depolama sunucuma indirmeye çalışıyorum ama bazı sorunlarım var.Python ile FTP yoluyla büyük dosyaları indirin
I (e-posta fonksiyonu olarak yararsız parçaları kaldırıldı,) bu kodu yazmış:
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()
Ve böyle bir crontab ile bu çalıştırın:
40 23 * * * python /usr/bin/backup-transfer.py >> /var/log/backup-transfer.log 2>&1
Küçük dosyalarla çalışır
ama yedekler dosyaları (yaklaşık 1.7Gb) ile donar, indirilen dosya 1.2Gb hakkında daha sonra asla büyümez (bir gün bekledim) ve günlük dosyası boş.
Herhangi bir fikrin var mı?
P.S.: im Sen aşımını ayarlama deneyebilirsiniz Python 2.6.5
Sorunu daha fazla gidermek için, indirme ilerlemesi hakkında daha fazla bilgi toplamak için '' geri arama '' argümanını 'FTP.retrbinary'den kullanabilirsiniz. Ayrıca, "maxblocksize" ile oynamak bazı ağ sorunlarını ortaya çıkarabilir. – jcollado