33 lines
856 B
Bash
Executable File
33 lines
856 B
Bash
Executable File
#!/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"
|