Files
sless/examples/POSTGRES/stress_destroy_apply.sh
T

47 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# 2026-03-20
# stress_destroy_apply.sh — 5 итераций terraform destroy + apply для проверки lifecycle PG.
# Запускать вручную с VM: bash stress_destroy_apply.sh
# Логи каждой итерации пишутся в stress_log_N.txt
set -e
ITERATIONS=5
DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$DIR"
echo "=== Старт stress-теста: $ITERATIONS итераций destroy+apply ==="
echo "Workdir: $DIR"
echo ""
for i in $(seq 1 $ITERATIONS); do
LOG="stress_log_${i}.txt"
echo "--- Итерация $i/$ITERATIONS ---"
echo "Лог: $LOG"
echo "[$i] DESTROY — $(date)" | tee "$LOG"
terraform destroy -auto-approve 2>&1 | tee -a "$LOG"
DESTROY_CODE=${PIPESTATUS[0]}
if [ $DESTROY_CODE -ne 0 ]; then
echo "[!] destroy завершился с ошибкой (код $DESTROY_CODE), итерация $i. Прерывание." | tee -a "$LOG"
exit $DESTROY_CODE
fi
echo "" | tee -a "$LOG"
echo "[$i] APPLY — $(date)" | tee -a "$LOG"
terraform apply -auto-approve 2>&1 | tee -a "$LOG"
APPLY_CODE=${PIPESTATUS[0]}
if [ $APPLY_CODE -ne 0 ]; then
echo "[!] apply завершился с ошибкой (код $APPLY_CODE), итерация $i. Прерывание." | tee -a "$LOG"
exit $APPLY_CODE
fi
echo "" | tee -a "$LOG"
echo "[$i] Итерация завершена успешно — $(date)" | tee -a "$LOG"
echo ""
done
echo "=== Все $ITERATIONS итераций прошли успешно ==="