网络编程
位置:首页>> 网络编程>> Python编程>> python执行scp命令拷贝文件及文件夹到远程主机的目录方法

python执行scp命令拷贝文件及文件夹到远程主机的目录方法

作者:lsysafe  发布时间:2023-07-10 09:12:19 

标签:python,scp,主机,目录

系统环境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    

来源:https://blog.csdn.net/lsysafe/article/details/82977634

0
投稿

猜你喜欢

  • 概述编程的内核是数学,而测试的本质是计算,专业名词叫容量预估,而测试的大体就是用程序模拟程序,检测程序的正确性,有两个点需要注意,QPS最佳
  • 字符替换是一个非常重要的功能,javascript 中有一个 String.replace( ),但是此方法有
  • 主要实现功能1、用户输入用户名,在用户名文件中查找对应的用户,若无对应用户名则打印输入错误2、用户名输入正确后,进行密码匹配。输入密码正确则
  • 关于CSS中的命名规则(其实我觉得是XHTML元素的命名规则更加合理些)这个问题,已经有很多人在说了,其中也不乏一些真知灼见。不过这种东西也
  • 我们知道,在js中,当object作为参数传递到函数中进行处理后,实际上是修改了传入的对象本身(或者说是对象的引用),但很多时候我们并不希望
  • 安装时建议你为MySQL管理创建一个用户和组。由该组用户运行mysql服务器并执行管理任务。(也可以以root身份运行服务器,但是不推荐)第
  • 代码如下:title=request("title") title=replace(title,"chr(3
  • 本文实例讲述了PHP面向对象程序设计之类与反射API。分享给大家供大家参考,具体如下:了解类class_exists验证类是否存在<?
  • 利用 CSS 框架,可以简化你的工作,提高工作效率。CSS 框架是一系列 CSS 文件的集合体,包含了基本的元素重置,页面排版、网格布局、表
  • 很多网友在经典论坛里说自己的网站为什么色彩上总是有问题,总是看起来没什么精神,没办法吸引人注意。小毅观察了一些网友们设计的网站发现他们在用色
  • k-means算法思想较简单,说的通俗易懂点就是物以类聚,花了一点时间在python中实现k-means算法,k-means算法有本身的缺点
  • ORA-00600:internal error code,arguments:[num],[?],[?],[?],[?] 产生原因:这种错
  • 如果你只使用一个更新日志,你只须清空日志文件,然后移走旧的更新日志文件到一个备份中,然后启用新的更新日志。用下列方法可以强制服务器启用新的更
  • 本文深入分析了Symfony控制层。分享给大家供大家参考,具体如下:Symfony中控制层包含了连接业务逻辑与表现的代码,控制层为不同的使用
  • 很多人在使用AJAX调用别人站点内容的时候,JS会提示"没有权限"错误,这是XMLHTTP组件的限制-安全起见禁止访问非
  • 转:coolcode.cn前几天写了一篇在任意字符集下正常显示网页的方法,里面介绍的很简单,就是把前128个字符以外的字符集都用 
  • Notepad++是一款不错的编辑器,很轻巧,我很喜欢它。再换个主题,加个代码高亮,看上去就更专业了。如果你是Mac用户,应该听说或使用过T
  • 本文实例为大家分享了python实现自动打卡小程序的具体代码,供大家参考,具体内容如下"""湖南大学疫情防控每
  • HTTP Request的Header信息1、HTTP请求方式如下表:GET向Web服务器请求一个文件POST向Web服务器发送数据让Web
  • python数据类型之间怎么转换?数据如果类型不对,在运行中有交集的话就会出现错误,那怎么让两个类型的数据变成同一个类型的呢首先是字符串,在
手机版 网络编程 asp之家 www.aspxhome.com