nordabiz/.claude/commands/backup.md
Maciej Pienczyn 69bb6b839a docs: Fix incorrect SQLite references - DEV uses PostgreSQL via Docker
The documentation incorrectly stated that DEV environment uses SQLite
when it actually uses PostgreSQL via Docker on localhost:5433.

Updated files:
- CLAUDE.md - main project instructions
- PROJECT_INFO.md - environment documentation
- deployment_checklist.md - deployment procedures
- SCRIPTS_INDEX.md - script usage commands
- .claude/commands/*.md - all slash command definitions
- tests/test_admin_seo_dashboard.py - test database URL

DEV environment:
- PostgreSQL via Docker: localhost:5433
- Container: nordabiz-postgres
- Database: nordabiz
- User: nordabiz_app

PROD environment:
- PostgreSQL: 10.22.68.249:5432

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 03:40:50 +01:00

98 lines
2.7 KiB
Markdown

# 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