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>
4.5 KiB
4.5 KiB
System Backup Script
Использование
Запуск бэкапа
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
Восстановление
Полное восстановление сервера
# ОСТОРОЖНО! Это перезапишет все файлы на сервере!
rsync -avz --progress \
/Volumes/SSD/Aimpress_Cloud_Prod/system-backup/ \
ubuntu@51.89.231.46:/
Восстановление конкретной директории
# Пример: восстановить /opt/02-core
rsync -avz --progress \
/Volumes/SSD/Aimpress_Cloud_Prod/system-backup/opt/02-core/ \
ubuntu@51.89.231.46:/opt/02-core/
Восстановление конкретного файла
# Пример: восстановить конфиг 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 для еженедельного бэкапа:
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
Мониторинг
Проверить последний бэкап:
cat /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/.backup-metadata.txt
Посмотреть размер бэкапа:
du -sh /Volumes/SSD/Aimpress_Cloud_Prod/system-backup
Проверить последний лог:
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"
Освободите место:
# Проверить место
df -h /Volumes/SSD
# Удалить старые бэкапы если нужно
rm -rf /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/some-old-backup
"Rsync failed"
Проверьте лог файл для деталей:
tail -100 /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/backup-*.log
Важно
⚠️ Бэкап НЕ заменяет:
- Syncthing (для реального времени)
- Git (для версионного контроля)
⚠️ Бэкап дополняет систему:
- Полное snapshot системы
- Для disaster recovery
- Для восстановления после сбоя
См. также
- README.md - Общая документация
- .claude/workflow.md - Рабочий процесс
- opt/05-backups/SCRIPTS-REGISTRY.md - Другие скрипты бэкапа