Перейти к основному содержанию Перейти к навигации Перейти к нижнему колонтитулу

Резервное копирование и восстановление

Резервное копирование зашифрованных репозиториев во внешние хранилища, восстановление из резервных копий и настройка автоматического резервного копирования.

Резервное копирование и восстановление

Rediacc может создавать резервные копии зашифрованных репозиториев во внешние хранилища и восстанавливать их на той же или другой машине. Резервные копии зашифрованы, для восстановления требуются учетные данные LUKS репозитория.

Настройка хранилища

Перед отправкой резервных копий зарегистрируйте провайдера хранилища. Rediacc поддерживает любое rclone-совместимое хранилище: S3, B2, Google Drive и многие другие.

Импорт из rclone

Если у вас уже настроен удаленный rclone-ресурс:

rdc config storage import --file rclone.conf

Эта команда импортирует конфигурации хранилища из файла конфигурации rclone в текущую конфигурацию. Поддерживаемые типы: S3, B2, Google Drive, OneDrive, Mega, Dropbox, Box, Azure Blob и Swift.

Просмотр хранилищ

rdc config storage list

Отправка резервной копии

Отправьте резервную копию репозитория во внешнее хранилище:

rdc repo push --name my-app -m server-1 --to my-storage
ОпцияОписание
--to <storage>Целевое хранилище
--to-machine <machine>Целевая машина для копирования между машинами
--dest <filename>Пользовательское имя файла назначения
--checkpointСоздать контрольную точку CRIU перед отправкой (для контейнеров с меткой rediacc.checkpoint=true). Целевая машина автоматически восстанавливает при repo up
--forceПерезаписать существующую резервную копию
--tag <tag>Пометить резервную копию тегом
-w, --watchОтслеживать прогресс операции
--debugВключить подробный вывод
--skip-router-restartSkip restarting the route server after the operation

Получение / Восстановление резервной копии

Получите резервную копию репозитория из внешнего хранилища:

rdc repo pull --name my-app -m server-1 --from my-storage
ОпцияОписание
--from <storage>Исходное хранилище
--from-machine <machine>Исходная машина для восстановления между машинами
--forceПерезаписать существующую локальную резервную копию
-w, --watchОтслеживать прогресс операции
--debugВключить подробный вывод
--skip-router-restartSkip restarting the route server after the operation

Список резервных копий

Просмотрите доступные резервные копии в хранилище:

rdc repo backup list --from my-storage -m server-1

Массовая синхронизация

Отправьте или получите все репозитории одновременно:

Отправка всех в хранилище

rdc repo push --to my-storage -m server-1

Получение всех из хранилища

rdc repo pull --from my-storage -m server-1
ОпцияОписание
--to <storage>Целевое хранилище (направление отправки)
--from <storage>Исходное хранилище (направление получения)
--repo <name>Синхронизировать определенные репозитории (можно указывать несколько раз)
--overrideПерезаписать существующие резервные копии
--debugВключить подробный вывод
--skip-router-restartSkip restarting the route server after the operation

Запланированное резервное копирование

Автоматизируйте резервное копирование с помощью cron-расписания, которое запускается как systemd-таймер на удаленной машине.

Настройка расписания

rdc config backup-strategy set --destination my-storage --cron "0 2 * * *" --enable

Вы можете настроить несколько хранилищ с разными расписаниями:

rdc config backup-strategy set --destination my-s3 --cron "0 2 * * *" --enable
rdc config backup-strategy set --destination azure-backup --cron "0 6 * * *" --enable
ОпцияОписание
--destination <storage>Хранилище для резервных копий (настраивается для каждого хранилища)
--cron <expression>Cron-выражение (например, "0 2 * * *" для ежедневного запуска в 2 часа ночи)
--enableВключить расписание
--disableОтключить расписание

Применение расписания на машине

Разверните конфигурацию расписания на машине как systemd-таймер:

rdc machine backup schedule -m server-1

Просмотр расписания

rdc config backup-strategy show

Обзор хранилища

Просмотрите содержимое хранилища:

rdc storage browse --name my-storage

Лучшие практики

  • Настройте ежедневное резервное копирование хотя бы в одно хранилище
  • Периодически проверяйте восстановление для подтверждения целостности резервных копий
  • Используйте несколько провайдеров хранилищ для критически важных данных (например, S3 + B2)
  • Храните учетные данные в безопасности, резервные копии зашифрованы, но для восстановления требуются учетные данные LUKS