# 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) - Другие скрипты бэкапа