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基础教程之循环介绍
Aug 29 Python
Python生成器(Generator)详解
Apr 13 Python
Python 爬虫的工具列表大全
Jan 31 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
python 并发下载器实现方法示例
Nov 22 Python
python实现飞机大战项目
Mar 11 Python
Django中FilePathField字段的用法
May 21 Python
Python smtp邮件发送模块用法教程
Jun 15 Python
学python需要去培训机构吗
Jul 01 Python
python利用os模块编写文件复制功能——copy()函数用法
Jul 13 Python
Python卷积神经网络图片分类框架详解分析
Nov 07 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
蝙蝠侠:侠影之谜
2020/03/04 欧美动漫
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
jQuery 全选效果实现代码
2009/03/23 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
js的for in循环和java里foreach循环的区别分析
2015/01/28 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
JavaScript、tab切换完整版(自动切换、鼠标移入停止、移开运行)
2016/01/05 Javascript
浅谈JS中String()与 .toString()的区别
2016/10/20 Javascript
JavaScript中数组的各种操作的总结(必看篇)
2017/02/13 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
详解react-webpack2-热模块替换[HMR]
2017/08/03 Javascript
JS使用Dijkstra算法求解最短路径
2019/01/17 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
微信小程序录音实现功能并上传(使用node解析接收)
2020/02/26 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
python 多线程对post请求服务器测试并发的方法
2019/06/13 Python
python实现一行输入多个值和一行输出多个值的例子
2019/07/16 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
python中for in的用法详解
2020/04/17 Python
手把手教你将Flask应用封装成Docker服务的实现
2020/08/19 Python
Python datetime模块的使用示例
2021/02/02 Python
Fossil美国官网:化石手表、手袋、首饰及配饰
2019/02/17 全球购物
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
幼儿园教师节活动方案
2014/02/02 职场文书
二年级语文教学反思
2014/02/02 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
努力学习演讲稿
2014/05/10 职场文书
村党建工作汇报材料
2014/11/02 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
小学大队干部竞选稿
2015/11/20 职场文书
java代码实现空间切割
2022/01/18 Java/Android