python执行scp命令拷贝文件及文件夹到远程主机的目录方法

Dara ·
更新时间:2024-09-21
· 800 次阅读

系统环境centos7

python2.7

先在操作系统安装expect

[root@V71 python]# vi 3s.py #!/usr/bin/python #coding:utf-8 import sys,re import os import subprocess #scp file to remote node. def scpFileToRemoteNode(user,ip,password,localsource,remotedest,port=22): SCP_CMD_BASE = r""" expect -c " set timeout 300 ; spawn scp -P {port} -r {localsource} {username}@{host}:{remotedest} ; expect *assword* {{{{ send {password}\r }}}} ; expect *\r ; expect \r ; expect eof " """.format(username=user,password=password,host=ip,localsource=localsource,remotedest=remotedest,port=port) SCP_CMD = SCP_CMD_BASE.format(localsource = localsource) print "execute SCP_CMD: ",SCP_CMD p = subprocess.Popen( SCP_CMD , stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) p.communicate() os.system(SCP_CMD) scpFileToRemoteNode("root","192.168.156.72","密码","/tmp/var/log","/etc/",22) 执行脚本: [root@V71 python]# python 3s.py execute SCP_CMD: expect -c " set timeout 300 ; spawn scp -P 22 -r /tmp/var/log root@192.168.156.72:/etc/ ; expect *assword* { send 密码\r } ; expect *\r ; expect \r ; expect eof " spawn scp -P 22 -r /tmp/var/log root@192.168.156.72:/etc/ root@192.168.156.72's password: messages 100% 802KB 802.1KB/s 00:00

以上这篇python执行scp命令拷贝文件及文件夹到远程主机的目录方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。

您可能感兴趣的文章:Python 中的 import 机制之实现远程导入模块python 采用paramiko 远程执行命令及报错解决Python操作远程服务器 paramiko模块详细介绍PyCharm 配置远程python解释器和在本地修改服务器代码Python实现的远程文件自动打包并下载功能示例python3模拟实现xshell远程执行liunx命令的方法python实现远程控制电脑python通过paramiko复制远程文件及文件目录到本地Python远程开发环境部署与调试过程图解



scp命令 方法 拷贝 scp Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号