Python 实现批量从不同的Linux服务器下载文件
基于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
?
?
?
?
轉載于:https://www.cnblogs.com/shouke/p/10157546.html
總結
以上是生活随笔為你收集整理的Python 实现批量从不同的Linux服务器下载文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu16.04搭建ftp服务器
- 下一篇: linux 其他常用命令