Files
website/start-news-service.sh
2025-12-02 20:11:38 +08:00

72 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# 启动新闻爬虫自动定时服务
# 使用 PM2 进程管理器保证服务稳定运行
set -e
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " 🚀 启动 OmniVerse 新闻爬虫自动定时服务"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
# 检查 PM2 是否安装
if ! command -v pm2 &> /dev/null; then
echo "📦 PM2 未安装,正在安装..."
npm install -g pm2
echo "✅ PM2 安装完成"
echo ""
fi
# 进入爬虫服务目录
cd news-crawler-service
# 检查依赖
if [ ! -d "node_modules" ]; then
echo "📦 安装依赖..."
npm install
echo ""
fi
# 停止已存在的服务
echo "🔍 检查现有服务..."
pm2 delete omniverse-news 2>/dev/null || true
echo ""
# 启动服务
echo "🚀 启动新闻爬虫服务..."
pm2 start src/server.js --name omniverse-news --time
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo " ✅ 服务启动成功!"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "📊 服务信息:"
echo " • 名称: omniverse-news"
echo " • 端口: 3001"
echo " • API: http://localhost:3001"
echo " • 定时爬取: 每 30 分钟"
echo " • 自动导出: 已启用"
echo " • 日志位置: logs/app.log"
echo ""
echo "📋 常用命令:"
echo " pm2 status # 查看服务状态"
echo " pm2 logs omniverse-news # 查看实时日志"
echo " pm2 restart omniverse-news # 重启服务"
echo " pm2 stop omniverse-news # 停止服务"
echo " pm2 delete omniverse-news # 删除服务"
echo ""
echo "🔄 首次运行:"
echo " 服务将在启动后 5 秒开始首次爬取"
echo " 之后每 30 分钟自动爬取一次"
echo " 每次爬取完成后自动导出 JSON 到 public/data/news.json"
echo ""
echo "🌐 查看服务:"
pm2 status
echo ""
echo "📝 查看实时日志:"
echo " pm2 logs omniverse-news"
echo ""