Files
zhuiguang-ai/scripts/install-cron.sh
T

102 lines
4.1 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 追光AI 定时任务安装/修复脚本
# 用法: bash install-cron.sh
PROJECT_DIR="/home/ubuntu/zhuiguang-ai"
echo "========================================"
echo " 追光AI 定时任务 - 安装/修复"
echo "========================================"
mkdir -p "$PROJECT_DIR/logs"
echo "✅ 日志目录已创建: $PROJECT_DIR/logs/"
chmod +x "$PROJECT_DIR/scripts/cron-wrapper.sh"
echo "✅ cron-wrapper.sh 已加执行权限"
# 直接写入crontab(覆盖模式)
cat > /tmp/cron-temp << 'CRONEOF'
# ========== 追光AI 定时任务 ==========
# 使用 cron-wrapper.sh 统一入口(自动加载 .env)
WRAPPER="/home/ubuntu/zhuiguang-ai/scripts/cron-wrapper.sh"
PROJECT="/home/ubuntu/zhuiguang-ai"
# Task5 每天凌晨1:00 更新技能星值
0 1 * * * bash $WRAPPER task5 $PROJECT/scripts/task5-update-stars.mjs
# Task3 每天凌晨3:00 工具巡检
0 3 * * * bash $WRAPPER task3 $PROJECT/scripts/task3-check-tools.mjs
# Task6 每天凌晨4:00 评测热门技能
0 4 * * * bash $WRAPPER task6 $PROJECT/scripts/task6-review-hot.mjs
# Task4 每天凌晨5:00 发现AI技能
0 5 * * * bash $WRAPPER task4 $PROJECT/scripts/daily-discover.mjs
# Task1 每天早上6:00 发现AI工具
0 6 * * * bash $WRAPPER task1 $PROJECT/scripts/task1-discover-tools.mjs
# 每天早上7:30 生成AI日报
30 7 * * * bash $WRAPPER daily-news $PROJECT/scripts/daily-news.mjs
# 每天早上8:00 新闻推送到社区版块
0 8 * * * bash $WRAPPER task7 $PROJECT/scripts/task7-news-to-community.mjs
# 数字人bot活动引擎(每整点运行,9:00-23:00共15轮/天,每轮5+5=10板块+4回复/板块+5点赞)
# 2026-06-10 翻倍:原 4+4=8 板块、3回复、3点赞 → 5+5=10 板块、4回复、5点赞
0 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 * * * bash $WRAPPER bot-activity $PROJECT/scripts/bot-activity.mjs
# Bot跨板块亲和度与画像:每6小时滚动一次
0 */6 * * * bash $WRAPPER bot-affinity-update $PROJECT/scripts/bot-affinity-update.mjs
# Bot反馈循环:每3小时一次(基于历史回复生成跟进)
0 */3 * * * bash $WRAPPER bot-feedback-loop $PROJECT/scripts/bot-feedback-loop.mjs
# Bot技能沉淀:每12小时一次
0 */12 * * * bash $WRAPPER bot-skill-crystallize $PROJECT/scripts/bot-skill-crystallize.mjs
# Bot周复盘:每周一凌晨2:30执行
30 2 * * 1 bash $WRAPPER bot-weekly-review $PROJECT/scripts/bot-weekly-review.mjs
# 每周日凌晨6:30 清理 30 天前的 task_log 数据
30 6 * * 0 bash $WRAPPER cleanup-task-logs $PROJECT/scripts/cleanup-task-logs.mjs
# 每6小时15分对齐 forumTopic/forumPost.likeCount 与真实 Like 表
15 */6 * * * bash $WRAPPER reconcile-like-counts $PROJECT/scripts/reconcile-like-counts.mjs --fix
# Bot Persona A/B 测试调度:每4小时45分(采指标 + 显著性分析 + winner 权重切换)
45 */4 * * * bash $WRAPPER bot-persona-experiment-run $PROJECT/scripts/bot-persona-experiment-run.mjs --lookback=7
# Bot 对抗学习(真人高赞帖):每周日23:00 跑一次
0 23 * * 0 bash $WRAPPER bot-adversarial-learning-run $PROJECT/scripts/bot-adversarial-learning-run.mjs --lookback=7
CRONEOF
crontab /tmp/cron-temp
rm -f /tmp/cron-temp
echo "✅ crontab 已更新(15个定时任务)"
echo ""
echo "当前 crontab 内容:"
crontab -l
echo ""
echo "========================================"
echo " 安装完成!每天自动执行时间:"
echo " 01:00 - Task5 更新技能星值"
echo " 02:30 - Bot周复盘(仅周一)"
echo " 03:00 - Task3 工具巡检"
echo " 04:00 - Task6 评测热门技能"
echo " 05:00 - Task4 发现AI技能"
echo " 06:00 - Task1 发现AI工具"
echo " 06:15 - 点赞数对齐巡检(每6h)"
echo " 06:30 - 清理任务日志(仅周日)"
echo " 07:30 - 生成AI日报"
echo " 08:00 - Task7 新闻→社区"
echo " 每3h - Bot反馈循环(0/3/6/9/12/15/18/21)"
echo " 每4h - Bot Persona A/B 调度(3/7/11/15/19/23)"
echo " 每周日23:00 - Bot 对抗学习(真人高赞帖)"
echo " 每6h - Bot亲和度与画像(0/6/12/18)"
echo " 每12h - Bot技能沉淀(0/12)"
echo " 9-23 - 数字人bot活动引擎(每小时1轮)"
echo "========================================"