当前位置: 首页 > 科技观察

CentOS7系统优化脚本

时间:2023-03-13 11:37:20 科技观察

一、简介作为运维人员,我们经常会为了各种目的部署操作系统,但是在这些任务中,我们会发现很多任务其实都是重复劳动,操作的内容是类似的,基于这种情况,我们可以把相同的操作做成一个统一执行的脚本,手动输入不同的东西作为变量。节省下来的时间岂不是可以做更有意义的事情?最近在fans的推荐下,找到了一个比较好用的shell源码,并以此为基础进行了适配,分享给大家。2、菜单主菜单:二级菜单:主要实现系统的各种优化,如修改字符集、关闭selinux、关闭防火墙、安装常用工具、加速ssh登录等常用功能。3.源码#!/bin/sh./etc/rc.d/init.d/functionsexportLANG=zh_CN.UTF-8#一级菜单menu1(){clearcat</etc/locale.conf</dev/nullecho'#firewall-cmd--state'firewall-cmd--statesystemctl禁用firewalld.service&>/dev/nullecho'#systemctllist-unit-files|grepfirewalld'systemctl列表单元文件|grepfirewalldaction"firewalld禁用完毕,建议生产环境启用!"/bin/trueecho"============================================================="睡觉5}#4。简化的启动chkset(){echo"========================简化的启动========================="systemctl禁用auditd.servicesystemctl禁用postfix.servicesystemctl禁用dbus-org.freedesktop。NetworkManager.serviceecho'#systemctl列表单元文件|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"'systemctl列表单元文件|grep-E"auditd|postfix|dbus-org\.freedesktop\.NetworkManager"action"完成精简启动"/bin/trueecho"===========================================================修改文件描述符limitset(){echo"=======================修改文件描述符========================"echo'*-nofile65535'>/etc/security/limits.conflimit-SHn65535echo"#cat/etc/security/limits.conf"cat/etc/security/limits.confecho"#ulimit-Sn;ulimit-Hn"ulimit-Sn;ulimit-Hnaction"Finishedmodifyingthefiledescriptor"/bin/trueecho"========================================================){echo"==================安装常用工具和修改yum源==============================安装wget-y&>/dev/nullif[$?-eq0];然后cd/etc/yum.repos.d/\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)ping-c1mirrors.aliyun.com&>/dev/nullif[$?-eq0];thenwget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-7.repo&>/dev/nullyumcleanall&>/dev/nullyummakecache&>/dev/nullelseecho"无法连接网络"exit$?fielseecho"wget安装失败"exit$?fiyum-yinstallntpdatelsofnet-toolstelnetvimlrzsztreenmapncsysstat&>/dev/nullaction"完成常用工具安装并修改yum源"/bin/trueecho"============================================================"睡眠2}#7。优化系统内核kernelset(){echo"======================优化系统内核==========================================================/etc/sysctl.conf|grepconntrack|wc-l`if[$chk_nf-eq0];thencat>>/etc/sysctl.conf</dev/nullif[$?-eq0];then/usr/sbin/ntpdatetime.windows.comecho"*/5****/usr/sbin/ntpdatentp.aliyun.com&>/dev/null">>/var/spool/cron/rootelseecho"ntpdate安装失败"exit$?fiaction"完成设置时间同步"/bin/trueecho"==========================================================="sleep2}#11.历史优化historyset(){echo"======================================================================================================================”chk_his=`cat/etc/profile|grepHISTTIMEFORMAT|wc-l`if[$chk_his-eq0];thencat>>/etc/profile<<'EOF'#设置历史格式exportHISTTIMEFORMAT="[%Y-%m-%d%H:%M:%S][`whoami`][`whoamiawk'{print$NF}'|sed-r's#[()]##g'`]:"#Recordeverycommandexecuted通过shellexportPROMPT_COMMAND='\if[-z"$OLD_PWD"];thenexportOLD_PWD=$PWD;fi;if[!-z"$LAST_CMD"]&&["$(history1)"!="$LAST_CMD"];然后是logger-t`whoami`_shell_dir"[$OLD_PWD]$(历史1)";fi;exportLAST_CMD="$(history1)";exportOLD_PWD=$PWD;'EOFsource/etc/profileelseecho"优化项已经存在"fiaction"完整的历史优化"/bin/trueecho"============================================================="sleep2}#controlfunctionmain(){menu1case$num1in1)localesetselinuxsetfirewalldsetchksetlimitsetyumsetkernelsetsshsetrestartsetntpdatesethistoryset;;2)menu2case$num2in1)localeset;;2)selinuxset;;3)firewalldset;;4)chkset;;5)limitset;;6)yumset;;7)kernelset;;8)sshset;;9)重启设置;;10)ntpdateset;;11)历史集;;12)主要;;13)退出;;*)echo'请从[1-13]中选择一个数字。';;esac;;3)退出;;*)echo'错误:请从[1-3]中选择一个数字。sleep3main;;esac}main$*保存为init.sh,然后在授予执行权限后执行chmod+xinit.sh&&./init.shif这样来回复制粘贴很麻烦,而且也可以通过我的一键命令执行,同样可以达到上面的效果:bash-c"$(curl-Ls.aaa.al/init.sh)"最后,如果你有这个功能你想实现也可以通过修改原脚本实现。