#!/bin/bash # Test Backup Playbook # Führt ein Test-Backup aus und verifiziert die Ergebnisse set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ANSIBLE_DIR="$SCRIPT_DIR/../ansible" echo "==========================================" echo "Backup Playbook Test" echo "==========================================" echo "" # Check if we're in the right directory if [ ! -f "$ANSIBLE_DIR/playbooks/backup.yml" ]; then echo "Error: backup.yml not found at $ANSIBLE_DIR/playbooks/backup.yml" exit 1 fi # Check if inventory exists if [ ! -f "$ANSIBLE_DIR/inventory/production.yml" ]; then echo "Error: production.yml inventory not found" exit 1 fi # Check if vault password file exists VAULT_PASS_FILE="$ANSIBLE_DIR/secrets/.vault_pass" if [ ! -f "$VAULT_PASS_FILE" ]; then echo "Warning: Vault password file not found at $VAULT_PASS_FILE" echo "Creating empty vault password file..." touch "$VAULT_PASS_FILE" chmod 600 "$VAULT_PASS_FILE" fi echo "Running backup playbook..." echo "" cd "$ANSIBLE_DIR" ansible-playbook -i inventory/production.yml \ playbooks/backup.yml \ --vault-password-file "$VAULT_PASS_FILE" \ -e "backup_retention_days=1" \ -e "verify_backups=true" echo "" echo "==========================================" echo "Backup Test Complete" echo "==========================================" echo "" echo "Next steps:" echo "1. Verify backup files were created on the server" echo "2. Check backup metadata file" echo "3. (Optional) Test restore process" echo "" echo "To verify backups on server:" echo " ssh deploy@94.16.110.151" echo " ls -lh ~/backups/backup_*/" echo " cat ~/backups/backup_*/backup_metadata.txt"