- Added docs/AUTH.md with authentication system documentation - Added server scripts (auto-deploy, backup, monitor, webhook-server) - Updated README with deployment info and project structure - Added gitignore for backup archives
50 lines
1.6 KiB
Bash
Executable File
50 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# b0esche.cloud Backup Script
|
|
# Usage: ./backup.sh
|
|
|
|
set -e
|
|
|
|
DATE=$(date +%Y%m%d_%H%M%S)
|
|
BACKUP_DIR="/opt/backups/b0esche_cloud/$DATE"
|
|
RETENTION_DAYS=30
|
|
|
|
echo "Starting backup for b0esche.cloud - $DATE"
|
|
|
|
# Create backup directory
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
echo "Backing up Go backend PostgreSQL database..."
|
|
docker exec go-postgres pg_dump -U go_backend -Fc go_backend > "$BACKUP_DIR/go_backend.sqlc"
|
|
|
|
echo "Backing up Nextcloud database..."
|
|
docker exec nextcloud-db mysqldump -u nextcloud -pSu11Fd02!!! nextcloud > "$BACKUP_DIR/nextcloud.sql"
|
|
|
|
echo "Backing up Traefik certificates..."
|
|
cp -r /opt/traefik/acme "$BACKUP_DIR/"
|
|
|
|
echo "Backing up configuration files..."
|
|
cp /opt/go/.env.production "$BACKUP_DIR/"
|
|
cp /opt/go/docker-compose.yml "$BACKUP_DIR/go-docker-compose.yml"
|
|
cp /opt/flutter/docker-compose.yml "$BACKUP_DIR/flutter-docker-compose.yml"
|
|
cp /opt/flutter/nginx.conf "$BACKUP_DIR/"
|
|
cp /opt/traefik/docker-compose.yml "$BACKUP_DIR/traefik-docker-compose.yml"
|
|
cp /opt/traefik/traefik.yml "$BACKUP_DIR/"
|
|
|
|
echo "Backing up Docker volumes..."
|
|
docker run --rm -v nextcloud_data_31:/data -v "$BACKUP_DIR":/backup alpine tar czf /backup/nextcloud_data.tar.gz -C /data .
|
|
|
|
echo "Compressing backup..."
|
|
cd /opt/backups/b0esche_cloud
|
|
tar czf "$DATE.tar.gz" "$DATE"
|
|
rm -rf "$DATE"
|
|
|
|
echo "Backup completed: /opt/backups/b0esche_cloud/$DATE.tar.gz"
|
|
|
|
# Clean up old backups
|
|
echo "Cleaning up backups older than $RETENTION_DAYS days..."
|
|
find /opt/backups/b0esche_cloud -name "*.tar.gz" -mtime +$RETENTION_DAYS -delete
|
|
|
|
echo "Backup process completed successfully!"
|
|
|
|
# Show backup size
|
|
ls -lh "/opt/backups/b0esche_cloud/$DATE.tar.gz" |