# 定时任务检查流程

> **创建日期**: 2026-03-18  
> **适用场景**: 检查系统定时任务、排查重复任务、清理冗余配置  
> **来源**: 欢欢助理与欢哥的对话记录

---

## 📋 检查目标

1. 查看 OpenClaw 内置 Cron 任务
2. 检查系统级 Crontab
3. 检查 Systemd Timers
4. 排查重复任务

---

## 🔍 检查步骤

### 步骤 1: 检查 OpenClaw Cron 任务

```bash
# 使用 OpenClaw cron 工具
openclaw cron list --includeDisabled
```

**预期结果**:
- 返回 JSON 格式的任务列表
- 空列表表示无内置任务

---

### 步骤 2: 检查系统 Crontab

```bash
# 查看当前用户的 crontab
crontab -l

# 查看系统级 cron 配置
cat /etc/cron.d/* 2>/dev/null

# 搜索特定任务的 cron 配置
grep -r "任务关键词" /etc/cron* 2>/dev/null
```

**预期结果**:
- `no crontab for user` 表示无用户级任务
- 具体任务列表表示已配置

---

### 步骤 3: 检查 Systemd Timers

```bash
# 列出所有 timers（包括未激活的）
systemctl list-timers --all

# 筛选特定服务的 timer
systemctl list-timers | grep "关键词"
```

**常见系统 Timer**:
| Timer | 用途 |
|-------|------|
| `apt-daily.timer` | 系统包更新 |
| `logrotate.timer` | 日志轮转 |
| `fwupd-refresh.timer` | 固件更新 |
| `fstrim.timer` | SSD 修剪 |

---

### 步骤 4: 检查后台进程

```bash
# 搜索特定任务的进程
ps aux | grep -E "(关键词)" | grep -v grep

# 查看进程的详细信息
ps -ef | grep "进程名"
```

---

### 步骤 5: 检查脚本文件

```bash
# 查找相关脚本
find /path/to/search -name "*关键词*" 2>/dev/null

# 查看工作区脚本
ls -la ~/.openclaw/workspace/scripts/
```

---

## 📊 检查结果记录模板

```markdown
### 检查日期：YYYY-MM-DD

| 检查项 | 状态 | 备注 |
|--------|------|------|
| OpenClaw Cron | ✅ 空 / ⚠️ 有任务 | 详情... |
| 系统 Crontab | ✅ 空 / ⚠️ 有任务 | 详情... |
| Systemd Timers | ✅ 仅系统默认 / ⚠️ 有自定义 | 详情... |
| 后台进程 | ✅ 正常 / ⚠️ 异常 | 详情... |

**结论**: 无重复任务 / 发现重复任务 XXX
```

---

## 🧹 清理重复任务

### 删除 Crontab 任务
```bash
# 编辑 crontab
crontab -e

# 删除指定行，保存退出
```

### 禁用 Systemd Timer
```bash
# 停止 timer
sudo systemctl stop xxx.timer

# 禁用 timer
sudo systemctl disable xxx.timer
```

### 删除 OpenClaw Cron 任务
```bash
# 使用 OpenClaw 工具
openclaw cron remove --job-id "任务 ID"
```

---

## ⚠️ 注意事项

1. **备份优先**: 删除前先备份配置
2. **确认权限**: 系统级任务需要 sudo 权限
3. **验证效果**: 删除后重新检查确认
4. **记录变更**: 更新 MEMORY.md 或当日日志

---

## 💡 经验总结

1. **OpenClaw Cron** 优先于系统 crontab（更易管理）
2. **Systemd Timers** 适合精确时间的任务
3. **心跳任务** 适合周期性检查（如邮件、日历）
4. **定期审查** 建议每月检查一次定时任务

---

*本文档由欢欢助理整理，实际操作前请确认权限。*
