基于Python实现批量从不同的Linux服务器下载文件

 

by:授客 QQ:1033553122

实现功能 1

测试环境 1

使用方法 1

1、 编辑配置文件conf/file_for_download.txt 1

2、 编辑配置文件conf/download.conf 1

3、 编辑配置文件conf/host_config.conf 2

4、 运行程序 3

5、 查看结果 3

源码下载地址 4

 

实现功能

批量从不同的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

最新文章

  1. 《BI那点儿事》Microsoft 神经网络算法
  2. 利用nodejs+phantomjs+casperjs采集淘宝商品的价格
  3. [经验分享] 最近调试FT232H遇到的坑
  4. 【水题】NOIP201504推销员
  5. Css3_必备10个东西
  6. 技术解析:锁屏绕过,三星Galaxy系列手机也能“被”呼出电话
  7. JNA使用
  8. CenOS7.1安装VNC——让win7远程桌面linux
  9. (原)ubuntu14手动安装matplotlib1.5
  10. webx学习1
  11. 第一次作业 orm环境构建(hibernate)及基本的demo
  12. ssh操作服务器
  13. 5. CopyOnWriteArrayList 的适用场景
  14. Android的TextView设置padding无效
  15. 使用quartz数据库锁实现定时任务的分布式部署
  16. centos7.4上安装python3环境的坑
  17. Eclipse配色方案插件
  18. substr和substring,slice和splice的区别,js字符串截取和数组截取
  19. 2.1 C语言下的位运算
  20. 关于第11周课堂mini dc的课堂练习

热门文章

  1. alibaba的FastJson找不到JSON对象问题
  2. 深入浅出 Java 中的包装类
  3. 微信小程序分包加载实战
  4. Spark面试题
  5. python学习的准备工作
  6. 分布式事务解决方案以及 .Net Core 下的实现(上)
  7. Linux编程 11(shell全局环境变量与局变环境变量)
  8. 自动测试工具(Jmeter,qtp等)
  9. Microsoft解读
  10. 用POLARDB构建客到智能餐饮系统实践