需求:

利用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相关推荐

  1. js blob 下载到本地文件

    本文意在解决Js保存语音文件并下载到本地,不同的浏览器保存的方式不同 if ('msSaveOrOpenBlob' in navigator){window.navigator.msSaveOrOpe ...

  2. java从远程url文件流读取文件并下载到本地

    java从远程url文件流读取文件,且下载到本地,写个循环可实现批量 import java.io.*; import java.net.HttpURLConnection; import java. ...

  3. Python 连接FTP服务器并实现文件夹下载实例演示,python区分ftp目录下文件和文件夹方法,ftp目录下包含中文名问题处理

    Python 连接 FTP 服务器并实现文件夹下载实例演示 第一章:连接 FTP 服务器并实现文件夹下载 ① 连接 FTP 服务器 ② 进入指定目录并显示文件信息 ③ 区分文件和文件夹名 ④ 文件夹名 ...

  4. 文件包含原理及本地文件包含漏洞演示(本地文件,远程包含文件的测试)

    一.文件包含漏洞概述 1.定义:文件包含漏洞是一种最常见的漏洞类型,它会影响依赖于脚本运行时的web应用程序.当应用程序使用攻击者控制的变量构建可执行代码的路径时,文件包含漏洞会导致攻击者任意控制运行 ...

  5. 可以读取html文件,javascript能读取本地文件吗?

    JavaScript读取本地文件 利用XMLHttpRequest对本地文件进行读取操作,值得注意的是,HTML文档的格式要与流中的读取格式设置一致, 代码如下:function load(name) ...

  6. 实现sftp链接,并下载服务器上文件

    首先,需要在pom文件中引入链接sftp的依赖,我这里用的是jsch,如下: <dependency><groupId>com.jcraft</groupId>&l ...

  7. byte转文件流 下载到本地

    此方法将byte类型文件转为文件流保存到本地 byte 经过BASE64Decoder 进行编码之后的类型 所以需要解码 防止出现乱码及文件损毁 /*** byte 转文件 下载到本地* @param ...

  8. 如何将服务器端的文件或文件夹下载到本地

    问题如上所示,企业开发人员的数据和程序很多都是放在服务器上面的,但是有时候需要下载到本地跑一下或者进行修改.我使用的是scp命令. 先来看看如何将服务器上面文件下载到本地,直接上命令: scp zhu ...

  9. ASP.NET获取远程网页下载到本地文件

    通过ASP.NET生成静态文件的文章网上有好多文章,而本站也有不少的相关文章教程,通常ASP.NET生成静态文件的做法是使用文件流读取模板内容,之后替换模板内容中相关关键字,再生成静态文件.本文的做法 ...

  10. 基于vue.js的饿了么的element-ui的unpkg文件的下载到本地

    现在vue.js使用很广泛,饿了么的element-ui基于vue.js开发的ui框架.官方提供了unpkg的访问地址https://unpkg.com/element-ui@2.4.6/.可以直接在 ...

最新文章

  1. 吴裕雄--天生自然 高等数学学习:高阶偏导数
  2. 印度电信巨头牵手阿里云 拥有全球最大规模私有海底光缆
  3. 【转载】java中泛型使用详解
  4. git安装、使用及常见报错
  5. (一)导学(Javascript设计模式系统讲解与应用)
  6. android enum 内存,Android 中的 Enum 到底占多少内存?该如何用?
  7. 【转】sip中的subscribe和notify扩展应用技术
  8. 如何使自己的不和谐机器人
  9. linux eclipse svn插件安装,Linux上Eclipse安装SVN插件和安装JavaHL
  10. 唯一索引与主键索引的比较
  11. static,inline,volatile的作用
  12. webstorm汉化攻略
  13. 全民奇迹辅助制作视频教程
  14. 数据分析:AARRR模型
  15. LeetCode 216组合总和III 17电话号码的字母组合
  16. 根据当前时间计算年龄的函数
  17. 基于单片机的汽车灯光设计
  18. Darknet框架解读
  19. Oracle数据库精讲与疑难解析(第2版)
  20. linux硬盘和分区,Linux硬盘和分区

热门文章

  1. 第 89 章 Hardware
  2. mysql配置utf8_mb4
  3. Volley 源码分析
  4. 学会Git玩转Github笔记(三)—— Github Pages 搭建个人网站
  5. 二 Linux 简单配置
  6. SQL Server 设计开发系列(文章索引)
  7. 微信授权获取code(微信支付)
  8. 计蒜客NOIP2017提高组模拟赛(三)day2-小区划分
  9. 最全解析如何正确学习JavaScript指南,必看!
  10. ResponsibleChain(责任链模式)