sftp日志文件定时下载到本地文件 python 3
需求:
利用ssh协议和sftp服务,将日志文件夹里的文件同步到本地存储,检查时间-4至1 过滤条件:时间戳(20180101),与本地文件名全等
源码展示:
#!/usr/bin/env python # -*- coding :uft-8 -*- import paramiko import os import time # 目录和文件名含中文直接爆炸...def DownLoadFile(sftp, LocalFile, RemoteFile): # 下载当个文件file_handler = open(LocalFile, 'wb')# print(file_handler)sftp.get(RemoteFile, LocalFile) # 下载目录中文件 file_handler.close()return Truedef DownLoadFileTree(sftp, LocalDir, RemoteDir): # 下载整个目录下的文件if not os.path.exists(LocalDir):os.makedirs(LocalDir)for file in sftp.listdir(RemoteDir):Local = os.path.join(LocalDir, file)Remote = os.path.join(RemoteDir, file)if file.find(".") == -1: # 判断是否是文件if not os.path.exists(Local):os.makedirs(Local)DownLoadFileTree(sftp, Local, Remote)else: # 文件 DownLoadFile(sftp, Local, Remote)return "complete"def sftpFoder(sftp):ssh = serverConnect()stdin, stdout, stderr = ssh.exec_command('ls /home')res_list = stdout.readlines()[-1]# 本地文件local/远程目录remotelocal = r'..\\02\\OutPut\\%s\\%s\\' % (Ymd, res_list.strip()) # Windows文件夹remote = '/home/%s/' % res_list.strip()# 下载 DownLoadFileTree(sftp, local, remote)def serverConnect():ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='10.1.22.31', port=22, username='root', password='huanu')return sshdef LoginOS():# 登录系统transport = paramiko.Transport(('10.1.22.31', 22))transport.connect(username='root', password='huanu')# 链接sftpsftp = paramiko.SFTPClient.from_transport(transport)# 去下载筛选 sftpFoder(sftp)if __name__ == '__main__':# 获取时间/年月日时分秒YmdHMS = time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))# 获取时间/年月日Ymd = time.strftime("%Y%m%d", time.localtime(time.time()))# 去登录系统LoginOS()
pg1
参考文献
Python实现SSH传输文件(sftp) - Sch01aR# - 博客园 https://www.cnblogs.com/sch01ar/p/8024744.html
python连接sftp下载文件及文件夹 - 天马行空的博客 - CSDN博客 https://blog.csdn.net/chenjl187/article/details/83858578
转载于:https://www.cnblogs.com/huanu/p/10161653.html
sftp日志文件定时下载到本地文件 python 3相关推荐
- js blob 下载到本地文件
本文意在解决Js保存语音文件并下载到本地,不同的浏览器保存的方式不同 if ('msSaveOrOpenBlob' in navigator){window.navigator.msSaveOrOpe ...
- java从远程url文件流读取文件并下载到本地
java从远程url文件流读取文件,且下载到本地,写个循环可实现批量 import java.io.*; import java.net.HttpURLConnection; import java. ...
- Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理
Python 连接 FTP 服务器并实现文件夹下载实例演示 第一章:连接 FTP 服务器并实现文件夹下载 ① 连接 FTP 服务器 ② 进入指定目录并显示文件信息 ③ 区分文件和文件夹名 ④ 文件夹名 ...
- 文件包含原理及本地文件包含漏洞演示(本地文件,远程包含文件的测试)
一.文件包含漏洞概述 1.定义:文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序.当应用程序使用攻击者控制的变量构建可执行代码的路径时,文件包含漏洞会导致攻击者任意控制运行 ...
- 可以读取html文件,javascript能读取本地文件吗?
JavaScript读取本地文件 利用XMLHttpRequest对本地文件进行读取操作,值得注意的是,HTML文档的格式要与流中的读取格式设置一致, 代码如下:function load(name) ...
- 实现sftp链接,并下载服务器上文件
首先,需要在pom文件中引入链接sftp的依赖,我这里用的是jsch,如下: <dependency><groupId>com.jcraft</groupId>&l ...
- byte转文件流 下载到本地
此方法将byte类型文件转为文件流保存到本地 byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁 /*** byte 转文件 下载到本地* @param ...
- 如何将服务器端的文件或文件夹下载到本地
问题如上所示,企业开发人员的数据和程序很多都是放在服务器上面的,但是有时候需要下载到本地跑一下或者进行修改.我使用的是scp命令. 先来看看如何将服务器上面文件下载到本地,直接上命令: scp zhu ...
- ASP.NET获取远程网页下载到本地文件
通过ASP.NET生成静态文件的文章网上有好多文章,而本站也有不少的相关文章教程,通常ASP.NET生成静态文件的做法是使用文件流读取模板内容,之后替换模板内容中相关关键字,再生成静态文件.本文的做法 ...
- 基于vue.js的饿了么的element-ui的unpkg文件的下载到本地
现在vue.js使用很广泛,饿了么的element-ui基于vue.js开发的ui框架.官方提供了unpkg的访问地址https://unpkg.com/element-ui@2.4.6/.可以直接在 ...
最新文章
- 吴裕雄--天生自然 高等数学学习:高阶偏导数
- 印度电信巨头牵手阿里云 拥有全球最大规模私有海底光缆
- 【转载】java中泛型使用详解
- git安装、使用及常见报错
- (一)导学(Javascript设计模式系统讲解与应用)
- android enum 内存,Android 中的 Enum 到底占多少内存?该如何用?
- 【转】sip中的subscribe和notify扩展应用技术
- 如何使自己的不和谐机器人
- linux eclipse svn插件安装,Linux上Eclipse安装SVN插件和安装JavaHL
- 唯一索引与主键索引的比较
- static,inline,volatile的作用
- webstorm汉化攻略
- 全民奇迹辅助制作视频教程
- 数据分析:AARRR模型
- LeetCode 216组合总和III 17电话号码的字母组合
- 根据当前时间计算年龄的函数
- 基于单片机的汽车灯光设计
- Darknet框架解读
- Oracle数据库精讲与疑难解析(第2版)
- linux硬盘和分区,Linux硬盘和分区