feat: add collectors and rules
This commit is contained in:
41
20-collectors/collect_backup_restore_drill.sh
Executable file
41
20-collectors/collect_backup_restore_drill.sh
Executable file
@@ -0,0 +1,41 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user