系统巡检脚本,有常用的检查模块,如硬盘、内存、进程等。安全性检查等.
1.巡查脚本
代码如下(示例):xunjian.sh
#!/bin/bash
#系统状态
host(){
while :
do
clear
echo -e "当前在查看\e[1; 31m[主机状态信息]Ne[0m"
echo -e "\e[1;35m选择如下:\e[0m"
echo -e "\e[1;34m1. 登录情况检查\e[0m"
echo -e "\e[1;34m2. 特权用户检查\e[0m"
echo -e "\e[1;34m3. mail 日志文件大小检查\e[0m"
echo -e "\e[1;34m4. NTP 授时服务状态检查\e[0m"
echo -e "\e[1;34m5. NTP 同步服务状态\e[0m"
echo -e "\e[1;34m6. 系统错误日志检查\e[0m"
echo -e "\e[1;34m7. 系统开启的端口及协议Ne[0m"
echo -e "\e[1;34m8. 返回主菜单\e[0m"
read -p "请输入你的选择:" choice
case $choice in
1)
echo "当前用户登录状态为: "
who | awk '{log_users[$1]++}END{for (user in log_users){printf "%s 用户登陆了 %d 个终端\n",user,log_users[user]}}'
;;
2)
echo -n "特权用户(uid=0)数量为: "
awk -F: '$3==0 {print $1}' /etc/paaawd | wc -l
;;
3)
echo -n "当前单个邮件文件占用空间大于 64M 的数量为:"
find /var/spool/mail -size +64M | wc -l
;;
4)
echo -n "NTP 授时服务状态为:"
systemctl status chronyd | sed -n 3p | awk '{print $2}'
;;
5)
systemctl status chronyd | sed -n 3p | awk '{print $2}'
[ "${status}" == "yes" ] && echo -e "\e[1;32mNTP 同步服务正在运行\e[0m" || echo -e "\e[1;31mNTP 同步服务当前没有运行\e[0m"
;;
6)
cat /var/log/messages | egrep -i "fail|error|fatal|crittcal" &> /dev/mull
[ $? -eq 0 ] && echo -e "\e[1;31m系统中有错误日志,请管理人员留意\e[0m" || echo -e "\e[1;32m暂时没有错误日志\e[0m"