102 lines
4.1 KiB
Bash
102 lines
4.1 KiB
Bash
#!/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 "========================================" |