#!/bin/bash # Manual backup trigger script # This script triggers an immediate backup outside of the scheduled cron set -e set -u SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" echo "=== JMP Server Backup ===" echo "Starting manual backup at $(date)" echo "" # Validate backup container is running if ! docker compose ps backup 2>/dev/null | grep -q "backup"; then echo "Error: backup service is not running. Start services with ./start.sh" exit 1 fi # Run one-off backup using the backup container docker compose exec backup backup || { echo "Error: Backup execution failed" exit 1 } echo "" echo "Backup completed at $(date)" echo "Backups stored in: $SCRIPT_DIR/backups/" echo "" echo "Recent backups:" ls -lah "$SCRIPT_DIR/backups/" | grep -E "backup-.*\.tar\.gz" | tail -5 || echo "No backups found"