#!/usr/bin/env bash set -e # Prevent concurrent executions of this script. LOCK_FILE="/tmp/$(basename "$0").lock" if [ -e "$LOCK_FILE" ]; then echo "[WARN] $(basename "$0") is already running (lock file present)." >&2 exit 0 fi touch "$LOCK_FILE" trap 'rm -f "$LOCK_FILE"' EXIT # Ensure virtual environment exists if [ ! -d ".venv" ]; then echo "[INFO] Creating virtual environment..." python3 -m venv .venv source .venv/bin/activate echo "[INFO] Installing dependencies..." pip install --upgrade pip if [ -f requirements.txt ]; then pip install -r requirements.txt else echo "[WARN] requirements.txt not found, skipping." fi else echo "[INFO] Activating virtual environment..." source .venv/bin/activate fi # Run analysis helpers echo "[INFO] Checking for missing domains..." python -m scripts.analyze check-missing-domains echo "[INFO] Suggesting cache improvements..." python -m scripts.analyze suggest-cache echo "[INFO] Detecting threats..." python -m scripts.analyze detect-threats # Deactivate to keep cron environment clean if type deactivate >/dev/null 2>&1; then deactivate fi