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

4.5 KiB
Raw Permalink Blame History

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
  • Для восстановления после сбоя

См. также