fiddy/scripts/log-restore-drill.sh

26 lines
768 B
Bash

#!/usr/bin/env bash
set -euo pipefail
if [[ $# -lt 6 ]]; then
echo "Usage: $0 <environment> <backup_file> <restore_target> <status> <rto_minutes> <notes>"
exit 1
fi
ENVIRONMENT="$1"
BACKUP_FILE="$2"
RESTORE_TARGET="$3"
STATUS="$4"
RTO_MINUTES="$5"
NOTES="$6"
TIMESTAMP="$(date -u +%Y-%m-%dT%H:%M:%SZ)"
LOG_FILE="${LOG_FILE:-docs/restore-drill-log.csv}"
mkdir -p "$(dirname "$LOG_FILE")"
if [[ ! -f "$LOG_FILE" ]]; then
echo "timestamp_utc,environment,backup_file,restore_target,status,rto_minutes,notes" > "$LOG_FILE"
fi
safe_notes="$(printf '%s' "$NOTES" | tr '\n' ' ' | sed 's/"/'\''/g')"
echo "${TIMESTAMP},${ENVIRONMENT},${BACKUP_FILE},${RESTORE_TARGET},${STATUS},${RTO_MINUTES},\"${safe_notes}\"" >> "$LOG_FILE"
echo "Logged restore drill to $LOG_FILE"