日志巡检
简易版本
#!/bin/bash# 日志巡检简单脚本LOG_FILE="/var/log/log_check.log"current_time=$(date+"%Y-%m-%d %H:%M:%S")[!-f"$LOG_FILE"]&&touch"$LOG_FILE"{echo"$current_time- Starting daily health check..."echo"$current_time- System Load:$(uptime)"echo"$current_time- CPU Usage:$(top-bn1|grep'Cpu(s)'|awk'{print 100 - $8}')"echo"$current_time- Memory Usage:$(free-h)"echo"$current_time- Disk Usage:$(df-h)"echo"$current_time- Top 10 CPU consuming processes:$(psaux--sort=-%cpu|head-n10)"echo"$current_time- Network Connections:$(ss-antp)"echo"$current_time- Recent System Logs:$(journalctl-n10)"echo"$current_time- SELinux Status:$(sestatus)"echo"$current_time- Firewall Status:$(firewall-cmd--state)"echo"$current_time- Mounted Disks:$(lsblk)"echo"$current_time- Cron Jobs:$(crontab-l)"echo"$current_time- System Info:$(hostname&&uname)"echo"$current_time- Health check completed."}>>"$LOG_FILE"2>&1exit0中阶版本
#!/bin/bash# 日志巡检脚本(带资源使用率统计)LOG_FILE="/var/log/log_check.log"current_time=$(date+"%Y-%m-%d %H:%M:%S")# 日志不存在则创建[!-f"$LOG_FILE"]&&touch"$LOG_FILE"# 所有内容统一写入日志(包含标准输出+错误){echo"============================================================"echo"$current_time- 开始系统巡检"echo"============================================================"# 1. 系统负载echo-e"\n----- 系统负载统计 -----"echo"负载(1/5/15min):$(uptime|awk-F'load average:''{print $2}')"# 2. CPU 使用率统计echo-e"\n----- CPU 使用率统计 -----"cpu_usage=$(top-bn1|grep'Cpu(s)'|awk'{print 100 - $8}')echo"CPU 总使用率:$cpu_usage%"# 3. 内存使用率统计echo-e"\n----- 内存使用率统计 -----"mem_total=$(free-b|awk'/Mem:/{print $2}')mem_used=$(free-b|awk'/Mem:/{print $3}')mem_usage=$((mem_used*100/mem_total))echo"内存使用率:$mem_usage%"free-h# 4. 磁盘使用率统计echo-e"\n----- 磁盘使用率统计 -----"disk_usage=$(df-h/|awk'/\//{print $5}')echo"根分区使用率:$disk_usage"df-h# 5. 其他巡检项(保持你原来的)echo-e"\n----- 占用 CPU 最高的 10 个进程 -----"psaux--sort=-%cpu|head-n10echo-e"\n----- 网络连接 -----"ss-antpecho-e"\n----- 最近系统日志 -----"journalctl-n10echo-e"\n----- SELinux 状态 -----"sestatusecho-e"\n----- 防火墙状态 -----"firewall-cmd--stateecho-e"\n----- 挂载磁盘 -----"lsblkecho-e"\n----- 定时任务 Cron -----"crontab-lecho-e"\n----- 系统信息 -----"hostname&&uname-aecho-e"\n============================================================"echo"$current_time- 系统巡检完成"echo"============================================================"echo-e"\n\n"}>>"$LOG_FILE"2>&1exit0