modify scripts
This commit is contained in:
@ -8,6 +8,7 @@ export PATH="/home/ubuntu/.local/bin:$PATH"
|
||||
|
||||
# 项目基础路径
|
||||
SCRAPY_PROJ_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
GIT_PROJ_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/../../" && pwd)
|
||||
LOG_DIR="${SCRAPY_PROJ_DIR}/log"
|
||||
mkdir -p "${LOG_DIR}" # 确保日志目录存在(锁文件依赖此目录)
|
||||
SLEEP_SECONDS=60
|
||||
@ -62,6 +63,34 @@ release_lock() {
|
||||
trap release_lock EXIT
|
||||
|
||||
|
||||
# ==============================================
|
||||
# Git操作:拉取最新代码
|
||||
# ==============================================
|
||||
# 功能:执行git pull并检查结果
|
||||
# 参数:1. 项目目录 2. 日志函数(可选)
|
||||
# 返回值:0=成功,1=失败
|
||||
git_pull() {
|
||||
local repo_dir="$1"
|
||||
local log_func="${2:-echo}" # 允许传入日志函数
|
||||
|
||||
if [ ! -d "${repo_dir}/.git" ]; then
|
||||
$log_func "ERROR: 目录${repo_dir}不是Git仓库,无法执行git pull"
|
||||
return 1
|
||||
fi
|
||||
|
||||
$log_func "开始执行git pull更新代码..."
|
||||
local pull_output=$(cd "${repo_dir}" && git pull 2>&1)
|
||||
local exit_code=$?
|
||||
|
||||
if [ ${exit_code} -eq 0 ]; then
|
||||
$log_func "git pull成功:${pull_output}"
|
||||
return 0
|
||||
else
|
||||
$log_func "ERROR: git pull失败(退出码${exit_code}):${pull_output}"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
# ==============================================
|
||||
# 参数解析:区分执行周期(每周/每月)
|
||||
# ==============================================
|
||||
@ -105,6 +134,7 @@ fi
|
||||
# 每月任务
|
||||
if [ "${PERIOD}" = "--monthly" ]; then
|
||||
register_spider "pbox" "scrapy crawl pbox -a begin=${COMMON_DATE_PARAM} -a mod='update' "
|
||||
register_spider "pbox" "scrapy crawl javhd -a mod='update' "
|
||||
fi
|
||||
|
||||
|
||||
@ -157,6 +187,13 @@ if ! acquire_lock; then
|
||||
fi
|
||||
log "成功获取执行锁,开始执行任务"
|
||||
|
||||
# 拉取最新代码(关键步骤:失败则终止执行)
|
||||
if ! git_pull "${GIT_PROJ_DIR}" log; then
|
||||
log "ERROR: 代码更新失败,终止后续执行"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# 第二步:检查注册任务
|
||||
if [ ${#SPIDER_REGISTRY[@]} -eq 0 ]; then
|
||||
log "ERROR: 未注册任何${PERIOD#--}Spider,脚本终止"
|
||||
|
||||
Reference in New Issue
Block a user