Clawdbot汉化版代码实例:crontab定时任务+每日天气报告Telegram推送

张开发
2026/4/11 14:29:59 15 分钟阅读

分享文章

Clawdbot汉化版代码实例:crontab定时任务+每日天气报告Telegram推送
Clawdbot汉化版代码实例crontab定时任务每日天气报告Telegram推送1. 项目概述与使用场景Clawdbot汉化版是一个可以在微信、WhatsApp、Telegram等社交平台中使用的智能对话助手。与传统的在线AI服务不同Clawdbot完全运行在用户自己的设备上确保数据隐私和安全。核心优势多平台支持在微信、WhatsApp、Telegram、Discord等主流社交平台中直接使用完全免费使用用户自己的AI模型无需支付API调用费用数据隐私所有聊天记录和数据处理都在本地完成24小时在线支持开机自动启动随时可用本文将重点介绍如何通过crontab定时任务实现每日自动生成天气报告并通过Telegram推送的功能。2. 环境准备与基础配置2.1 检查Clawdbot运行状态首先确保Clawdbot服务正常运行# 检查服务状态 ps aux | grep clawdbot-gateway # 如果服务未运行使用启动脚本 bash /root/start-clawdbot.sh2.2 确认Telegram连接确保Telegram机器人已正确配置并连接# 检查Telegram连接状态 cd /root/clawdbot node dist/index.js telegram status如果显示连接正常即可进行下一步配置。3. 定时任务配置详解3.1 创建天气报告生成脚本首先创建一个专门的脚本文件来处理天气报告生成# 创建脚本目录 mkdir -p /root/clawdbot/scripts # 创建天气报告脚本 nano /root/clawdbot/scripts/daily_weather.sh脚本内容如下#!/bin/bash # 设置环境变量 export CLAWDBOT_DIR/root/clawdbot export LOG_FILE/tmp/weather_report.log # 记录执行时间 echo $(date): 开始生成每日天气报告 $LOG_FILE # 生成天气报告并发送到Telegram cd $CLAWDBOT_DIR node dist/index.js agent --agent main \ --message 生成今天的详细天气报告包括温度、湿度、风速、紫外线指数并给出穿衣建议和出行提示 \ --deliver \ --reply-channel telegram \ --thinking medium # 记录执行结果 if [ $? -eq 0 ]; then echo $(date): 天气报告发送成功 $LOG_FILE else echo $(date): 天气报告发送失败 $LOG_FILE fi给脚本添加执行权限chmod x /root/clawdbot/scripts/daily_weather.sh3.2 配置crontab定时任务编辑crontab配置crontab -e添加以下定时任务配置# 每天上午8点发送天气报告 0 8 * * * /root/clawdbot/scripts/daily_weather.sh # 每天下午6点发送明日天气预告 0 18 * * * /root/clawdbot/scripts/daily_weather.sh # 每周一早上7点发送周报 0 7 * * 1 /root/clawdbot/scripts/weekly_report.sh # 日志清理每月1号清理30天前的日志 0 2 1 * * find /tmp/ -name weather_report.log* -mtime 30 -delete3.3 测试定时任务手动测试脚本是否正常工作# 手动执行测试 /root/clawdbot/scripts/daily_weather.sh # 查看执行日志 tail -f /tmp/weather_report.log检查Telegram是否收到测试消息确认推送功能正常。4. 高级功能扩展4.1 多城市天气报告如果需要为多个城市生成天气报告可以修改脚本#!/bin/bash # 城市列表 CITIES(北京 上海 广州 深圳) for city in ${CITIES[]}; do cd /root/clawdbot node dist/index.js agent --agent main \ --message 生成${city}今天的详细天气报告包括温度、湿度、空气质量指数并给出当地的生活建议 \ --deliver \ --reply-channel telegram \ --thinking medium sleep 10 # 避免请求过于频繁 done4.2 异常处理与重试机制增强脚本的健壮性#!/bin/bash MAX_RETRY3 RETRY_COUNT0 while [ $RETRY_COUNT -lt $MAX_RETRY ]; do cd /root/clawdbot node dist/index.js agent --agent main \ --message 生成今天的天气报告包括温度、湿度、风速和出行建议 \ --deliver \ --reply-channel telegram \ --thinking medium if [ $? -eq 0 ]; then echo $(date): 天气报告发送成功 /tmp/weather_report.log break else RETRY_COUNT$((RETRY_COUNT1)) echo $(date): 第${RETRY_COUNT}次尝试失败 /tmp/weather_report.log sleep 30 fi done if [ $RETRY_COUNT -eq $MAX_RETRY ]; then echo $(date): 天气报告发送失败已达最大重试次数 /tmp/weather_report.log fi5. 监控与维护5.1 任务执行监控创建监控脚本检查定时任务执行情况#!/bin/bash # monitoring_script.sh # 检查最近是否有成功执行记录 LAST_SUCCESS$(grep 成功 /tmp/weather_report.log | tail -1 | cut -d -f1-3) if [ -z $LAST_SUCCESS ]; then echo 警告未找到成功执行记录 | mail -s Clawdbot监控警报 adminexample.com exit 1 fi # 转换为时间戳比较 LAST_TS$(date -d $LAST_SUCCESS %s) NOW_TS$(date %s) DIFF_HOURS$(( (NOW_TS - LAST_TS) / 3600 )) if [ $DIFF_HOURS -gt 24 ]; then echo 警告天气报告已超过24小时未成功执行 | mail -s Clawdbot监控警报 adminexample.com fi5.2 日志管理配置日志轮转避免日志文件过大# 安装logrotate如果未安装 apt-get install logrotate -y # 创建logrotate配置 nano /etc/logrotate.d/clawdbot_weather配置内容/tmp/weather_report.log { daily missingok rotate 7 compress delaycompress notifempty create 644 root root }6. 常见问题解决6.1 定时任务不执行问题现象配置了crontab但任务没有执行解决方法# 检查cron服务状态 systemctl status cron # 查看cron日志 tail -f /var/log/syslog | grep cron # 检查脚本权限 ls -la /root/clawdbot/scripts/daily_weather.sh # 手动测试cron环境 sudo -u root /root/clawdbot/scripts/daily_weather.sh6.2 Telegram推送失败问题现象脚本执行成功但Telegram未收到消息解决方法# 检查Telegram连接状态 cd /root/clawdbot node dist/index.js telegram status # 测试直接发送消息 node dist/index.js agent --agent main --message 测试消息 --reply-channel telegram # 查看详细日志 tail -f /tmp/clawdbot-gateway.log6.3 内存不足问题问题现象任务执行时出现内存不足错误解决方法# 查看内存使用情况 free -h # 使用更轻量级的模型 cd /root/clawdbot node dist/index.js config set agents.defaults.model.primary ollama/qwen2:1.5b # 调整思考级别为low减少资源消耗 # 修改脚本中的 --thinking medium 为 --thinking low7. 总结通过本文的配置我们成功实现了自动化天气报告每天自动生成并推送详细的天气信息多平台支持专注于Telegram推送可轻松扩展至其他平台健壮的任务调度使用crontab配合监控脚本确保任务稳定执行完善的错误处理包含重试机制和异常监控最佳实践建议定期检查日志文件确保任务正常执行根据实际需求调整推送时间和频率在天气变化较大的季节增加推送频次定期备份配置文件和个人数据扩展可能性结合位置信息提供个性化天气服务增加异常天气预警功能集成日历信息提供日程相关的天气建议开发Web界面用于管理定时任务配置这种自动化的天气报告服务不仅提供了实用的生活信息也展示了Clawdbot在自动化任务处理方面的强大能力。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章