3.0 KiB
3.0 KiB
定时任务配置中心
📍 所有定时任务配置和管理都从这里开始
📋 当前任务列表
| 任务 | 描述 | 执行时间 | 状态 |
|---|---|---|---|
| 天气预报 | 推送崇州市白头镇天气到企业微信 | 每天 08:00 | ✅ 已启用 |
🛠️ 管理命令
使用管理脚本(推荐):
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 文件:
nano ~/.config/systemd/user/daily-weather.timer
修改 OnCalendar 行:
# 每天早上 7:30
OnCalendar=*-*-* 07:30:00
# 每天晚上 20:00
OnCalendar=*-*-* 20:00:00
# 每周一早上 9:00
OnCalendar=Mon *-*-* 09:00:00
保存后重载:
./manage-tasks.sh reload
修改推送地点
编辑天气脚本:
./manage-tasks.sh edit
修改经纬度坐标:
LAT="30.6" # 纬度
LON="103.6" # 经度
地点坐标查询:https://www.latlong.net/
修改企业微信 Webhook
编辑天气脚本,找到 WEBHOOK_URL 行:
WEBHOOK_URL="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx"
🧪 测试
# 立即推送一次(测试配置是否正确)
./manage-tasks.sh run
# 查看最近日志
tail -20 logs/weather-cron.log
# 查看 systemd 日志
journalctl --user -u daily-weather.service -n 20
🔧 故障排查
问题:定时任务不执行
# 检查服务状态
systemctl --user status daily-weather.timer
# 查看日志
journalctl --user -u daily-weather.service -n 50
# 手动运行测试
./manage-tasks.sh run
问题:推送失败
- 检查 Webhook URL 是否正确
- 检查网络连接
- 查看日志中的错误信息
问题:修改配置后不生效
# 一定要重载配置
./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
🦐 皮皮虾维护 · 有问题随时找我