CentOS 6 系統優化檢測指令碼

天府雲創發表於2016-12-08

緊承上文《CentOS 6系統優化指令碼》,因為有時候一臺虛擬機器已經刷過了優化指令碼,但是可能因為別的原因,這臺虛擬機器暫時擱置了。等過了一段時間之後,突然要用又不知道這臺虛擬機器是否已經優化過了,而重新使用cobbler刷一次系統又會耗費一定的時間,所以這個檢測系統是否刷過優化指令碼的shell指令碼就誕生了。指令碼不是特別準確,但是能針對上次的優化指令碼做一個檢查,如果已經刷過指令碼,就會通過執行該指令碼知道系統已經優化過了,可以立即投入使用,避免浪費時間重新再刷一次系統。如果是一個完全重新安裝的CentOS 6.x,那結果也可以看出該虛擬機器並未優化過,那麼執行優化指令碼優化一次即可。

#!/bin/bash
#####################################################################################
#The script is used to check whether the optimize script had been run on CentOS 6.x
#Created by shengwei
#####################################################################################
/etc/init.d/functions
 
check_iptables(){
     /etc/init.d/iptables status  >/dev/null 2>&1
     [ $? -ne 0 ] && action "Optimize iptables: " /bin/true || action "Optimize iptables: " /bin/false
}
 
check_selinux(){
     selinux_status=`getenforce`
     [ $selinux_status == 'Disabled' ] && action "Optimize selinux: " /bin/true || action "Optimize selinux: " /bin/false
}
 
check_addusers(){
     egrep "admin|nginx|zabbix" /etc/passwd  >>/dev/null 2>&1
     [ $? -eq 0 ] && action "Add users: " /bin/true || action "Add users: " /bin/false
}
 
check_install(){
     rpm -qa|egrep "gcc|gcc-c++|openssh-clients|wget|make|cmake|curl|finger|nmap|tcp_wrappers|expect|lrzsz|unzip|zip|xz|ntpdate|lsof|telnet|vim|tree" >/dev/null 2>&1 
     [ $? -eq 0 ] && action "Install softwares: " /bin/true || action "Install softwares: " /bin/false
}
 
check_repos(){
     [ -d /etc/yum.repos.d/bak ] && action "Update repos: " /bin/true || action "Update repos: " /bin/false
}
 
check_time(){
     date -R |grep +0800 >/dev/null 2>&1
     [ $? -eq 0 ] && action "Setting timezone: " /bin/true || action "Setting timezone: " /bin/false
     crond_num=`crontab -l|grep ntpdate|wc -l`
     [ $crond_num -ge 1 ] && action "Sync time: " /bin/true || action "Sync time: " /bin/false
}
 
check_services(){
     service_num=`chkconfig --list |grep 3:on|egrep "crond|network|rsyslog|sshd"|wc -l`
     [ $service_num -eq 4 ] && action "Optimize services: " /bin/true || action "Optimize services: " /bin/false
}
 
check_history(){
     [ $HISTSIZE -eq 10000 ] && action "Setting history: " /bin/true || action "Setting history: " /bin/false
 
check_kernel(){
     conn_num=`ulimit -n`
     [ $conn_num -eq 2097152 ] && action "Optimize kernel: " /bin/true || action "Optimize kernel: " /bin/false
}
 
check_hostname(){
     [ $HOSTNAME != 'localhost.localdomain' ] && action "Change hostname: " /bin/true || action "Change hostname: " /bin/false
}
 
 
 
check_iptables
check_selinux
check_addusers
check_install
check_repos
check_time
check_services
check_history
check_kernel
check_hostname

相關文章