Как настроить автоматическое резервное копирование WordPress: 3 надёжных способа

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

Я однажды поднимал магазин после сломанного обновления темы. Выручил ночной архив, отправленный в облако. С тех пор автоматизация стала правилом, а не опцией. Ниже три рабочих подхода, каждый со своим характером и ценой внимания.

Способ 1. Плагины с расписанием и облачным хранилищем

Как настроить автоматическое резервное копирование WordPress: 3 надёжных способа. Способ 1. Плагины с расписанием и облачным хранилищем

Для большинства проектов это самый быстрый путь. Плагины берут на себя упаковку базы и файлов, ставят расписание, отправляют бэкапы в Google Drive, Dropbox, Amazon S3 или SFTP. Настраивается за десять минут, держится годами.

Стабильно работают UpdraftPlus, BackWPup, Jetpack Backup, BlogVault. У них есть инкрементальные копии, шифрование, хранение версий. Важно заранее выбрать, что копировать: только базу, только wp-content или весь сайт.

Настройка на примере UpdraftPlus

Откройте Настройки — UpdraftPlus. Установите частоту для файлов и базы, например файлы раз в день, база каждые 6 часов. Выберите хранилище и подключите аккаунт по инструкции плагина.

Установите ротацию, скажем 7 последних копий. Исключите кеш-папки и любые временные каталоги, чтобы архивы не пухли. Проверьте восстановление на тестовой копии сайта, не на боевом.

  • Файлы: wp-content/uploads, темы, плагины.
  • База данных: все таблицы с префиксом вашего сайта.
  • Хранилище: облако или удаленный SFTP с ограничением доступа по ключу.

Способ 2. Резервные копии на стороне хостинга

Многие провайдеры делают ежедневные снимки. В cPanel это JetBackup или Backup, в Plesk — Scheduled Backup. Плюс такого решения в скорости восстановления: нажали кнопку, выбрали дату, вернули папку или базу.

Это интересно:  Исследование тем в WordPress

Минус в том, что копии часто лежат на том же провайдере. При сбое дата-центра или блокировке доступ может пропасть. Поэтому хорошо настроить экспорт части архивов во внешнее облако и проверить срок хранения — обычно от 7 до 30 дней.

Что важно проверить у провайдера

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

Метод Что сохраняет Куда Плюсы Ограничения
Плагин Файлы и БД Облако/SFTP Гибкость, версияность Нагрузка на сайт при архивировании
Хостинг Аккаунт целиком Инфраструктура провайдера Быстрое восстановление Часто без внешнего оффсайта
Cron + WP-CLI Точное выбранное Туда, куда укажете Контроль и скриптуемость Нужна админ. компетенция

Способ 3. Автоматизация через WP-CLI и cron

Как настроить автоматическое резервное копирование WordPress: 3 надёжных способа. Способ 3. Автоматизация через WP-CLI и cron

Для тех, кто не боится терминала. WP-CLI быстро выгружает базу, а системные утилиты архивируют файлы и отправляют их на удаленный сервер. Работает на VPS и на shared, если доступны SSH и cron.

Пример шага: wp db export ~/backups/site-$(date +%F).sql. Затем tar -czf ~/backups/wp-content-$(date +%F).tar.gz wp-content. Отправка на удаленный сервер: rsync -az ~/backups user@host:/backup/site. Удаление старше 14 дней: find ~/backups -mtime +14 -delete.

Пример задания cron

crontab -e и строка: 0 3 * * * /usr/bin/wp db export ~/backups/db-$(date +%F).sql -path=/var/www/site && /bin/tar -czf ~/backups/files-$(date +%F).tar.gz -C /var/www/site wp-content && /usr/bin/rsync -az ~/backups user@host:/backup/site

Следите за правами и безопасностью: подключение по SSH-ключу, доступ к каталогу backups ограничен, архивы с базой можно шифровать через gpg. Логи скрипта перенаправьте в файл, иначе ошибки пройдут мимо.

Политика хранения и проверка восстановления

Любая стратегия буксует без дисциплины. Работает правило 3-2-1: три копии, на двух типах носителей, одна вне площадки. Для новостного сайта уместны дневные инкрементальные и недельные полные, для лендинга достаточно недельного цикла.

Это интересно:  Использование CDN для ускорения на WordPress

Раз в месяц поднимайте стенд на поддомене и проходите путь восстановления до конца. Смотрите, совпадает ли версия PHP и расширений, открываются ли медиа, сходятся ли права. Это пятьдесят минут, которые экономят недели нервов.

Наконец, зафиксируйте ответственных и напоминания: кто следит за расписанием, где лежат ключи доступа, как получить архив, если админ недоступен. Когда все это записано и проверено, бэкап перестает быть «чем-то на всякий случай» и становится нормальной частью жизни сайта.