#-*-coding:utf8 -*-
#!/usr/bin/env python
from ftplib import FTP
import time
import os
import logging
import logging.handlers
class Log():
def __init__(self):
pass
''' 记录日志到文件 '''
def logger(self,logfile):
logger = logging.getLogger()
#handler = logging.FileHandler(logfile) #记录日志到单个文件
#rhandler = logging.handlers.RotatingFileHandler(filename=logfile,mode='a',maxBytes=1024*1024*1,backupCount=10) #记录日志到文件
thandler = logging.handlers.TimedRotatingFileHandler(filename=logfile,when='D',interval=1,backupCount=10)#保留十天的日志
formatter = logging.Formatter('[%(levelname)s] \t %(asctime)s %(filename)s %(filename)s %(message)s')
thandler.setFormatter(formatter)
logger.addHandler(thandler)
logger.setLevel(logging.NOTSET)
return logger
log = Log()
logger = log.logger("c://log/temp.log")
logger.info("Start Log log")
class HandleFtp():
def __init__(self):
pass
''' check network status result==1 : network is not ok result==0: network is ok '''
def checkNetwork(self,netaddress):
#处理 Packets: Sent = 4, Received = 2, Lost = 2 (50% loss), 状况
time.sleep(2)
result = os.system('ping '+netaddress)
return result
def login(self,ip,port,loginame,passwd,dir):
ftp=FTP()
#ftp.set_debuglevel(2) #打开调试级别2,显示详细信息
logger.info("+++++++++++++++++++ Ftp Server Info +++++++++++++++++")
logger.info(" ftp server's ip "+ip)
logger.info(" ftp server's port "+str(port))
logger.info(" ftp server's loginame "+loginame);
logger.info(" ftp server's passwd "+passwd)
logger.info(" ftp server's dir "+dir)
logger.info("+++++++++++++++++++ Ftp Server Info +++++++++++++++++")
ftp.connect(ip,port) #连接
ftp.login(loginame,passwd) #登录,如果匿名登录则用空串代替即可
#print ftp.getwelcome() #显示ftp服务器欢迎信息
ftp.cwd(dir) #选择操作目录
self.bufsize = 1024 #设置缓冲块大小
return ftp
def handleData(self,ftp,ftpaddress,port,loginame,passwd,dir):
while(True):
if self.checkNetwork(ftpaddress) == 1:
logger.error("network happens errors ftpaddress "+ftpaddress)
time.sleep(10 * 1)
else:
print "++++++++++++++++++++++++++++++++"
print ftp
try:
filelist = ftp.nlst()
except Exception:
pass
finally:
ftp = self.login(ftpaddress, port,loginame, passwd, dir)
print ftp.nlst()
for file in filelist:
filename=file
filename1 = "c:\\temp\\"+filename
print filename
print filename1
try:
file_handler = open(filename1,'wb') #以写模式在本地打开文件
except Exception:
logger.exception(" open file "+filename1+" hanppen exception"+Exception)
try:
ftp.retrbinary('RETR '+filename,file_handler.write,self.bufsize) #接收服务器上文件并写入本地文件
except Exception:
logger.exception(" get data "+filename+" happen exception "+Exception)
filename1 = ""
filename = ""
try:
file_handler.close()
except Exception:
logger.exception("close file "+filename+" happen exception "+Exception )
time.sleep(10);
def quit(self,ftp):
ftp.quit() #退出ftp服务器
#ftp.set_debuglevel(0) #关闭调试
if __name__ == "__main__":
ftp = HandleFtp()
ftpl = ftp.login('10.232.75.46', 21,'anonymous', '', '/')
ftp.handleData(ftpl,'10.232.75.46', 21,'anonymous', '', '/')
分享到:
相关推荐
FTP 服务器在 Linux 系统中的安装和配置是一个非常重要的 tema,因为它提供了文件传输协议(FTP)的服务,使用户可以通过 FTP 客户端与远程机器传输文件数据,下载或上传最新的软件。在本文中,我们将详细介绍 FTP ...
ftp服务器.rar ftp服务器.rar ftp服务器.rar ftp服务器.rar ftp服务器.rar ftp服务器.rar
通过使用Serv-U,用户能够将任何一台PC 设置成一个FTP 服务器,这样,用户或其他使用者就能够使用FTP 协议,通过在同一网络上的任何一台PC与FTP 服务器连接,进行文件或目录的复制,移动,创建,和删除等。...
FTP服务器知识点总结 FTP(File Transfer Protocol)是用于在网络上进行文件传输的一种协议。在这里,我们总结了一些国内较好...用户需要了解FTP服务器的特点和应用,选择合适的FTP服务器,确保数据的安全性和隐私性。
本实验报告旨在指导学生掌握 Linux 下的 FTP 服务器配置方法,熟悉 FTP 客户端工具的使用,并掌握常见的 FTP 服务器的故障排除。实验中,我们将使用 Vsftpd 服务器,配置 FTP 服务器,实现连接限制、日志记录、消息...
FtpServer_服务器_文件服务器_FTP服务器_ftpserver_源码.zip
资源名称:FTP服务器 FileZilla Server v0.9.59 工具简介:小巧的FTP服务器软件,若你想玩玩简单的FTP服务器,那你可以试试这个耗用系统资源相当小的软件,让你轻松又容易架设一个FTP服务器。主要特点:1.自定义欢迎...
Serv-u架设FTP服务器最完善最详细教程.doc
Linux 下 lftp 连接 FTP 服务器上传下载命令 概述 LFTP(Linux File Transfer Program)是一个功能强大的 FTP 客户端程序,可以在 Linux 操作系统中使用,用于连接 FTP 服务器,上传和下载文件。LFTP 的主要特点是...
本实验报告的主要目的是掌握 Linux 下的 FTP 服务器配置和管理,具体来说是掌握 Vsftpd 服务器的配置方法、熟悉 FTP 客户端工具的使用和掌握常见的 FTP 服务器的故障排除。 一、实验目的: 在本实验中,我们的目的...
[跨平台FTP服务器端].Wing.FTP.Server.v3.4.5.Corporate.Edition.Multilingual.WinAll.Cracked-CRD
实验四FTP服务器及WWW服务器配置分享.pdf
linux下FTP服务器安装配置(VSftp).pdf
[跨平台FTP服务器端].Wing.FTP.Server.v3.3.5.Corporate.Edition.WinAll.Cracked
Python语言实现FTP服务器的方法共2页.pdf.zip
Python语言实现FTP服务器的方法共2页.pdf.zip
FTP服务器警惕“上访”欺诈.pdf
linux下配置FTP服务器步骤【精选文档】.doc
FTP服务器Port和Pasv模式释义.pdf
全中文FTP服务器软件,反应迅速,操作方便,实现了标准FTP服务器所具有的功能 软件具有以下特点: 1.软件安装程序极小,但性能毫不逊色于专业FTP服务器软件 2.功能全面.具备完整的帐户管理,便捷的服务器配置,安全性设置...