ubuntu

ubuntu定时生成报告技巧

小樊
35
2025-11-16 15:40:11
栏目: 智能运维

Ubuntu 定时生成报告实用技巧

一 核心方案 cron 定时与日志排查

二 报告内容快速采集命令

三 报告分发与归档

四 可复用脚本模板

#!/usr/bin/env bash
set -Eeuo pipefail

REPORT_DIR="/var/reports"
mkdir -p "$REPORT_DIR"
REPORT="$REPORT_DIR/$(date +%F).log"
TMP_ERR="/tmp/err_$(date +%s).txt"

# 0) 环境(cron 环境精简,建议显式设置)
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export LANG=en_US.UTF-8

# 1) 系统资源(需安装 sysstat)
if command -v cpustat >/dev/null 2>&1; then
  echo "===== CPU 使用报告 $(date) =====" >> "$REPORT"
  cpustat -u >> "$REPORT" 2>/dev/null || echo "cpustat 不可用或无权限" >> "$REPORT"
fi

# 2) 应用错误日志示例(按实际路径修改)
if [[ -f /var/log/nodejs/error.log ]]; then
  echo "===== 应用 ERROR 统计 $(date) =====" >> "$REPORT"
  grep -i "ERROR" /var/log/nodejs/error.log 2>/dev/null | head -n 200 >> "$REPORT" || echo "无 ERROR 记录" >> "$REPORT"
fi

# 3) 发送邮件(如未配置本地 MTA,可改为 scp/企业微信/钉钉 webhook)
if command -v mail >/dev/null 2>&1; then
  mail -s "系统日报 $(hostname) $(date +%F)" your_email@example.com < "$REPORT"
fi

# 4) 归档压缩
gzip -f "$REPORT"

0
看了该问题的人还看了