# 定时任务配置中心 > 📍 所有定时任务配置和管理都从这里开始 --- ## 📋 当前任务列表 | 任务 | 描述 | 执行时间 | 状态 | |------|------|----------|------| | 天气预报 | 推送崇州市白头镇天气到企业微信 | 每天 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 --- 🦐 皮皮虾维护 · 有问题随时找我