fix: 修复定时任务环境变量缺失问题
This commit is contained in:
parent
367f840a6d
commit
f6fceee2b1
@ -4,7 +4,48 @@ set -euo pipefail
|
|||||||
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
cd "$PROJECT_DIR"
|
cd "$PROJECT_DIR"
|
||||||
|
|
||||||
if ! command -v bun >/dev/null 2>&1; then
|
# Cron 默认 PATH 往往很短,先补一份基础路径。
|
||||||
|
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${PATH:-}"
|
||||||
|
|
||||||
|
resolve_bun() {
|
||||||
|
# 1) PATH 可直接找到 bun
|
||||||
|
if command -v bun >/dev/null 2>&1; then
|
||||||
|
command -v bun
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 2) 允许外部显式指定 BUN_BIN
|
||||||
|
if [[ -n "${BUN_BIN:-}" && -x "${BUN_BIN}" ]]; then
|
||||||
|
echo "${BUN_BIN}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 3) 尝试加载 nvm 环境(root 与普通用户路径)
|
||||||
|
local nvm_candidates=("/root/.nvm/nvm.sh" "${HOME:-}/.nvm/nvm.sh")
|
||||||
|
local nvm_sh
|
||||||
|
for nvm_sh in "${nvm_candidates[@]}"; do
|
||||||
|
if [[ -s "${nvm_sh}" ]]; then
|
||||||
|
# shellcheck source=/dev/null
|
||||||
|
source "${nvm_sh}" >/dev/null 2>&1 || true
|
||||||
|
if command -v bun >/dev/null 2>&1; then
|
||||||
|
command -v bun
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# 4) 直接扫描 nvm 目录中的 bun,优先版本号最高的 Node 目录
|
||||||
|
local bun_candidates
|
||||||
|
bun_candidates=$(find /root/.nvm/versions/node "${HOME:-}/.nvm/versions/node" -type f -path "*/bin/bun" 2>/dev/null | sort -V || true)
|
||||||
|
if [[ -n "${bun_candidates}" ]]; then
|
||||||
|
echo "${bun_candidates}" | tail -n 1
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! BUN_CMD="$(resolve_bun)"; then
|
||||||
echo "[ERROR] bun 未安装或不在 PATH 中"
|
echo "[ERROR] bun 未安装或不在 PATH 中"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@ -20,8 +61,9 @@ if [[ ! -d .git ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
echo "[INFO] 项目目录: $PROJECT_DIR"
|
echo "[INFO] 项目目录: $PROJECT_DIR"
|
||||||
|
echo "[INFO] bun 路径: $BUN_CMD"
|
||||||
echo "[INFO] 开始执行 daily 采集..."
|
echo "[INFO] 开始执行 daily 采集..."
|
||||||
bun run daily
|
"$BUN_CMD" run daily
|
||||||
|
|
||||||
echo "[INFO] 添加产物到暂存区..."
|
echo "[INFO] 添加产物到暂存区..."
|
||||||
git add data pic
|
git add data pic
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user