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

40 lines
871 B
Bash

#!/bin/bash
set -e
TASK_NAME="$1"
SCRIPT_PATH="$2"
PROJECT_DIR="/home/ubuntu/zhuiguang-ai"
LOG_DIR="$PROJECT_DIR/logs"
ENV_FILE="$PROJECT_DIR/.env"
if [ -z "$TASK_NAME" ] || [ -z "$SCRIPT_PATH" ]; then
echo "用法: $0 <TASK_NAME> <SCRIPT_PATH>"
exit 1
fi
mkdir -p "$LOG_DIR"
LOG_FILE="$LOG_DIR/$TASK_NAME.log"
TIMESTAMP=$(date '+%Y-%m-%d %H:%M:%S')
echo "========== $TIMESTAMP 开始执行: $TASK_NAME ==========" >> "$LOG_FILE"
if [ -f "$ENV_FILE" ]; then
set -a
source "$ENV_FILE"
set +a
fi
export PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
cd "$PROJECT_DIR"
if node "$SCRIPT_PATH" >> "$LOG_FILE" 2>&1; then
echo "$(date '+%Y-%m-%d %H:%M:%S') $TASK_NAME 执行成功" >> "$LOG_FILE"
else
EXIT_CODE=$?
echo "$(date '+%Y-%m-%d %H:%M:%S') $TASK_NAME 执行失败 (exit code: $EXIT_CODE)" >> "$LOG_FILE"
exit $EXIT_CODE
fi
echo "" >> "$LOG_FILE"