前言
当我们装完系统之后,需要做一些优化,比如安装一些常用的软件,关闭防火墙、selinux等并设置开机自启,还有一些内核的优化,设置时间同步等等等。。
但这样设置太过于繁琐,博主在学习优化时写了一个脚本,只要执行脚本,一分钟之内就可以完成系统的优化,非常的方便,感兴趣的一起来看看吧!
sh脚本
[root@lixian ~]# cat optimize.sh # Version: V1.0 # Author: Lixian # Organization: https://www.lixian.fun # Created Time : 2020-01-09 18:35:35 # Description: ############################################################## . /etc/init.d/functions cat <<END +----------------------------------+ | | | This is a 系统优化 | | | | 一键优化系统 最强版 | | | | 显哥哥专用shell脚本 | | | | 请输入 ok 开始安装 | | | +----------------------------------+ END #node 输入指令开始优化系统. read -p "请你输入指令 ok 开始优化系统:" NUM if [ "$NUM" != "ok" ];then action "对不起,您输入的指令有误!!!" /bin/false exit 1 fi #node 开始优化. [ "$NUM" = "ok" ] && { #优化更新yum仓库 echo "开始优化linux系统,请耐心等待..." curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null && curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &> /dev/null if [ "$?" -eq 0 ];then action "优化yum源仓库更新成功!" /bin/true else action "对不起,yum源更新失败,请检查脚本或者手动更新yum仓库!" /bin/false exit 1 fi #永久关闭selinux sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config if [ "$?" -eq 0 ];then action "永久关闭selinux模块成功!" /bin/true else action "对不起,永久关闭selinux失败,请检查脚本或者手动关闭selinux!" /bin/false exit 1 fi #关闭防火墙并加入开机自启 systemctl stop firewalld && systemctl disable firewalld &> /dev/null if [ "$?" -eq 0 ];then action "关闭firewalld防火墙成功!" /bin/true else action "对不起,关闭防火墙失败,请检查脚本或者手动关闭防火墙!" /bin/false exit 1 fi #同步系统时间设置成定时任务 yum install -y ntpdate &> /dev/null && echo '*/3 * * * * /usr/sbin/ntpdate ntp.aliyun.com &>/dev/null' >> /var/spool/cron/root if [ "$?" -eq 0 ];then action "同步系统时间和加入定时任务完成..." /bin/true else action "对不起,同步系统时间和定时任务失败,请检查脚本或者手动添加定时任务!" /bin/false exit 1 fi #关闭NetworkManager systemctl stop NetworkManager && systemctl disable NetworkManager &> /dev/null if [ "$?" -eq 0 ];then action "关闭NetworkManager成功!" /bin/true else action "对不起,关闭NetworkManager失败,请检查脚本或者手动关闭NetworkManager!" /bin/false exit 1 fi #加大文件描述符数量 echo '* - nofile 65535' >> /etc/security/limits.conf if [ "$?" -eq 0 ];then action "加大文件描述符数量成功!" /bin/true else action "对不起,加大文件描述符数量失败,请检查脚本或者手动加大描述符数量!" exit 1 fi #禁止DNS反向解析 sed -i 's#^\#UseDNS.*#UseDNS no#g' /etc/ssh/sshd_config if [ "$?" -eq 0 ];then action "禁止DNS反向解析完成!" /bin/true else action "对不起,禁止DNS反向解析失败,请检查脚本或者手动禁止DNS解析!" exit 1 fi #禁止GSS认证 sed -i 's#^GSSAPIA.*#GSSAPIAuthentication no#g' /etc/ssh/sshd_config && systemctl restart sshd if [ "$?" -eq 0 ];then action "禁止GSS认证成功!" /bin/true else action "对不起,禁止GSS认证失败,请检查脚本或者手动禁止GSS认证!" exit 1 fi #内核优化 cat >>/etc/sysctl.conf<<EOF net.ipv4.tcp_fin_timeout = 2 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_keepalive_time = 600 net.ipv4.ip_local_port_range = 4000 65000 net.ipv4.tcp_max_syn_backlog = 16384 net.ipv4.tcp_max_tw_buckets = 36000 net.ipv4.route.gc_timeout = 100 net.ipv4.tcp_syn_retries = 1 net.ipv4.tcp_synack_retries = 1 net.core.somaxconn = 16384 net.core.netdev_max_backlog = 16384 net.ipv4.tcp_max_orphans = 16384 EOF sysctl -p &> /dev/null if [ "$?" -eq 0 ];then action "内核优化成功!" /bin/true else action "对不起,内核优化失败,请检查脚本或者手动进行内核优化!" exit 1 fi #设置别名及环境变量 cat>>/etc/profile.d/color.sh<<"EOF" alias ll='ls -l --color=auto --time-style=long-iso' PS1='[\[\e[34;40m\]\u\[\e[37;40m\]@\h \[\e[31;40m\]\w\[\e[37;40m\]]\$\[\e[0m\] ' export HISTTIMEFORMAT='%F-%T ' EOF source /etc/profile if [ "$?" -eq 0 ];then action "设置别名及环境变量成功!" /bin/true else action "对不起,设置别名和环境变量失败,请检查脚本或者手动设置!" exit 1 fi #安装常用的软件 yum -y install tree nmap sysstat lrzsz telnet bash-completion bash-completion-extras vim lsof net-tools rsync ntpdate nfs-utils wget &> /dev/null if [ "$?" -eq 0 ];then action "安装常用软件成功!" /bin/true else action "对不起,安装常用软件失败,请检查脚本或者手动安装常用软件!" exit 1 fi echo "恭喜你!优化系统成功!开始干吧!" }