hostingfaq.ru — отвечаем на вопросы о хостинге простым языком 45 провайдеров · 146 ответов · данные от 14.10.2026
hostingfaqвопрос — ответ Обновлено 14.10.2026

Backup VPS на Linux: как настроить резервное копирование через restic — инструкция для новичка

Обновлено 8 октября 2026 Чтение 10 мин Раздел: Блог о хостинге и серверах: инструкции, разборы и настройки

Backup — это отдельная копия данных сервера, из которой их можно вернуть после сбоя, взлома или ошибки. В этой инструкции из блога HostingFAQ вы настроите backup VPS на Linux с помощью restic: создадите зашифрованное хранилище, запустите копирование по расписанию и проверите восстановление. Понадобятся доступ по SSH и 30–40 минут времени.

Backup VPS на Linux: как настроить резервное копирование через restic — инструкция для новичка

Коротко

  • Правило 3-2-1: 3 копии данных, на 2 типах носителей, 1 копия — вне основного сервера.
  • Для примера используем restic: он шифрует данные, не дублирует одинаковые блоки и ставится одной командой из репозитория дистрибутива.
  • Настройка занимает 7 шагов и 30–40 минут; подключение к серверу идёт по SSH, порт 22.
  • Расписание по умолчанию в примере — ежедневно в 03:00 (запись cron `0 3 * * *`).
  • Хранить предлагаем 7 ежедневных, 4 еженедельных и 6 ежемесячных снимков.
  • Базу данных копируйте через дамп (`mysqldump` или `pg_dump`), а не копированием файлов на ходу.
  • Копия, которую не пробовали восстановить, не считается рабочей: проверяйте восстановление раз в месяц.

Что такое backup и чем он отличается от обычной копии файлов

Backup — это отдельная копия данных, из которой можно восстановить сервер после сбоя. Она хранится не на том же диске и желательно не на том же сервере. Общие принципы разобраны в материале о резервном копировании.

Backup не равен другим способам защиты. RAID (массив из нескольких дисков) переживает поломку одного диска, но повторяет и ваши ошибки: удалённый файл исчезает со всех дисков сразу. Снимок диска на том же хосте пропадёт вместе с хостом, а папка /root/copy рядом с оригиналом не спасёт при сбое диска или взломе. Если вы ещё выбираете сервер, посмотрите, как устроена аренда виртуального сервера, а основы хостинга описаны в статье что такое хостинг.

В инструкции мы используем один пример: VPS (виртуальный сервер) на Ubuntu с сайтом и базой MySQL, около 20 ГБ данных.

Отдельная копия защищает в четырёх ситуациях:

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

Как работает backup: полные, инкрементальные копии и правило 3-2-1

Полная копия сохраняет все выбранные данные целиком. Для VPS с 20 ГБ данных каждый запуск займёт около 20 ГБ. Инкрементальная копия сохраняет только изменения с прошлой копии: она быстрая и компактная, но для восстановления нужна вся цепочка. Дифференциальная копия хранит изменения с последней полной: она больше инкрементальной, зато для восстановления хватит двух звеньев.

Программа restic совмещает плюсы этих подходов. Каждый запуск restic backup создаёт снимок, который выглядит как полная копия, но хранит только новые блоки данных. Одинаковые блоки записываются один раз (дедупликация), поэтому первая копия близка к размеру исходных данных, а следующие содержат только изменения. Данные шифруются паролем хранилища ещё до отправки на удалённый сервер.

Одной копии мало: диск и сервер могут выйти из строя одновременно. RAID и снимки диска на том же хосте backup не заменяют. Правило 3-2-1 для вашего VPS выглядит так:

  • 3 копии данных: рабочие файлы на VPS и две резервные;
  • 2 типа носителей: например, диск сервера и объектное хранилище;
  • 1 копия вне основного сервера: в другом дата-центре.

Внешней копией хорошо служит объектное хранилище S3 (Simple Storage Service), подробнее о нём в материале о том, что такое S3. Другие варианты сравните в обзоре программ для резервного копирования.

Схема правила 3-2-1 для backup сервера с локальной и внешней копиями
Правило 3-2-1: три копии, два типа носителей, одна копия вне сервера

Что копировать на сервере при backup

Копируйте то, что нельзя скачать заново: настройки, файлы сайта, пользовательские данные и дампы баз. Систему и программы проще переустановить, чем хранить. В нашем примере VPS на Ubuntu с сайтом и MySQL занимает около 20 ГБ, и для восстановления хватает четырёх каталогов.

Базу данных копируйте дампом, а не файлами работающей системы управления базами данных (СУБД): такие файлы могут оказаться в несогласованном состоянии. Для MySQL используйте mysqldump --single-transaction, для PostgreSQL — pg_dump, результат сохраняйте в /var/backups/db. Дамп делайте заранее, например в 02:30, чтобы к запуску restic в 03:00 файл был готов. Если вы только ставите СУБД, разберите установку PostgreSQL.

Что копировать Путь Зачем Как часто меняется
Конфигурации /etc Вернуть настройки веб-сервера, SSH и служб Редко, при правке настроек
Сайт /var/www Вернуть код, загрузки и медиафайлы При обновлениях и загрузках
Домашние каталоги /home Сохранить файлы и ключи пользователей Зависит от работы
Дампы баз /var/backups/db Восстановить данные сайта Каждый день

Не включайте в копию то, что создаётся заново или не хранит данных:

  • /proc и /sys — виртуальные каталоги ядра;
  • /tmp и /var/cache — временные файлы и кеш;
  • установленные пакеты — их вернёт apt.

Для Nextcloud добавьте каталог с его данными, подробности — в инструкции по установке Nextcloud на VPS. Если путей на сервере много, сверьтесь с описанием структуры Linux для сервера.

Как настроить backup VPS пошагово через restic

Настройка идёт на примере VPS с Ubuntu, сайтом и базой MySQL, около 20 ГБ данных. Копии уходят на отдельный сервер по SFTP (SSH File Transfer Protocol), поэтому поломка основного диска хранилище не заденет. restic шифрует данные и хранит их снимками с дедупликацией: одинаковые блоки записываются один раз.

Если вы подключаетесь к серверу впервые, сначала прочитайте, как подключиться к серверу через PuTTY. Доступ к хранилищу удобно проверить в графическом клиенте, как описано в материале про SFTP-подключение в FileZilla. Если сомневаетесь, хватит ли ресурсов тарифа, изучите ответы на вопросы о VPS.

Выполняйте команды от root или через sudo строго по порядку:

  1. Подключитесь к серверу по SSH (Secure Shell), порт 22: ssh root@IP-адрес.
  2. Установите restic командой apt install restic и проверьте версию: restic version.
  3. Создайте файл пароля из 16+ символов: echo 'ваш-пароль' > /root/.restic-pass, затем chmod 600 /root/.restic-pass. Выполните export RESTIC_PASSWORD_FILE=/root/.restic-pass и создайте хранилище: restic init --repo sftp:backup@storage.example.com:/backups/vps1. Копию пароля сохраните отдельно от сервера.
  4. Сделайте дамп базы данных: mysqldump --single-transaction --all-databases > /var/backups/db/all.sql. Для PostgreSQL используйте pg_dump.
  5. Запустите первую копию: restic backup /etc /var/www /home /var/backups/db. Она близка по размеру к исходным данным, следующие содержат только изменения.
  6. Откройте crontab -e и добавьте запись 0 3 * * * с командой restic backup из шага 5. Копирование будет запускаться каждый день в 03:00, а строку с дампом поставьте в cron чуть раньше.
  7. Настройте ротацию: restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune. Затем проверьте восстановление: restic restore latest --target /tmp/restore.

Раз в месяц запускайте restic check: команда проверяет целостность хранилища и сообщает о повреждённых данных. Вместе с пробным восстановлением это единственный способ убедиться, что копия рабочая. Если файлы из /tmp/restore открываются и дамп базы читается, настройка завершена.

Терминал с результатом команды restic backup после первого запуска
Первая копия restic в терминале: в конце команда сообщает, что снимок сохранён (иллюстрация интерфейса)

Сколько места и денег нужно для backup

Возьмём пример из инструкции: на VPS (виртуальном сервере) лежит около 20 ГБ данных. Первая копия по размеру близка к исходным данным, следующие содержат только изменения.

С историей из 7 ежедневных, 4 еженедельных и 6 ежемесячных снимков закладывайте под хранилище 30–40 ГБ. При цене внешнего хранилища обычно 1–3 ₽ за ГБ в месяц это 30–120 ₽ в месяц, точнее зависит от провайдера и тарифа.

Копия на том же диске не спасает: при поломке диска, взломе или удалении раздела пропадут и сервер, и копия. RAID и снимки диска на том же хосте backup не заменяют. Сравните варианты хранения:

Вариант Где лежит копия Ориентир стоимости Ограничения
Второй диск на сервере Тот же сервер Зависит от тарифа Не защищает от взлома и сбоя хоста
Второй VPS Другой сервер, лучше другой ЦОД Зависит от тарифа Нужно следить за свободным местом
S3-хранилище Внешний провайдер Обычно 1–3 ₽/ГБ в месяц Оплата растёт вместе с историей
Домашний NAS У вас дома Покупка диска и электричество Зависит от домашнего интернета

Если выбираете сервер под хранилище, изучите ответы о VPS. Домашний вариант разберите подробнее: узнайте, как устроен NAS-сервер и как хранить данные на домашнем сервере.

Частые ошибки при backup и как их исправить

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

У каждой есть причина и понятное решение, кроме потери пароля.

Копия лежит на том же диске

Причина: удобно писать копию в соседний каталог. Если диск выйдет из строя, пропадут и данные, и копия. Даже зеркало RAID не спасёт от случайного удаления. Решение: храните хранилище на другом сервере или в S3.

Восстановление ни разу не проверяли

Причина: копия создаётся, но неизвестно, читается ли она. Раз в месяц запускайте restic check и restic restore latest --target /tmp/restore.

Базу копируют файлами на ходу

Причина: файлы MySQL меняются во время копирования и получаются несогласованными. Решение: делайте дамп mysqldump --single-transaction в /var/backups/db, для PostgreSQL используйте pg_dump.

Потерян пароль хранилища

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

Диск хранилища переполнился

Причина: снимки копятся без ротации. Решение: запускайте restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune и закладывайте 30–40 ГБ на каждые 20 ГБ данных.

Cron не запустился, и никто не заметил

Причина: задание тихо падает после смены пути или пароля. Раз в неделю смотрите вывод restic snapshots: свежий снимок должен быть не старше суток.

Важно. Копия, которую не пробовали восстановить, не считается рабочей. Особенно она нужна после взлома, поэтому заранее изучите проверку сайта на безопасность.

Разместите копию отдельно, делайте дамп базы, настройте ротацию и раз в месяц проверяйте восстановление. Тогда backup сработает в тот день, когда он понадобится.

Чем ещё можно сделать backup: rsync, снимки VPS и панель хостинга

Restic не единственный вариант. Новичку чаще встречаются ещё три: rsync (Remote Sync, программа синхронизации файлов), снимки диска у провайдера и встроенные копии панели хостинга. Они решают разные задачи, и не каждый даёт полноценный backup.

Rsync копирует файлы быстро, но хранит только последнее состояние: файл, удалённый или испорченный на сервере, при следующем запуске исчезнет и из копии. Снимок диска лежит на том же хосте, поэтому backup не заменяет. Копии панели удобны, но часто хранятся на том же сервере и могут не включать настройки из /etc.

Сравните способы по главным критериям:

Способ Что копирует Шифрование История версий Сложность для новичка
restic Выбранные каталоги и дампы БД Есть, встроено Есть, снимки с дедупликацией Средняя, около 30–40 минут
rsync Выбранные файлы и каталоги Только при передаче по SSH Нет, хранит последнее состояние Средняя
Снимок VPS у провайдера Весь диск целиком Зависит от провайдера Несколько снимков, лимит зависит от тарифа Низкая, пара кликов
Копии панели хостинга Сайты и базы аккаунта Обычно нет Зависит от тарифа Низкая

Для VPS с сайтом выберите restic плюс дамп базы через mysqldump --single-transaction. Снимок у провайдера добавьте вторым уровнем: перед обновлением системы он вернёт сервер за считаные минуты. Другие программы сравните в подборке программ для резервного копирования.

Вывод команды restic snapshots со списком резервных копий
Список снимков в хранилище: по нему видно, что копирование по расписанию работает (иллюстрация интерфейса)

Когда такого backup недостаточно

Схема из этой инструкции рассчитана на один VPS на Ubuntu с примерно 20 ГБ данных и одной ночной копией в 03:00. Если сервер выйдет из строя в 17:00, вы потеряете 14 часов работы: заказы, регистрации, записи в базе. Для сайта-визитки это приемлемо, для интернет-магазина с оплатами нет.

Дамп через mysqldump --single-transaction тоже даёт только срез на момент запуска. Если в высоконагруженной базе данных (БД) нельзя терять даже несколько минут, нужна репликация: второй сервер получает изменения постоянно и может заменить основной. Репликация дополняет backup, но не заменяет его: случайно удалённая таблица исчезнет на реплике сразу.

