26 lines
768 B
Bash
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"
|