Files
vm-cc/20-collectors/collect_backup_restore_drill.sh
2025-12-27 00:59:13 +00:00

42 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
OUT_DIR="${1:?usage: collect_backup_restore_drill.sh <out_dir>}"
mkdir -p "$OUT_DIR"
ROOT="../vm-skills"
LATEST="$(find "$ROOT" -type f -name "*restore*drill*.json" 2>/dev/null | sort | tail -n 1 || true)"
file_mtime_epoch() {
local file="$1"
if stat -c %Y "$file" >/dev/null 2>&1; then
stat -c %Y "$file"
else
stat -f %m "$file"
fi
}
file_mtime_iso() {
local file="$1"
local mtime
mtime="$(file_mtime_epoch "$file")"
if date -u -r "$file" "+%Y-%m-%dT%H:%M:%SZ" >/dev/null 2>&1; then
date -u -r "$file" "+%Y-%m-%dT%H:%M:%SZ"
elif date -u -d "@${mtime}" "+%Y-%m-%dT%H:%M:%SZ" >/dev/null 2>&1; then
date -u -d "@${mtime}" "+%Y-%m-%dT%H:%M:%SZ"
else
date -u "+%Y-%m-%dT%H:%M:%SZ"
fi
}
if [[ -n "$LATEST" && -f "$LATEST" ]]; then
TS="$(file_mtime_iso "$LATEST")"
cat > "$OUT_DIR/backup_restore_drill.json" <<JSON
{"collected": true, "path": "$LATEST", "observed_at": "$TS"}
JSON
else
cat > "$OUT_DIR/backup_restore_drill.json" <<'JSON'
{"collected": false, "reason": "no restore drill artifacts found"}
JSON
fi