О бекапах

Как известно, люди делятся на два типа: кто делает бекапы и кто уже делает бекапы.

☝️Поэтому не будем останавливаться на том, почему делать бекапы нужно. Даже если вы в "облаках", которые прекрасно иногда горят.

Вместо этого поговорим о базовых принципах:

Принцип №1: не храните яйца в одной корзине.

  • Лучше хранить как минимум в трех. Что это значит? Не очень много смысла в том, чтобы снять бекап базы данных и положить его на том же сервере, либо даже в том же дата-центре, либо в другом дата-центре у того же хостера. В идеале даже лучше в другой юрисдикции. По степени паранои и требованиям к рискам выбирайте хранилище в нужном месте.

Принцип №2: проверяйте

  • Регулярно проверяйте бекапы на возможность восстановления и в целом мониторьте процесс создания. Если проверку бекапов можно делать раз в месяц, то мониторить создание надо постоянно, то есть требуется настроенный мониторинг.

Принцип №3: шифруйте

  • Чтобы ваши данные никуда не утекли, важно шифровать бекапы перед их отправкой на хранение, но вы должны четко понимать как будете расшифровывать при необходимости.

Принцип №4: интервалы создания бекапов должны быть приемлемы с точки зрения потенциальных потерь.

  • То есть если для вас ОК потерять не более часа истории, то значит бекап должен быть ежечасный.

Принцип №5: Определитесь со стратегией (полный или инкрементальный бекап)

  • В зависимости от частоты создания бекапа и его объема, правильно выбранный вариант избавит вас от проблем типа race condition, то есть ситуации, когда вы создаете бекап, пока прошлая процедура создания еще не завершилась.

👾 Если ваш десктоп на linux, то удобно использовать DejaDup + Gnome backups для создания ежедневных инкрементальных бекапов. Для серверных решений подходят такие вещи как minio client, s3cmd, rclone. А если нужно инкрементальный - то restic.