设为首页 收藏本站
查看: 271|回复: 0

[经验分享] CentOS6开机优化脚本

[复制链接]

尚未签到

发表于 2018-4-21 12:44:04 | 显示全部楼层 |阅读模式
  最近看了下公司之前的CentOS6的开机配置脚本,简单调整了下:
#!/bin/bash
#created by molewan
#set env
export PATH=$PATH:/bin:/sbin:/usr/sbin
hostname=$1
if [ $UID != "0" ];then
echo "Please run as root"
exit 1
fi
Usage(){
echo $"USAGRE:/bin/bash $0 hostname"
exit 1
}
if [ "$#" -ne "1" ];then
Usage
fi
#define cmd var
SERVICE=`which service`
CHKCONFIG=`which chkconfig`
function mod_yum(){
ping -c 2 -w 2 mirrors.aliyun.com >/dev/null 2>&1
if [ $? -eq 0 ];then
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install -y vim lsof telnet lrzsz wget openssh-clients unix2dos dos2unix gcc gcc-c++ openssl-devel openssl-perl bc
yum clean all
else
echo "your must check network"
exit 1
fi
}
function disable_selinux(){
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
setenforce 0 >/dev/null 2>$1
}
function disable_iptables(){
/sbin/iptables -F && /sbin/iptables -X && /sbin/iptables -Z
/etc/init.d/iptables save
/etc/init.d/iptables stop && chkconfig iptables off
}
function least_service(){
export LANG=en
chkconfig|awk '{print "chkconfig",$1,"off"}'|bash
chkconfig|egrep "crond|sshd|network|rsyslog|sysstat"|awk '{print "chkconfig",$1,"on"}'|bash
}
function charset(){
cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak
echo 'LANG="zh_CN.UTF-8"'>/etc/sysconfig/i18n
source /etc/sysconfig/i18n
}
function ntp_time_sync(){
ntpdate -u 202.120.2.101 && hwclock -w >/dev/null 2>&1
echo "05 23 * * * /usr/sbin/ntpdate -u 202.120.2.101">>/var/spool/cron/root
}
function com_line_set(){
if [ `egrep "TMOUT|HISTSIZE|ISTFILESIZE" /etc/profile|wc -l` -lt 3 ]
then
echo 'export TMOUT=300'>>/etc/profile
echo 'export HISTSIZE=5'>>/etc/profile
echo 'export HISTFILESIZE=5'>>/etc/profile
source /etc/profile
fi
}
function open_file_set(){
if [ `grep 65535 /etc/security/limits.conf|wc -l` -lt 1]
then
echo '*-nofile65535'>>/etc/security/limits.conf
tail -1 /etc/security/limits.conf
fi
}
function set_kernel(){
cat >>/etc/sysctl.conf<<EOF
net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_resue = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608
EOF
sysctl -p
}
function set_sercurity_limits.conf(){
echo ' ' >> /etc/security/limits.conf
echo '* soft nofile 65535' >> /etc/security/limits.conf
echo '* hard nofile 65535' >> /etc/security/limits.conf
echo '* soft nproc 65535' >> /etc/security/limits.conf
echo '* hard nproc 65535' >> /etc/security/limits.conf
}
function set_ssh(){
sed -i '/#Port 22/Port 5272/g' /etc/sysconfig/sshd_config
sed -i '/#UseDNS yes/a\UseDNS no' /etc/ssh/sshd_config
sed -i 's/#GSSAPIAuthentication no/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/g' /etc/ssh/sshd_config
/etc/init.d/sshd reload
}
function set_hostname(){
echo 'NETWORKING=yes' >> /etc/sysconfig/network
echo "HOSTNAME=${hostname}" >> /etc/sysconfig/network
}
function ctrl_alt_del_deny(){
sed -i 's/start on control-alt-delete/#start on control-alt-delete/g' /etc/init/control-alt-delete.conf
}
function shutdown_ipv6(){
echo 'alias net-pf-10 off' >> /etc/modprobe.d/dist.conf
echo 'alias ipv6 off' >> /etc/modprobe.d/dist.conf  
}
function alter_bootmenu_time(){
sed -i '/timeout=5/d' /boot/grub/menu.lst
sed -i '/default/a\timeout=1' /boot/grub/menu.lst
}
main(){
mod_yum
disable_selinux
disable_iptables
least_service
charset
ntp_time_sync
com_line_set
open_file_set
set_kernel
set_sercurity_limits.conf
set_ssh
set_hostname
ctrl_alt_del_deny
shutdown_ipv6
alter_bootmenu_time
}
main  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-450045-1-1.html 上篇帖子: CentOS YUM挂载本地源ISO 下篇帖子: CentOS 6.5搭建Smokeping平台(下)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表