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

by:授客

实现功能

批量从不同的Linux服务器下载指定文件

测试环境

Win7 64位

Python 3.3.2

pscp 64位

下载地址:

网盘下载地址:

使用方法

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:\pkgdirdirpath_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

分别记录了运行成功和失败的文件信息

源码下载地址

python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件相关推荐

  1. cmd下载远程linux的文件,Java利用ssh协议实现从远程Linux服务器下载文件和文件夹...

    近来应需求需要,做了服务器之间的文件传输,利用的ssh协议.查阅各种资料博客,基本都是下载文件的方法,找不到下载文件夹得方法.思索多日写了一个下载文件夹的简单方法,可能步骤繁琐,优化不大好.由于jsc ...

  2. linux文件夹加密忘记密码,如何通过密码保护Linux上的文件夹或目录?

    假设你在Linux主目录下有一个文件夹,你把不希望任何人没有密码就能访问的安全文档文件存储在里面.那样一来,即使有人设法搞到了你的计算机,进而访问主目录,仍有另外一道防线守护着你的私密文件. Cryp ...

  3. python批量生成文件夹_python实现批量获取指定文件夹下的所有文件的厂

    本文实例讲述了python实现批量获取指定文件夹下的所有文件的厂商信息的方法.分享给大家供大家参考.具体如下: 功能代码如下: import os, string, shutil,re import ...

  4. python win32选取文件夹_python小工具 | Excel的xls和xlsx格式文件转换

    众所周知Excel文件格式转换可以通过"另存为"的方式转换格式,可以说是简单方便,但是对于大量文件转换或者经常重复进行转换操作时,这种方法就很不方便. 显然利用程序对xls和xls ...

  5. python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)

    1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...

  6. 服务器文件夹大小查看器,asp利用FSO检测服务器空间文件夹大小

    asp利用FSO检测服务器空间文件夹大小 * {margin:0;padding:0;font-size:12px;} body {padding:15px;} .size1 {font-weight ...

  7. python自动下载qq文件夹_Python实现批量下载文件

    Python实现批量下载文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from gevent import monkey monkey.patch_a ...

  8. python批量访问网页保存结果_Python检测批量URL状态,并将返回正常的URL保存文件...

    -- coding: UTF-8 -- #author == huangyishan import os import sys import urllib2 urls = sys.argv[1] #从 ...

  9. java 到服务器上读文件路径,java访问linux服务器读取文件路径

    java访问linux服务器读取文件路径 内容精选 换一换 通过ADC从Host获取文件.参见准备环境完成环境配置.以运行用户登录安装Toolkit组件的服务器.执行命令,从Host获取B.java, ...

最新文章

  1. mongodb与mysql命令对比
  2. Pixel相机是怎么做到自动补抓最不错的自拍照
  3. CF914G Sum the Fibonacci(FWT模板+子集卷积)
  4. 不止代码:洛谷P1064 金明的预算方案+P2014选课(依赖背包)
  5. c++ 显示三维散点图_【无机纳米材料科研制图——OriginLab 0210】Origin多组柱状图3D柱状图及3D散点图...
  6. mysql 排序1.1.1_mysql中字符串1.1/1.2/1.2.2/1.2.5排序问题
  7. android Mediaplayer各种属性和方法简单介绍
  8. flask-user and flask-admin实现登录验证
  9. Linux——进程管理简单学习笔记(二)
  10. win10+GTX1070+keras+Anaconda+python3.5安装记录
  11. 停课集训 11.30
  12. JBoss - 调整JVM内存 -Xms512m -Xmx1024m
  13. 蓝桥杯真题-数列求值(填空-10分)
  14. 服务器ghost备份后无法进入系统还原,如下图,电脑开不起来了,重新ghost恢复备份的系统后启动依旧蓝屏,怎么办?...
  15. 关于本特利内华达状态监测保护系统相关说明
  16. 2019年“深圳杯”数学建模挑战赛B题解题思路(一)
  17. 怎么用计算机算分数加减法,怎么算分数加减法?怎么教给孩子?
  18. 【C语言入门】四人火柴游戏
  19. 【转载】浅谈蓝牙 Mesh 组网技术
  20. 充分利用居室空间 让阳台尽显万种风情

热门文章

  1. wdinow 下 使用 docker 安装  code-server (web 版 vscode)
  2. Emmet 语法 速查表
  3. linux向用户发送消息
  4. linux把标准输出赋值给变量遇到的问题
  5. unittest学习记录
  6. 计算机编程课程顺序_九月份可以开始提供650多种免费的在线编程和计算机科学课程
  7. d3 canvas_D3和Canvas分3个步骤
  8. linux 事实日志_Linux是25。是的! 让我们用有关Linux的25个令人震惊的事实来庆祝。
  9. 浅谈自执行函数-立即调用的函数表达式
  10. 【Python3爬虫】大众点评爬虫(搞定CSS反爬)