На каком бы стабильном движке ни работал ваш сайт, как бы вы ни заботились о его безопасности, никто не застрахован от форс-мажоров. Чтобы данные можно было восстановить, нужно делать резервное копирование сайта. О том, каким образом можно создавать резервные копии и насколько часто стоит это делать, в своём корпоративном блоге рассказала scrum-студия Sibirix.
-
проблем с текущим сервером;
-
действий кибермошенников;
-
человеческого фактора (администратор или владелец сайта нажал не туда, что-то удалил или переставил).
Многие владельцы небольших компаний с небольшими же сайтами уверены, что восстанавливать сайт им не придётся – мошенникам они якобы не интересны, с сервером ничего не случится. Как показывает практика, лучше перестраховаться – например, в мае произошёл
массовый дефейс сайтов сегмента «.рф», и под раздачу попали многие сайты на «1С-Битрикс», вне зависимости от величины компании. К тому же, хакеры часто выбирают для своих атак именно небольшие компании, потому что их сайты, как правило, слабее защищены.
Класть все яйца в одну корзину также не стоит: хранить бэкапы на том же сервере, что и сам сайт, небезопасно. Даже крупнейшие дата-центры не застрахованы от форс-мажоров – например, в 2021 году в Страсбурге полностью сгорел ЦОД крупнейшего европейского провайдера OVH, что обрушило миллионы сайтов по всему миру – например, сайт страсбургского аэропорта, сервисы «Яндекса» и Google, портал Security Lab.
В общем, лучше один раз подстраховаться, чем потом жалеть о последствиях. Поэтому мы, например, рекомендуем делать ежедневный бэкап и хранить данные не менее одной-двух недель. Часто хостинг-провайдер предоставляет клиентам услугу резервного копирования, также можно настроить ежедневный бэкап в облако (например, у «Битрикса» опция доступна по умолчанию при активной лицензии), но лучше, чтобы у вас было сразу несколько резервных копий, и они хранились в разных местах.
Полное копирование
Полное резервное копирование (full backup) – это создание точной копии ресурса со всеми параметрами. То есть, даже если все данные сайта будут уничтожены, с помощью этой резервной копии можно будет восстановить ресурс так, что никто и не догадается, что он восстановлен из бэкапа. Конечно, создание такой копии требует значительных затрат ресурсов – и места на сервере, и времени, и нагрузки на сеть. Поэтому для сохранения изменений используются другие схемы копирования, но все они начинаются с создания полного бэкапа.
Дифференциальное копирование
При дифференциальном резервном копировании (differential backup) сохраняются только те данные, которые были изменены с момента полного копирования. Конечно, такая копия будет создана гораздо быстрее, чем полная. Но если делать дифференциальное копирование неоднократно, с каждым разом в бэкап будут добавляться новые данные, и он станет тяжелее. Для восстановления сайта понадобится последняя дифференциальная копия и полная копия.
Инкрементное копирование
При инкрементном резервном копировании (incremental backup) каждый бэкап будет содержать только изменения, внесённые после последнего резервного копирования – полного, дифференциального или предыдущего инкрементного. Инкрементный бэкап создаётся максимально быстро, не занимает много места и не создает значительной нагрузки на сеть. Но логично, что это и наименее надёжный способ хранения информации – если основные данные будут уничтожены, то восстановить их по инкрементному бэкапу будет сложно. Нужно будет последовательно восстановить все инкрементные копии, созданные с момента полного копирования.
Существует также метод обратного инкрементного копирования: при внесении изменений все данные из полной копии перемещаются в новую копию, а сами изменения сохраняются в предыдущей. Таким образом, цепочка копий всегда будет начинаться с полной версии. Можно настроить копирование таким образом, чтобы по определённому расписанию полная копия объединялась с существующими инкрементами, создавая новый исходный бэкап – этот метод называется синтетическим копированием.
Непрерывное копирование
При непрерывном резервном копировании все изменения сохраняются автоматически или по определённому графику – например, раз в два часа. Это требует постоянного подключения к сети и к месту сохранения бэкапов. Непрерывное копирование подойдёт для небольших регулярных изменений и «лёгких» проектов. Иначе – вам будет необходимо много места под резервные копии.
Для оптимального сохранения всех данных и экономии ресурсов в каждой компании используются свои схемы резервного копирования, где сочетаются несколько типов бэкапов. Понятно, что проблематично делать полную копию сложного ресурса каждый день – это создаёт большую нагрузку на сеть и занимает много времени. Поэтому используются различные схемы создания бэкапов.
Наиболее простая схема: ежедневный инкрементный бэкап + еженедельная полная копия. Более усложнённая версия: ежедневный инкремент + еженедельный дифференциальный бэкап + ежемесячное создание полной копии. Также можно создавать копии после определённых событий.
Ручное копирование применяется только для совсем простых ресурсов с небольшим количеством пользователей. В большинстве случаев, бэкапы создаются автоматически – с помощью специальных утилит или сервисов для копирования. В таких сервисах можно задавать расписание (по дням или в зависимости от событий), схему копирования, сценарии при сбоях, архивирование или удаление неактуальных копий.
В любом случае, собираетесь ли вы делать копирование вручную или использовать для него специальное ПО, необходимо конкретизировать параметры создания бэкапа:
-
Что копируем: контент, настройки системы, базы данных и т.д.
-
Когда копируем: даты, периоды или события.
-
Как копируем: виды бэкапов, в соответствии с расписанием.
-
Куда копируем: список хранилищ с привязкой к типу копии и расписанию.
-
Допустимое время восстановления по каждому объекту: максимальный период, в течение которого объект может не работать, и это не вызовет критических нарушений процессов.
-
Допустимые потери данных по каждому объекту: максимальный период времени, за который могут быть утеряны данные, и это не вызовет критических нарушений.
-
Как храним: количество допустимых копий, срок их хранения, действия после окончания срока (архивация, удаление, перенос на другой носитель и т.д.).
-
Как проверяем целостность копирования и состояние бэкапов.
-
Что делаем в случае форс-мажора: алгоритм восстановления ресурса.
-
Кто несёт ответственность за процесс и контролирует восстановление.
Необходимо регулярно проверять план восстановления и, при необходимости, вносить в него изменения.
Варианта, по сути, два: физические носители или облако. Держать резервные копии под рукой – на локальном сервере или на внешнем жёстком диске – может быть удобнее для владельца сайта. Так все данные находятся под контролем, не нужно переживать, что с облаком что-то случится или доступ к нему потеряется.
Но собственное оборудование тоже не застраховано от поломок, поэтому рекомендуем хранить данные сразу на нескольких носителях. Среди IT-специалистов распространено «правило трех бэкапов» – на локальном сервере, на съёмном диске и в облаке.
При этом, бэкап сайта и оригинал должны находиться в разных местах – если сервер, где хранится информация, выйдет из строя, или его атакуют злоумышленники, то вы в один момент останетесь без всех данных.
Собственные скрипты
Если у вас достаточно ресурсов (то есть – собственных программистов или бюджета на найм привлечённых), вы можете разработать собственное решение по конкретным параметрам. Существуют готовые утилиты, с помощью которых можно создать свой инструмент для бэкапов. Это удобно тем, что вы можете воплотить все пожелания и создать решение конкретно под свой сайт. Однако с развитием сайта или с появлением новых ресурсов инструмент придется перерабатывать, он может превратиться в очень громоздкий и неудобный – особенно, если над ним будут работать разные команды.
Open-source решения
Это инструменты с открытым кодом – их можно перерабатывать под свои требования. Для этого тоже понадобится программист, который поможет трансформировать открытое решение под ваши задачи и грамотно его настроить. Среди популярных open-source инструментов для создания бэкапов – Amanda, Bacula, Duplicity, Borg, Rsnapshot. Все инструменты разные, предназначены для различных видов копирования – например, Rsnapshot создан для быстрого создания инкрементных бэкапов.
Встроенные инструменты
Некоторые хостинг-провайдеры предоставляют услугу резервного копирования – она доступна в панели управления. А в «1С-Битрикс» можно воспользоваться облачным хранилищем для бэкапов. Но такие встроенные инструменты довольно ограничены по функционалу – нет гибких настроек по расписанию копирования, количеству копий, времени их хранения и т. д. К тому же, при создании бэкапа через хостинг он будет храниться на том же сервере, что и сам сайт. Поэтому от встроенных инструментов отказываться не стоит, но вместе с этим нужно использовать и другие методы резервного копирования.
Плагины
CMS Joomla и Wordpress позволяют использовать плагины для резервного копирования. Популярные примеры для Joomla – Easy Joomla Backup и Akeeba Backup, для Wordpress – UpDraftPlus, Backup Buddy и BlogVault. Хорошие плагины для Joomla нужно поискать, а вот для Wordpress их более чем достаточно – на любой вкус и кошелёк.
Специальное ПО
Наиболее простой способ – обратиться к уже готовым сервисам, которые дают широкие возможности для настройки резервного копирования. Как правило, они платные, но с их помощью можно быстро и гибко настроить процессы создания бэкапов, а также они гарантируют своевременную техподдержку, если что-то пошло не так. Среди популярных инструментов: CodeGuard, WSR, Action Backup.
Если с физическими носителями всё понятно, то среди облачных сервисов важно выбрать по-настоящему надёжные – те, которые будут защищены от кибермошенников и не «упадут» в самый неподходящий момент. После введения санкций некоторые облака стали недоступными – мы отобрали те, которые работают в России в данный момент (август-2023).
LanCloud. Сервис может копировать физические серверы на Windows и Linux, а также виртуальные на Hyper-V или VMware. Обеспечивает гранулярное восстановление Active Directory, Exchange, SharePoint, SQL Server и Oracle, возможно восстановить отдельные объекты и базы данных. Поддерживает копирование зашифрованных со стороны клиента данных. Данные хранятся в ОД TIER-III Facility & Operation. Стоимость: 1 рубль в месяц за 1 Гб, аренда сервера – от 800 рублей в месяц.
Selectel. Облако позволяет делать быстрые бэкапы за счёт особого алгоритма – сначала создаются снапшоты сайта (моментальные копии данных на определённый момент времени), а сам бэкап делается со снапшотов. Для каждой копии настраивается тройная репликация на разных серверах. Можно настроить расписание автоматического копирования или делать бэкапы вручную. Стоимость: аренда сервера – от 800 рублей в месяц, полный расчёт услуг можно посмотреть здесь.
Mix Telecom. Сервис предлагает автоматическое ежедневное копирование в ночное время, чтобы не загружать сеть. Копии при этом будут храниться от двух дней до месяца. По умолчанию, услуги сервиса доступны пользователям виртуальных серверов Mix Telecom, но со сторонними пользователями компания тоже готова работать. Стоимость: для сторонних пользователей рассчитывается индивидуально, для пользователей Mix Telecom – от 290 рублей (за одну виртуальную машину и виртуальный диск на 1 ГБ, с глубиной хранения копий 2 дня).
Boodet. Сервис сохраняет данные в облаке, которое поддерживается серверами ЦОД уровня TIER III. Можно настроить абсолютно любую частоту резервного копирования, при этом, система сама гибко контролирует скорость передачи данных, чтобы не создавать повышенную нагрузку на сервер. Для сложных проектов можно настроить особые политики распределения мощности. Стоимость: от 301 рубля в месяц (при единовременной оплате за год), есть тестовый период.
Cloud Backup от Mail.Ru. Сервис даёт финансовую гарантию на сохранность данных. Для бэкапов используется объектное хранилище с S3-совместимым API, которое легко интегрируется с внешними сервисами. Облако аттестовано в соответствии со 152-ФЗ (закон персональных данных). ЦОДы сервиса обладают уровнем TIER III и находятся на территории РФ. Стоимость: зависит от объёма диска и количества резервных копий, рассчитать можно с помощью калькулятора.
Повторим ещё раз «правило трех бэкапов» (физический сервер + съемный диск + облако) и примем тот факт, что восстанавливать утерянную информацию намного дороже, чем побеспокоиться о своевременном резервном копировании. Так что, планируя разработку сайта, сразу включите в бюджет затраты на этот процесс.
Источник: Sibirix.
Чтобы не пропустить интересную для вас статью о малом бизнесе, подпишитесь на наш Telegram-канал, страницу в «ВКонтакте» и канал на «Яндекс.Дзен».