L1Report,一行命令,让服务器每天自动给你发体检报告
之前给IBM LinuxONE配了自动备份和 fail2ban,博客也跑得挺稳滴 但每次想看看服务器状态,还得 SSH 上去敲一堆命令——uptime、free -h、df -h、redis-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 点)
填完之后,脚本会自动:
- 保存配置到
/etc/l1report.conf(权限 600,只有 root 能看) - 安装 cron 定时任务(自动添加
CRON_TZ=Asia/Shanghai确保上海时间) - 发送测试邮件验证配置是否正常
日常使用命令
命令功能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,零依赖,三分钟配完,永久自动运行
如果你也有台服务器在跑,不妨试试。配置一次,以后每天早上躺床上看邮件就行
当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »