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字符转换
Sep 06 Python
python 生成目录树及显示文件大小的代码
Jul 23 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
关于Python如何避免循环导入问题详解
Sep 14 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
django反向解析URL和URL命名空间的方法
Jun 05 Python
在python中做正态性检验示例
Dec 09 Python
python获取网络图片方法及整理过程详解
Dec 20 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
Python序列化pickle模块使用详解
Mar 05 Python
python中matplotlib实现随鼠标滑动自动标注代码
Apr 23 Python
python属于解释型语言么
Jun 15 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
WINDOWS 2000下使用ISAPI方式安装PHP
2006/09/05 PHP
php中的三元运算符使用说明
2011/07/03 PHP
WordPress自定义时间显示格式
2015/03/27 PHP
Yii统计不同类型邮箱数量的方法
2016/10/18 PHP
thinkphp诸多限制条件下如何getshell详解
2020/12/09 PHP
图片完美缩放
2006/09/07 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
JS实现仿新浪黄色经典滑动门效果代码
2015/09/27 Javascript
jquery实现简单的表单验证
2015/11/17 Javascript
学习JavaScript设计模式(链式调用)
2015/11/26 Javascript
详解JavaScript逻辑And运算符
2015/12/04 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
2019/12/08 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
原生js实现弹窗消息动画
2020/11/20 Javascript
jQuery实现增删改查
2020/12/22 jQuery
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
python计算最小优先级队列代码分享
2013/12/18 Python
Python中逗号的三种作用实例分析
2015/06/08 Python
Python 探针的实现原理
2016/04/23 Python
详解Python的Twisted框架中reactor事件管理器的用法
2016/05/25 Python
Python语言描述最大连续子序列和
2017/12/05 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
IGK Hair官网:喷雾、洗发水、护发素等
2020/11/03 全球购物
2014年自我评价
2014/01/04 职场文书
酒店营销策划方案
2014/02/07 职场文书
小区物业门卫岗位职责
2014/04/10 职场文书
事业单位考察材料范文
2014/12/25 职场文书