#!/usr/bin/env bash # 环境变量同步脚本 - 每10分钟从 HF API 获取最新环境变量 LOG_FILE="/var/log/openclaw/env-sync.log" LOCK_FILE="/tmp/openclaw-env-sync.lock" # 防止重复运行 if [[ -f "$LOCK_FILE" ]]; then PID=$(cat "$LOCK_FILE" 2>/dev/null) if ps -p "$PID" >/dev/null 2>&1; then echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] Another instance is running, skipping" >> "$LOG_FILE" exit 0 fi fi echo $$ > "$LOCK_FILE" # 执行更新 { echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] Starting environment sync from HF API..." if [[ -x /usr/local/bin/update-env-from-secrets.sh ]]; then /usr/local/bin/update-env-from-secrets.sh 2>&1 else echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] update-env-from-secrets.sh not found" fi echo "[$(date -u +%Y-%m-%dT%H:%M:%SZ)] Environment sync completed" } >> "$LOG_FILE" 2>&1 # 清理锁文件 rm -f "$LOCK_FILE"