公司新一批服务器,要一台台做初始化很繁琐,写了了shell脚本,给大家参考!

   

#!/bin/bash
#author luoz
#2013-07-01
echo "Welcome to Centos5.5 64  System init!"
#set service
for i in `ls /etc/rc3.d/S* | grep -v local`
do
CURSRV=`echo $i|cut -c 15-`
echo $CURSRV
case $CURSRV in
crond | irqbalance | network | sshd | syslog  )
echo "Base services, Skip!"
;;
*)
echo "change $CURSRV to off"
chkconfig --level 235 $CURSRV off
service $CURSRV stop
;;
esac
done
echo "service set OK"
#set tty
sed -i '/^4:2345/s/4:2345/#4:2345/' /etc/inittab
sed -i '/^5:2345/s/5:2345/#5:2345/' /etc/inittab
sed -i '/^6:2345/s/6:2345/#6:2345/' /etc/inittab
/sbin/init q
echo "tty set OK!"
#set ulimit
echo "ulimit -HSn 65535" >> /etc/profile
echo "ulimit -SHn 65535" >> /etc/rc.local
echo "*           soft   nofile       65535" >> /etc/security/limits.conf
echo "*           hard   nofile       65535" >> /etc/security/limits.conf
echo "ulimit set OK!"
#set sysctl
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.icmp_echo_ignore_broadcasts =1
net.ipv4.ip_conntrack_max = 100000
EOF
/sbin/sysctl -p
echo "sysctl set OK!"
#set ssh
ssh_cf="/etc/ssh/sshd_config"
sed -i 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/' $ssh_ch
sed -i 's/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/' $ssh_ch
sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf
service sshd restart
echo "ssh set OK!"
#set LANG
true > /etc/sysconfig/i18n
cat >>/etc/sysconfig/i18n<<EOF
LANG="zh_CN.UTF-8"
SYSFONT="latarcyrheb-sun16"
EOF
echo "LANG set OK!"
#set ntp
echo "* 1 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /etc/crontab
chkconfig --level 3 ntpd on
service crond restart
echo "LANG set OK!"
#set dns
echo 'nameserver 192.168.30.35' > /etc/resolv.conf
echo 'search localdomain' >> /etc/resolv.conf
echo "DNS set OK!"
#set selinux
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
echo "selinux set OK!"
#disable ipv6
echo "alias net-pf-10 off" >> /etc/modprobe.conf
echo "alias ipv6 off" >> /etc/modprobe.conf
echo "ipv6 set OK!"

        如有问题,请联系我,希望有大家多交流!