feat: Initial commit for OnEver Drive centralized backup system with Windows PyQt6 agent and Proxmox LXC deployment
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
# ==============================================================================
|
||||
# OnEver Drive — System Database & Metadata Self-Backup Script
|
||||
# Backs up PostgreSQL database and configuration to persistent storage
|
||||
# ==============================================================================
|
||||
|
||||
set -e
|
||||
|
||||
BACKUP_DEST="/storage/backups/_system_metadata"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
DB_NAME="onever_drive"
|
||||
RETENTION_DAYS=30
|
||||
|
||||
mkdir -p "$BACKUP_DEST"
|
||||
|
||||
echo "[*] Creating database dump for $DB_NAME..."
|
||||
sudo -u postgres pg_dump "$DB_NAME" | gzip > "$BACKUP_DEST/onever_db_$TIMESTAMP.sql.gz"
|
||||
|
||||
echo "[*] Backing up configuration files..."
|
||||
tar -czf "$BACKUP_DEST/config_$TIMESTAMP.tar.gz" /etc/nginx/sites-available/onever-drive /etc/systemd/system/onever-backend.service 2>/dev/null || true
|
||||
|
||||
echo "[*] Pruning old database dumps older than $RETENTION_DAYS days..."
|
||||
find "$BACKUP_DEST" -type f -name "*.gz" -mtime +$RETENTION_DAYS -delete
|
||||
|
||||
echo "[+] Self-backup completed: $BACKUP_DEST/onever_db_$TIMESTAMP.sql.gz"
|
||||
Reference in New Issue
Block a user