专栏首页授客的专栏Python基于Python实现批量上传文件或目录到不同的Linux服务器

Python基于Python实现批量上传文件或目录到不同的Linux服务器

实现功能 1

测试环境 1

使用方法 1

1、 编辑配置文件conf/rootpath_for_doc.conf 1

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

3、 编辑配置文件conf/doc_for_upload.txt 3

4、 运行程序 4

5、 查看结果 4

6、 改进一点 5

源码下载地址 5

实现功能

批量上传文件、目录(包括该目录下的所有文件,子目录及其文件)到不同的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/rootpath_for_doc.conf

[DOCROOTPATH]

rootpath_for_doc = D:\mysvn\

说明:

rootpath_for_doc设置一个目录路径,作为配置文件所在跟目录,本文中以以下目录结构为例子

D:\mysvn

└─myfolder

│ SVNClient.py

├─mydir

│ newfile_test.txt

└─testdir

t.txt

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

如下截图,配置需要上传文件、目录(包括)的服务器主机信息

说明:

[192.168.1.102]: [需要上传文件的目标主机ip]

host:需要上传文件的目标主机ip

username:登录该主机的用户名

hostkey:hostkey

password:登录密码

port:端口号

remark:补充说明,比如该主机是作啥用的

hostkey的或许方式如下:

进入到项目文件中的pscp目录

cd /d C:\Users\laiyu\PycharmProjects\autodeploy\pscp

执行以下命令

pscp.exe -v -P 22 -pw huozhe -r D:\mysvn\\myfolder\SVNClient.py root@192.168.1.102:/root/testdir

Connecting to 192.168.1.102 port 22

……(略)

Host key fingerprint is:

ssh-rsa 2048 c2:52:16:3f:24:37:b8:65:ec:9b:26:e5:04:e8:1d:a9

The server's host key is not cached in the registry. You

have no guarantee that the server is the computer you

think it is.

……(略)

如上图,带背景色,加粗部分的内容,就是hostkey

选项说明:

-P 22:端口

-pw :登录密码

D:\mysvn\\myfolder\SVNClient.py:要上传至服务器的本地文件

root@192.168.1.102:登陆服务器的用户名@服务器ip

/root/testdir:要上传到服务器的目标目录

3、编辑配置文件conf/conf/doc_for_upload.txt

# 测试实例名(# 代表注释

[192.168.1.102]

myfolder\SVNClient.py|/root/testdir

myfolder | /root/testdir

# wx

[10.202.94.176]

#pullGit.bat | /home/appdeploy/

[10.202.94.177]

#Dir|/home/appdeploy/

说明:

[192.168.1.102]:要上传文件至目标主机ip

myfolder\SVNClient.py|/root/testdir:相对于“根目录”的文件路径|需要上传到的服务器远程目录

此处,根目录,即conf/rootpath_for_doc.conf中配置的跟目录rootpath_for_doc值

myfolder|/root/testdir:相对于“根目录”的目录路径|需要上传到的服务器远程目录

注意:目录路径、文件路径,与远程目录之间以 | 分隔,

# 注释,注释会被程序自动忽略,可以用notepad,ultraEdit的列模式,批量编辑批量注释

4、运行程序

进入到项目跟目录

cd /d C:\Users\laiyu\PycharmProjects\autodeploy

python main.py

5、查看结果

uploadresult/result_for_upload_success.txt

uploadresult/result_for_upload_failure.txt

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

6、改进一点

建议写成批处理

cd /d C:\Users\laiyu\PycharmProjects\autodeploy

python main.py

start C:\Users\laiyu\PycharmProjects\autodeploy\uploadresult/result_for_upload_success.txt

start C:\Users\laiyu\PycharmProjects\autodeploy\uploadresult/uploadresult/result_for_upload_failure.txt

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于Python实现的死链接自动化检测工具

    编辑conf/urlNoLogin.txt文件中填写不需要登录就可访问的种子url,格式如下,每行一条url路径

    授客
  • nmon 及nmon analyser工具使用简介

    http://nmon.sourceforge.net/pmwiki.php?n=Site.Download

    授客
  • Fiddler 使用fiddler无法抓取苹果手机https请求问题解决方案

    手机浏览器访问代理主机监听端口(例中为:http://192.168.0.104:8888,其中192.168.0.104为fiddler所在主机地址,8888...

    授客
  • Skype Linux Alpha 1.13发布:支持发送短信

    尽管 Linux 桌面操作系统有着很高的生产力和安全性,但其在软件和功能的丰富程度上仍无法与 Windows 10 和 macOS Sierra 相比,比如 M...

    Debian社区
  • Linux基础(day15)

    4.5/4.6 磁盘格式化 windows和Linux系统格式 在分区后,磁盘需要格式化 Windows中,有NTFS、fat格式,其中fat格式基本已经不用...

    运维小白
  • hdu1099

    @坤的
  • 假期谷歌开了个硬件发布会,却彰显了它在新时代的隐忧?

    10月5日凌晨,谷歌召开盛大发布会,发布了一系列硬件,从连续两年举办专门的硬件发布会来看,这家全球最大的互联网公司正在变得越来越“硬”。不过谷歌的硬件之路要走通...

    罗超频道
  • GoPro Arduino控制库.阅读源码.1

    借助ESP8266开发板,WiFiEsp库允许Arduino开发板连接到互联网。它既可以用作接受传入连接的服务器,也可以用作进行传出连接的客户端。WiFiEsp...

    云深无际
  • hdu1081

    @坤的
  • 盘点人工智能十大经典应用领域、图解技术原理

    导读:本文通过案例分门别类地深入探讨人工智能的实际应用。案例甚多,此处所列举的仅是九牛一毛。本该按行业或业务对这些案例进行分类,但相反我选择按在行业或业务中最可...

    华章科技

扫码关注云+社区

领取腾讯云代金券