L1Report,一行命令,让服务器每天自动给你发体检报告

2026-05-27T21:38:00

之前给IBM LinuxONE配了自动备份和 fail2ban,博客也跑得挺稳滴 但每次想看看服务器状态,还得 SSH 上去敲一堆命令——uptimefree -hdf -hredis-cli INFO stats……敲完一圈五分钟没了

作为一个合格的懒人,我写了个脚本,让它每天自动给我发一封邮件,告诉我服务器今天过得怎么样。取名叫 L1Report——L1 是 LinuxONE 的缩写,Report 就是报告

它能干什么

每天早上一封中文邮件,包含以下内容:

  • 📊 系统状态:运行时间、负载、磁盘使用率(带进度条)、内存使用率(带进度条)、Swap
  • 🔐 SSH 登录统计:昨天成功/失败次数、当前在线人数
  • 🌐 Web 服务统计:总请求数、错误数、WAF 拦截次数(自动适配 Apache / Nginx)
  • 🛡️ 安全防护:Fail2ban 封禁 IP 列表
  • ⚡ Redis 缓存状态:Key 数量、命中次数、内存占用
  • 🗄️ 数据库状态:总大小、表数量
  • 💾 备份健康:最近备份日期、文件大小、是否正常
  • 🔒 SSL 证书:到期时间、剩余天数、是否即将过期
  • 📝 WAF 拦截 Top 5

核心特点

  • 纯 Bash + curl:不需要 Postfix、Mailx、sendmail 等任何邮件系统,零依赖
  • 小白友好:一行命令安装,填个表就能用,不懂 SMTP 也能配
  • 交互式配置:所有配置项都有提示和默认值,直接回车就行
  • 可选模块开关:Redis、MySQL、Fail2ban、备份、SSL、WAF 都可以单独开启或关闭,没有装的服务自动跳过
  • 自动适配Web服务器:Apache 和 Nginx 都能自动检测,读取对应的日志路径

一键安装

sudo curl -sL "https://l1report.edgeone.dev/l1report" -o /usr/local/bin/l1report && sudo chmod +x /usr/local/bin/l1report && sudo l1report --setup

配置过程

运行 sudo l1report --setup 后,脚本会让你填表逐项问你:

第一步:邮件配置

  • 接收日报的邮箱地址(必填)
  • 发件邮箱的SMTP服务器(默认163邮箱,直接回车就行)
  • 发件邮箱地址和SMTP授权码(必填,授权码输入时不显示)

第二步:服务器信息

  • 服务器昵称(默认主机名,日报标题里显示)
  • 各可选模块的开关(Y/n选择,直接回车默认开启)
  • Redis 密码、MySQL 数据库名、SSL 域名、备份路径(只在对应模块开启时才需要填)

第三步:发送时间

  • 每天发送日报的时间(0-23 点,默认早上 8 点)

填完之后,脚本会自动:

  1. 保存配置到 /etc/l1report.conf(权限 600,只有 root 能看)
  2. 安装 cron 定时任务(自动添加 CRON_TZ=Asia/Shanghai 确保上海时间)
  3. 发送测试邮件验证配置是否正常

日常使用命令

命令功能sudo l1report --setup重新配置(修改邮箱、时间等)sudo l1report --test发送测试邮件,验证 SMTP 是否通畅sudo l1report立即发送完整日报sudo l1report --update检查并自动更新到最新版sudo l1report --help查看完整帮助sudo l1report --uninstall彻底卸载

如何卸载

如果哪天不想用了,一行命令即可彻底清理,不留任何残留:

sudo l1report --uninstall

支持范围

  • 支持 Debian / Ubuntu / CentOS / RHEL全系列(支持Bash和Curl的系统即可)
  • 支持 x86_64 / ARM / s390x 架构(同理)
  • 自动适配 Apache / Nginx Web 服务器
  • 自动检测认证日志路径(/var/log/auth.log/var/log/secure

写在最后

这个脚本的初衷很简单,就是纯懒的,每天早上一封邮件,看一眼就知道服务器状况如何。不用 SSH 上去敲命令,不用装监控面板,不用注册第三方服务。纯Bash + curl,零依赖,三分钟配完,永久自动运行

如果你也有台服务器在跑,不妨试试。配置一次,以后每天早上躺床上看邮件就行

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »