Резервное копирование VPS: как не потерять данные

На обычном хостинге бэкапы обычно делает провайдер. На VPS это ваша забота: сервер ваш, данные ваши, и восстанавливать их после сбоя, ошибочного удаления или взлома тоже вам. Отсутствие резервной копии в такой момент означает потерю всего, что было на сервере.

Разберём, как устроено резервное копирование VPS: чем снапшот отличается от бэкапа, что и как часто копировать, где хранить копии и почему бэкап, который не проверяли на восстановление, нельзя считать бэкапом.

Почему на VPS бэкапы - ваша забота

Это ключевое отличие VPS от хостинга. На хостинге инфраструктурой управляет провайдер, и резервное копирование часто входит в услугу. На VPS вы получаете чистый сервер и полный контроль - вместе с полной ответственностью.

Данные теряются не только от аппаратных сбоев. Гораздо чаще причина в другом:

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

От всего этого спасает одно - актуальная резервная копия. Без неё любой из этих сценариев означает начинать с нуля.

Снапшот или бэкап: в чём разница

Это два разных инструмента, и они дополняют друг друга.

СнапшотБэкап (резервная копия)
Что сохраняетСостояние всего сервера целикомВыбранные файлы и базы
Скорость созданияБыстро, весь сервер разомДольше, по данным
ВосстановлениеОткат всего сервера к моментуВосстановление нужных данных
ГибкостьВсё или ничегоМожно достать отдельный файл
Где хранитсяОбычно у провайдераКуда настроите, лучше отдельно

Снапшот - это мгновенный слепок всего сервера. Удобен перед рискованным обновлением: сделал снапшот, что-то пошло не так - откатился к нему целиком.

Бэкап - это копия конкретных данных: файлов сайта, базы, конфигов. Позволяет достать отдельный файл, не откатывая весь сервер, и хранить копии где угодно.

На практике используют оба: снапшоты для быстрого отката всей машины, бэкапы данных для надёжного хранения и точечного восстановления.

Что копировать

Не весь сервер одинаково важен. Копируют то, что нельзя восстановить заново:

  • Базы данных - самое ценное, меняется постоянно;
  • Файлы сайта или приложения - код, загрузки пользователей, контент;
  • Конфигурационные файлы - настройки веб-сервера, приложения, окружения;
  • Письма, если на сервере почта.

Саму операционную систему копировать не обязательно - её можно переустановить. А вот данные и настройки, на которые ушли часы работы, - обязательно.

Правило 3-2-1

правило 3-2-1 - основа надёжного резервного копирования.
правило 3-2-1 - основа надёжного резервного копирования.

Проверенный временем принцип надёжного бэкапа звучит так: 3 копии, 2 разных носителя, 1 копия вне сервера.

  • 3 копии данных. Оригинал плюс минимум две резервные. Одна копия - это не резерв, а иллюзия.
  • 2 разных места хранения. Не держите все копии в одном месте: сбой этого места унесёт всё разом.
  • 1 копия вне сервера. Хотя бы одна копия должна лежать отдельно от самого VPS. Если сервер выйдет из строя или его взломают, копия на нём же пропадёт вместе с ним.

Последний пункт - самый важный и самый нарушаемый. Бэкап, лежащий на том же сервере, что и данные, не спасёт при отказе сервера или его компрометации.

Куда хранить копии

Исходя из правила 3-2-1, хотя бы одна копия хранится отдельно от VPS:

  • Отдельное хранилище провайдера - объектное хранилище или бэкап-сервис, независимый от вашего VPS;
  • Другой сервер - копирование на вторую машину;
  • Локально - выгрузка важных копий к себе.

Главное правило: не на том же сервере. Копия рядом с данными пропадёт вместе с ними.

Как автоматизировать

Ручные бэкапы не работают: про них забывают. Копирование должно идти само, по расписанию.

Базовый способ на Linux - задача в планировщике cron, которая регулярно упаковывает данные и отправляет их в хранилище. Например, дамп базы и архив файлов раз в сутки ночью.

crontab -e

Добавляется строка расписания, вызывающая скрипт бэкапа. Скрипт делает дамп базы, упаковывает нужные папки и копирует архив в отдельное хранилище. Многие провайдеры также предлагают автоматические снапшоты по расписанию - это дополняет файловые бэкапы.

Частота зависит от того, как быстро меняются данные:

ДанныеКак часто копировать
Активный магазин, CRMНесколько раз в день
Обычный сайт, блогРаз в сутки
Редко меняющийся проектРаз в несколько дней

Правило простое: как часто вы готовы терять данные - с такой частотой и делайте бэкап. Готовы потерять день работы - раз в сутки, не готовы - чаще.

Бэкап без проверки - не бэкап

Самая коварная ошибка: бэкапы идут по расписанию, все спокойны, а в момент аварии выясняется, что копии битые или восстановить из них не получается. Резервная копия, которую ни разу не проверяли на восстановление, не даёт никаких гарантий.

Поэтому восстановление проверяют заранее: развернуть копию на тестовом сервере, убедиться, что данные целы и приложение поднимается. Проверку повторяют периодически, а не один раз при настройке.

Частые ошибки

Не делают бэкапов вообще. На VPS их никто не сделает за вас. Настройка резервного копирования - обязательный шаг, а не опция.

Хранят копию на том же сервере. При отказе или взломе сервера копия пропадёт вместе с данными. Хотя бы одна копия - вне сервера.

Настроили один раз и забыли. Бэкапы могут молча перестать создаваться. Процесс проверяют периодически.

Не проверяют восстановление. Битую копию обнаруживают в момент аварии, когда уже поздно. Восстановление тестируют заранее.

Копируют слишком редко. Раз в неделю при ежедневных изменениях - это потеря недели работы при сбое. Частоту выбирают по скорости изменения данных.

Частые вопросы

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

Чем снапшот отличается от бэкапа? Снапшот - слепок всего сервера для быстрого отката целиком. Бэкап - копия конкретных данных, позволяющая достать отдельный файл и хранить копии отдельно. Используют оба.

Как часто делать бэкап? По скорости изменения данных. Активный магазин или CRM - несколько раз в день, обычный сайт - раз в сутки. Ориентир: сколько работы вы готовы потерять, столько и интервал.

Где хранить резервные копии? Хотя бы одну копию - отдельно от VPS: в объектном хранилище, на другом сервере или локально. Копия на том же сервере не спасёт при его отказе.

Что обязательно включать в бэкап? Базы данных, файлы сайта или приложения, конфигурации, почту при её наличии. Операционную систему можно переустановить, а данные и настройки - нет.

Как убедиться, что бэкап рабочий? Проверить восстановление: развернуть копию на тестовом сервере и убедиться, что данные целы и приложение запускается. Копия без проверки восстановления не даёт гарантий.


Нужен VPS с надёжным хранением данных? Серверы на NVMe в дата-центрах Tier III с возможностью снапшотов и резервного копирования. Активация за 3 минуты, ресурсы меняются за минуты. Первые 7 дней - тестовый период с возвратом средств.

Что дальше