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基础教程之类class定义使用方法
Feb 20 Python
python实现文件分组复制到不同目录的例子
Jun 04 Python
在Python中处理字符串之ljust()方法的使用简介
May 19 Python
python对离散变量的one-hot编码方法
Jul 11 Python
Python标准库shutil用法实例详解
Aug 13 Python
详解Python的循环结构知识点
May 20 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
Python 图像对比度增强的几种方法(小结)
Sep 25 Python
Python如何通过百度翻译API实现翻译功能
Apr 02 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 Python
python PIL模块的基本使用
Sep 29 Python
Python内置数据结构列表与元组示例详解
Aug 04 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
Linux下将excel数据导入到mssql数据库中的方法
2010/02/08 PHP
使用php测试硬盘写入速度示例
2014/01/27 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
PHP中使用虚代理实现延迟加载技术
2014/11/05 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
关于JavaScript中原型继承中的一点思考
2012/07/25 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
php和js对数据库图片进行等比缩放示例
2014/04/28 Javascript
html的DOM中document对象forms集合用法实例
2015/01/21 Javascript
jQuery实现网页顶部固定导航效果代码
2015/12/24 Javascript
jQuery抛物线运动实现方法(附完整demo源码下载)
2016/01/08 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
用jquery的attr方法实现图片切换效果
2017/02/05 Javascript
vue.js移动端tab组件的封装实践实例
2017/06/30 Javascript
Angular2实现组件交互的方法分析
2017/12/19 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
linux下安装python3和对应的pip环境教程详解
2019/07/01 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
Python 元组拆包示例(Tuple Unpacking)
2019/12/24 Python
pytorch数据预处理错误的解决
2020/02/20 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
只要五步 就可以用HTML5/CSS3快速制作便签贴特效(图)
2012/06/04 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
大学运动会入场词
2014/02/22 职场文书
餐厅总厨求职信
2014/03/04 职场文书
优秀公益广告词大全
2014/03/19 职场文书
联谊活动总结范文
2015/05/09 职场文书
舌尖上的中国观后感
2015/06/02 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android