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 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
python调用新浪微博API项目实践
Jul 28 Python
django通过ajax发起请求返回JSON格式数据的方法
Jun 04 Python
python matplotlib坐标轴设置的方法
Dec 05 Python
用Eclipse写python程序
Feb 10 Python
使用pip发布Python程序的方法步骤
Oct 11 Python
在PyCharm中实现关闭一个死循环程序的方法
Nov 29 Python
django 实现编写控制登录和访问权限控制的中间件方法
Jan 15 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
Python3基础教程之递归函数简单示例
Jun 07 Python
Python Django切换MySQL数据库实例详解
Jul 16 Python
Python常用模块函数代码汇总解析
Aug 31 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
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
php输出含有“#”字符串的方法
2017/01/18 PHP
PHP学习记录之数组函数
2018/06/01 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
alert和confirm功能介绍
2014/05/21 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
JavaScript代码实现图片循环滚动效果
2020/03/19 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
vue-router路由与页面间导航实例解析
2017/11/07 Javascript
如何在vue里添加好看的lottie动画
2018/08/02 Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
微信小程序合法域名配置方法
2019/05/06 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
[01:18:43]2014 DOTA2华西杯精英邀请赛5 24 iG VS DK
2014/05/25 DOTA
Python中除法使用的注意事项
2014/08/21 Python
Python使用py2exe打包程序介绍
2014/11/20 Python
Python 对象中的数据类型
2017/05/13 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
详解Python IO编程
2020/07/24 Python
CSS3中的@keyframes关键帧动画的选择器绑定
2016/06/13 HTML / CSS
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
美国在线精品家居网站:Burke Decor
2017/04/12 全球购物
合同协议书格式
2014/04/18 职场文书
贷款委托书怎么写
2014/08/02 职场文书
先进教师事迹材料
2014/12/16 职场文书
拾金不昧感谢信范文
2015/01/21 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL