360 Secure SkillHub
360 安全技能中心

Cron Doctor

核心功能:可列出系统/用户cron任务,检查不同系统的执行日志,识别常见错误模式,按业务影响划分故障优先级,生成结构化健康报告并给出可执行修复建议。典型场景:cron任务失败、健康检查、调度任务报错、备份异常等。输出含操作命令、故障分析及Markdown报告,3个以上关键故障会即时告警。

suryast
suryast
热度 91.51
最近更新 2026-05-11 17:26:48
分类:数据依赖:代码执行 / 读写文件 / 内部调用大模型应用场景:DevOps / 调试排错 / 报告撰写 / 数据处理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add cron-doctor
Metadata
name
cron-doctor
version
1.1.0
author
Polycat
tags
["cron","monitoring","diagnosis"]
license
MIT
platform
universal
description
Diagnose and triage cron job failures. Checks job states, identifies error patterns, prioritizes by criticality, generates health reports. Triggers on: cron failures, job health check, scheduled task errors, cron diagnosis, job not running, backup failed.

Compatible with Claude Code, Codex CLI, Cursor, Windsurf, and any SKILL.md-compatible agent.

Cron Doctor

Diagnose and triage cron job failures.

Usage

When asked to check cron health or diagnose failures:

1. List All Jobs

# List user's crontab
crontab -l

# List system crontabs
sudo cat /etc/crontab
ls -la /etc/cron.d/

2. Check Recent Execution

# Check cron logs (location varies by system)
# Debian/Ubuntu:
grep CRON /var/log/syslog | tail -50

# RHEL/CentOS:
tail -50 /var/log/cron

# macOS:
log show --predicate 'process == "cron"' --last 1h

# Check for specific job output
grep "your_job_name" /var/log/syslog | tail -20

3. Identify Problems

Error patterns to watch:

  • "command not found" — Missing executable or PATH issue
  • "Permission denied" — File/directory permissions wrong
  • "No such file or directory" — Script path incorrect
  • "timeout" — Job took too long
  • "ECONNREFUSED" — Network/service down
  • "rate limit" — API throttling
  • Missing output — Job may not be running at all

4. Triage Priority

Priority Criteria
🔴 Critical Trading, backup, security jobs
🟠 High User-facing deliveries
🟡 Medium Monitoring, research jobs
🟢 Low Nice-to-have, non-essential

5. Generate Report

Write to ~/workspace/reports/cron-health-YYYY-MM-DD.md:

# Cron Health Report - [DATE]

## Summary
- ✅ Healthy: X jobs
- ⚠️ Warning: X jobs  
- ❌ Failed: X jobs

## Failed Jobs

### [Job Name]
- **Error:** [message]
- **Last Success:** [date]
- **Priority:** [level]
- **Fix:** [suggested action]

## Recommendations
1. [Action item]
2. [Action item]

6. Common Fixes

Error Fix
Command not found Use full path to executable, or set PATH in crontab
Permission denied Check file permissions, run chmod +x script.sh
No output Add >> /tmp/job.log 2>&1 to capture output
Wrong timezone Set TZ= in crontab or use system timezone
Rate limit Reduce frequency or add backoff

7. Debugging Tips

# Test cron environment (cron has minimal PATH)
env -i /bin/sh -c 'echo $PATH'

# Verify script runs manually
/path/to/your/script.sh

# Check if cron daemon is running
systemctl status cron   # Linux
launchctl list | grep cron  # macOS

Escalation

If 3+ critical jobs failed, alert the user immediately.

Verification Gates

Before claiming diagnosis complete:

  • All failed jobs listed — none skipped or ignored
  • Priority assigned — based on impact, not just recency
  • Fix suggested — actionable next step for each failure
  • Report written — to ~/workspace/reports/cron-health-YYYY-MM-DD.md
  • Critical failures escalated — 3+ critical = alert user