puppet 学习笔记
#!/bin/bash#time:2014/12/10 by:Lance
SERVER_IP=`ifconfig | grep 172.16.8. |sed -n '1p' | awk '{print $2}' | awk -F':' '{print $2}'`
check_file(){
#验证是否已经安装puppet
if [ `rpm -qa | grep puppet- | wc -l` -ge 1 ]; then
echo "此服务器已经安装puppet!!"
exit 0
fi
#验证puppet文件夹是否存在
if [ -d /etc/puppet ]; then
echo "/etc/puppet已经存在,正在备份。。。"
mv /etc/puppet/puppet.conf /etc/puppet/puppet.conf.bak
mv /etc/puppet/auth.conf /etc/puppet/auth.conf.bak
fi
}
check_system_clock(){
#sync time
/usr/sbin/ntpdate 202.120.2.101 && /sbin/hwclock -w
if [ -f /var/spool/cron/root ]; then
if [ `grep ntpdate /var/spool/cron/root | wc -l` -eq 0 ]; then
echo "ntpdate计划任务不存在,正在添加。。。"
echo "01 1 * * * /usr/sbin/ntpdate 202.120.2.101 && /sbin/hwclock -w >/dev/null 2>&1" >>/var/spool/cron/root
fi
fi
#System Time
if [ ! `cat /etc/sysconfig/clock |grep -i Shanghai` ];then
echo "Time zone false ...正在修改。。。"
sleep 3
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
fi
}
check_repo(){
TEST=0
#CentOS yum 源修改
if [ ! -f /etc/yum.repos.d/epel.repo ] && [ ! -f /etc/yum.repos.d/CentOS* ] &&( [ -f /etc/yum.repos.d/local.repo ] || [ -f /etc/yum.repos.d/2.repo ]); then
cp /etc/yum.repos.d/bak/epel.repo /etc/yum.repos.d/epel.repo
cp /etc/yum.repos.d/bak/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/local.repo /etc/yum.repos.d/local.repo.bak &>/dev/null
mv /etc/yum.repos.d/2.repo /etc/yum.repos.d/2.repo.bak &>/dev/null
TEST=2
#yum clean all
yum makecache
fi
}
check_recovery(){
if [ $TEST -eq 2 ]; then
mv /etc/yum.repos.d/local.repo.bak /etc/yum.repos.d/local.repo &>/dev/null
mv /etc/yum.repos.d/2.repo.bak /etc/yum.repos.d/2.repo &>/dev/null
fi
}
epel_yum(){
#验证操作系统版本并下载安装puppet yum源
if [ `uname -r | grep el6 | wc -l` -eq 1 ] && [ `rpm -qa | grep epel |wc -l` -eq 0 ]; then
#rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget https://yum.puppetlabs.com/el/6.5/products/x86_64/puppetlabs-release-6-5.noarch.rpm
rpm -ivh puppetlabs-release-6-5.noarch.rpm
rm -rf puppetlabs-release-6-5.noarch.rpm
elif [ `uname -r | grep el5 | wc -l` -eq 1 ] && [ `rpm -qa | grep epel |wc -l` -eq 0 ]; then
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
fi
}
check_install(){
#puppet_client端安装
yum install puppet -y
if [ $? -eq 0 ];then
echo "安装完成,即将修改puppet配置文件。。。"
cat >> /etc/puppet/puppet.conf <<EOF
server = 172.16.8.129 #server端IP地址
certname = $SERVER_IP
runinterval = 60 #puppet客户端向server自动请求时间间隔
listen = true
report = true
EOF
echo "修改完成,即将启动puppet。。。"
chkconfig puppet on
/etc/init.d/puppet start
fi
}
#检查网络
check_network(){
ping -c 1 www.baidu.com&>/dev/null
if [ $? -ne 0 ]; then
echo "外网故障,即将修改。。。"
route add -net 0.0.0.0/0 gw 172.16.8.2
fi
}
check_network
check_file
check_system_clock
check_repo
epel_yum
check_install
check_recovery
页:
[1]