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>
98 lines
2.7 KiB
Markdown
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
|