#!/bin/bash # Backup script for Delphi Database System set -e BACKUP_DIR="/app/backups" DB_FILE="/app/data/delphi_database.db" TIMESTAMP=$(date +"%Y%m%d_%H%M%S") BACKUP_FILE="${BACKUP_DIR}/delphi_backup_${TIMESTAMP}.db" echo "๐Ÿ”„ Starting database backup..." # Create backup directory if it doesn't exist mkdir -p "$BACKUP_DIR" # Check if database exists if [ ! -f "$DB_FILE" ]; then echo "โŒ Database file not found: $DB_FILE" exit 1 fi # Create backup echo "๐Ÿ“ฆ Creating backup: $BACKUP_FILE" cp "$DB_FILE" "$BACKUP_FILE" # Verify backup if [ -f "$BACKUP_FILE" ]; then BACKUP_SIZE=$(stat -f%z "$BACKUP_FILE" 2>/dev/null || stat -c%s "$BACKUP_FILE" 2>/dev/null) echo "โœ… Backup created successfully" echo " File: $BACKUP_FILE" echo " Size: $BACKUP_SIZE bytes" else echo "โŒ Backup failed" exit 1 fi # Clean up old backups (keep last 10) echo "๐Ÿงน Cleaning up old backups..." find "$BACKUP_DIR" -name "delphi_backup_*.db" -type f | sort -r | tail -n +11 | xargs -r rm -f REMAINING_BACKUPS=$(find "$BACKUP_DIR" -name "delphi_backup_*.db" -type f | wc -l) echo "๐Ÿ“Š Remaining backups: $REMAINING_BACKUPS" echo "๐ŸŽ‰ Backup process completed!"