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


Posted in Python onJuly 08, 2019

系统环境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 相关文章推荐
使用Python编写Linux系统守护进程实例
Feb 03 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
python数字图像处理实现直方图与均衡化
May 04 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
在Django的View中使用asyncio的方法
Jul 12 Python
Python3内置模块random随机方法小结
Jul 13 Python
django-crontab 定时执行任务方法的实现
Sep 06 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
Nov 26 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 Python
python tkinter实现连连看游戏
Nov 16 Python
Python使用Pygame绘制时钟
Nov 29 Python
使用python socket分发大文件的实现方法
Jul 08 #Python
python查看文件大小和文件夹内容的方法
Jul 08 #Python
python 搜索大文件的实例代码
Jul 08 #Python
代码实例讲解python3的编码问题
Jul 08 #Python
Python参数类型以及常见的坑详解
Jul 08 #Python
python里运用私有属性和方法总结
Jul 08 #Python
python设计微型小说网站(基于Django+Bootstrap框架)
Jul 08 #Python
You might like
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
php通过执行CutyCapt命令实现网页截图的方法
2016/09/30 PHP
php+redis实现多台服务器内网存储session并读取示例
2017/01/12 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP析构函数destruct与垃圾回收机制的讲解
2019/03/22 PHP
jQuery 自定义函数写法分享
2012/03/30 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
浅析document.ready和window.onload的区别讲解
2013/12/18 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
js+cookies实现悬浮购物车的方法
2015/05/25 Javascript
基于zepto.js简单实现上传图片
2016/06/21 Javascript
使用jquery实现的循环连续可停顿滚动实例
2016/11/23 Javascript
react-router JS 控制路由跳转实例
2017/06/15 Javascript
vue插件vue-resource的使用笔记(小结)
2017/08/04 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
Python程序设计入门(2)变量类型简介
2014/06/16 Python
python实现逻辑回归的方法示例
2017/05/02 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
python找出完数的方法
2018/11/12 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
windows10下安装TensorFlow Object Detection API的步骤
2019/06/13 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
python热力图实现简单方法
2021/01/29 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
奥地利网上书店:Weltbild
2017/07/14 全球购物
大学老师推荐信
2014/02/25 职场文书
安全协议书
2014/04/23 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
详解PHP设计模式之依赖注入模式
2021/05/25 PHP