Files
openclaw-home-pc/config/TASKS.md
T
2026-03-27 23:38:45 +08:00

162 lines
3.0 KiB
Markdown

# 定时任务配置中心
> 📍 所有定时任务配置和管理都从这里开始
---
## 📋 当前任务列表
| 任务 | 描述 | 执行时间 | 状态 |
|------|------|----------|------|
| 天气预报 | 推送崇州市白头镇天气到企业微信 | 每天 08:00 | ✅ 已启用 |
---
## 🛠️ 管理命令
使用管理脚本(推荐):
```bash
cd /home/ubuntu/.openclaw/workspace/scripts
# 查看状态
./manage-tasks.sh status
# 手动测试(立即推送一次)
./manage-tasks.sh run
# 编辑脚本(修改 Webhook、地点等)
./manage-tasks.sh edit
# 启动/停止定时任务
./manage-tasks.sh start
./manage-tasks.sh stop
# 修改配置后重载
./manage-tasks.sh reload
```
---
## 📁 文件位置
| 文件 | 路径 | 说明 |
|------|------|------|
| 天气脚本 | `scripts/weather-daily.sh` | 获取天气并推送 |
| 管理脚本 | `scripts/manage-tasks.sh` | 统一管理命令 |
| Service | `~/.config/systemd/user/daily-weather.service` | systemd 服务配置 |
| Timer | `~/.config/systemd/user/daily-weather.timer` | 定时触发器 |
| 日志 | `logs/weather-cron.log` | 执行日志 |
---
## ⚙️ 常见配置
### 修改推送时间
编辑 Timer 文件:
```bash
nano ~/.config/systemd/user/daily-weather.timer
```
修改 `OnCalendar` 行:
```ini
# 每天早上 7:30
OnCalendar=*-*-* 07:30:00
# 每天晚上 20:00
OnCalendar=*-*-* 20:00:00
# 每周一早上 9:00
OnCalendar=Mon *-*-* 09:00:00
```
保存后重载:
```bash
./manage-tasks.sh reload
```
### 修改推送地点
编辑天气脚本:
```bash
./manage-tasks.sh edit
```
修改经纬度坐标:
```bash
LAT="30.6" # 纬度
LON="103.6" # 经度
```
地点坐标查询:https://www.latlong.net/
### 修改企业微信 Webhook
编辑天气脚本,找到 `WEBHOOK_URL` 行:
```bash
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
```
---
## 🧪 测试
```bash
# 立即推送一次(测试配置是否正确)
./manage-tasks.sh run
# 查看最近日志
tail -20 logs/weather-cron.log
# 查看 systemd 日志
journalctl --user -u daily-weather.service -n 20
```
---
## 🔧 故障排查
**问题:定时任务不执行**
```bash
# 检查服务状态
systemctl --user status daily-weather.timer
# 查看日志
journalctl --user -u daily-weather.service -n 50
# 手动运行测试
./manage-tasks.sh run
```
**问题:推送失败**
1. 检查 Webhook URL 是否正确
2. 检查网络连接
3. 查看日志中的错误信息
**问题:修改配置后不生效**
```bash
# 一定要重载配置
./manage-tasks.sh reload
```
---
## 📚 systemd Timer 基础
| OnCalendar 格式 | 说明 |
|----------------|------|
| `*-*-* 08:00:00` | 每天 8:00 |
| `*-*-* 08:00:00` | 每天 8:00(同上) |
| `Mon,Fri *-*-* 09:00:00` | 每周一、五 9:00 |
| `*-*-01 00:00:00` | 每月 1 号 0:00 |
| `hourly` | 每小时 |
| `daily` | 每天 |
| `weekly` | 每周 |
| `monthly` | 每月 |
完整文档:https://www.freedesktop.org/software/systemd/man/systemd.time.html
---
🦐 皮皮虾维护 · 有问题随时找我