[size=medium]python交互式自动部署[/size]
1、首先要做ssh互相信息
2、安装python相关组件,同时要安装好gcc*。部署好rsync等等
3、本来是用来部署第一个tomcat的。脚本如下:
#!/usr/bin/python
#2012/06/26 7shao
import paramiko
import sys,os
port=22
username='root'
key_file="~/.ssh/authorized_keys"
know_host="/root/.ssh/known_hosts"
file=open('ip.list')
for line in file:
print "##########################",line,"############################"
s=paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.load_system_host_keys(know_host)
s.connect(line,port,username,key_file)
stdin,stdout,sterr=s.exec_command(" /usr/local/tomcat/bin/shutdown.sh ;sleep 10;ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'|xargs kill -9;rsync -vzrtopg --delete --progress rsync\@192.168.1.159::rs1 /usr/local/tomcat/webapps;export JAVA_HOME=/usr/local/jdk1.6.0_24;/usr/local/tomcat/bin/startup.sh" )
# os.system("ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'")
print stdout.read().strip()
s.close()
file.close()
ip.list内容如下:
192.168.1.160
192.168.1.161
192.168.1.162
192.168.1.163
192.168.1.164
192.168.1.165
192.168.1.166
192.168.1.167
192.168.1.168
192.168.1.169
192.168.1.170
然后直接执行python tomcat1.py即可。
如果直接运行报错,可能是python的相关组件没有安装好。
1、首先要做ssh互相信息
2、安装python相关组件,同时要安装好gcc*。部署好rsync等等
3、本来是用来部署第一个tomcat的。脚本如下:
#!/usr/bin/python
#2012/06/26 7shao
import paramiko
import sys,os
port=22
username='root'
key_file="~/.ssh/authorized_keys"
know_host="/root/.ssh/known_hosts"
file=open('ip.list')
for line in file:
print "##########################",line,"############################"
s=paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.load_system_host_keys(know_host)
s.connect(line,port,username,key_file)
stdin,stdout,sterr=s.exec_command(" /usr/local/tomcat/bin/shutdown.sh ;sleep 10;ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'|xargs kill -9;rsync -vzrtopg --delete --progress rsync\@192.168.1.159::rs1 /usr/local/tomcat/webapps;export JAVA_HOME=/usr/local/jdk1.6.0_24;/usr/local/tomcat/bin/startup.sh" )
# os.system("ps -ef |grep java|grep -v grep|grep 'tomcat/'|awk '{print $2}'")
print stdout.read().strip()
s.close()
file.close()
ip.list内容如下:
192.168.1.160
192.168.1.161
192.168.1.162
192.168.1.163
192.168.1.164
192.168.1.165
192.168.1.166
192.168.1.167
192.168.1.168
192.168.1.169
192.168.1.170
然后直接执行python tomcat1.py即可。
如果直接运行报错,可能是python的相关组件没有安装好。