Centos 7 系统优化脚本

#!/bin/bash
#author liuhui by
#this script is only for CentOS 7.x
#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"
cat << EOF
+---------------------------------------+
|   your system is CentOS 7 x86_64      |
|      start optimizing.......          |
+---------------------------------------
EOF

#添加公网DNS地址
cat >> /etc/resolv.conf << EOF
nameserver 114.114.114.114
EOF
#Yum源更换为国内阿里源
yum install wget telnet -y
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

#添加阿里的epel源
#add the epel
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# rpm -ivh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm

#yum重新建立缓存
yum clean all
yum makecache
#同步时间
yum -y install ntp
/usr/sbin/ntpdate cn.pool.ntp.org
echo "* 4 * * * /usr/sbin/ntpdate cn.pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/root
systemctl  restart crond.service

#安装vim
yum -y install vim

#设置最大打开文件描述符数
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
*           soft   nofile       655350
*           hard   nofile       655350
EOF

#禁用selinux
sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config
setenforce 0

#关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service 

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

#内核参数优化
cat >> /etc/sysctl.conf << EOF
vm.overcommit_memory = 1
net.ipv4.ip_local_port_range = 1024 65536
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_tw_recycle = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_abort_on_overflow = 0
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
net.ipv4.netfilter.ip_conntrack_max = 2097152
net.nf_conntrack_max = 655360
net.netfilter.nf_conntrack_tcp_timeout_established = 1200
EOF
/sbin/sysctl -p

#vim定义退格键可删除最后一个字符类型
echo ‘alias vi=vim‘ >> /etc/profile
echo ‘stty erase ^H‘ >> /etc/profile
cat >> /root/.vimrc << EOF
set tabstop=4
set shiftwidth=4
set expandtab
syntax on
"set number
EOF

#update soft
yum -y update

cat << EOF
+-------------------------------------------------+
|               optimizer is done                 |
|   it‘s recommond to restart this server !       |
+-------------------------------------------------+
EOF

原文地址:https://www.cnblogs.com/liuhui-xzz/p/10306734.html

时间: 2024-11-05 11:48:56

Centos 7 系统优化脚本的相关文章

CentOS 6系统优化脚本

由于自己经常用虚拟机来做各种测试,每次创建虚拟机都要重新把该关闭的服务(比如SELinux,postfix等),每次都要重新修改主机名等等,虽然可以打快照并进行虚拟盘克隆,但是磁盘文件太大也不是我所乐见的,所以仿照网上的做法,也弄了一个shell脚本来优化一下系统,这样的话每次刷一下脚本也确实省却了不少繁琐的步骤,还算可以吧. 其实生产环境中,也可以使用这种方法,比如使用cobbler来批量安装操作系统,在安装完操作系统之后直接刷系统优化脚本,也能实现最大限度的自动化安装系统.当然有人也会说使用

CentOS 6 系统优化检测脚本

紧承上文<CentOS 6系统优化脚本>,因为有时候一台虚拟机已经刷过了优化脚本,但是可能因为别的原因,这台虚拟机暂时搁置了.等过了一段时间之后,突然要用又不知道这台虚拟机是否已经优化过了,而重新使用cobbler刷一次系统又会耗费一定的时间,所以这个检测系统是否刷过优化脚本的shell脚本就诞生了.脚本不是特别准确,但是能针对上次的优化脚本做一个检查,如果已经刷过脚本,就会通过运行该脚本知道系统已经优化过了,可以立即投入使用,避免浪费时间重新再刷一次系统.如果是一个完全重新安装的CentOS

Linux系统优化脚本

#!/bin/bash  #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_relea

系统优化脚本(此脚本为原始脚本,未按照shell规范写)

系统优化脚本 #!/bin/sh user=alan #shutdown iptables chkconfig iptables off  && /etc/init.d/iptables stop   #shutdown selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  cat /etc/selinux/config  setenforce 0  getenforce &&

Centos开机自启动脚本的制作

我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 vi andy.sh [plain] #!/bin/sh #add for chkconfig #chkconfig: 2345 70 30 #description: the description of the shell   #关于脚本的简短描述 #processname: andyStart                    #第一个进程名,后边设置自启动的时候会用到 #下面要启动服务的命

[转]CentOS开机启动脚本

转载自http://www.2cto.com/os/201306/220559.html 我的一个Centos开机自启动脚本的制作 一.切换到/etc/init.d/ 二.制作sh脚本 vi andy.sh [plain] #!/bin/sh #add for chkconfig #chkconfig: 2345 70 30 #description: the description of the shell   #关于脚本的简短描述 #processname: andyStart      

centos一键优化脚本

centos一键优化脚本:细节:http://oldboy.blog.51cto.com/2561410/1336488网络状态优化:http://oldboy.blog.51cto.com/2561410/1184228定时任务优化:http://oldboy.blog.51cto.com/2561410/1216730一键脚本:较简单: http://mofansheng.blog.51cto.com/8792265/1710247较健全: http://chocolee.blog.51ct

解决方案:centos运行shell脚本时报“$&#39;\r&#39;: 未找到命令”

=============================================== 2018/9/12_第1次修改                       ccb_warlock =============================================== 问题: 将vs code里编写好的sh脚本(tmp.sh)上传到服务器(centos),运行时报"$'\r': 未找到命令". 解决方案: 查了资料后才知道,由于该脚本的命令在windows上编辑后

centos 7 初始化脚本

#!/bin/bash # 时间: 2018-11-21 # 作者: HuYuan # 描述: CentOS 7 初始化脚本 # 加载配置文件 if [ -n "${1}" ];then /bin/sh ${1} fi # 可接受配置(shell 变量格式) # INIT_HOSTNAME 主机名, 默认为 localhost # INIT_NTPSERVER ntp 服务器, 默认为 ntp1.aliyun.com # INIT_DNS1 dns 服务器 # INIT_DNS2 #