# NordaBiz Backup Operations

Wykonaj backup bazy danych i konfiguracji projektu NordaBiz.

## Argument: $ARGUMENTS
Opcjonalny argument określa typ backupu:
- `/backup` - pełny backup (DB + pliki)
- `/backup db` - tylko baza danych
- `/backup snapshot` - snapshot VM w Proxmox
- `/backup restore` - przywracanie (interaktywne)

## Kroki do wykonania:

### 1. Backup lokalnej bazy PostgreSQL (DEV via Docker)
```bash
mkdir -p backups
docker exec nordabiz-postgres pg_dump -U nordabiz_app nordabiz > "backups/dev_$(date +%Y%m%d_%H%M%S).sql"
```

### 2. Backup produkcyjnej bazy PostgreSQL
Eksport do lokalnego:
```bash
ssh maciejpi@10.22.68.249 "sudo -u postgres pg_dump nordabiz" > "backups/prod_$(date +%Y%m%d_%H%M%S).sql"
```

Lub backup na serwerze:
```bash
ssh maciejpi@10.22.68.249 "sudo -u postgres pg_dump nordabiz > /tmp/backup_$(date +%Y%m%d_%H%M%S).sql"
```

### 3. Backup plików konfiguracyjnych
```bash
mkdir -p backups/config_$(date +%Y%m%d)
cp .env backups/config_$(date +%Y%m%d)/dev.env
ssh maciejpi@10.22.68.249 "cat /var/www/nordabiznes/.env" > backups/config_$(date +%Y%m%d)/prod.env
ssh maciejpi@10.22.68.249 "cat /etc/nginx/sites-available/nordabiznes" > backups/config_$(date +%Y%m%d)/nginx.conf
```

### 4. Snapshot VM w Proxmox
Użyj skill `proxmox-manager`:
```
Utwórz snapshot VM NORDABIZ-01 (ID: 249) z opisem "Backup przed [operacja]"
```

Lub ręcznie:
```bash
ssh root@10.22.68.10 "qm snapshot 249 backup_$(date +%Y%m%d) --description 'Automatyczny backup'"
```

### 5. Lista istniejących backupów
Lokalne:
```bash
ls -la backups/*.sql 2>/dev/null
```

Snapshoty VM (użyj skill proxmox-manager):
```
Pokaż snapshoty VM 249
```

### 6. Przywracanie z backupu

#### DEV (Docker PostgreSQL):
```bash
docker exec -i nordabiz-postgres psql -U nordabiz_app -d nordabiz < backups/dev_YYYYMMDD_HHMMSS.sql
```

#### PROD (PostgreSQL):
```bash
cat backups/prod_YYYYMMDD_HHMMSS.sql | ssh maciejpi@10.22.68.249 "sudo -u postgres psql nordabiz"
```

#### Rollback VM:
Użyj skill `proxmox-manager`:
```
Przywróć VM 249 ze snapshotu backup_YYYYMMDD
```

## Harmonogram backupów:
| Typ | Częstotliwość | Retencja |
|-----|---------------|----------|
| DB dump | Codziennie | 7 dni |
| VM snapshot | Przed deployment | 3 snapshoty |
| Pełny backup | Tygodniowo | 4 tygodnie |

## Przechowywanie:
- Lokalne: `./backups/` (dodane do .gitignore)
- Proxmox: snapshoty na storage lokalnym
- Offsite: rozważ rsync do R11-PBS-01

## Uwagi:
- ZAWSZE rób backup przed większymi zmianami
- Testuj przywracanie okresowo
- Snapshoty VM są najszybsze do rollbacku
- PostgreSQL dump jest przenośny między środowiskami
- DEV używa Docker PostgreSQL na localhost:5433
- PROD używa PostgreSQL na 10.22.68.249:5432
