Linux 服务器巡检脚本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #!/bin/bash cat <<EOF +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++2022年某公司系统运行情况检查+++++++++ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ EOF LOGPATH= "/tmp" [ -e $LOGPATH ] || mkdir -p $LOGPATH RESULTFILE= "$LOGPATH/HostCheck-`hostname`-`date +%Y%m%d`.txt" libin1=`uptime` rhcsa=` top -b -d 1 -n 1 | head -n 10` rhce=` ps aux | awk '{print $1, $2, $3, $11}' | sort -k3rn | head -n 10` rhca=` ps aux | awk '{print $1, $2, $4, $5, $6, $11}' | sort -k3rn | head -n 5` hcia=` grep -Ei "error|false|faied" /var/log/messages | tail -n5` #libin2=`top -d 5 -b` function getSystemStatus(){ echo "++++++++2022某公司系统基本运行情况检查+++++++++" date =` date + "%Y-%m-%d-%H:%M:%S" ` ip_info=`ip a s bond2 | awk "NR==3" | awk -F '[ /]' '{print $6}' ` system_time=`uptime | awk -F " " '{print $3,$4}' | awk -F "," '{print $1}' ` load_info=`uptime | awk '{print "Current Load: "$(NF-2)}' | sed 's/\,//g' ` echo "" echo -e "\033[32m-------------------------------------------\033[1m" echo 当前时间: ${ date } echo IP地址: ${ip_info} echo 运行时长: ${system_time} echo 系统当前负载: ${load_info} echo -e "\033[32m-------------------------------------------\033[0m" echo "" } function cpuSystemStatus(){ echo -e "\033[33m*************************************************CPU运行情况*****************************************************\033[0m" if [[ $libin < 5 ]]; then #top -b -d 1 -n 1 | head -n 10 echo "$rhcsa" else echo "no" fi echo -e "\033[33m*************************************************CPU占用前10进程*****************************************************\033[0m" if [[ $libin < 5 ]]; then #ps aux | awk '{print $1, $2, $3, $11}' | sort -k3rn | head -n 10 echo "$rhce" else echo "no" fi echo -e "\033[33m*************************************************系统负载情况*****************************************************\033[0m" if [[ 5 - eq 5 ]]; then echo "$libin1" else echo "no" fi echo -e "\033[33m************************************************内存使用情况*****************************************************\033[0m" if [[ $libin < 5 ]]; then free -h else echo "no" fi echo -e "\033[33m************************************************内存使用情况*****************************************************\033[0m" if [[ $libin < 5 ]]; then #ps aux | awk '{print $1, $2, $4, $5, $6, $11}' | sort -k3rn | head -n 5 echo "$rhca" else echo "no" fi echo -e "\033[33m************************************************系统日志异常*****************************************************\033[0m" if [[ $libin < 5 ]]; then echo "$hcia" else echo "no" fi } function check(){ getSystemStatus cpuSystemStatus } #执行检查并保存检查结果 check > $RESULTFILE echo -e "\033[44;37m 主机巡检结果存放在:$RESULTFILE \033[0m" |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下