Резервное копирование сайта: как и куда делать бэкапы, чтобы спать спокойно
Резервная копия сайта — это сохранённые отдельно файлы и база данных, из которых сайт можно восстановить после сбоя, взлома или неудачного обновления. Надёжная схема простая: копии создаются автоматически по расписанию, хранятся минимум в двух местах, одно из которых находится вне сервера с сайтом, и время от времени проверяются пробным восстановлением. Ниже разберём, что включать в бэкап, как часто его делать, где хранить, как настроить всё по шагам и как убедиться, что из копии действительно поднимется сайт.
От чего спасает резервная копия
О бэкапах вспоминают в момент, когда сайт уже пропал. Если копии нет, восстановление превращается в дорогую и долгую историю, а иногда сайт приходится собирать заново. Настроенное резервное копирование превращает катастрофу в десятиминутный откат. Причины, по которым копия может понадобиться:
- Неудачное обновление. Новая версия движка или плагина оказалась несовместима с шаблоном, и сайт показывает ошибку.
- Взлом или заражение. На сайт попал вредоносный код, и проще вернуться к чистой версии, чем вычищать его вручную. Как снизить этот риск, рассказываем в статье про защиту сайта от взлома.
- Ошибка человека. Сотрудник удалил раздел каталога, разработчик затёр базу, контент-менеджер перезаписал страницы.
- Сбой оборудования у хостинг-провайдера. Случается редко, но от него не застрахован никто.
- Неоплаченный хостинг. Счёт забыли оплатить, и через некоторое время провайдер удалил аккаунт вместе с данными.
- Расставание с подрядчиком, у которого остались все доступы.
Что включать в бэкап сайта
Сайт — это две части, и нужны обе: файлы и база данных. Копия только файлов без базы (или наоборот) бесполезна — сайт из неё не соберётся.
| Часть | Что в ней | Что будет, если её не сохранить |
|---|---|---|
| Файлы движка и шаблона | Код сайта, дизайн, установленные модули | Сайт придётся заново устанавливать и настраивать |
| Загруженные файлы | Фотографии товаров, картинки статей, документы | Страницы откроются с пустыми местами вместо изображений |
| База данных | Тексты, товары, заказы, пользователи, настройки | Останется пустая оболочка без содержания |
| Файлы настроек | Параметры подключения к базе, ключи платёжных и других сервисов | Сайт не запустится, интеграции придётся настраивать заново |
| Почта на хостинге | Письма в ящиках на вашем домене | Переписка пропадёт вместе с аккаунтом |
Отдельно, вне бэкапа, стоит хранить то, что нужно для восстановления: доступы к хостингу и регистратору домена и список DNS-записей. Копия сайта мало поможет, если никто не может войти в панель управления.
Какими бывают резервные копии
- Полная копия — все файлы и вся база целиком. Проще всего восстанавливать, но занимает больше места.
- Инкрементная копия — только то, что изменилось с прошлого раза. Экономит место и время, но для восстановления нужна вся цепочка от последней полной копии.
- Снапшот — снимок диска сервера целиком, вместе с системой и настройками. Это инструмент для VPS, и у него свои ограничения; разницу мы подробно разобрали в статье снапшот VPS и бэкап.
Для обычного сайта на хостинге привычная схема — полная копия раз в неделю и инкрементные каждый день. Панели хостинга обычно делают это сами, и вам достаточно выбрать дату для восстановления.
Правило 3-2-1: сколько копий нужно
Правило 3-2-1 — простая формула, которой пользуются администраторы: три экземпляра данных, на двух разных хранилищах, один из которых находится в другом месте. Для сайта это выглядит так:
- Первый экземпляр — сам работающий сайт на хостинге.
- Второй — автоматические копии в хранилище бэкапов хостинг-провайдера.
- Третий — копия во внешнем облаке или на вашем компьютере, не связанная с аккаунтом хостинга.
Бэкап на том же сервере, что и сайт, — это не бэкап. Упадёт сервер или зашифрует вирус — пропадёт и сайт, и копия. Храните копии отдельно.
Третья копия нужна на случай, когда недоступен весь аккаунт: его взломали, заблокировали или удалили за неуплату. В такой ситуации копии у провайдера пропадают вместе с сайтом.
Как часто делать бэкапы и сколько их хранить
Частота зависит от того, как часто меняется сайт. Лучше, когда копии создаются автоматически по расписанию, а не вручную «когда вспомнил». Помогают два вопроса: сколько данных вы готовы потерять и как давно могла возникнуть проблема, которую вы заметили только сейчас.
| Тип сайта | Как часто копировать | Сколько хранить |
|---|---|---|
| Визитка или лендинг, меняется раз в месяц | Раз в неделю и перед каждой правкой | Несколько последних копий, примерно за месяц |
| Корпоративный сайт с новостями и блогом | Ежедневно или несколько раз в неделю | Две-четыре недели |
| Интернет-магазин с ежедневными заказами | Ежедневно, базу данных можно чаще | Ежедневные копии за одну-две недели и еженедельные за пару месяцев |
| Сервис с личными кабинетами и оплатой | Базу данных — несколько раз в день | По схеме магазина или дольше |
Магазину с ежедневными заказами нужен ежедневный бэкап, иначе при откате потеряются свежие заказы. А глубина хранения важна потому, что заражение можно заметить не сразу: если хранится только вчерашняя копия, а вредоносный код появился неделю назад, восстанавливать будет не из чего.
Где хранить резервные копии
| Место | Плюсы | Минусы |
|---|---|---|
| Папка на том же сервере | Быстро и бесплатно | Пропадёт вместе с сайтом, полноценной копией не считается |
| Хранилище бэкапов хостинга | Работает автоматически, восстановление в пару кликов | Зависит от одного провайдера и одного аккаунта |
| Внешнее облачное хранилище | Не зависит от хостинга, место стоит недорого | Нужно один раз настроить выгрузку |
| Свой компьютер или внешний диск | Полностью под вашим контролем | Делается вручную, легко забыть, диск тоже может выйти из строя |
- Храните несколько последних копий, а не одну.
- Доступ к копиям должен быть у вас, а не только у хостинга или подрядчика. О том, какие доступы владельцу нужно держать у себя, — в статье кому принадлежит ваш сайт.
- В копии лежит база клиентов, то есть персональные данные. Хранилище должно находиться в России и быть закрыто паролем, а архивы лучше шифровать.
Как настроить резервное копирование: пошагово
- Узнайте, что уже делает хостинг: как часто создаются копии, сколько дней хранятся, где лежат и можно ли восстановить сайт самостоятельно. Это написано в описании тарифа или в панели управления.
- Включите автоматические бэкапы в панели, если они выключены, и проверьте, что в копию попадают и файлы, и база.
- Настройте вторую, независимую копию. На популярных CMS это делает плагин резервного копирования с выгрузкой во внешнее облако; на самописном сайте разработчик пишет небольшой скрипт, который по расписанию архивирует файлы и выгружает базу.
- Поставьте расписание на ночь, когда посетителей меньше всего.
- Настройте автоматическое удаление старых копий, иначе место в хранилище однажды закончится и новые копии перестанут создаваться.
- Включите уведомления об ошибках: о несостоявшемся бэкапе вы должны узнать на следующий день, а не через полгода.
- Запишите короткую инструкцию: где лежат копии, как восстановить сайт, у кого доступы. Она должна быть не в одной голове.
- Сделайте пробное восстановление.
На что смотреть при выборе тарифа с бэкапами, рассказываем в статье как выбрать хостинг. На VPS резервное копирование — целиком ваша ответственность: провайдер даёт сервер, а что на нём хранится и как сохраняется, решаете вы.
Главное правило — проверять восстановление
Бэкап, который ни разу не разворачивали, — это надежда, а не страховка. Раз в пару месяцев берите свежую копию и пробуйте восстановить сайт на тестовом адресе. Нерабочие или неполные копии всплывают всегда в худший момент.
- Возьмите последнюю копию из внешнего хранилища — именно ту, которой пришлось бы пользоваться при аварии.
- Разверните её на тестовом адресе или поддомене, закрытом от посетителей и поисковиков. Как устроить такую площадку, описано в статье про тестовую копию сайта.
- Проверьте, что открываются страницы, на месте картинки, работает вход в админку и отправляются формы.
- Убедитесь, что в копии есть свежие данные: последние заказы, статьи, товары.
- Засеките, сколько времени заняло восстановление. Это ваш реальный срок простоя при аварии.
Кроме плановых копий, делайте ручной бэкап перед любыми заметными изменениями: обновлением движка и плагинов, сменой версии PHP, редизайном, переносом на другой хостинг. Это занимает минуты и позволяет откатиться, если что-то пошло не так.
Частые ошибки
- Копии лежат на том же сервере, что и сайт.
- Хранится одна копия, которая перезаписывается каждую ночь. Сайт сломали днём — к утру испорченная версия заменила исправную.
- Сохраняют только файлы и забывают про базу данных.
- Копирование давно не работает. Закончилось место или изменился пароль, а уведомлений никто не настраивал.
- Восстановление ни разу не пробовали, и в момент аварии выясняется, что архив повреждён или неполон.
- Архив с копией лежит в открытой папке сайта. Файл с базой клиентов может скачать любой, кто угадает его имя.
- Доступ к копиям есть только у подрядчика или у сотрудника, который уже уволился.
- Полагаются на хостинг, не читая условий. На одних тарифах копии хранятся несколько дней, на других восстановление платное, а где-то бэкапов нет вовсе.
Чек-лист резервного копирования
- Копии создаются автоматически по расписанию.
- В копию входят и файлы, и база данных.
- Есть минимум одна копия вне сервера и вне аккаунта хостинга.
- Хранится несколько копий за разные дни.
- Старые копии удаляются автоматически, место не заканчивается.
- Об ошибках копирования приходит уведомление.
- Пробное восстановление проводилось в последние пару месяцев.
- Перед обновлениями делается ручная копия.
- Доступы к хранилищу и инструкция по восстановлению есть у владельца.
Коротко
Резервное копирование сайта — это автоматические копии файлов и базы по расписанию, хранение минимум в двух местах и регулярная проверка восстановления. Частоту определяет то, сколько данных вы готовы потерять: витрине достаточно раза в неделю, магазину нужен ежедневный бэкап. Копия на том же сервере и копия, которую ни разу не разворачивали, защитой не считаются.
Если не хотите следить за этим вручную — у нас хостинг с автоматическими бэкапами и возможностью восстановиться самостоятельно в пару кликов.
Хостинг с бэкапами в CasperLab
Поможем подобрать решение под вашу задачу и рассчитаем стоимость без обязательств.
Хостинг с бэкапами