О бекапах
Как известно, люди делятся на два типа: кто делает бекапы и кто уже делает бекапы.
☝️Поэтому не будем останавливаться на том, почему делать бекапы нужно. Даже если вы в "облаках", которые прекрасно иногда горят.
Вместо этого поговорим о базовых принципах:
Принцип №1: не храните яйца в одной корзине.
- Лучше хранить как минимум в трех. Что это значит? Не очень много смысла в том, чтобы снять бекап базы данных и положить его на том же сервере, либо даже в том же дата-центре, либо в другом дата-центре у того же хостера. В идеале даже лучше в другой юрисдикции. По степени паранои и требованиям к рискам выбирайте хранилище в нужном месте.
Принцип №2: проверяйте
- Регулярно проверяйте бекапы на возможность восстановления и в целом мониторьте процесс создания. Если проверку бекапов можно делать раз в месяц, то мониторить создание надо постоянно, то есть требуется настроенный мониторинг.
Принцип №3: шифруйте
- Чтобы ваши данные никуда не утекли, важно шифровать бекапы перед их отправкой на хранение, но вы должны четко понимать как будете расшифровывать при необходимости.
Принцип №4: интервалы создания бекапов должны быть приемлемы с точки зрения потенциальных потерь.
- То есть если для вас ОК потерять не более часа истории, то значит бекап должен быть ежечасный.
Принцип №5: Определитесь со стратегией (полный или инкрементальный бекап)
- В зависимости от частоты создания бекапа и его объема, правильно выбранный вариант избавит вас от проблем типа
race condition
, то есть ситуации, когда вы создаете бекап, пока прошлая процедура создания еще не завершилась.
👾 Если ваш десктоп на linux, то удобно использовать DejaDup + Gnome backups для создания ежедневных инкрементальных бекапов. Для серверных решений подходят такие вещи как minio client, s3cmd, rclone. А если нужно инкрементальный - то restic.