CentOS 6 系統優化 Shell 腳本

CentOS 6 系統優化 Shell 腳本
2012-01-19 13:31:45
版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
  CentOS 已經發布了6.2版了,現在已經可以用在生產環境了,新版本的內核也能更好的利用硬件。寫了一個腳本,用來初始化系統環境,現在分享出來,你可以根據自己的需要,對腳本進行相應的修改。
腳本的內容如下:
  1.  
  2. #!/bin/bash 
  3. #author suzezhi 
  4. #this script is only for CentOS 6 
  5. #check the OS 
  6. platform=`uname -i` 
  7. if [ $platform != "x86_64" ];then 
  8. echo "this script is only for 64bit Operating System !" 
  9. exit 1 
  10. fi 
  11. echo "the platform is ok" 
  12. version=`lsb_release -r |awk '{print substr($2,1,1)}'` 
  13. if [ $version != 6 ];then 
  14. echo "this script is only for CentOS 6 !" 
  15. exit 1 
  16. fi 
  17. cat << EOF 
  18. +---------------------------------------+ 
  19. |   your system is CentOS 6 x86_64      | 
  20. |      start optimizing.......          | 
  21. +--------------------------------------- 
  22. EOF 
  23. #make the 163.com as the default yum repo 
  24. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 
  25. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo 
  26. #add the third-party repo 
  27. #add the epel 
  28. rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm 
  29. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 
  30. #add the rpmforge 
  31. rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 
  32. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag 
  33. #update the system and set the ntp 
  34. yum clean all 
  35. yum -y update glibc\* 
  36. yum -y update yum\* rpm\* python\* 
  37. yum -y update 
  38. yum -y install ntp 
  39. echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root 
  40. service crond restart 
  41. #set the file limit 
  42. echo "ulimit -SHn 102400" >> /etc/rc.local 
  43. cat >> /etc/security/limits.conf << EOF 
  44. *           soft   nofile       65535 
  45. *           hard   nofile       65535 
  46. EOF 
  47. #set the control-alt-delete to guard against the miSUSE 
  48. sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf 
  49. #disable selinux 
  50. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
  51. #set ssh 
  52. sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config 
  53. sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config 
  54. service sshd restart 
  55. #tune kernel parametres 
  56. cat >> /etc/sysctl.conf << EOF 
  57. net.ipv4.tcp_fin_timeout = 1 
  58. net.ipv4.tcp_keepalive_time = 1200 
  59. net.ipv4.tcp_mem = 94500000 915000000 927000000 
  60. net.ipv4.tcp_tw_reuse = 1 
  61. net.ipv4.tcp_timestamps = 0 
  62. net.ipv4.tcp_synack_retries = 1 
  63. net.ipv4.tcp_syn_retries = 1 
  64. net.ipv4.tcp_tw_recycle = 1 
  65. net.core.rmem_max = 16777216 
  66. net.core.wmem_max = 16777216 
  67. net.core.netdev_max_backlog = 262144 
  68. net.core.somaxconn = 262144 
  69. net.ipv4.tcp_max_orphans = 3276800 
  70. net.ipv4.tcp_max_syn_backlog = 262144 
  71. net.core.wmem_default = 8388608 
  72. net.core.rmem_default = 8388608 
  73. EOF 
  74. /sbin/sysctl -p 
  75. #define the backspace button can erase the last character typed 
  76. echo 'stty erase ^H' >> /etc/profile 
  77. echo "syntax on" >> /root/.vimrc 
  78. #stop some crontab 
  79. mkdir /etc/cron.daily.bak 
  80. mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak 
  81. mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak 
  82. chkconfig bluetooth off 
  83. chkconfig cups off 
  84. chkconfig ip6tables off 
  85. #disable the ipv6 
  86. cat > /etc/modprobe.d/ipv6.conf << EOFI 
  87. alias net-pf-10 off 
  88. options ipv6 disable=1 
  89. EOFI 
  90. echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network 
  91. cat << EOF 
  92. +-------------------------------------------------+ 
  93. |               optimizer is done                 | 
  94. |   it's recommond to restart this server !       | 
  95. +-------------------------------------------------+ 
  96. EOF 
對腳本的內容做一下說明:
  1. 先對系統進行判斷,如果是Cent OS 64位,就繼續運行。
  2. 先將系統的安裝源設置爲網易的(網易的安裝源算是國內比較穩定的)
  3. 安裝epel的源和rpmforge的源,利用第三方的源來讓yum安裝起來更方便
  4. 更新軟件
  5. 設置爲每天凌晨四點進行時間同步(跟國家授時中心的服務器進行時間同步)
  6. 將系統同時打開的文件個數增大
  7. 將ctrl ALT delete鍵進行屏蔽,防止誤操作的時候服務器重啓
  8. 關閉SELinux
  9. 禁用GSSAPI來認證,也禁用DNS反向解析,加快SSH登陸速度
  10. 優化一些內核參數
  11. 調整刪除字符的按鍵爲backspace(某些系統默認是delete)
  12. 打開vim的語法高亮
  13. 取消生成whatis數據庫和locate數據庫
  14. 關閉沒用的服務
  15. 關閉IPv6
本文出自 “Icooke 51CTO官方博客” 博客,謝絕轉載!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章