天天看點

CentOS6開機優化腳本

最近看了下公司之前的CentOS6的開機配置腳本,簡單調整了下:

<code>#!/bin/bash</code>

<code>#created by molewan</code>

<code>#set env</code>

<code>export</code> <code>PATH=$PATH:</code><code>/bin</code><code>:</code><code>/sbin</code><code>:</code><code>/usr/sbin</code>

<code>hostname</code><code>=$1</code>

<code>if</code> <code>[ $UID != </code><code>"0"</code> <code>];</code><code>then</code>

<code>echo</code> <code>"Please run as root"</code>

<code>exit</code> <code>1</code>

<code>fi</code>

<code>Usage(){</code>

<code>echo</code> <code>$</code><code>"USAGRE:/bin/bash $0 hostname"</code>

<code>}</code>

<code>if</code> <code>[ </code><code>"$#"</code> <code>-</code><code>ne</code> <code>"1"</code> <code>];</code><code>then</code>

<code>Usage</code>

<code>#define cmd var</code>

<code>SERVICE=`</code><code>which</code> <code>service`</code>

<code>CHKCONFIG=`</code><code>which</code> <code>chkconfig`</code>

<code>function</code> <code>mod_yum(){</code>

<code>ping</code> <code>-c 2 -w 2 mirrors.aliyun.com &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>if</code> <code>[ $? -</code><code>eq</code> <code>0 ];</code><code>then</code>

<code>wget -O </code><code>/etc/yum</code><code>.repos.d</code><code>/CentOS-Base</code><code>.repo http:</code><code>//mirrors</code><code>.aliyun.com</code><code>/repo/Centos-6</code><code>.repo</code>

<code>wget -O </code><code>/etc/yum</code><code>.repos.d</code><code>/epel</code><code>.repo http:</code><code>//mirrors</code><code>.aliyun.com</code><code>/repo/epel-6</code><code>.repo</code>

<code>yum </code><code>install</code> <code>-y vim </code><code>lsof</code> <code>telnet lrzsz wget openssh-clients unix2dos dos2unix gcc gcc-c++ openssl-devel openssl-perl </code><code>bc</code>

<code>yum clean all</code>

<code>else</code>

<code>echo</code> <code>"your must check network"</code>

<code>function</code> <code>disable_selinux(){</code>

<code>sed</code> <code>-i </code><code>'s/SELINUX=enforcing/SELINUX=disabled/g'</code> <code>/etc/sysconfig/selinux</code> 

<code>setenforce 0 &gt;</code><code>/dev/null</code> <code>2&gt;$1</code>

<code>function</code> <code>disable_iptables(){</code>

<code>/sbin/iptables</code> <code>-F &amp;&amp; </code><code>/sbin/iptables</code> <code>-X &amp;&amp; </code><code>/sbin/iptables</code> <code>-Z</code>

<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>save</code>

<code>/etc/init</code><code>.d</code><code>/iptables</code> <code>stop &amp;&amp; chkconfig iptables off </code>

<code>function</code> <code>least_service(){</code>

<code>export</code> <code>LANG=en</code>

<code>chkconfig|</code><code>awk</code> <code>'{print "chkconfig",$1,"off"}'</code><code>|</code><code>bash</code>

<code>chkconfig|</code><code>egrep</code> <code>"crond|sshd|network|rsyslog|sysstat"</code><code>|</code><code>awk</code> <code>'{print "chkconfig",$1,"on"}'</code><code>|</code><code>bash</code>

<code>function</code> <code>charset(){</code>

<code>cp</code> <code>/etc/sysconfig/i18n</code> <code>/etc/sysconfig/i18n</code><code>.bak</code>

<code>echo</code> <code>'LANG="zh_CN.UTF-8"'</code><code>&gt;</code><code>/etc/sysconfig/i18n</code>

<code>source</code> <code>/etc/sysconfig/i18n</code>

<code>function</code> <code>ntp_time_sync(){</code>

<code>ntpdate -u 202.120.2.101 &amp;&amp; hwclock -w &gt;</code><code>/dev/null</code> <code>2&gt;&amp;1</code>

<code>echo</code> <code>"05 23 * * * /usr/sbin/ntpdate -u 202.120.2.101"</code><code>&gt;&gt;</code><code>/var/spool/cron/root</code>

<code>function</code> <code>com_line_set(){</code>

<code>if</code> <code>[ `</code><code>egrep</code> <code>"TMOUT|HISTSIZE|ISTFILESIZE"</code> <code>/etc/profile</code><code>|</code><code>wc</code> <code>-l` -lt 3 ]</code>

<code>then</code>

<code>echo</code> <code>'export TMOUT=300'</code><code>&gt;&gt;</code><code>/etc/profile</code>

<code>echo</code> <code>'export HISTSIZE=5'</code><code>&gt;&gt;</code><code>/etc/profile</code>

<code>echo</code> <code>'export HISTFILESIZE=5'</code><code>&gt;&gt;</code><code>/etc/profile</code>

<code>source</code> <code>/etc/profile</code>

<code>function</code> <code>open_file_set(){</code>

<code>if</code> <code>[ `</code><code>grep</code> <code>65535 </code><code>/etc/security/limits</code><code>.conf|</code><code>wc</code> <code>-l` -lt 1]</code>

<code>echo</code> <code>'*-nofile65535'</code><code>&gt;&gt;</code><code>/etc/security/limits</code><code>.conf</code>

<code>tail</code> <code>-1 </code><code>/etc/security/limits</code><code>.conf</code>

<code>function</code> <code>set_kernel(){</code>

<code>cat</code> <code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf&lt;&lt;EOF</code>

<code>net.ipv4.tcp_fin_timeout = 2</code>

<code>net.ipv4.tcp_tw_resue = 1</code>

<code>net.ipv4.tcp_tw_recycle = 1</code>

<code>net.ipv4.tcp_syncookies = 1</code>

<code>net.ipv4.tcp_keepalive_time = 600</code>

<code>net.ipv4.ip_local_port_range = 4000 65000</code>

<code>net.ipv4.tcp_max_syn_backlog = 16384</code>

<code>net.ipv4.icmp_echo_ignore_broadcasts = 1</code>

<code>net.ipv4.icmp_ignore_bogus_error_responses = 1</code>

<code>net.ipv4.conf.all.accept_source_route = 0</code>

<code>net.ipv4.conf.default.accept_source_route = 0</code>

<code>net.ipv4.tcp_rmem = 4096 87380 8388608</code>

<code>net.ipv4.tcp_wmem = 4096 87380 8388608</code>

<code>EOF</code>

<code>sysctl -p</code>

<code>function</code> <code>set_sercurity_limits.conf(){</code>

<code>echo</code> <code>' '</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf</code>

<code>echo</code> <code>'* soft nofile 65535'</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf</code>

<code>echo</code> <code>'* hard nofile 65535'</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf</code>

<code>echo</code> <code>'* soft nproc 65535'</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf</code>

<code>echo</code> <code>'* hard nproc 65535'</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf</code>

<code>function</code> <code>set_ssh(){</code>

<code>sed</code> <code>-i </code><code>'/#Port 22/Port 5272/g'</code> <code>/etc/sysconfig/sshd_config</code>

<code>sed</code> <code>-i </code><code>'/#UseDNS yes/a\UseDNS no'</code> <code>/etc/ssh/sshd_config</code>

<code>sed</code> <code>-i </code><code>'s/#GSSAPIAuthentication no/GSSAPIAuthentication no/g'</code> <code>/etc/ssh/sshd_config</code>

<code>sed</code> <code>-i </code><code>'s/GSSAPIAuthentication yes/#GSSAPIAuthentication yes/g'</code> <code>/etc/ssh/sshd_config</code>

<code>/etc/init</code><code>.d</code><code>/sshd</code> <code>reload</code>

<code>function</code> <code>set_hostname(){</code>

<code>echo</code> <code>'NETWORKING=yes'</code> <code>&gt;&gt; </code><code>/etc/sysconfig/network</code>

<code>echo</code> <code>"HOSTNAME=${hostname}"</code> <code>&gt;&gt; </code><code>/etc/sysconfig/network</code>

<code>function</code> <code>ctrl_alt_del_deny(){</code>

<code>sed</code> <code>-i </code><code>'s/start on control-alt-delete/#start on control-alt-delete/g'</code> <code>/etc/init/control-alt-delete</code><code>.conf</code>

<code>function</code> <code>shutdown_ipv6(){</code>

<code>echo</code> <code>'alias net-pf-10 off'</code> <code>&gt;&gt; </code><code>/etc/modprobe</code><code>.d</code><code>/dist</code><code>.conf</code>

<code>echo</code> <code>'alias ipv6 off'</code> <code>&gt;&gt; </code><code>/etc/modprobe</code><code>.d</code><code>/dist</code><code>.conf  </code>

<code>function</code> <code>alter_bootmenu_time(){</code>

<code>sed</code> <code>-i </code><code>'/timeout=5/d'</code> <code>/boot/grub/menu</code><code>.lst</code>

<code>sed</code> <code>-i </code><code>'/default/a\timeout=1'</code> <code>/boot/grub/menu</code><code>.lst</code>

<code>main(){</code>

<code>mod_yum</code>

<code>disable_selinux</code>

<code>disable_iptables</code>

<code>least_service</code>

<code>charset</code>

<code>ntp_time_sync</code>

<code>com_line_set</code>

<code>open_file_set</code>

<code>set_kernel</code>

<code>set_sercurity_limits.conf</code>

<code>set_ssh</code>

<code>set_hostname</code>

<code>ctrl_alt_del_deny</code>

<code>shutdown_ipv6</code>

<code>alter_bootmenu_time</code>

<code>main</code>

本文轉自 冰凍vs西瓜 51CTO部落格,原文連結:http://blog.51cto.com/molewan/1956057,如需轉載請自行聯系原作者