系統環境centos7
python2.7
先在操作系統安裝expect
[root@V71 python]# vi 3s.py#!/usr/bin/python#coding:utf-8import sys,reimport osimport 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命令拷貝文件及文件夾到遠程主機的目錄方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網之家。
新聞熱點
疑難解答