Резервное копирование сервера¶
Резервное копирование сервера (бэкап, от англ. backup) — процесс создания копий данных сервера с целью их последующего восстановления в случае сбоя, потери файлов, ошибки конфигурации или внешнего воздействия. Резервные копии могут включать файлы, базы данных, конфигурации веб-сервера, почтовые ящики, системные настройки и полный образ диска.
¶Способы резервного копирования
¶Полное резервное копирование
При полном бэкапе создаётся копия всех данных сервера. Такой подход обеспечивает максимальную полноту восстановления, но требует много места и времени.
¶Инкрементальное копирование
При инкрементальном подходе сохраняются только те данные, которые изменились с момента последнего резервного копирования. Объём таких бэкапов значительно меньше полных.
¶Дифференциальное копирование
Дифференциальный бэкап содержит все изменения, произошедшие после последнего полного копирования, без привязки к предыдущим инкрементальным копиям.
¶Способы создания резервных копий
¶Через панель управления хостинга
Большинство хостинг-провайдеров предоставляют встроенную функцию резервного копирования в панели управления (ISPmanager, HestiaCP, cPanel, Plesk). Обычно это выглядит как кнопка «Создать резервную копию» или «Бэкап» в разделе управления файлами или сервером. Некоторые провайдеры выполняют автоматические ежедневные или еженедельные бэкапы и предоставляют доступ к ним через панель.
¶Через SSH и утилиты командной строки
При доступе по SSH резервное копирование выполняется с помощью системных утилит:
- tar — упаковка файлов и каталогов в архив с сохранением прав доступа:
`` tar -czvf backup.tar.gz /var/www ``
- rsync — синхронизация данных с удалённым сервером или локальным хранилищем:
`` rsync -avz /var/www user@remote-server:/backups/ ``
- mysqldump / pg_dump — выгрузка баз данных MySQL/PostgreSQL:
`` mysqldump -u root -p --all-databases > all_databases.sql ``
- dd — создание полного образа диска:
`` dd if=/dev/sda of=/dev/sdb bs=4M ``
¶Через панель управления VPS-сервером
При аренде VPS у провайдера (Timeweb, REG.RU, Beget, Selectel, RuVDS и других) резервное копирование часто доступно в личном кабинете провайдера. Функция может называться «Снапшот», «Снимок диска» или «Резервная копия». Снимок диска фиксирует состояние сервера в определённый момент и позволяет откатиться к нему при необходимости.
¶Что обычно включают в резервную копию
| Компонент | Способ копирования |
|---|---|
| Файлы сайта | tar, rsync, архив через панель |
| Базы данных | mysqldump, pg_dump, встроенная функция панели |
| Конфигурации сервера | Архивирование каталогов /etc, конфигов Nginx/Apache |
| Почтовые ящики | Копирование каталогов почтового сервера |
| Полный образ диска | dd, снапшот виртуального диска |
¶Хранение резервных копий
Рекомендуемое правило — правило 3-2-1: три копии данных, на двух разных носителях, одна из которых находится вне основного сервера. В качестве удалённого хранилища используют:
- объектные хранилища (S3-совместимые, например Yandex Object Storage, Selectel Object Storage);
- другие серверы того же или другого провайдера;
- локальные компьютеры администратора.
Хранение бэкапов на том же сервере, что и основные данные, считается небезопасным: при выходе диска из строя или компрометации сервера копии будут потеряны вместе с оригиналами.
¶Автоматизация резервного копирования
Для регулярного создания бэкапов используют планировщик задач cron. Пример ежедневного бэкапа в 3 часа ночи:
`` 0 3 * tar -czf /backups/site-$(date +\%F).tar.gz /var/www ``
Также существуют специализированные инструменты: Restic, BorgBackup, Duplicity, Rsnapshot — они поддерживают шифрование, дедупликацию и отправку копий в удалённые хранилища.
¶Восстановление из резервной копии
Процесс восстановления зависит от способа создания бэкапа:
- через панель хостинга — раздел «Восстановление из резервной копии», где выбирается дата и нужные файлы или базы;
- через tar — распаковка архива на сервер:
`` tar -xzvf backup.tar.gz -C / ``
- через rsync — копирование данных обратно на сервер;
- через снапшот диска — откат состояния сервера в личном кабинете VPS-провайдера.
Перед восстановлением рекомендуется убедиться в целостности архива и наличии свободного места.
¶Частые ошибки
- Отсутствие регулярности: бэкап делается «на всякий случай» и оказывается устаревшим.
- Хранение копий только на сервере.
- Отсутствие проверки восстановления: копия создаётся, но ни разу не тестировалась.
- Неполный охват: забывают сконфигурировать базы данных или почтовые ящики.
- Использование одного и того же пароля для доступа к хранилищу бэкапов и серверу.
Источники:
- Документация GNU tar
- Документация rsync
- Документация Rsync и BorgBackup
- Руководства хостинг-провайдеров по резервному копированию (Timeweb, REG.RU, Beget)
