maybe good
This commit is contained in:
44
scripts/backup.sh
Executable file
44
scripts/backup.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/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!"
|
||||
Reference in New Issue
Block a user