python3传文件到linux服务器然后解压

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import paramiko
import time
from scp import SCPClient



#将脚本传到服务器,并解压
def transRemote(ip,user,password):
    try:

        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(ip, 22, username=user, password=password, timeout=200)
        stdin, stdout, stderr=ssh.exec_command("pwd")
        #path=stdout.read().strip("\n")

        # 获取路劲
        path= stdout.read().decode('utf-8').strip("\n")

        #查看python版本
        stdin, stdout, stderr=ssh.exec_command("python -V")
        print(stdout.read().decode('utf-8'))
        # pythonVsersion=stdout.read().strip("\n")
        pythonVsersion = stdout.read().decode('utf-8').strip("\n")
        scriptName="jixianjiancha.tar.gz"
        if(len(pythonVsersion)==0):
            scriptName="jixianjiancha.tar.gz"
        else:
            if(pythonVsersion.split()[1].startswith("3")):
                scriptName="jixianjiancha2.tar.gz"

        current_path=os.getcwd()
        #print current_path
        scpclient = SCPClient(ssh.get_transport(), socket_timeout=15.0)
        scpclient.put('%s\\check\\%s'%(current_path,scriptName), '%s/jixianjiancha.tar.gz'%path)
        print("[*]将脚本传送到远程服务器")

        index=0
        script_number=12
        while(index<10):
            stdin, stdout, stderr=ssh.exec_command('tar -xvf %s/jixianjiancha.tar.gz'%path)
            time.sleep(2)
            stdin, stdout, stderr=ssh.exec_command("ls %s"%(path))
            scripts=len(stdout.read().decode('utf-8').strip("\n"))
            if(scripts==12):
                index=11
            else:
                index+=1
        print("[*]在远程服务器上解压脚本")
        ssh.close()
        return True
    except Exception as e:
        print(e)
    return False

if __name__ == '__main__':
    transRemote('192.168.221.133','root','toor')

转载于:https://www.cnblogs.com/17bdw/p/11559514.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python项目打包部署到Linux服务器运行,需要以下几个步骤: 1. 安装Python环境:在Linux服务器上安装Python环境,确保项目中所需要的Python版本和第三方库能够被正常使用。 2. 打包Python项目:使用Python的打包工具将项目打包成可部署的文件,常用的打包工具有setuptools和pyinstaller。 3. 将打包文件输到Linux服务器:将打包好的文件通过FTP或SCP等方式输到Linux服务器上。 4. 解压打包文件:在Linux服务器解压打包好的文件,确保文件结构正确,文件权限设置正确。 5. 启动项目:使用Linux命令启动Python项目,如使用nohup命令可以在后台启动项目。 6. 监控日志:项目运行时可能会有错误,可以通过查看日志来进行排查和调试,建议使用日志框架如logging等来输出详细日志信息。 需要注意的是,在部署过程中需要确保Linux服务器上的Python版本和项目所需要的版本一致,否则可能会出现不兼容或者运行出错的情况。同时,还需要确保Linux服务器上有足够的空间存储项目文件和日志文件。 ### 回答2: Python作为一种高效的编程语言,运行效率高、开发效率高、可读性强、生态完善,深受广大开发者的喜爱。在开发一些小型工具、脚本、网站等项目时,我们通常会使用Python进行开发。但是当我们需要在Linux服务器上部署这些Python项目时,就需要进行打包和部署。 Python项目打包: Python项目打包通常使用一些工具,如setuptools等。在使用setuptools前,首先需要创建一个setup.py文件,这个文件包含了一些元数据,例如项目名称、作者、版本、依赖等信息。接着使用setuptools将项目打包成一个可安装的tar.gz压缩包。 部署Linux服务器: 一般来说,Python项目可以部署在Linux服务器的各种环境中,例如虚拟环境、Docker容器、系统环境等。部署时我们需要考虑以下问题: 1. 安装Python环境:在Linux服务器上安装Python环境,保证能够正确的运行Python项目。 2. 安装依赖:根据Python项目的依赖文件(如requirements.txt),在服务器上安装所需的第三方库和软件包。 3. 部署项目:将打包好的Python项目上服务器,并解压出来。 4. 运行项目:运行Python项目,例如运行Flask应用或者Celery任务队列等。 5. 设置守护进程:在Linux服务器上将Python项目设置为守护进程,保证项目可以持续运行并在系统崩溃后自动重启。 总结: Python项目打包和部署是Python开发领域非常重要的一部分。Python项目打包可以使用setuptools等工具,将Python项目打包成可用的tar.gz文件。在Linux服务器上部署Python项目时,要看到Python环境和依赖,上解压项目文件,运行项目并设置守护进程,以保证项目能够稳定地运行。 ### 回答3: 在进行 Python 项目的部署前,需要进行如下准备工作: 1. 确认 Python 环境是否正确安装 在 Linux 服务器上安装 Python 环境是非常重要的,因此需要先确认 Python 是否已经安装、版本号等信息。常用的 Linux 发行版都会默认安装 Python,如果缺少可以通过安装包管理程序进行安装。 2. 安装打包工具 Python 有很多打包工具,如 setuptools、py2exe、pyinstaller 等,这些工具可以将整个 Python 项目打包成一个可执行文件,便于输和部署。其中,我们以 Pyinstaller 为例。 3. 配置虚拟环境 虚拟环境是一个干净的、隔离的 Python 运行环境,可以根据需要创建多个,避免 Python 包的版本冲突。可以使用 virtualenv 等工具来进行配置。 4. 安装项目依赖包 Python 项目在运行时会用到许多依赖包,需要在部署前将这些包安装到虚拟环境中。可以使用 pip 等工具自动安装。 接下来,我们以 Pyinstaller 打包为例,介绍 Python 项目的部署过程: 1. 安装 Pyinstaller ``` pip install pyinstaller ``` 2. 执行打包命令 ``` pyinstaller -F main.py ``` 其中,-F 参数指定将所有依赖项打包成一个单独的可执行文件,main.py 是项目入口文件名。 3. 拷贝打包文件服务器 将生成的 dist/main 文件拷贝至服务器,即可在服务器上运行。 4. 执行代码 ``` ./main ``` 即可执行代码。 总结: 在部署 Python 项目时,需要注意以下几点: 1. 确认 Python 环境是否正确安装; 2. 安装打包工具,并执行打包命令生成可执行文件; 3. 配置虚拟环境,并安装项目依赖包; 4. 将生成的可执行文件拷贝至服务器,执行即可。 最后,需要注意及时更新依赖包版本,确保代码的稳定性和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值