linux shell之简单一键优化脚本推荐

#################################################thisscriptiscreatedbychocolee.#e_mail:494379480@qq.com#qqinfo:494379480#blog:chocolee.blog.51cto.com#version:1.0#################################################Sourcefunctionlibrary../etc/init.d/functions#dateDATE=`date+”%y-%m-%d%H:%M:%S”`IPADDR=`grep”IPADDR”/etc/sysconfig/network-scripts/ifcfg-eth0|cut-d=-f2`#hostnameHOSTNAME=`hostname-s`#userUSER=`whoami`#disk_checkDISK_SDA=`df-h|grep-w”/”|awk'{print$5}’`#cpu_average_checkcpu_uptime=`cat/proc/loadavg|awk'{print$1,$2,$3}’`#setLANGexportLANG=zh_CN.UTF-8#Requireroottorunthisscript.uid=`id|cut-d\(-f1|cut-d=-f2`if[$uid-ne0];thenaction”Pleaserunthisscriptasroot.”/bin/falseexit1#”sttyerase^H”\cp/root/.bash_profile/root/.bash_profile_$(date+%F)erase=`grep-wx”sttyerase^H”/root/.bash_profile|wc-l`if[$erase-lt1];thenecho”sttyerase^H” /root/.bash_profilesource/root/.bash_profile#ConfigYumCentOS-Bases.repoconfigYum(){echo”================更新为国内YUM源==================”cd/etc/yum.repos.d/\cpCentOS-Base.repoCentOS-Base.repo.$(date+%F)ping-c1www.163.com /dev/nullif[$?-eq0];thenwgethttp://mirrors.163.com/.help/CentOS6-Base-163.repoelseecho”无法连接网络。”exit$?fi\cpCentOS-Base-sohu.repoCentOS-Base.repoaction”配置国内YUM完成”/bin/trueecho”=================================================”echo””sleep2#Charsetzh_CN.UTF-8initI18n(){echo”================更改为中文字符集=================”\cp/etc/sysconfig/i18n/etc/sysconfig/i18n.$(date+%F)echo”LANG=”zh_CN.UTF-8″” /etc/sysconfig/i18nsource/etc/sysconfig/i18necho’#cat/etc/sysconfig/i18n’grepLANG/etc/sysconfig/i18naction”更改字符集zh_CN.UTF-8完成”/bin/trueecho”=================================================”echo””sleep2#CloseSelinuxandIptablesinitFirewall(){echo”============禁用SELINUX及关闭防火墙==============”\cp/etc/selinux/config/etc/selinux/config.$(date+%F)/etc/init.d/iptablesstopsed-i’s/SELINUX=enforcing/SELINUX=disabled/g’/etc/selinux/configsetenforce0/etc/init.d/iptablesstatusecho’#grepSELINUX=disabled/etc/selinux/config’grepSELINUX=disabled/etc/selinux/configecho’#getenforce’getenforceaction”禁用selinux及关闭防火墙完成”/bin/trueecho”=================================================”echo””sleep2#InitAutoStartupServiceinitService(){echo”===============精简开机自启动====================”exportLANG=”en_US.UTF-8″forAin`chkconfig–list|grep3:on|awk'{print$1}’`;dochkconfig$Aoff;doneforBinrsyslognetworksshdcrond;dochkconfig$Bon;doneecho’+——–whichserviceson———+’chkconfig–list|grep3:onecho’+———————————-+’exportLANG=”zh_CN.UTF-8″action”精简开机自启动完成”/bin/trueecho”=================================================”echo””sleep2#Changesshddefaultportandprohibituserrootremotelogin.initSsh(){echo”========修改ssh默认端口禁用root远程登录==========”\cp/etc/ssh/sshd_config/etc/ssh/sshd_config.$(date+%F)sed-i’s/#Port22/Port52113/g’/etc/ssh/sshd_configsed-i’s/#PermitEmptyPasswordsno/PermitEmptyPasswordsno/g’/etc/ssh/sshd_configsed-i’s/#PermitRootLoginyes/PermitRootLoginno/g’/etc/ssh/sshd_configsed-i’s/#UseDNSyes/UseDNSno/g’/etc/ssh/sshd_configecho’+——-modifythesshd_config——-+’echo’Port52113’echo’PermitEmptyPasswordsno’echo’PermitRootLoginno’echo’UseDNSno’echo’+————————————+’/etc/init.d/sshdreload action”修改ssh默认参数完成”/bin/true||action”修改ssh参数失败”/bin/falseecho”=================================================”echo””sleep2#timesyncsyncSysTime(){echo”================配置时间同步=====================”\cp/var/spool/cron/root/var/spool/cron/root.$(date+%F)2 /dev/nullNTPDATE=`grepntpdate/var/spool/cron/root2 /dev/null|wc-l`if[$NTPDATE-eq0];thenecho”#timessyncbyleeat$(date+%F)” /var/spool/cron/rootecho”*/5****/usr/sbin/ntpdatetime.windows.com /dev/null2 1″ /var/spool/cron/rootfiecho’#crontab-l’crontab-laction”配置时间同步完成”/bin/trueecho”=================================================”echo””sleep2#installtoolsinitTools(){echo”#####installtools#####”yumgroupinstallbase-yyumgroupinstallcore-yyumgroupinstalldevelopmentlibs-yyumgroupinstalldevelopmenttools-yecho”installtooscomplete.”sleep1#adduserandgivesudoersaddUser(){echo”===================新建用户======================”#adduserwhiletruedoread-p”请输入新用户名:”nameNAME=`awk-F’:”{print$1}’/etc/passwd|grep-wx$name2 /dev/null|wc-l`if[${#name}-eq0];thenecho”用户名不能为空,请重新输入。”continueelif[$NAME-eq1];thenecho”用户名已存在,请重新输入。”continuefiuseradd$namebreak#createpasswordwhiletrueread-p”为$name创建一个密码:”pass1if[${#pass1}-eq0];thenecho”密码不能为空,请重新输入。”continuefiread-p”请再次输入密码:”pass2if[“$pass1″!=”$pass2″];thenecho”两次密码输入不相同,请重新输入。”continuefiecho”$pass2″|passwd–stdin$namebreaksleep1#addvisudoecho”#####addvisudo#####”\cp/etc/sudoers/etc/sudoers.$(date+%F)SUDO=`grep-w”$name”/etc/sudoers|wc-l`if[$SUDO-eq0];thenecho”$nameALL=(ALL)NOPASSWD:ALL” /etc/sudoersecho’#tail-1/etc/sudoers’grep-w”$name”/etc/sudoerssleep1action”创建用户$name并将其加入visudo完成”/bin/trueecho”=================================================”echo””sleep2#Adjustthefiledescriptor(limits.conf)initLimits(){echo”===============加大文件描述符====================”LIMIT=`grepnofile/etc/security/limits.conf|grep-v”^#”|wc-l`if[$LIMIT-eq0];then\cp/etc/security/limits.conf/etc/security/limits.conf.$(date+%F)echo’*-nofile65535′ /etc/security/limits.conffiecho’#tail-1/etc/security/limits.conf’tail-1/etc/security/limits.confulimit-HSn65535echo’#ulimit-n’ulimit-naction”配置文件描述符为65535″/bin/trueecho”=================================================”echo””sleep2#OptimizingthesystemkernelinitSysctl(){echo”================优化内核参数=====================”SYSCTL=`grep”net.ipv4.tcp”/etc/sysctl.conf|wc-l`if[$SYSCTL-lt10];then\cp/etc/sysctl.conf/etc/sysctl.conf.$(date+%F)cat /etc/sysctl.conf EOFnet.ipv4.tcp_fin_timeout=2net.ipv4.tcp_tw_reuse=1net.ipv4.tcp_tw_recycle=1net.ipv4.tcp_syncookies=1net.ipv4.tcp_keepalive_time=600net.ipv4.ip_local_port_range=400065000net.ipv4.tcp_max_syn_backlog=16384net.ipv4.tcp_max_tw_buckets=36000net.ipv4.route.gc_timeout=100net.ipv4.tcp_syn_retries=1net.ipv4.tcp_synack_retries=1net.core.somaxconn=16384net.core.netdev_max_backlog=16384net.ipv4.tcp_max_orphans=16384net.netfilter.nf_conntrack_max=25000000net.netfilter.nf_conntrack_tcp_timeout_established=180net.netfilter.nf_conntrack_tcp_timeout_time_wait=120net.netfilter.nf_conntrack_tcp_timeout_close_wait=60net.netfilter.nf_conntrack_tcp_timeout_fin_wait=120\cp/etc/rc.local/etc/rc.local.$(date+%F)modprobenf_conntrackecho”modprobenf_conntrack” /etc/rc.localmodprobebridgeecho”modprobebridge” /etc/rc.localsysctl-paction”内核调优完成”/bin/trueecho”=================================================”echo””sleep2#menu2menu2(){whiletrueclearcat EOF—————————————-|****PleaseEnterYourChoice:[0-9]****|—————————————-(1)新建一个用户并将其加入visudo(2)配置为国内YUM源镜像(3)配置中文字符集(4)禁用SELINUX及关闭防火墙(5)精简开机自启动(6)修改ssh默认端口及禁用root远程登录(7)设置时间同步(8)加大文件描述符(9)内核调优(0)返回上一级菜单read-p”PleaseenteryourChoice[0-9]:”input2case”$input2″in0)clearbreak;;1)addUser;;2)configYum;;3)initI18n;;4)initFirewall;;5)initService;;6)initSsh;;7)syncSysTime;;8)initLimits;;9)initSysctl;;*)echo”———————————-“echo”|Warning!!!|”echo”|PleaseEnterRightChoice!|”echo”———————————-“foriin`seq-w3-11`doecho-ne”\b\b$i”;sleep1;doneclear#initTools#menuwhiletrueclearecho”========================================”echo’LinuxOptimization’echo”========================================”cat EOF|———–SystemInfomation———–|DATE:$DATE|HOSTNAME:$HOSTNAME|USER:$USER|IP:$IPADDR|DISK_USED:$DISK_SDA|CPU_AVERAGE:$cpu_uptime—————————————-|****PleaseEnterYourChoice:[1-3]****|—————————————-(1)一键优化(2)自定义优化(3)退出#choiceread-p”Pleaseenteryourchoice[0-3]:”input1case”$input1″in1)addUserconfigYuminitI18ninitFirewallinitServiceinitSshsyncSysTimeinitLimitsinitSysctl;;menu2;;3)clearbreak;;*)echo”———————————-“echo”|Warning!!!|”echo”|PleaseEnterRightChoice!|”echo”———————————-“foriin`seq-w3-11`doecho-ne”\b\b$i”;sleep1;doneclearesacdone

走过一个又一个陌生的城市,去感受旖旎的自然风光,

linux shell之简单一键优化脚本推荐

相关文章:

你感兴趣的文章:

标签云: