基于Python实现批量从不同的Linux服务器下载文件
授客 QQ:1033553122
实现功能 1
测试环境 1
使用方法 1
、 编辑配置文件conf/file_for_download.txt 1
、 编辑配置文件conf/download.conf 1
、 编辑配置文件conf/host_config.conf 2
、 运行程序 3
、 查看结果 3
源码下载地址 4
实现功能
批量从不同的Linux服务器下载指定文件
测试环境
位
Python 3.3.2
位
下载地址:
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
说明:
:要下载目标文件所在的主机ip
:要下载的目标文件路径--相对于“根目录”的文件绝对路径,,每一行代表一个文件路径
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
如下截图,配置需要下载文件所在的服务器主机信息
说明:
: [需要下载文件所在的目标主机ip]
:需要上传文件的目标主机ip
:登录该主机的用户名
: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
选项说明:
:端口
:登录密码
:要下载的远程文件
登陆服务器的用户名@服务器ip
:存储下载文件的目标路径
注意:一个文件要能被正常下载,必须满足三个条件:
配置了该文件所在远程主机和绝对路径
节点下,配置了该文件名,且非注释
配置了要下载文件所在主机节点信息
4、运行程序
进入到项目跟目录
cd /d autodeploy20171102
python main.py
5、查看结果
result/result_for_success.txt
result/result_for_failure.txt
分别记录了运行成功和失败的文件信息