Python脚本远程Linux创建目录上传文件

Posted 涛¥哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python脚本远程Linux创建目录上传文件相关的知识,希望对你有一定的参考价值。

  最近这段时间,经常通过xftp在服务器上创建目录并上传文件,繁琐的事一直循环的做,因此一直在想通过Python脚本能自动创建目录,上传文件,询问公司大佬和百度终于找到了方法,接下来看看。

一. 说明 

  主要安装两个模块paramiko与scp,功能即可实现

  paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

  scp是我们在shell上经常使用的命令,用来远程传输文件。python上也能做到scp的功能

 

一. 代码实例

# coding:utf-8

import paramiko
from scp import SCPClient


class Host:
    def __init__(self):
        self.user = ""
        self.ip = "root"
        self.password = "123456"


    # 创建目录
    def mkdir(self):
        try:
            ssh = paramiko.SSHClient()
            ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            ssh.connect(self.ip, username=self.user, password=self.password)
            sftp = ssh.open_sftp()
            sftp.mkdir("/data/etc/bill/20200224")
            print("Create folder ‘20200224‘ in remote hosts successfully!
")
            ssh.close()
        except:
            print("Create folder failure!
")

    def upload_img(self,img_name, remote_path="/data/etc/bill/20200224",
                   file_path="D:PythonProjectimg"):

        ssh_client = paramiko.SSHClient()
        ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
        ssh_client.connect(self.ip, username=self.user, password=self.password)
        scpclient = SCPClient(ssh_client.get_transport(), socket_timeout=15.0)
        local_path = file_path + "\" + img_name
        try:
            scpclient.put(local_path, remote_path)
        except FileNotFoundError as e:
            print(e)
            print("系统找不到指定文件" + local_path)
        else:
            print("文件上传成功")
        ssh_client.close()

if __name__ == ‘__main__‘:
    t = Host
    print("Begin......
")
    t.mkdir()
    img_name = 1.jpg
    upload_img( img_name)

  

以上是关于Python脚本远程Linux创建目录上传文件的主要内容,如果未能解决你的问题,请参考以下文章

linux自动备份文件 并上传到远程服务器 脚本实现

用python写测试脚本,从本地传文件至ftp远程路径

python写的批量操作远程主机脚本(命令执行,上传下载文件)

Linux系统上传文件与下载文件命令

Python脚本实现KVM虚机添加磁盘

再见XshellXftp!Python执行Linux命令上传下载远程文件