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的Django框架下搭建的BLOG添加RSS功能的教程
Apr 08 Python
Python中的pass语句使用方法讲解
May 14 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
Python语言描述连续子数组的最大和
Jan 04 Python
详解Python安装scrapy的正确姿势
Jun 26 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
selenium跳过webdriver检测并模拟登录淘宝
Jun 12 Python
python命令行工具Click快速掌握
Jul 04 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
python实现音乐播放和下载小程序功能
Apr 26 Python
Anaconda的安装与虚拟环境建立
Nov 18 Python
详解Pymongo常用查询方法总结
Jan 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
文章推荐系统(三)
2006/10/09 PHP
PHP 调试工具Debug Tools
2011/04/30 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
php-msf源码详解
2017/12/25 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
gridpanel动态加载数据的实例代码
2013/07/18 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
详解Angular模板引用变量及其作用域
2018/11/23 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
Python Numpy库常见用法入门教程
2020/01/16 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
详解Python中openpyxl模块基本用法
2021/02/23 Python
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
2016/12/03 HTML / CSS
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
俄罗斯游戏商店:Buka
2020/03/01 全球购物
Ado与Ado.net的相同与不同
2014/12/08 面试题
应届毕业生的自我鉴定
2013/11/13 职场文书
社区党务公开实施方案
2014/03/18 职场文书
无传销社区工作方案
2014/05/13 职场文书
法院授权委托书格式
2014/09/28 职场文书
2014年第四季度入党积极分子思想汇报(十八届四中全会)
2014/11/03 职场文书
2015年统战工作总结
2015/05/19 职场文书
python处理json数据文件
2022/04/11 Python
关于vue-router-link选择样式设置
2022/04/30 Vue.js