OVHserver/system-backup-README.md
SamoilenkoVadym a987d45fbc chore: initial infrastructure setup with Syncthing, Git and documentation
Set up three-tier synchronization: Syncthing (real-time), GitHub (version control), rsync (disaster recovery). Includes complete documentation for future Claude sessions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-05 16:41:12 +00:00

145 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# System Backup Script
## Использование
### Запуск бэкапа
```bash
cd /Volumes/SSD/Aimpress_Cloud_Prod
./system-backup.sh
```
Скрипт создаст полную копию сервера в `system-backup/`.
### Что бэкапится
- Все файлы с сервера (кроме исключенных)
- Конфигурации всех сервисов
- Системные файлы
- Docker volumes (частично)
### Что исключено
- `/proc`, `/sys`, `/dev` - системные виртуальные FS
- `/tmp`, `/var/tmp` - временные файлы
- Swap файлы
- Docker runtime кэш
- Старые логи (*.log.gz, *.old)
- Файлы Syncthing (.stfolder, .stversions)
### Логи
Логи сохраняются в:
```
system-backup/backup-YYYYMMDD-HHMMSS.log
```
Хранятся последние 30 логов.
### Время выполнения
- Первый запуск: 2-4 часа (полная копия ~44GB)
- Последующие: 10-30 минут (только изменения)
### Требования
- **Место на диске:** Минимум 50GB свободно
- **Сеть:** Стабильное соединение с сервером
- **SSH:** Доступ к ubuntu@51.89.231.46
## Восстановление
### Полное восстановление сервера
```bash
# ОСТОРОЖНО! Это перезапишет все файлы на сервере!
rsync -avz --progress \
/Volumes/SSD/Aimpress_Cloud_Prod/system-backup/ \
ubuntu@51.89.231.46:/
```
### Восстановление конкретной директории
```bash
# Пример: восстановить /opt/02-core
rsync -avz --progress \
/Volumes/SSD/Aimpress_Cloud_Prod/system-backup/opt/02-core/ \
ubuntu@51.89.231.46:/opt/02-core/
```
### Восстановление конкретного файла
```bash
# Пример: восстановить конфиг traefik
scp /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/opt/00-infrastructure/traefik/traefik.yml \
ubuntu@51.89.231.46:/opt/00-infrastructure/traefik/traefik.yml
```
## Расписание
Рекомендуется запускать:
- **Еженедельно** - для регулярного бэкапа
- **Перед крупными изменениями** - для safety net
- **После важных обновлений** - для сохранения рабочего состояния
## Автоматизация (опционально)
### Создать cron job для еженедельного бэкапа:
```bash
crontab -e
```
Добавить:
```
# Weekly full system backup (every Sunday at 3 AM)
0 3 * * 0 /Volumes/SSD/Aimpress_Cloud_Prod/system-backup.sh >> /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/cron.log 2>&1
```
## Мониторинг
### Проверить последний бэкап:
```bash
cat /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/.backup-metadata.txt
```
### Посмотреть размер бэкапа:
```bash
du -sh /Volumes/SSD/Aimpress_Cloud_Prod/system-backup
```
### Проверить последний лог:
```bash
ls -t /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/backup-*.log | head -1 | xargs tail -50
```
## Troubleshooting
### "Cannot connect to server"
Проверьте:
- SSH доступ: `ssh ubuntu@51.89.231.46`
- Интернет соединение
- Firewall правила
### "Not enough disk space"
Освободите место:
```bash
# Проверить место
df -h /Volumes/SSD
# Удалить старые бэкапы если нужно
rm -rf /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/some-old-backup
```
### "Rsync failed"
Проверьте лог файл для деталей:
```bash
tail -100 /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/backup-*.log
```
## Важно
⚠️ **Бэкап НЕ заменяет:**
- Syncthing (для реального времени)
- Git (для версионного контроля)
⚠️ **Бэкап дополняет систему:**
- Полное snapshot системы
- Для disaster recovery
- Для восстановления после сбоя
## См. также
- [README.md](README.md) - Общая документация
- [.claude/workflow.md](.claude/workflow.md) - Рабочий процесс
- [opt/05-backups/SCRIPTS-REGISTRY.md](opt/05-backups/SCRIPTS-REGISTRY.md) - Другие скрипты бэкапа