Не забивайте на них!
Даров!
В прошлом посте поговорили за безопасность самого сервака. Но остался еще один важный момент, без которого вся работа над агентом может пойти на смарку. Представьте, что вам офнули сервер по ошибке, либо же вы сами забыли продлить...
Так вот, чтобы такие мысли не стали ночными кошмарами, сегодня настроим нормальную систему. С её помощью вы буквально в несколько кликов сможете переселить агента в новый дом, продолжив работу над вашими проектами.
🟢Правило 3-2-1
Пришло это правило из корпоративного мира, но тут оно мэтчится идеально:
3 копии данных
2 разных носителя
1 копия удалённо
Вот как я постарался его применить:
С кодом проще всего. Он лежит на сервере, пушится на GitHub, плюс попадает в зашифрованный бэкап в облаке (я яндекс диск юзаю, но можно любую альтернативу взять).
Данные и заметки — та же история. Сервер + GitHub + облако. Если что-то отвалится, всегда есть откуда восстановиться.
А вот с чувствительными данными ловушка. API ключи, токены и всякие пароли живут только на сервере. В бэкапе на облаке они есть, но это всего одна дополнительная копия. Если яндекс диск ляжет в одно время с сервером — приплыли 😗
У меня самого этот момент не закрыт на 100%, но уже придумал решение: закинуть все данные ещё и в менеджер паролей на мобиле.
Итого выходит 4 разных места: сам сервак, гитхаб для кода и текстовых заметок, яндекс диск как слепок вообще всего, ну и менеджер паролей для важных данных.
🟢Принцип работы
Каждый день код с сервера автоматом улетает на GitHub. Это, по сути, уже бэкап, плюс вся история изменений. Даже если сервер сгорит, код никуда не денется.
Всё остальное собирается в один архив. Архив шифруется паролем (AES-256), и улетает на облако. Без пароля открыть его невозможно, так что даже если кто-то получит доступ к вашему облаку — толку ноль.
И самое приятное: всё это крутится автоматом по крону. Один раз настраиваете расписание, и каждую ночь сервер сам собирает архив, шифрует, заливает, и даже может чистить старые копии чтобы места меньше жрать.
🟢Процесс восстановления
Окей, бэкапы есть. Но какой от них толк, если сам процесс «переезда» займёт кучу времени?
Поэтому я сразу сделал еще и скрипт восстановления. Берёте чистый сервер на Ubuntu, запускаете одну команду, и через 15-20 минут всё работает как раньше. Агент, данные и все настройки на месте.
Что он делает под капотом:
🟠Ставит всё, что нужно серверу
🟠Скачивает код с GitHub
🟠Расшифровывает бэкап
🟠Раскладывает файлы по местам
🟠 Поднимает все сервисы
По сути, вот вся ваша страховка от любого сценария. Что бы не случилось со старым серваком, алгоритм восстановления становится супер простым: купили новую машинку, запустили скрипт и пошли дальше делать дела.
Призываю всех настроить!
Сделайте хотя бы базовый бэкап сегодня. Вам это в будущем может спасти невероятное количество часов и, самое главное, нервов)
|IЧиталка | Писалка | СмотрелкаI|