#!/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 итераций прошли успешно ==="