Python配合SCP实现文件批量下发

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python配合SCP实现文件批量下发相关的知识,希望对你有一定的参考价值。

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import pexpect,os    #导入需要用到模块

def ssh_cmd(ip, shell_cmd):
passwd= ‘1qaz#EDC‘
print ‘host: %s is connected... ‘ % ip
child = pexpect.spawn(‘ssh [email protected]%s‘ % (ip))
fout = file(‘log.txt‘,‘a‘)
child.logfile = fout
try:
i = child.expect(‘password:‘)
if i == 0:
child.sendline(passwd)
elif i == 1:
child.sendline(‘yes\n‘)
child.expect(‘password: ‘)
child.sendline(passwd)
print ‘host:%s Login ok!‘ % ip
child.expect(‘#‘)
child.sendline(shell_cmd)    #执行传过来的shell命令
child.expect(‘#‘)
print ‘host:%s Command Execution ok!‘ % ip
except pexpect.EOF:
print "Command run ok!"
child.close()
except pexpect.TIMEOUT:
print "Connect Timeout..."
child.close()

#前面的ssh_cmd()作用为建立ssh连接

for i in range(165,167):
ipaddr = ‘192.168.122.%s‘ % i
ssh_cmd(ipaddr,‘mkdir -p /etc/ceph‘)    #ssh连接上远程主机后,在远程主机创建制定目录

os.environ[‘ip‘]=str(ipaddr)    #python变量和shell变量互用
os.system(‘sshpass -p 1qaz#EDC scp /home/testfile*.conf [email protected]$ip:/etc/ceph‘)    #文件下发


本文出自 “我的运维和我的那些原创” 博客,请务必保留此出处http://trtan.blog.51cto.com/8272891/1863197

以上是关于Python配合SCP实现文件批量下发的主要内容,如果未能解决你的问题,请参考以下文章

使用perl实现scp批量分发

Python不同电脑之间传输文件实现类似scp功能不输密码

ansible配合shell脚本批量编译安装python3.6.6

python 简单主机批量管理工具

python——简单主机批量管理工具

Ansible批量自动化管理工具