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
投稿
猜你喜欢
- 如何显示一个等待或欢迎信息? <% Response.Buffer = True %
- 容器与可迭代对象在正式开始前先补充一些基本概念在 Python 中存在容器 与 可迭代对象容器:用来存储多个元素的数据结构,例如 列表,元组
- pytest概述pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:1、简单灵活,容易上手,文档丰富;2、支持参数
- 本文实例讲述了Python PyInstaller库基本使用方法。分享给大家供大家参考,具体如下:概述将.py源码转换成无需源代码的可执行文
- 鼠标回调函数:def setMouseCallback(windowName, #窗口名称onMouse, &n
- 1、二进制数、八进制数、十六进制数转十进制数 有一个公式:二进制数、八进制数、十六进制数的各位数字分别乖以各自的基数的(N-1)次方,其和相
- 边缘检测一般是识别目标图像中亮度变化明显的像素点. 因为显著变化的像素点通常反映了图像变化比较重要的地方.1. Canny 边缘检测理论Ca
- 1.可以通过settings/dev.py的ALLOWED_HOSTS,设置允许访问# 设置哪些客户端可以通过地址访问到后端 A
- 自动求导机制从后向中排除子图每个变量都有两个标志:requires_grad和volatile。它们都允许从梯度计算中精细地排除子图,并可以
- Pandas中的resample,重新采样,是对原样本重新处理的一个方法,是一个对常规时间序列数据重新采样和频率转换的便捷的方法。降采样:高
- 本文实例讲述了Python单元和文档测试。分享给大家供大家参考,具体如下:单元和文档测试1、单元测试单元测试就是用来对一个模块、一个函数或者
- 这是经常用的一个分页存储过程 希望大家指点不足 代码如下:USE [a6756475746] GO /****** Object
- 一、Pytest简介Pytest is a mature full-featured Python testing tool that he
- 希望通过本文能够帮助大家顺顺利利通过Python面试,之后还有一篇关于Python Web相关的文章欢迎大家阅读。1、Python中pass
- Django实现内容缓存:1、内存缓存settings.py文件配置CACHES = { 'default':
- 前言本文执行环境typescript,版本4.7.4不使用typescript的计算能力,通过类型来实现快排元组快排能否将元组 [3, 1,
- 一、介绍事务是数据库中的一个非常重要的概念,它是指由一系列操作所组成的逻辑单位,在这个单位内,要么所有操作都成功完成,要么所有操作都不会执行
- 前言虽然各种编程语言之间大部分语法存在共通的地方,但是在一些细节的处理上还是千差万别才接触Python不久(之前是学Java的),实在想吐槽
- Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScr
- 内码问题.用这段代码的吧,我已经改得很精简了.使用XMLHTTP抓取地址并进次内容处理Function GetBody(Url) Dim o