architect/standards/3-process/process-backup.md

type: standard
aspect: process
title: "Процесс: Бэкап"
version: 1.0.0
date: 2026-02-19
status: active


Процесс: Бэкап

Версия: 1.0.0
Дата: 2025-11-30
Уровень: У1 (Правила)


ПО 9 ВОПРОСАМ

Вопрос Ответ
ПОЧЕМУ? Данные могут быть потеряны
ЗАЧЕМ? Возможность восстановления
ЧТО? Копии кода, данных, конфигов
КТО? Автоматика (cron) + Инфра (мониторинг)
КАК? См. ниже
ЧЕМ? Git, rclone, cron
ГДЕ? S3 Hub, Яндекс.Диск, GitHub
КОГДА? По расписанию + перед критичными операциями
СКОЛЬКО? 30 дней retention

УРОВНИ БЭКАПОВ

УРОВЕНЬ 1: Локальные
├── Где: /var/backups/dev-pro/
├── Что: SSH keys, configs
└── Когда: Вс 03:00

УРОВЕНЬ 2: S3 Hub
├── Где: hub/_backup/
├── Что: Git bundle workspace
└── Когда: Вс 04:00

УРОВЕНЬ 3: Яндекс.Диск
├── Где: yandex:/backups/
├── Что: Копии локальных бэкапов
└── Когда: После локальных

УРОВЕНЬ 4: GitHub
├── Где: github.com/...
├── Что: Код (git push)
└── Когда: После commit

АВТОМАТИЗАЦИЯ

Cron (DEV-PRO)

# System backup (Вс 03:00)
0 3 * * 0 /opt/.../backup.sh

# Git bundle (Вс 04:00)
0 4 * * 0 /opt/.../git-backup-s3.sh

Скрипты

Скрипт Что делает
backup.sh SSH keys, configs → /var/backups/
git-backup-s3.sh Git bundle → S3 Hub

ВОССТАНОВЛЕНИЕ

Код (из Git bundle)

git clone hub/_backup/workspace-YYYY-MM-DD.bundle workspace-restored

Конфиги (из локального бэкапа)

tar -xzf /var/backups/dev-pro/backup-YYYY-MM-DD.tar.gz -C /

Полное восстановление DEV-PRO

  1. Развернуть новый сервер
  2. Восстановить SSH keys
  3. Clone workspace из GitHub
  4. Настроить rclone для S3
  5. Восстановить конфиги из бэкапа

ПРОВЕРКА

Еженедельно

Ежемесячно


МОНИТОРИНГ

# Последний бэкап
cat hub/_backup/last-backup.txt

# Список бэкапов
ls -lh hub/_backup/*.bundle

# Размер
du -sh hub/_backup/

Версия: 1.0.0