python执行scp命令拷贝文件及文件夹到远程主机的目录方法
系统环境centos7
python2.7
先在操作系统安装expect
[root@V71python]#vi3s.py
#!/usr/bin/python
#coding:utf-8
importsys,re
importos
importsubprocess
#scpfiletoremotenode.
defscpFileToRemoteNode(user,ip,password,localsource,remotedest,port=22):
SCP_CMD_BASE=r"""
expect-c"
settimeout300;
spawnscp-P{port}-r{localsource}{username}@{host}:{remotedest};
expect*assword*{{{{send{password}\r}}}};
expect*\r;
expect\r;
expecteof
"
""".format(username=user,password=password,host=ip,localsource=localsource,remotedest=remotedest,port=port)
SCP_CMD=SCP_CMD_BASE.format(localsource=localsource)
print"executeSCP_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@V71python]#python3s.py
executeSCP_CMD:
expect-c"
settimeout300;
spawnscp-P22-r/tmp/var/logroot@192.168.156.72:/etc/;
expect*assword*{send密码\r};
expect*\r;
expect\r;
expecteof
"
spawnscp-P22-r/tmp/var/logroot@192.168.156.72:/etc/
root@192.168.156.72'spassword:
messages100%802KB802.1KB/s00:00
以上这篇python执行scp命令拷贝文件及文件夹到远程主机的目录方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。