78 lines
2.8 KiB
Bash
78 lines
2.8 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
|
|||
|
|
# 文章图片智能匹配脚本启动器
|
|||
|
|
# 用途:启动文章与图片自动匹配、生成图片的后台服务
|
|||
|
|
|
|||
|
|
# 获取脚本所在目录
|
|||
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|||
|
|
cd "$SCRIPT_DIR"
|
|||
|
|
|
|||
|
|
# 日志文件路径
|
|||
|
|
LOG_DIR="$SCRIPT_DIR/logs"
|
|||
|
|
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
|||
|
|
LOG_FILE="$LOG_DIR/start_${TIMESTAMP}.log"
|
|||
|
|
|
|||
|
|
# 确保日志目录存在
|
|||
|
|
mkdir -p "$LOG_DIR"
|
|||
|
|
|
|||
|
|
echo "========================================" | tee -a "$LOG_FILE"
|
|||
|
|
echo "启动时间: $(date '+%Y-%m-%d %H:%M:%S')" | tee -a "$LOG_FILE"
|
|||
|
|
echo "工作目录: $SCRIPT_DIR" | tee -a "$LOG_FILE"
|
|||
|
|
echo "========================================" | tee -a "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 检查Python虚拟环境
|
|||
|
|
VENV_PATH="/home/work/keyword_crawl/venv"
|
|||
|
|
if [ -d "$VENV_PATH" ]; then
|
|||
|
|
echo "[信息] 检测到虚拟环境: $VENV_PATH" | tee -a "$LOG_FILE"
|
|||
|
|
source "$VENV_PATH/bin/activate"
|
|||
|
|
echo "[信息] 虚拟环境已激活" | tee -a "$LOG_FILE"
|
|||
|
|
else
|
|||
|
|
echo "[警告] 未找到虚拟环境,使用系统Python" | tee -a "$LOG_FILE"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 显示Python版本
|
|||
|
|
echo "[信息] Python版本: $(python --version 2>&1)" | tee -a "$LOG_FILE"
|
|||
|
|
echo "[信息] Python路径: $(which python)" | tee -a "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 检查主脚本文件是否存在
|
|||
|
|
MAIN_SCRIPT="$SCRIPT_DIR/article_auto_image_matching.py"
|
|||
|
|
if [ ! -f "$MAIN_SCRIPT" ]; then
|
|||
|
|
echo "[错误] 未找到主脚本: $MAIN_SCRIPT" | tee -a "$LOG_FILE"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "[信息] 主脚本: $MAIN_SCRIPT" | tee -a "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 检查中文字体是否已安装
|
|||
|
|
echo "[信息] 检查中文字体..." | tee -a "$LOG_FILE"
|
|||
|
|
if command -v fc-list &> /dev/null; then
|
|||
|
|
FONT_COUNT=$(fc-list :lang=zh 2>/dev/null | wc -l)
|
|||
|
|
if [ "$FONT_COUNT" -gt 0 ]; then
|
|||
|
|
echo "[信息] 检测到 $FONT_COUNT 个中文字体" | tee -a "$LOG_FILE"
|
|||
|
|
else
|
|||
|
|
echo "[警告] 未检测到中文字体,压字花功能可能无法使用" | tee -a "$LOG_FILE"
|
|||
|
|
echo "[提示] Ubuntu/Debian: sudo apt-get install fonts-wqy-zenhei" | tee -a "$LOG_FILE"
|
|||
|
|
echo "[提示] CentOS/RHEL: sudo yum install wqy-zenhei-fonts" | tee -a "$LOG_FILE"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo "[警告] 无法检测字体(fc-list命令不存在)" | tee -a "$LOG_FILE"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "========================================" | tee -a "$LOG_FILE"
|
|||
|
|
echo "[启动] 正在启动文章图片智能匹配服务..." | tee -a "$LOG_FILE"
|
|||
|
|
echo "========================================" | tee -a "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 启动主脚本
|
|||
|
|
python "$MAIN_SCRIPT" 2>&1 | tee -a "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 获取退出状态码
|
|||
|
|
EXIT_CODE=$?
|
|||
|
|
|
|||
|
|
echo "========================================" | tee -a "$LOG_FILE"
|
|||
|
|
echo "结束时间: $(date '+%Y-%m-%d %H:%M:%S')" | tee -a "$LOG_FILE"
|
|||
|
|
echo "退出状态码: $EXIT_CODE" | tee -a "$LOG_FILE"
|
|||
|
|
echo "========================================" | tee -a "$LOG_FILE"
|
|||
|
|
|
|||
|
|
# 退出
|
|||
|
|
exit $EXIT_CODE
|