#!/bin/bash # 招标公告爬虫执行脚本 # 用于云端服务器定时执行 # 获取脚本所在目录 SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" cd "$PROJECT_DIR" echo "==========================================" echo "开始执行爬虫任务: $(date '+%Y-%m-%d %H:%M:%S')" echo "项目目录: $PROJECT_DIR" echo "==========================================" # 激活虚拟环境 if [ -d "venv" ]; then echo "激活虚拟环境..." source venv/bin/activate else echo "警告: 虚拟环境不存在,将使用系统Python" fi # 创建日志目录 mkdir -p logs # 日期时间 DATE=$(date +"%Y%m%d_%H%M%S") LOG_FILE="logs/crawler_${DATE}.log" echo "日志文件: $LOG_FILE" echo "" >> "$LOG_FILE" echo "==========================================" >> "$LOG_FILE" echo "开始执行爬虫任务: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE" echo "==========================================" >> "$LOG_FILE" # 执行爬虫(所有网站,所有公告类型,启用AI处理和上传) echo "执行爬虫命令..." python main.py -s all -P -U >> "$LOG_FILE" 2>&1 EXIT_CODE=$? echo "" >> "$LOG_FILE" echo "==========================================" >> "$LOG_FILE" echo "爬虫任务完成: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE" echo "退出码: $EXIT_CODE" >> "$LOG_FILE" echo "==========================================" >> "$LOG_FILE" if [ $EXIT_CODE -eq 0 ]; then echo "✅ 爬虫任务执行成功!" echo "日志文件: $LOG_FILE" else echo "❌ 爬虫任务执行失败!退出码: $EXIT_CODE" echo "请查看日志文件: $LOG_FILE" fi echo "==========================================" exit $EXIT_CODE