<强>代码如下强>
# !/bin/python #=utf - 8编码 # python版本=2.75 #使用python2 从ftplib进口FTP #引用ftplib库中的FTP功能模块,进行FTP下载使用 导入时间#引用时间模块 进口操作系统#引用os模块 ”“” 使用字典,定义交换机主机,一个字典包含多个键,一个键使用一个列表,包含多个主机地址按照实际情况定义 ”“” dic={ “tongjiju”: [' XXXX.XXXX.XXXX.XXXX ', “XXXX.XXXX.XXXX.XXXX”, “XXXX.XXXX.XXXX.XXXX”), “滴水”:[' XXXX.XXXX.XXXX.XXXX ', ' XXXX.XXXX.XXXX.XXXX '] } ”“” 定义函数保存、主机 ”“” def保存(主机、ftp): #函数名保存,两个参数,主机和ftp url='/根/backup_new/{}“.format(主机)#定义下载文件保存路径和目录url,位置为/根/backup_new/,按照主机内容格式化名称 今天=trftime (“Y % - % - % d”, time.localtime()) #定义时间,按照本地时间年月日定义 如果不是os.path.exists (url): #判断url文件是否存在,不存在 os.mkdir (url) #则新建目录url dic的主机(主机):#循环,逐一循环字典中键和键值 os.chdir (url) #切换目录到url(/根/backup_new/) 如果不是os.path.exists(主持人):#判断如果没有定义和创建主机(按照列表中的主机地址)的文件目录 os.mkdir(主机)#创建主机目录 os.chdir(主机)#切换到主机目录 其他:#否则(当主机目录存在时) os.chdir(主机)#切换到主机目录 试一试:#错误处理机制,当发生错误时,按照指定方式进行,因为有时主机不可达,ftp连接不上会报的错 ftp。连接(主机,“21”)# ftp.connect方法,主机为主机(列表中地址),端口21 ftp。登录(“管理”、“xxxx”) # ftp.login方法,账户名为admin,密码为xxxx 打印“登录”+主机#打印登录和主机,例如登录172.31.216.2 打印ftp.getwelcome () # ftp.getwelcome方法,打印ftp登录成功信息 bufsize=1024 #缓存区大小1024 文件名=" {}. zip " .format(今天)# ftp下载的文件按照今天(今天前面定义过)时间命名,例如2018=07 - 01. - zip $ file_handle=开放(文件名,“世界银行”)。写#以ftp读写的打开文件文件名 ftp。retrbinary (“RETR vrpcfg。邮政”,$ file_handle bufsize) # ftp.retrbinary方法,以二进制的方式下载vrpcfg.zip的文件(华为交换机的配置文件),然后以读写的方式保存 打印主机+“ftp ok”#打印主机和“ftp ok”,例如172.31.216.2 ftp下来好了 除了例外e: #如果以上尝试语句部分发生错误,ftp不可达到,则跳转到该处,执行,整个过程不中断 打印“{}是损失,味精:{}”。格式(主机、e) #打印错误信息,例如172.31.216.2损失,味精:错误 ”“” 定义主函数 ”“” def main(): #函数名 ftp=ftp() #定义ftp=ftp()空函数 # ftp.set_debuglevel(2) #打开ftp调试开关,有0 - 3不同级别,打开后显示ftp详细信息,可以选择使用 # 0主动模式1 #被动模式 ftp.set_pasv(0) #这里使用ftp.set_pasv方法,确定使用主动模式,一般ftp采用被动模式,有很大机率登录异常 主机在dic.keys(): #循环dic字典的键值 保存(主机、ftp) #调用保存函数 #关闭调试模式 # ftp.set_debuglevel(0) #关闭调试开关,前面如果打开了开关,则这里需要关闭 ftp.quit () # ftp退出,必须使用 main ()
<强>使用效果强>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。