CentOS 6一键系统优化 Shell 脚本

脚本的内容如下:

#!/bin/bash
#author suzezhi
#this script is only for CentOS 6
#check the OS

platform=`uname -i`
if [ $platform != "x86_64" ];then
echo "this script is only for 64bit Operating System !"
exit 1
fi
echo "the platform is ok"
version=`lsb_release -r |awk ‘{print substr($2,1,1)}‘`
if [ $version != 6 ];then
echo "this script is only for CentOS 6 !"
exit 1
fi
cat << EOF
+---------------------------------------+
| your system is CentOS 6 x86_64 |
| start optimizing....... |
+---------------------------------------
EOF

#make the 163.com as the default yum repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo

#add the third-party repo
#add the epel
rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

#add the rpmforge
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag

#update the system and set the ntp
yum clean all
yum -y update glibc\*
yum -y update yum\* rpm\* python\*
yum -y update
yum -y install ntp
echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root
service crond restart

#set the file limit
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 65535
* hard nofile 65535
EOF

#set the control-alt-delete to guard against the miSUSE
sed -i ‘s#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#‘ /etc/init/control-alt-delete.conf

#disable selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

#set ssh
sed -i ‘s/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/‘ /etc/ssh/sshd_config
sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config
service sshd restart

#tune kernel parametres
cat >> /etc/sysctl.conf << EOF
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
EOF
/sbin/sysctl -p

#define the backspace button can erase the last character typed
echo ‘stty erase ^H‘ >> /etc/profile
echo "syntax on" >> /root/.vimrc

#stop some crontab
mkdir /etc/cron.daily.bak
mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak
mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak
chkconfig bluetooth off
chkconfig cups off
chkconfig ip6tables off
#disable the ipv6
cat > /etc/modprobe.d/ipv6.conf << EOFI
alias net-pf-10 off
options ipv6 disable=1
EOFI
echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network
cat << EOF
+-------------------------------------------------+
| optimizer is done |
| it‘s recommond to restart this server ! |
+-------------------------------------------------+
EOF

对脚本的内容做一下说明:

先对系统进行判断,如果是Cent OS 64位,就继续运行。
先将系统的安装源设置为网易的(网易的安装源算是国内比较稳定的)
安装epel的源和rpmforge的源,利用第三方的源来让yum安装起来更方便
更新软件
设置为每天凌晨四点进行时间同步(跟国家授时中心的服务器进行时间同步)
将系统同时打开的文件个数增大
将ctrl alt delete键进行屏蔽,防止误操作的时候服务器重启
关闭selinux
禁用GSSAPI来认证,也禁用DNS反向解析,加快SSH登陆速度
优化一些内核参数
调整删除字符的按键为backspace(某些系统默认是delete)
打开vim的语法高亮
取消生成whatis数据库和locate数据库
关闭没用的服务
关闭IPv6

以上部分来自网络博客,本人做了一些总结

时间: 2024-10-09 19:59:41

CentOS 6一键系统优化 Shell 脚本的相关文章

Centos Denyhosts 一键安装配置脚本

一键安装denyhosts脚本并配置为常用配置.放置Linux服务器被暴力破解 由于不能上传tar文件.所以改为zip压缩. 将附件的zip压缩包解压后将整个文件夹上传到服务器. 然后进入denyhost文件夹 赋予脚本执行权限. chmod 700 denyhosts.sh ./ denyhosts.sh 脚本内容是: denyhosts.sh #!/bin/bash   # Copyright (c) 2015.6  Fenei # BY:封飞 # 2015年6月29日23点 # denyh

Centos开机自动执行shell脚本启动tomcat服务器

有时候需要在Centos系统启动之后自动完成项目的启动,项目部署在tomcat中时,如果Centos关机后开机,各个项目也就已经被停掉了,然后需要自己一个一个的手动去开启各个项目对应的tomcat服务器,想想都比较麻烦,那么如何才能实现,当Centos启动之后,项目就自动也跟着启动了呢? 下面就介绍下Centos如何开机是自动启动shell脚本,通过shell脚本的命令来启动项目对应的tomcat服务器. 一.切换到/etc/init.d目录下 cd /etc/init.d 二.制作sh脚本:v

一键安装shell脚本

一.一键安装nginx脚本 #!/bin/bash #################################### #Name:nginx_install.sh #Author:doublelinux #version:1.1 #Date:2017/08/19 #################################### yum -y install pcre pcre-devel yum -y install openssl openssl-devel mkdir -p

LNMP一键安装shell脚本(v1.2)

鉴于搭建一个LNMP环境使用一步一步的方法安装比较笨拙,故将安装步骤编写成一个简单shell脚本,并且能实现大部分需求 适合的系统版本:CentOS6.5-6.7 64位 安装的前提准备: mysql-5.6.28.tar.gz cmake-3.4.3.tar.gz nginx-1.8.1.tar.gz libgd-2.1.1.tar.bz2 ibiconv-1.14.tar.gz jpegsrc.v6b.tar.gz php-5.6.20.tar.bz2 将以上的源码包download下来放并

linux (centos) 安装tomcat (用shell脚本安装为服务)

1.下载tomcat 从http://tomcat.apache.org/download-70.cgi链接下载linux版本(tar.gz) 2.解压,上传及赋权限 解压,用WinSCP把解压的安装文件上传到/home/software/tomcat目录 并用   chmod -R 755 /home/software/tomcat命令账权限. 3.编写安装为服务的脚本并运行 shell脚本如下: #! /bin/sh #shell script takes care of starting

CentOS 6.9使用Shell脚本实现FTP自动上传和下载文件

一.安装配置FTP: # yum -y install vsftpd # service vsftpd start # ss -tunlp | grep 21 //添加本地FTP登录用户ftpuser # useradd ftpuser # echo 123456 | passwd --stdin ftpuser # cd /etc/vsftpd/ # cp vsftpd.conf vsftpd.conf.bak # vim vsftpd.conf //允许本地用户登录FTP且对FTP具有写权限

CENTOS 6.6初始化SHELL脚本

这个脚本是在刚安装完CENTOS6.6后可能需要进行的操作.在学习CENTOS的时候,可以先运行这个脚本进行一些配置,可以帮助你不会被这些防火墙 yum selinux ip这些困扰. #!/bin/bash   #判断是不是root用户 if [[ "$(whoami)" != "root" ]]; then       echo "please run this script as root ." >&2     exit 1

centos)安装tomcat (用shell脚本安装为服务)

#! /bin/sh #shell script takes care of starting and stopping # the glassfish DAS and glassfish instance. # # chkconfig: - 64 36 # description: Tomcat auto start # /etc/init.d/tomcatd # Tomcat auto-start # Source function library. #. /etc/init.d/funct

LNMP一键安装shell脚本

前段时间维护服务器,需要安装LNMP环境,所以就整理了一下,做为脚本,记录下来. #!/bin/sh #Copyright(c) 2010-2015 redapple ([email protected]) #install LNMP  #Version 0.1.1 #Date 20140813 #------------增加yum源------------------------ rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmfo