initial commit
This commit is contained in:
29
scripts/backup.sh
Normal file
29
scripts/backup.sh
Normal file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
BACKUP_DIR="./backups"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
DB_BACKUP_FILE="${BACKUP_DIR}/penpot_db_${TIMESTAMP}.sql"
|
||||
ASSETS_BACKUP_FILE="${BACKUP_DIR}/penpot_assets_${TIMESTAMP}.tar.gz"
|
||||
|
||||
echo "=== Starting Penpot Backup ($TIMESTAMP) ==="
|
||||
|
||||
mkdir -p "$BACKUP_DIR"
|
||||
|
||||
# Backup PostgreSQL Database
|
||||
echo "Backing up Database..."
|
||||
docker compose exec -T penpot-postgres pg_dump -U penpot -d penpot -c > "$DB_BACKUP_FILE"
|
||||
echo "Database backed up to $DB_BACKUP_FILE"
|
||||
|
||||
# Backup Assets Volume
|
||||
echo "Backing up Assets..."
|
||||
docker compose run --rm \
|
||||
-v $(pwd)/backups:/backups \
|
||||
penpot-backend \
|
||||
tar czvf /backups/penpot_assets_${TIMESTAMP}.tar.gz -C /opt/data/assets .
|
||||
|
||||
echo "Assets backed up to $ASSETS_BACKUP_FILE"
|
||||
|
||||
echo "=== Backup Complete! ==="
|
||||
Reference in New Issue
Block a user