Ещё три случая выходят за рамки примера. Это серверы Windows, где нет cron и привычных путей вроде /etc; объёмы в терабайтах, где первая копия идёт сутками, а 1 ТБ в хранилище обычно стоит 1 000–3 000 ₽ в месяц; компании с формальными требованиями к срокам и месту хранения данных.

Что делать вместо этого или вместе с этим:

  • настройте репликацию средствами самой БД и оставьте ночной backup как страховку от ошибок;
  • выберите готовое корпоративное решение для резервного копирования с отчётами и журналом операций;
  • если нужна отказоустойчивость на нескольких серверах, изучите настройку кластера Kubernetes;
  • для проекта с жёсткими требованиями сравните VPS-хостинги по рейтингу и проверьте, какие варианты копирования они предлагают;
  • обратитесь к системному администратору, а типовые вопросы прочитайте в разборе о VPS.

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

Что такое backup простыми словами?
Backup — это отдельная копия данных, из которой их можно вернуть, если оригинал пропал или повреждён. Копия должна лежать не на том же диске, а лучше и не на том же сервере. Без этого условия она не спасёт при поломке диска или взломе.
Как часто делать backup сервера?
Для сайта с небольшими изменениями обычно хватает одной копии в сутки, например в 03:00. Если данные меняются каждый час, копируйте чаще и отдельно выгружайте базу. Ориентир — сколько работы вы готовы потерять между копиями.
Сколько хранить резервные копии?
В примере из статьи хранится 7 ежедневных, 4 еженедельных и 6 ежемесячных снимков. Это покрывает откат на неделю назад и на полгода назад при умеренном расходе места. Настройте свои значения в параметрах `--keep-daily`, `--keep-weekly` и `--keep-monthly`.
Что значит правило 3-2-1?
Нужно иметь 3 копии данных, хранить их на 2 разных типах носителей и держать 1 копию вне основного сервера. Например: рабочие данные на VPS, копия на втором диске и копия в S3-хранилище. Так одна авария не уничтожит все копии сразу.
Чем backup отличается от RAID?
RAID защищает от выхода из строя одного диска, но не от удаления файлов, вируса-шифровальщика или ошибки администратора: изменения мгновенно попадают на оба диска. Backup хранит прошлые состояния данных, поэтому из него можно вернуть файл вчерашней версии.
Как сделать backup базы данных MySQL?
Выгрузите дамп командой `mysqldump --single-transaction` в отдельный каталог, например `/var/backups/db`, и включите этот каталог в копирование. Копировать файлы базы на ходу не стоит: восстановить такую копию можно не всегда. Для PostgreSQL используйте `pg_dump`.
Можно ли хранить backup на том же VPS?
Можно как быструю локальную копию, но не как единственную. При поломке диска, блокировке аккаунта или взломе вы потеряете и данные, и копию. Добавьте хотя бы одну копию на другом сервере или в S3.
Как проверить, что backup работает?
Выполните `restic snapshots`, чтобы увидеть список снимков, и `restic check` для проверки целостности. Раз в месяц делайте пробное восстановление командой `restic restore latest --target /tmp/restore` и открывайте файлы. Только так можно убедиться, что копия пригодна.
Что делать, если потерян пароль от хранилища restic?
Восстановить данные не получится: копии зашифрованы, а пароль нигде не сохраняется. Поэтому храните пароль в менеджере паролей и на отдельном носителе. Файл пароля на сервере должен иметь права 600.
Сколько стоит хранение резервных копий?
Стоимость зависит от провайдера и тарифа: S3-хранилища обычно берут порядка 1–3 ₽ за ГБ в месяц. Для 20 ГБ данных с историей снимков понадобится около 30–40 ГБ. Точную цену смотрите в тарифах выбранного хранилища.

Проверьте себя

  • Копия лежит не на том же диске, что оригинал, и есть копия вне сервера.
  • Базы данных выгружаются дампом, а не копируются файлами на ходу.
  • Пароль хранилища не короче 16 символов и сохранён отдельно от сервера.
  • Копирование запускается по расписанию, например `0 3 * * *`, и в списке снимков появляются новые записи.
  • Ротация настроена: 7 ежедневных, 4 еженедельных, 6 ежемесячных снимков.
  • Пробное восстановление в `/tmp/restore` выполнено хотя бы раз в месяц.

На сайте есть партнёрские ссылки: если вы оформите заказ по ним, мы получим вознаграждение от провайдера. Это не влияет на цену для вас и на место в рейтинге.