Автоматический бэкап WordPress в облако: пошаговое руководство
Почему нужен автоматический бэкап WordPress в облако
Сайт – это набор файлов и базы данных. Потеря даже одного из них может привести к простоям и потерям дохода. Облачные хранилища гарантируют географическую избыточность, быстрый доступ и возможность восстановления «в один клик». Автоматизация избавит от человеческого фактора: бэкапы будут создаваться регулярно без вашего участия.
Выбор инструмента: плагины vs собственные скрипты
Существует два подхода:
- Готовые плагины – быстрый старт, поддержка обновлений, UI для настройки.
- Скрипты + cron – гибкость, минимум нагрузки, контроль над процессом.
Для большинства сайтов я рекомендую начать с проверенных плагинов, а при необходимости добавить кастомный скрипт.
Настройка популярных плагинов
1️⃣ UpdraftPlus – Google Drive, Dropbox, Amazon S3
- Установите и активируйте UpdraftPlus.
- Перейдите в «Настройки → UpdraftPlus → Settings».
- В разделе «Choose your remote storage» отметьте нужный сервис.
- Заполните авторизационные данные:
- Google Drive – OAuth‑client ID & secret.
- Dropbox – API‑token.
- Amazon S3 – Access Key, Secret Key, регион и bucket.
- Установите расписание: «Каждый день», «Каждые 12 часов» и т.п.
- Сохраните настройки и нажмите «Save Changes & Test». Если тест прошёл – ваш первый бэкап уже в облаке.
2️⃣ BackWPup – Яндекс Диск
- Установите BackWPup и активируйте.
- Создайте новое задание «Add new job».
- В «Job tasks» выберите «Backup DB», «Backup files» и «Create archive».
- В «To:» выберите «Yandex.Disk» и укажите токен OAuth (получить можно в консоли разработчика Яндекса).
- Установите расписание в «Schedule» – например, каждый день в 02:00.
- Сохраните задание и выполните «Run now» для проверки.
Альтернативный способ: собственный скрипт + cron
Если нужен более тонкий контроль (например, отдельные таблицы или кастомные пути), можно собрать скрипт, который будет:
- Экспортировать базу данных через
wp db export. - Упаковывать
wp-contentв архив. - Отправлять архив в облако (S3, Google Drive API, Yandex Disk).
Пример скрипта для Amazon S3
#!/usr/bin/php
<?php
// Путь к wp‑config (если скрипт лежит в корне)
define('WP_USE_THEMES', false);
require_once __DIR__.'/wp-load.php';
$backup_dir = WP_CONTENT_DIR . '/backups';
if (!file_exists($backup_dir)) {
mkdir($backup_dir, 0755, true);
}
// 1. Дамп базы данных
$db_file = $backup_dir . '/db-' . date('Y-m-d_H-i') . '.sql';
exec("wp db export $db_file --add-drop-table");
// 2. Архив wp‑content (исключаем предыдущие бэкапы)
$archive = $backup_dir . '/site-' . date('Y-m-d_H-i') . '.tar.gz';
exec("tar --exclude='backups' -czf $archive -C " . WP_CONTENT_DIR . " .");
// 3. Загрузка в S3 через AWS CLI (предварительно настроенный профиль)
$bucket = 'my-wp-backups';
exec("aws s3 cp $archive s3://$bucket/ --storage-class STANDARD_IA");
// 4. Очистка локальных файлов старше 7 дней
foreach (glob($backup_dir . '/*') as $file) {
if (filemtime($file)
Сохраните файл как cloud-backup.php, сделайте его исполняемым (chmod +x cloud-backup.php) и добавьте задачу в cron:
0 3 * * * /usr/bin/php /path/to/cloud-backup.php >/dev/null 2>&1 Эта задача будет запускаться каждый день в 03:00 и сохранять бэкап в S3.
Лучшие практики и проверка бэкапа
- Храните минимум 2‑3 копии в разных регионах (S3 – us‑east‑1, Google Drive – Europe).
- Проверяйте целостность: скачайте архив и выполните
wp db importв тестовом окружении. - Установите уведомления по email – большинство плагинов поддерживают отправку отчётов.
- Не забывайте про очистку старых файлов: автоматический
retention policyв S3 или скрипт‑удаление.
Если вы уже оптимизируете сайт, посмотрите наш материал о Redis vs Memcached – это поможет уменьшить нагрузку при частом создании бэкапов.
Для тех, кто работает с запросами к базе, рекомендуем прочитать Прямые запросы к БД WordPress – безопасные WPDB‑запросы помогут создать лёгкие дампы.
Если вы планируете мигрировать сайт на HTTPS, наш гид Миграция HTTP→HTTPS WordPress поможет избежать проблем с сертификатами, которые могут влиять на доступ к облачным API.
Итоги
Автоматический бэкап WordPress в облако – это комбинация правильного инструмента и дисциплины. Выберите плагин, который поддерживает нужный сервис, либо напишите скрипт, если требуется кастомизация. Не забывайте про проверку и хранение нескольких копий. Следуя этим рекомендациям, вы обезопасите ваш сайт от потери данных и сможете быстро восстановиться в любой ситуации.
❓ Часто задаваемые вопросы
Можно ли хранить бэкапы одновременно в нескольких облаках?
Да, большинство плагинов (например, UpdraftPlus) позволяют указать несколько удалённых хранилищ и отправлять копию в каждый из них.
Какой интервал бэкапа оптимален для сайта с ежедневным трафиком?
Для активных сайтов рекомендуется делать полные бэкапы каждый день и инкрементные – каждые 4‑6 часов. Инкрементные занимают меньше места.
Нужна ли отдельная учётная запись для каждого облака?
Да, для безопасности используйте отдельные сервисные аккаунты (IAM‑user в AWS, OAuth‑токен в Google Drive) с минимальными правами доступа только к бакету/папке.
Как восстановить сайт из бэкапа, если он повреждён?
Скачайте архив и дамп базы, разархивируйте файлы в корень сайта, а затем импортируйте базу через wp db import или phpMyAdmin.