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

目录
相关文章
|
4月前
|
人工智能 JavaScript API
零基础构建MCP服务器:TypeScript/Python双语言实战指南
作为一名深耕技术领域多年的博主摘星,我深刻感受到了MCP(Model Context Protocol)协议在AI生态系统中的革命性意义。MCP作为Anthropic推出的开放标准,正在重新定义AI应用与外部系统的交互方式,它不仅解决了传统API集成的复杂性问题,更为开发者提供了一个统一、安全、高效的连接框架。在过去几个月的实践中,我发现许多开发者对MCP的概念理解透彻,但在实际动手构建MCP服务器时却遇到了各种技术壁垒。从环境配置的细节问题到SDK API的深度理解,从第一个Hello World程序的调试到生产环境的部署优化,每一个环节都可能成为初学者的绊脚石。因此,我决定撰写这篇全面的实
838 67
零基础构建MCP服务器:TypeScript/Python双语言实战指南
|
3月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
3月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
706 1
|
4月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
704 13
|
4月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
504 13
|
4月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
909 0
|
4月前
|
监控 Linux 网络安全
FinalShell SSH工具下载,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux
FinalShell是一款国人开发的多平台SSH客户端工具,支持Windows、Mac OS X和Linux系统。它提供一体化服务器管理功能,支持shell和sftp同屏显示,命令自动提示,操作便捷。软件还具备加速功能,提升访问服务器速度,适合普通用户和专业人士使用。
992 0
|
4月前
|
存储 安全 Linux
Linux服务器上安装配置GitLab的步骤。
按照以上步骤,一个基础的GitLab服务应该运行并可以使用。记得定期检查GitLab官方文档,因为GitLab的安装和配置步骤可能随着新版本而变化。
370 0
|
4月前
|
数据采集 监控 算法
Python文件与目录比较全攻略:从基础操作到性能优化
文件比较的核心在于数据指纹校验,通过逐字节比对生成唯一标识,确保内容一致性。从标准库的os与filecmp到高性能第三方库如pydiffx,再到分布式与量子加密技术的未来趋势,文件比较广泛应用于数据备份、代码审查与系统监控等领域,是保障数据完整性的关键技术手段。
107 0
|
28天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
197 10

热门文章

最新文章