代码拉取完成,页面将自动刷新
#!/usr/bin/env python #coding:utf8
from fabric.api import *
from fabric.colors import *
from fabric.context_managers import *
from fabric.contrib.console import confirm
import time
fd=open("iplist.txt",'r')
iplist_new=[]
for i in fd:
iplist_new.append(i.strip('\n').split(':'))
#env.user='common'
env.passwords=dict(iplist_new)
env.hosts=env.passwords.keys()
env.password='wld2014'
env.port=10683
##########no change is this############
env.svn_address_sz="192.168.1.248"
env.svn_address_cq="192.168.20.79"
env.svn_address_jf="10.22.0.139"
##########no change is this############
#############shenzhen#################
env.dns1="DNS1=192.168.10.79"
env.dns2="DNS2=192.168.10.89"
env.ipaserver="ipa-master.chenlaisoft.sz"
#env.zabbix_server="192.168.10.49"
env.zabbix_server="zabbix-sz.chenlaisoft.sz"
env.install_ipaclient="ipa-client-install --domain=chenlaisoft.sz --enable-dns-updates --mkhomedir -p admin -w abc123.com --realm=CHENLAISOFT.SZ --server=ipa-master.chenlaisoft.sz --unattended"
env.svn_address=env.svn_address_sz
env.svn_user="public"
env.svn_password="chenlai2014"
#############shenzhen#################
#############chongqi#################
#env.dns1="DNS1=192.168.20.89"
#env.dns2="DNS2=192.168.20.79"
#env.ipaserver="ipa-master.chenlaisoft.cq"
#env.zabbix_server="192.168.10.219"
#env.install_ipaclient="ipa-client-install --domain=chenlaisoft.cq --enable-dns-updates --mkhomedir -p admin -w abc123.com --realm=CHENLAISOFT.CQ --server=ipa-master.chenlaisoft.cq --unattended"
#env.svn_address=env.svn_address_cq
#env.svn_user="public"
#env.svn_password="chenlai2014"
##############chongqi#################
#
##############chongqi-jf#################
#env.dns1="DNS1=10.22.0.129"
#env.dns2="DNS2=10.22.0.139"
#env.ipaserver="ipa-master-cq.chenlaisoft.sz"
#env.zabbix_server="10.22.0.159"
#env.install_ipaclient="ipa-client-install --domain=chenlaisoft.sz --enable-dns-updates --mkhomedir -p admin -w abc123.com --realm=CHENLAISOFT.LOCAL --server=ipa-master-cq.chenlaisoft.sz --unattended"
#env.svn_address=env.svn_address_jf
#env.svn_user="public"
#env.svn_password="chenlai2014"
#############chongqi-jf#################
######################################测试环境是否满足脚本执行################################################################################################
######################################################################################################################################
######################################DNS测试,及修复################################################################################################
def dns1_change():
run('sed -i "/DNS1=/d" /etc/sysconfig/network-scripts/ifcfg-eth0;echo "%s" >> /etc/sysconfig/network-scripts/ifcfg-eth0;service network restart' % env.dns1)
def dns2_change():
run('sed -i "/DNS2=/d" /etc/sysconfig/network-scripts/ifcfg-eth0;echo "%s" >> /etc/sysconfig/network-scripts/ifcfg-eth0;service network restart' % env.dns2)
def dns1_test():
with settings(warn_only=True,colorize_errors=True):
result=run('grep "%s" /etc/sysconfig/network-scripts/ifcfg-eth0' % env.dns1)
if result.failed:
dns1_change()
else:
print ("this is ok!\n")
return result
def dns2_test():
with settings(warn_only=True,colorize_errors=True):
result=run('grep "%s" /etc/sysconfig/network-scripts/ifcfg-eth0' % env.dns2)
if result.failed:
dns2_change()
else:
print ("this is ok!\n")
return result
@task
def deploy_01_dns():
dns1_test()
dns2_test()
######################################DNS测试 - end################################################################################################
######################################ipa-client 软件包测试 start ################################################################################################
def ping_test():
with settings(warn_only=True,colorize_errors=True):
result=run('ping -c 2 %s' % env.ipaserver)
if result.failed:
print red("please check network!!!")
else:
print green("ping ipa-server is ok!!!")
def ipa_client_test():
with settings(warn_only=True,colorize_errors=True):
result=run('rpm -ql ipa-client')
if result.failed:
print yellow("please install ipa-client!!!")
time.sleep(3)
print green("installing ipa-client...")
print green("installing ipa-client..........")
time.sleep(1)
run('yum -y install ipa-client')
else:
print green("ipa-client install is ok!!!")
@task
def deploy_02_ipaclient():
ping_test()
ipa_client_test()
######################################ipa-client 软件包测试-end ################################################################################################
######################################软件包测试-end################################################################################################
#########################################################################################################################################
#########################################################################################################################################
@task
def svn_update():
try:
#run('uname -a')
run('svn checkout svn://%s/opscode/5运维脚本及软件/02运行环境 /tmp/auto_scripts --username %s --password %s --no-auth-cache' % (env.svn_address,env.svn_user,env.svn_password))
except Exception, e:
print '%s down, %s' % (env.host_string, e)
# except:
# print "this %s is disabled" % env.host_string
@task
def zabbix_client_install():
try:
with cd('/tmp/auto_scripts/zabbix_agent_auto_scripts/'):
run('sh /tmp/auto_scripts/zabbix_agent_auto_scripts/install_linux_agent.sh install %s' % env.zabbix_server)
except:
print "this %s is disabled" % env.host_string
def ntp_config():
try:
run('yum install ntp -y')
run('ntpdate 0.fedora.pool.ntp.org;hwclock --systohc')
run('echo "0 */4 * * * root ntpdate 0.fedora.pool.ntp.org;hwclock --systohc > /dev/null 2>&1" >> /etc/crontab')
except:
print "this %s is disabled" % env.host_string
def ssh_port_change():
try:
run('sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config')
run('sed -i "s/#Port 22/Port 10683/" /etc/ssh/sshd_config')
run('iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 10683 -j ACCEPT')
#run('service sshd restart')
run('service iptables save')
except:
print "this %s is disabled" % env.host_string
def ipa_client_install():
try:
run('%s' % env.install_ipaclient)
except:
print "this %s is disabled" % env.host_string
def user_common():
try:
#run('su - common;exit')
run('id common')
except:
print "this %s is disabled" % env.host_string
def develop_tool_install():
try:
run('yum groupinstall -y "Development tools"')
except:
print "this %s is disabled" % env.host_string
@task
def deploy_03_all():
ntp_config()
develop_tool_install()
ipa_client_install()
user_common()
svn_update()
zabbix_client_install()
ssh_port_change()
@task
def result_out():
with settings(warn_only=True,colorize_errors=True):
result2=run('netstat -tnl | grep 10050')
result3=run('id common')
if result2.failed:
print red('zabbix-agent is installed faild,please check it!\n')
else:
print green('zabbix-agent installed is success!\n')
if result3.failed:
print red('ipa-client add is faild,please check it!\n')
else:
print green('ipa-client add is success!\n')
######################################################################################################################################
######################################################################################################################################
######################################################################################################################################
@task
def task_clean():
try:
run('rm -rf /tmp/auto_scripts')
except Exception, e:
print '%s down, %s' % (env.host_string, e)
@task
@parallel(pool_size=5)
def go():
deploy_01_dns()
deploy_02_ipaclient()
deploy_03_all()
#task_clean()
######################################################
@task
def add_local_repo():
from fabric.state import env
env.password=env.passwords[env.host_string]
try:
put('Centos6.6-x86_64.repo','/tmp/Centos6.6-x86_64.repo')
sudo("mkdir /etc/yum.repos.d/backup;mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup;cp /tmp/Centos6.6-x86_64.repo /etc/yum.repos.d/")
run('yum clean all;yum list')
except Exception, e:
print '%s add_local_repo, %s' % (env.host_string, e)
@task
def test_all():
from fabric.state import env
env.password=env.passwords[env.host_string]
try:
#run('ls /etc/salt')
#run('uname -a')
#run('sed -i "s/192.168.10.219/zabbix-sz.chenlaisoft.sz/g" /etc/zabbix/conf/zabbix_agentd.conf')
#run('service zabbix-agent start')
#run('netstat -tnl | grep 10050')
#run('sed -i "s/master: vm241-009-saltstack.chenlaisoft.sz/master: vm243-009-saltstack.chenlaisoft.sz/g" /etc/salt/minion')
run('chkconfig salt-minion on;service salt-minion restart')
#run('hostname;hostname -a')
# run('service sshd restart')
# run('ls /etc/yum.repos.d/')
print green('%s test_all is ok!!' % env.host_string)
except Exception, e:
print red('%s test is faild!!!, %s' % (env.host_string, e))
@task
def salt_install_client():
from fabric.state import env
env.password=env.passwords[env.host_string]
try:
run('rm -rf /etc/yum.repos.d/*.repo;cp /etc/yum.repos.d/bakcup/* /etc/yum.repos.d/;rpm -ivh http://192.168.10.252/epel-release-6-8.noarch.rpm;yum clean all;yum clean all;yum -y install salt-minion')
run('rm -rf /etc/yum.repos.d/Cent*.repo')
put('Centos6.6-x86_64.repo','/etc/yum.repos.d/Centos6.6-x86_64.repo')
run('sed -i "s/#id:/id: ${HOSTNAME}/g" /etc/salt/minion')
run('sed -i "s/#master: salt/master: vm243-009-saltstack.chenlaisoft.sz/g" /etc/salt/minion')
run('chkconfig salt-minion on;service salt-minion restart')
print green('%s test_all is ok!!' % env.host_string)
except Exception, e:
print red('%s test is faild!!!, %s' % (env.host_string, e))
@task
def log_rsyslog_add():
from fabric.state import env
env.password=env.passwords[env.host_string]
try:
put('log-rsyslog.sh','/tmp/log-rsyslog.sh')
sudo('/bin/bash /tmp/log-rsyslog.sh;')
except:
print "this %s is disabled" % env.host_string
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。