博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sftp日志文件定时下载到本地文件 python 3
阅读量:5096 次
发布时间:2019-06-13

本文共 2119 字,大约阅读时间需要 7 分钟。

需求:

利用ssh协议和sftp服务,将日志文件夹里的文件同步到本地存储,检查时间-4至1过滤条件:时间戳(20180101),与本地文件名全等

源码展示:

#!/usr/bin/env python# -*- coding :uft-8 -*-import paramikoimport osimport 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/远程目录remote    local = 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')    # 链接sftp    sftp = 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

你可能感兴趣的文章
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
Redis Cluster高可用集群在线迁移操作记录【转】
查看>>
二、spring中装配bean
查看>>
VIM工具
查看>>
javascript闭包
查看>>
创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备...
查看>>
mysql8.0.13下载与安装图文教程
查看>>
http://coolshell.cn/articles/10910.html
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
【3.1】Cookiecutter安装和使用
查看>>
【2.3】初始Django Shell
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>