服务器巡检
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 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | #!/bin/bash echo "You are logged in as `whoami`" ; if [ ` whoami ` != root ]; then echo "Must be logged on as root to run this script." exit fi CHECK_DATE=` date +%F` echo "Running script at `date`" CHECK_REPORT_PATH= /tmp/getinfo ls -d $CHECK_REPORT_PATH if [ $? -gt 0 ] then mkdir $CHECK_REPORT_PATH fi chmod -R 777 $CHECK_REPORT_PATH CURRENT_DIR=` pwd ` echo "#################### Check Start ####################" HOST=` hostname ` echo "********Hostname Check**********" >$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo "Hostname is $HOSTNAME" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #系统版本检查 echo "********OS Level**********" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE uname -a >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #系统日志检查 echo "********System log*******" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE cat /var/log/messages >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #检查软件安装情况 echo "********Yum*******" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE history | grep yum && history | grep rpm >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #文件系统检查 echo "********File System**********" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE df -h >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo "over 75%" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE df -h | grep '[7-9][5-9]%' >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #网络地址配置信息 echo "********System /etc/hosts********" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE cat /etc/hosts >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #查看内存使用情况 echo "**********mem check************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE free >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE vmstat >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #查看磁盘读写情况 echo "********io check**********" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE iostat >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #网络检查 echo "********network route check**********" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE netstat -rn >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo "********network check**********" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE ifconfig -a >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #环境变量检查 echo "********env info****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE env >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #用户组检查 echo "********group info****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE cat /etc/group >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #用户密码检查 echo "********user info****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE cat /etc/passwd >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #检查操作系统定时任务 echo "********System crontab info****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE crontab -l >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #检查系统裸设备属主 echo "******** RAW****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE ls -l /dev/sd * >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #检查关机重启 echo "********REBOOT****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE last | grep reboot && last | grep shutdown >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #登录用户检查及远程登录 echo "********USER****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE who && who | wc -l >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE netstat -anp | grep 22 >> $CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #系统运行时间及平均负载 echo "********Uptime****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE uptime >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #检查系统占用cpu,内存,磁盘io最大的进程 echo "********Dstat cpu****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE dstat -c -y -l --proc-count -- top -cpu 2 3 >> $CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo "********Dstat mem****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE dstat -g -l -m -s -- top -mem 2 3 >> $CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE echo "********Dstat io****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE dstat -- top -io 2 3 >> $CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #进程总数 echo "********Dstat proc****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE dstat --proc-count 3 3 >> $CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE #检查selinux echo "********SELINUX****************" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE getenforce >> $CHECK_REPORT_PATH /Report_ $CHECK_DATE echo -e "----------------------------------------------------\n" >>$CHECK_REPORT_PATH /Report_ $CHECK_DATE |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步