Ubuntu 系统中,每日健康检查

发布于:2025-03-31 ⋅ 阅读:(20) ⋅ 点赞:(0)

一、手动检查命令(基础项)

1. 系统资源监控

内存使用:

free -h          # 查看内存和交换空间使用情况
cat /proc/meminfo | grep -i "memavailable"  # 查看可用内存

CPU 负载:

top -n 1 -b | grep "load average"  # 查看负载(1/5/15分钟)
uptime                             # 系统运行时间及负载

磁盘空间:

df -h              # 查看各分区使用情况
du -sh /var/*      # 检查特定目录(如 /var)占用

2. 日志检查

关键错误日志:

journalctl -p 3 -b --since "24 hours ago"  # 查看过去24小时的系统级错误(优先级3及以上)
grep -i "error\|warning" /var/log/syslog   # 过滤系统日志中的错误和警告
tail -n 100 /var/log/auth.log              # 检查认证日志(SSH登录等)

3. 磁盘健康

SMART 状态(需安装 smartmontools):

sudo smartctl -a /dev/sda | grep "SMART overall-health"  # 检查磁盘健康状态

坏块检测:

sudo badblocks -v /dev/sda  # 仅测试读操作(谨慎使用写测试)

4. 网络与服务状态

网络连接:

ss -tulnp | grep -E "LISTEN|ESTAB"  # 查看监听和已建立连接
netstat -ant | grep "SYN_SENT"      # 检查异常连接(如 SYN 洪水攻击)

服务状态:

systemctl --failed                 # 列出失败的服务
systemctl status nginx mysql        # 检查关键服务(如 Nginx/MySQL)

5. 安全更新与补丁

检查可用更新:

sudo apt update && apt list --upgradable  # 列出可升级的包

二、自动化检查(推荐方案)

1. 编写检查脚本

创建脚本 /usr/local/bin/system_check.sh,内容示例:

#!/bin/bash

# 定义日志文件
LOG_FILE="/var/log/daily_system_check.log"

# 清空旧日志
> $LOG_FILE

# 资源检查
echo "===== 系统资源 =====" >> $LOG_FILE
free -h >> $LOG_FILE
echo -e "\nCPU 负载:" >> $LOG_FILE
uptime >> $LOG_FILE
echo -e "\n磁盘使用:" >> $LOG_FILE
df -h >> $LOG_FILE

# 服务状态
echo -e "\n===== 服务状态 =====" >> $LOG_FILE
systemctl --failed >> $LOG_FILE

# 日志错误检查
echo -e "\n===== 错误日志 =====" >> $LOG_FILE
journalctl -p 3 -b --since "24 hours ago" | tail -n 20 >> $LOG_FILE

# 发送邮件通知(需配置邮件服务)
# mail -s "Daily System Check" admin@example.com < $LOG_FILE

2. 设置定时任务

通过 cron 每日执行:

sudo crontab -e

添加以下行(每天凌晨3点执行)

0 3 * * * /usr/local/bin/system_check.sh

3. 日志监控工具(可选)

使用 logwatch 或 fail2ban 分析日志。

部署监控系统(如 Prometheus + Grafana)实现可视化。

三、关键注意事项

备份验证:每日检查备份文件是否生成(如 ls -lh /backups)。

安全审计:定期运行 lynis audit system 进行深度安全检查。

硬件传感器(安装 lm-sensors):

sensors  # 查看 CPU/主板温度

四、进阶建议

使用 Nagios/Zabbix 实现自动化监控和告警。

启用 Automatic Security Updates:

sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades  # 启用自动安全更新

通过以上步骤,可以全面监控 Ubuntu 系统的健康状态,及时发现问题并处理。