-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexport-database.sh
More file actions
49 lines (42 loc) · 1.1 KB
/
Copy pathexport-database.sh
File metadata and controls
49 lines (42 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
# Database Export Script
# This script exports the event-management database structure and data
# Configuration
DB_NAME="event-management"
DB_USER="root"
DB_PASSWORD="root"
DB_HOST="localhost"
DB_PORT="3306"
BACKUP_DIR="database-backup"
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
BACKUP_FILE="$BACKUP_DIR/event-management-$TIMESTAMP.sql"
# Create backup directory if it doesn't exist
mkdir -p "$BACKUP_DIR"
echo "Starting database export..."
echo "Database: $DB_NAME"
echo "Output: $BACKUP_FILE"
# Export database
mysqldump -h "$DB_HOST" \
-P "$DB_PORT" \
-u "$DB_USER" \
-p"$DB_PASSWORD" \
--databases "$DB_NAME" \
--add-drop-database \
--routines \
--triggers \
--events \
--single-transaction \
--quick \
--lock-tables=false \
> "$BACKUP_FILE"
if [ $? -eq 0 ]; then
echo "✅ Database exported successfully!"
echo "File: $BACKUP_FILE"
echo "Size: $(du -h "$BACKUP_FILE" | cut -f1)"
# Create a symlink to latest backup
ln -sf "$(basename "$BACKUP_FILE")" "$BACKUP_DIR/latest.sql"
echo "Symlink created: $BACKUP_DIR/latest.sql"
else
echo "❌ Export failed!"
exit 1
fi