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

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

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

 



 

 

实现功能

批量上传文件、目录(包括该目录下的所有文件,子目录及其文件)到不同的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:登录该主机的用户名

hostkeyhostkey

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 2048c2: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相对于“根目录”的目录路径|需要上传到的服务器远程目录

 

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

 

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

 

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

 

源码下载地址

https://pan.baidu.com/s/1dEJpwrf

 

改进版(bug修复与改进)

[授客]基于Python实现批量上传文件或目录到不同的Linux服务器20170718.zip

目录
相关文章
|
1天前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
5天前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
29 7
|
8天前
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
1月前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
44 2
|
29天前
|
中间件 Docker Python
【Azure Function】FTP上传了Python Function文件后,无法在门户页面加载函数的问题
通过FTP上传Python Function至Azure云后,出现函数列表无法加载的问题。经排查,发现是由于`requirements.txt`中的依赖包未被正确安装。解决方法为:在本地安装依赖包到`.python_packages/lib/site-packages`目录,再将该目录内容上传至云上的`wwwroot`目录,并重启应用。最终成功加载函数列表。
|
2月前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
4天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与ECS的区别及选择指南
轻量应用服务器和云服务器ECS(Elastic Compute Service)是两款颇受欢迎的产品。本文将对这两者进行详细的对比,帮助用户更好地理解它们之间的区别,并根据自身需求做出明智的选择。
|
5天前
|
SQL 弹性计算 安全
阿里云上云优选与飞天加速计划活动区别及购买云服务器后续必做功课参考
对于很多用户来说,购买云服务器通常都是通过阿里云当下的各种活动来购买,这就有必要了解这些活动的区别,同时由于活动内的云服务器购买之后还需要单独购买并挂载数据盘,还需要设置远程密码以及安全组等操作之后才能正常使用云服务器。本文就为大家介绍一下目前比较热门的上云优选与飞天加速计划两个活动的区别,以及通过活动来购买云服务器之后的一些必做功课,确保云服务器可以正常使用,以供参考。
|
25天前
|
存储 人工智能 弹性计算
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理
阿里云弹性计算(ECS)提供强大的AI工作负载平台,支持灵活的资源配置与高性能计算,适用于AI训练与推理。通过合理优化资源分配、利用自动伸缩及高效数据管理,ECS能显著提升AI系统的性能与效率,降低运营成本,助力科研与企业用户在AI领域取得突破。
45 6
下一篇
DataWorks