echo -e
echo -e
fi
echo "正常"
else
echo "当天外发邮件数量最大的"$SMTP_USER"用户超过"$SMTP_DIY"封,请确认"
then
if [$SMTP_SUM -gt $SMTP_DIY]
SMTP_DIY=500
SMTP_USER=$(cat /usr/local/u-mail/app/log/smtp.log | grep"from:"| awk -F" "'{ print $6}' | sed 's/,//g'| sort | uniq -c | sort -rn |sed's/^[\t]*//g'|head -n 1 | awk -F" "'{print $2}')
SMTP_SUM=$(cat /usr/local/u-mail/app/log/smtp.log | grep"from:"| awk -F" "'{ print $6}' | sed 's/,//g'| sort | uniq -c | sort -rn |sed's/^[\t]*//g'|head -n 1 | awk -F" "'{print $1}')
echo "###### 是否有密码泄露导致群发垃圾邮件现象 ######"
echo -e
echo -e
echo "正常"
echo "###### 反垃圾反病毒测试 ######"
echo -e
echo -e
echo "正常"
echo "###### 管理后台功能测试 ######"
echo -e
echo -e
echo "###### 收发测试 (web 和客户端)######"echo" 正常 "
echo -e
echo -e
fi
fi
echo "IMAP 服务启动不成功"
else
echo "IMAP 服务启动成功"
then
if [${RESULT_IMAP7} -eq 0 ] && [${RESULT_IMAPPROC7} -eq 0 ]
RESULT_IMAPPROC7=$?
systemctl status umail_dovecot.service 1>/dev/null 2>&1
RESULT_IMAP7=$?
netstat -anltp | grep ":143" 1>/dev/null 2>&1
else
fi
echo "IMAP 服务启动不成功"
else
echo "IMAP 服务启动成功"
then
if [${RESULT_IMAP} -eq 0 ] && [${RESULT_IMAPPROC} -eq 0 ]
RESULT_IMAPPROC=$?
/etc/init.d/umail_dovecot status 1>/dev/null 2>&1
RESULT_IMAP=$?
netstat -anltp | grep ":143" 1>/dev/null 2>&1
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
echo "######IMAP 服务 ######"
echo -e
echo -e
fi
fi
echo "POP 服务启动不成功"
else
echo "POP 服务启动成功"
then
if [${RESULT_POP7} -eq 0 ] && [${RESULT_POPPROC7} -eq 0 ]
RESULT_POPPROC7=$?
systemctl status umail_dovecot.service 1>/dev/null 2>&1
RESULT_POP7=$?
netstat -anltp | grep ":110" 1>/dev/null 2>&1
else
fi
echo "POP 服务启动不成功"
else
echo "POP 服务启动成功"
then
if [${RESULT_POP} -eq 0 ] && [${RESULT_POPPROC} -eq 0 ]
RESULT_POPPROC=$?
/etc/init.d/umail_dovecot status 1>/dev/null 2>&1
RESULT_POP=$?
netstat -anltp | grep ":110" 1>/dev/null 2>&1
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
echo "######POP 服务 ######"
echo -e
echo -e
fi
fi
echo "SMTP 服务启动不成功"
else
echo "SMTP 服务启动成功"
then
if [${RESULT_SMTP7} -eq 0 ] && [${RESULT_POSTFIX7} -eq 0 ]
RESULT_POSTFIX7=$?
systemctl status umail_postfix.service 1>/dev/null 2>&1
RESULT_SMTP7=$?
netstat -anltp | grep ":25" 1>/dev/null 2>&1
else
fi
echo "SMTP 服务启动不成功"
else
echo "SMTP 服务启动成功"
then
if [${RESULT_SMTP} -eq 0 ] && [${RESULT_POSTFIX} -eq 0 ]
RESULT_POSTFIX=$?
/etc/init.d/umail_postfix status 1>/dev/null 2>&1
RESULT_SMTP=$?
netstat -anltp | grep ":25" 1>/dev/null 2>&1
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
echo "######SMTP 服务 ######"
echo -e
echo -e
fi
fi
echo "HTTP 服务启动不成功"
else
echo "HTTP 服务启动成功"
then
if [${RESULT_APACHE7} -eq 0 ] && [${RESULT_NGINX7} -eq 0 ] && [${RESULT_APACHEPROC7} -eq 0 ] && [${RESULT_NGINXPROC7} -eq 0 ]
RESULT_NGINXPROC7=$?
ps -ef | grep "/usr/local/u-mail/service/nginx/sbin/nginx" | grep -v grep 1>/dev/null 2>&1
RESULT_APACHEPROC7=$?
ps -ef | grep "/usr/local/u-mail/service/apache/bin/httpd" | grep -v grep 1>/dev/null 2>&1
RESULT_NGINX7=$?
systemctl status umail_nginx.service 1>/dev/null 2>&1
RESULT_APACHE7=$?
systemctl status umail_apache.service 1>/dev/null 2>&1
else
fi
echo "HTTP 服务启动不成功"
else
echo "HTTP 服务启动成功"
then
if [${RESULT_APACHE6} -eq 0 ] && [${RESULT_NGINX6} -eq 0 ] && [${RESULT_APACHEPROC6} -eq 0 ] && [${RESULT_NGINXPROC6} -eq 0 ]
RESULT_NGINXPROC6=$?
ps -ef | grep "/usr/local/u-mail/service/nginx/sbin/nginx" | grep -v grep 1>/dev/null 2>&1
RESULT_APACHEPROC6=$?
ps -ef | grep "/usr/local/u-mail/service/apache/bin/httpd" | grep -v grep 1>/dev/null 2>&1
RESULT_NGINX6=$?
/etc/init.d/umail_nginx status 1>/dev/null 2>&1
RESULT_APACHE6=$?
/etc/init.d/umail_apache status 1>/dev/null 2>&1
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
NGINX_PROC=$(ps -ef | grep"/usr/local/u-mail/service/nginx/sbin/nginx"| grep -v grep 1>/dev/null 2>&1)
APACHE_PROC=$(ps -ef | grep"/usr/local/u-mail/service/apache/bin/httpd"| grep -v grep 1>/dev/null 2>&1)
NGINX7_STATUS=$(systemctl status umail_nginx.service 1>/dev/null 2>&1)
APACHE7_STATUS=$(systemctl status umail_apache.service 1>/dev/null 2>&1)
NGINX6_STATUS=$(/etc/init.d/umail_nginx status 1>/dev/null 2>&1)
APACHE6_STATUS=$(/etc/init.d/umail_apache status 1>/dev/null 2>&1)
echo "######HTTP 服务 ######"
echo -e
echo -e
echo "服务器开机时间为"$LINETIME
LINETIME=$(uptime | awk -F"up"'{print $2}' | awk -F", load average" '{print $1}')
echo "###### 开机时长 ######"
echo -e
echo -e
fi
fi
echo "未安装杀毒软件或者未启动成功"
else
echo "已安装 CLAMD 杀毒软件"
then
if [${RESULT_CLAMD7} -eq 0 ] && [${RESULT_CLAMDSTATUS7} -eq 0 ]
RESULT_CLAMDSTATUS7=$?
systemctl status umail_clamd.service 1>/dev/null 2>&1
RESULT_CLAMD7=$?
ps -ef | grep umail_clamd | grep -v grep 1>/dev/null 2>&1
else
fi
echo "未安装杀毒软件或者未启动成功"
else
echo "已安装 CLAMD 杀毒软件"
then
if [${RESULT_CLAMD6} -eq 0 ] && [${RESULT_CLAMDSTATUS6} -eq 0 ]
RESULT_CLAMDSTATUS6=$?
/etc/init.d/umail_clamd status 1>/dev/null 2>&1
RESULT_CLAMD6=$?
ps -ef | grep umail_clamd | grep -v grep 1>/dev/null 2>&1
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
fi
fi
echo "操作系统自带防火墙未开启"
else
echo "操作系统自带防火墙已开启"
then
if [${RESULT_FIREWALLD} -eq 0 ]
RESULT_FIREWALLD=$?
systemctl status firewalld.service 1>/dev/null 2>&1
else
fi
echo "操作系统自带防火墙未开启"
else
echo "操作系统自带防火墙已开启"
then
if [${RESULT_IPTABLES} -eq 0 ]
RESULT_IPTABLES=$?
/etc/init.d/iptables status 1>/dev/null 2>&1
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
echo "###### 是否安装杀毒软件防火墙 ######"
echo -e
echo -e
echo "正常"
echo "###### 是否有可疑进程或后门 ######"
echo -e
echo -e
fi
echo "正常"
else
echo "有人在试您 root 密码,请注意"
then
if [$SSH_SUM -gt $SSH_DIY]
SSH_DIY=500
SSH_SUM=$(cat /var/log/secure | grep"authentication failure"| wc -l)
echo "###### 系统基本操作是否正常 ######"
echo -e
echo -e
echo $OS_VERSION,$UMAILAPP_VERSION,$UMAILWEB_VERSION
UMAILWEB_VERSION=$(rpm -qa | grep umail_webmail | awk -F"."'{print $1"."$2"."$3}')
UMAILAPP_VERSION=$(rpm -qa | grep umail_app | awk -F"."'{print $1"."$2"."$3}')
OS_VERSION=$(cat /etc/redhat-release)
echo "###### 操作系统版本和邮件系统版本 ######"
echo -e
echo -e
fi
echo "$MEM_STATUS("" 总内存大小 "$MEM_SUM7," 剩余内存大小 "$MEM_SURPLUS7," 内存使用率 "$PERCENT7")"
fi
MEM_STATUS = 不正常
else
MEM_STATUS = 正常
then
if [[$PERCENT_NUM7 -lt 70]]
PERCENT_NUM7=$(echo $PERCENT7|sed s/%//g)
PERCENT7=$(printf"%d%%"$(($MEM_USED7*100/$MEM_SUM_NUM7)))
MEM_USED7=$(echo $(($MEM_SUM_NUM7-$MEM_SURPLUS_NUM7)))
MEM_SURPLUS7=$(free -m | grep"Mem:"| awk -F" "'{print $4"M"}')
MEM_SUM7=$(free -m | grep"Mem:"| awk -F" "'{print $2"M"}')
MEM_SURPLUS_NUM7=$(free -m | grep"Mem:"| awk -F" "'{print $4}')
MEM_SUM_NUM7=$(free -m | grep"Mem:"| awk -F" "'{print $2}')
else
echo "$MEM_STATUS("" 总内存大小 "$MEM_SUM," 剩余内存大小 "$MEM_SURPLUS," 内存使用率 "$PERCENT")"
fi
MEM_STATUS = 不正常
else
MEM_STATUS = 正常
then
if [[$PERCENT_NUM -lt 70]]
PERCENT_NUM=$(echo $PERCENT|sed s/%//g)
PERCENT=$(printf"%d%%"$(($MEM_USED*100/$MEM_SUM_NUM)))
MEM_USED=$(echo $(($MEM_SUM_NUM-$MEM_SURPLUS_NUM)))
MEM_SURPLUS=$(free -m | grep"Mem:"| awk'{for(i=4;i<=NF;i++) print $i""FS;}' | awk '{a+=$1}END{print a"M"}')
MEM_SUM=$(free -m | grep"Mem:"| awk -F" "'{print $2"M"}')
MEM_SURPLUS_NUM=$(free -m | grep"Mem:"| awk'{for(i=4;i<=NF;i++) print $i""FS;}' | awk '{a+=$1}END{print a}')
MEM_SUM_NUM=$(free -m | grep"Mem:"| awk -F" "'{print $2}')
then
if [${RESULT} -eq 0 ]
RESULT=$?
Check_OS
echo "###### 内存使用情况 ######"
echo -e
echo -e
echo "邮件数据存储在"$UMAIL_DIR
UMAIL_DIR=$(cat /usr/local/u-mail/config/custom.conf | grep"mailroot"| awk -F"="'{print $2}' | sed 's/^[\t]*//g')
df -hP | sed 1d | awk '{print $NF" 分区 ""剩余空间"$(NF-2),"使用率"$(NF-1)}'
echo "磁盘具体使用情况:"
echo -e
done
fi
continue
else
echo "不正常""("$MOUNT_DISK" 的使用率 "$DISK_UTILIZ" 较大, 请注意 "")"
then
if [[$(echo $DISK_UTILIZ | sed s/%//g) -gt 70 ]]
DISK_FREE=$(echo $i |awk'{print $3}')
MOUNT_DISK=$(echo $i |awk'{print $2}')
DISK_UTILIZ=$(echo $i |awk'{print $1}')
do
for i in `df -hP | sed 1d | awk '{print $(NF-1)"\t"$NF"\t"$(NF-2)}'`
IFS=" "
echo "###### 磁盘使用情况 ######"
echo -e
echo -e
echo "$CPU_STATUS("$CPU_HARDWARE,$CPU_LOAD,$CPU_UTILIZ")"
fi
CPU_STATUS = 不正常
else
CPU_STATUS = 正常
then
if [[$CPU_LOAD_NUMBER -lt $CPU_NUMBER]]
CPU_UTILIZ=$(top -n 1 | grep"Cpu(s)")
CPU_LOAD_NUMBER=$(uptime | awk -F"load average:"'{print $2}' | awk -F"," '{print $1}' | awk -F"." '{print $1}' |sed 's/^[\t]*//g')
CPU_LOAD=$(uptime | awk'{for(i=6;i<=NF;i++) printf $i""FS;print""}')
CPU_NUMBER=$(cat /proc/cpuinfo | grep name |cut -f2 -d: | uniq -c | awk'{print $1}')
CPU_HARDWARE=$(cat /proc/cpuinfo | grep name |cut -f2 -d: | uniq -c)
echo "######CPU 使用情况 ######"
}
function Check_OS(){[[ $NUM_VERSION =~ el6]] && return 0||return 1
NUM_VERSION=$(uname -r)
#定义检查操作系统版本的函数
#!/bin/sh
运行结果如下:
- [root@localhost ~]# sh check_umail.sh
- ######CPU使用情况######
- 正常( 2 Intel(R) Xeon(R) CPU E5606 @ 2.13GHz,1 user, load average: 0.06, 0.02, 0.00 ,Cpu(s): 2.1%us, 0.8%sy, 0.2%ni, 96.5%id, 0.3%wa, 0.0%hi, 0.2%si, 0.0%st)
- ######磁盘使用情况######
- 磁盘具体使用情况:
- /分区剩余空间38G 使用率20%
- /dev/shm分区剩余空间1.9G 使用率1%
- /boot分区剩余空间425M 使用率7%
- /home分区剩余空间434G 使用率38%
- 邮件数据存储在/home/mailbox
- ######内存使用情况######
- 正常(总内存大小3952M,剩余内存大小3028M,内存使用率23%)
- ######操作系统版本和邮件系统版本######
- CentOS release 6.9 (Final),umail_app-2.2.44-2,umail_webmail-1.6.69-1
- ######系统基本操作是否正常######
- 正常
- ######是否有可疑进程或后门######
- 正常
- ######是否安装杀毒软件防火墙######
- 操作系统自带防火墙已开启
- 已安装CLAMD杀毒软件
- ######开机时长######
- 服务器开机时间为 33 days, 6:29, 1 user
- ######HTTP服务######
- HTTP服务启动成功
- ######SMTP服务######
- SMTP服务启动成功
- ######POP服务######
- POP服务启动成功
- ######IMAP服务######
- IMAP服务启动成功
- ######收发测试(web和客户端)######
- 正常
- ######管理后台功能测试######
- 正常
- ######反垃圾反病毒测试######
- 正常
- ######是否有密码泄露导致群发垃圾邮件现象######
- 正常
原文:http://blog.51cto.com/net881004/2052702
来源: http://www.bubuko.com/infodetail-2435259.html