`
zhaohaolin
  • 浏览: 1016360 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

CentOS 6 系统优化 Shell 脚本

 
阅读更多

CentOS 已经发布了6.2版了,现在已经可以用在生产环境了,新版本的内核也能更好的利用硬件。写了一个脚本,用来初始化系统环境,现在分享出来,你可以根据自己的需要,对脚本进行相应的修改。

脚本的内容如下:

  1. #!/bin/bash
  2. #author suzezhi
  3. #this script is only for CentOS 6
  4. #check the OS
  5. platform=`uname -i`
  6. if [ $platform != "x86_64" ];then
  7. echo "this script is only for 64bit Operating System !"
  8. exit 1
  9. fi
  10. echo "the platform is ok"
  11. version=`lsb_release -r |awk '{print substr($2,1,1)}'`
  12. if [ $version != 6 ];then
  13. echo "this script is only for CentOS 6 !"
  14. exit 1
  15. fi
  16. cat << EOF
  17. +---------------------------------------+
  18. | your system is CentOS 6 x86_64 |
  19. | start optimizing....... |
  20. +---------------------------------------
  21. EOF
  22. #make the 163.com as the default yum repo
  23. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  24. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo
  25. #add the third-party repo
  26. #add the epel
  27. rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
  28. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
  29. #add the rpmforge
  30. rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
  31. rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
  32. #update the system and set the ntp
  33. yum clean all
  34. yum -y update glibc\*
  35. yum -y update yum\* rpm\* python\*
  36. yum -y update
  37. yum -y install ntp
  38. echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root
  39. service crond restart
  40. #set the file limit
  41. echo "ulimit -SHn 102400" >> /etc/rc.local
  42. cat >> /etc/security/limits.conf << EOF
  43. * soft nofile 65535
  44. * hard nofile 65535
  45. EOF
  46. #set the control-alt-delete to guard against the miSUSE
  47. sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf
  48. #disable selinux
  49. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  50. #set ssh
  51. sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config
  52. sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
  53. service sshd restart
  54. #tune kernel parametres
  55. cat >> /etc/sysctl.conf << EOF
  56. net.ipv4.tcp_fin_timeout = 1
  57. net.ipv4.tcp_keepalive_time = 1200
  58. net.ipv4.tcp_mem = 94500000 915000000 927000000
  59. net.ipv4.tcp_tw_reuse = 1
  60. net.ipv4.tcp_timestamps = 0
  61. net.ipv4.tcp_synack_retries = 1
  62. net.ipv4.tcp_syn_retries = 1
  63. net.ipv4.tcp_tw_recycle = 1
  64. net.core.rmem_max = 16777216
  65. net.core.wmem_max = 16777216
  66. net.core.netdev_max_backlog = 262144
  67. net.core.somaxconn = 262144
  68. net.ipv4.tcp_max_orphans = 3276800
  69. net.ipv4.tcp_max_syn_backlog = 262144
  70. net.core.wmem_default = 8388608
  71. net.core.rmem_default = 8388608
  72. EOF
  73. /sbin/sysctl -p
  74. #define the backspace button can erase the last character typed
  75. echo 'stty erase ^H' >> /etc/profile
  76. echo "syntax on" >> /root/.vimrc
  77. #stop some crontab
  78. mkdir /etc/cron.daily.bak
  79. mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak
  80. mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak
  81. chkconfig bluetooth off
  82. chkconfig cups off
  83. chkconfig ip6tables off
  84. #disable the ipv6
  85. cat > /etc/modprobe.d/ipv6.conf << EOFI
  86. alias net-pf-10 off
  87. options ipv6 disable=1
  88. EOFI
  89. echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network
  90. cat << EOF
  91. +-------------------------------------------------+
  92. | optimizer is done |
  93. | it's recommond to restart this server ! |
  94. +-------------------------------------------------+
  95. 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

http://www.linuxde.net/2011/12/5756.html

分享到:
评论

相关推荐

    centos系统springboot启动、重启、停止shell脚本

    centos系统springboot启动、重启、停止shell脚本,centos系统springboot启动、重启、停止shell脚本

    centos7 64位 shell脚本一键升级python2.7.5到python3.6.3

    centos7 64位 shell脚本一键升级python2.7.5到python3.6.3

    CentOS系统日志收集shell 脚本

    通过这个shell脚本,我们可以实现对系统启动日志、应用程序日志和安全日志的有效管理和归档,从而提升系统的可维护性和安全性。在实际使用中,可以根据具体需求调整rsyslog和logrotate的配置,以满足不同场景下的...

    CentOS 7系统优化脚本

    作为一名运维工程师,经常会部署各种用途的操作系统,但在这些工作中,我们会发现很多工作其实是重复性的劳动,操作的内容也是大同小异,基于这类情况,我们可以把相同的操作做成统一执行的脚本,不同的东西作为变量...

    centos7下启动springboot项目启动脚本(shell脚本)

    当出现多个springboot项目需要启动的时候,可以使用脚本启动的方式。这在springcloud项目的开发测试阶段尤为有用。以下展示启动脚本示例,过程中遇到的问题,以及相关的解决办法。 1、启动脚本 #!/bin/sh export ...

    查询硬件信息shell脚本(系统、cpu、内存、网卡)(仅针对centos7和rh7版本)

    系统版本:Centos Linux release 7.9.2009 (Core) 内核版本:Linux 3.10.0-1160.e17.x86_64 服务器制造商:vivare, Inc. 服务器型号:Wivare Virtual Platform 服务器序列号:wiware-56 4d c8 82 9e 8e 99 8+-5b 6e ...

    CentOS系统初始化优化脚本

    在这个上下文中,脚本可能是bash脚本,一种在Linux系统中广泛使用的shell脚本语言,用于执行系统管理任务和自动化工作流程。 【压缩包子文件的文件名称列表】:`run.sh`和`include`。`run.sh`是一个常见的bash脚本...

    CentOS 一键安装PostgreSQL10.2(可更改版本)shell脚本

    CentOS 一键安装PostgreSQL10.2 shell脚本,脚本中已表明可更改版本的位置

    一个Linux系统安全设置的Shell脚本的分享(适用CentOS)

    主要介绍了一个设置Linux系统安全的Shell脚本的分享,适用CentOS,包含大部份的安全设置,只需执行脚本就可以得到一个相对安全的Linux系统了,需要的朋友可以参考下

    centos 优化脚本

    centos 优化脚本,可以供自己在日常中优化服务器做正常使用,系统分为centos7 和centos6

    centos6.5下自动安装oracle11的shell脚本

    总之,通过这个shell脚本,能够在CentOS 6.5上实现Oracle 11g的快速、自动化安装,大大降低了安装的复杂性和时间成本,使得即使是Linux新手也能轻松应对。这个脚本的价值在于其可定制性,可以根据具体需求进行调整,...

    centos7 ssh免密登录自动化配置脚本(ps:已测试过)

    shell脚本通常用于执行一系列命令,而expect则是一个交互式脚本语言,它可以模拟用户与程序的交互,非常适合自动处理需要用户输入的情况,比如SSH登录过程中的密码验证。 在"shell+expect编写的 大数据集群ssh免密...

    shell脚本案例-俄罗斯方块

    该脚本需要在Linux-centos系统中运行,需要安装格式转换工具 dos2unix; 改脚本对于shell初学者来说是不错案例选择,仅用619行脚本代码,写出了有趣的小游戏; 环境:Centos7.x 1.dos2unix安装 yum -y install dos...

    Centos7系统巡检.sh

    Centos7系统一件巡检脚本,快速高效获取服务器状态,服务运行状态,密码过期检查等等

    Shell脚本实现回收站的功能

    到目前为止,非图形化的Linux还没有回收站的命令。 那么,我们如果不小心将某一个文件...把此脚本放入/usr/local/bin目录下,然后使用del 123.txt就可以将文件放入回收站,而不是真的删除。而且可以"删除"同名的文件。

    实现释放CentOS系统内存的Shell脚本分享

    主要介绍了实现释放CentOS系统内存的Shell脚本分享,本文对一些小内存的VPS特别有用,需要的朋友可以参考下

    docker 一键部署redis集群 shell脚本 适用centos7.x版本

    docker 一键部署redis集群 shell脚本 适用centos7.x版本,按照说明 将参数传递给 安装脚本,自动执行部署程序,亲测可用

    Shell脚本实现Linux系统和进程资源监控

    在Linux系统管理中,Shell脚本是常用的工具之一,它能帮助我们自动化各种任务,包括系统和进程资源的监控。本文将详细介绍如何使用Shell脚本来实现这些监控功能。 1. **检查进程是否存在** 使用`ps`命令可以查看...

    centOS自动部署java web脚本

    在阿里云CentOS 6.5 java开发集成环境下部署,利用到Git和Maven进行自动化部署,git换成SVN也类似。

    centos 7 MySQL8 离线一键自动安装脚本

    - 使用shell脚本语言编写安装脚本,实现一键自动安装。脚本中需要包含以下步骤: - 安装依赖包:CentOS 7可能缺少一些MySQL8所需的库,如`libaio`,确保先安装它们。 - 添加MySQL的GPG密钥:`rpm --import ...

Global site tag (gtag.js) - Google Analytics