Python 实现批量从不同的Linux服务器下载文件
基于Python实现批量从不同的Linux服务器下载文件
by:授客 QQ:1033553122
1、 编辑配置文件conf/file_for_download.txt 1
3、 编辑配置文件conf/host_config.conf 2
实现功能
批量从不同的Linux服务器下载指定文件
测试环境
Win7 64位
Python 3.3.2
pscp 64位
下载地址:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
网盘下载地址:
https://pan.baidu.com/s/1qYFft4g
使用方法
1、编辑配置文件conf/file_for_download.txt
# 测试实例名(# 代表注释
[192.168.1.103]
/home/MariaDB-10.0.19-centos7-x86_64-test.rpm
[192.168.1.102]
/home/testacc/testfile
说明:
[192.168.1.103]:要下载目标文件所在的主机ip
/home/MariaDB-10.0.19-centos7-x86_64-test.rpm:要下载的目标文件路径--相对于“根目录”的文件绝对路径,,每一行代表一个文件路径
2、编辑配置文件conf/download.conf
[STORAGE]
dirpath_for_storage
= d:\pkgdir
dirpath_for_storage_bak
= d:\svn\mybak
[TARGET]
MariaDB-10.0.19-centos7-x86_64-test.rpm
#MariaDB-10.0.19-centos7-x86-test.rpm
说明:
dirpath_for_storage设置一个目录路径,作为下载文件的存储路径
dirpath_for_storage_bak
设置一个目录路径,存储上次下载的文件(再次执行下载之前会把dirpath_for_storage目录下的文件复制到dirpath_for_storage_bak,然后删除dirpath_for_storage下的文件)
MariaDB-10.0.19-centos7-x86_64-test.rpm 要下载的文件名称,每一行代表一个文件路径
# 表示注释,不会被程序读取
3、编辑配置文件conf/host_config.conf
如下截图,配置需要下载文件所在的服务器主机信息
说明:
[192.168.1.102]: [需要下载文件所在的目标主机ip]
host:需要上传文件的目标主机ip
username:登录该主机的用户名
hostkey:hostkey
password:登录密码
port:端口号
remark:补充说明,比如该主机是作啥用的
hostkey的获取方式如下:
进入到项目文件中的pscp目录
cd autodeploy20171102\pscp
执行以下命令
pscp.exe -v -P 22 -pw huo
zhe
root@192.168.1.103:/home/MariaDB-10.0.19-centos7-x86_64-test.rpm
d:\pkgdir
Connecting to 192.168.1.103 port 22
(略)
Host key fingerprint is:
ssh-ed25519 256
06:e4:dd:e2:99:a9:46:c7:b2:b5:c9:97:37:a6:89:dd
(略)
如上,带背景色,加粗部分的内容,就是hostkey
选项说明:
-P 22:端口
-pw :登录密码
/home/MariaDB-10.0.19-centos7-x86_64-test.rpm:要下载的远程文件
root@192.168.1.103:登陆服务器的用户名@服务器ip
d:\pkgdir:存储下载文件的目标路径
注意:一个文件要能被正常下载,必须满足三个条件:
conf/file_for_download.txt配置了该文件所在远程主机和绝对路径
conf/download.conf
TARGET节点下,配置了该文件名,且非注释
conf/host_config.conf
配置了要下载文件所在主机节点信息
4、运行程序
进入到项目跟目录
cd /d autodeploy20171102
python main.py
5、查看结果
result/result_for_success.txt
result/result_for_failure.txt
分别记录了运行成功和失败的文件信息
源码下载地址
https://pan.baidu.com/s/1hscm0rM
Python 实现批量从不同的Linux服务器下载文件的更多相关文章
- 从Linux服务器下载文件到本地命令
从Linux服务器下载文件夹到本地1.使用scp命令 scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文件 ...
- 从Linux服务器下载文件夹到本地
从Linux服务器下载文件夹到本地 1.使用scp命令 scp /home/work/source.txt work@192.168.0.10:/home/work/ #把本地的source.txt文 ...
- 通过Xshell如何从Linux服务器下载文件(亲测可行)
到网上下载lrzsz安装包,这里以lrzsz-0.12.20.tar.gz为例 2 打开终端 cd 到安装包所在目录 tar zxvf lrzsz-0.12.20.tar.gz 解压安装包 3 进入解 ...
- 如何使用命令从linux服务器下载文件到windows
1.直接使用命令从linux下载文件到windows //登录linux服务器导出mysql数据 mysqldump -hrm-2ze8mpi5i65429l1q.mysql.rds.aliyuncs ...
- 从Linux服务器下载文件到本地
通过安装xshell,连接服务器,通过以下命令可以方便的将服务器的文件下载到本地 #下载一个文件 sz filename #下载多个文件 sz filename1 filename2 #下载dir目录 ...
- SCP:从Linux服务器下载文件夹到本地
原文链接:https://blog.csdn.net/netlai/article/details/79756279 scp /home/work/source.txt work@192.168.0. ...
- scp实现mac与linux服务器之间文件传输
1.mac上传文件到linux服务器 scp 文件名 用户名@服务器ip:目标路径如:scp /Users/test/testFile test@xxx.xxx.xxx.xxx:/test/ 2.ma ...
- java使用Jsch实现远程操作linux服务器进行文件上传、下载,删除和显示目录信息
1.java使用Jsch实现远程操作linux服务器进行文件上传.下载,删除和显示目录信息. 参考链接:https://www.cnblogs.com/longyg/archive/2012/06/2 ...
- Windows操作系统远程Linux服务器传输文件方法(以EasyDSS云平台、EasyNVR上传部署为例)
本文转自博客:https://blog.csdn.net/black_3717/article/details/79769406 问题背景: 之前给客户部署我们一款EasyDSS云平台(配合EasyN ...
随机推荐
- alibaba的FastJson找不到JSON对象问题
在现在出现使用JSON.toJsonString()方法时,可能没有JSON这个对象. 这种问题可能是下载的jar版本比较高.在低版本的jar使用的是JSON对象. 我使用的是1.2.47版本的jar ...
- SPA架构的优点和缺点以及一些思考
SPA是什么? 全称是单页面应用. 一个SPA就是一个WEB应用,它所需的资源(HTML CSS JS等),在一次请求中就加载完成,也就是不需刷新地动态加载. 用术语“单页”就是因为页面在初始化加载后 ...
- [原创]K8 Cscan 3.6大型内网渗透自定义扫描器
前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...
- maven的标准pom.xml详解
maven是构建和管理理项目的利器,pom.xml 是其核心.一个标准的pom.xml该怎么写?其中的标签又有什么意义?话不多说,请看代码: <?xml version="1.0&qu ...
- [CERC2014] Virus synthesis
设f[i]为形成极长回文串i的最小操作数.答案为min f[i]+n-len[i]. 在不形成偶回文的情况下形成奇回文的最小操作数为该串长度.可以不考虑(但ans赋为len). 正确性基于: 1)奇. ...
- asp.net core mvc发布后显示异常错误信息的方法
在发布的项目文件夹中找到web.config文件,修改: <aspNetCore processPath="dotnet" arguments=".\Cloud.B ...
- 对requestAnimationFrame的一点理解
假设一个web页面为60fps(fps意为frame per second),这意为着这个页面每秒钟能重新渲染60次,60帧/1000ms换算过来约为16.6ms/帧. requestAnimatio ...
- <数据结构> 队列[转]
队列(queue)是一个简单而常见的数据结构.队列也是有序的元素集合.队列最大的特征是First In, First Out (FIFO,先进先出),即先进入队列的元素,先被取出.这一点与栈(stac ...
- kubernetes 安装kong、kong-ingress-controlor
一.关于kong的详细内容这里不再赘述,可以查看官网. kong升级到1.0以后功能越来越完善,并切新版本的kong可以作为service-mesh使用,并可以将其作为kubernetes的ingre ...
- 关于kubernetes使用私有仓库一点说明
一.概述 关于kubernetes使用私有docker image registry的一些说明: 1.对于自己构建的项目镜像或一些不想暴露到外网的image需要使用自建的私有仓库,一般有两种选择:d ...