Автоматический бэкап WordPress в облако: пошаговое руководство

Почему нужен автоматический бэкап WordPress в облако

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

Выбор инструмента: плагины vs собственные скрипты

Существует два подхода:

  • Готовые плагины – быстрый старт, поддержка обновлений, UI для настройки.
  • Скрипты + cron – гибкость, минимум нагрузки, контроль над процессом.

Для большинства сайтов я рекомендую начать с проверенных плагинов, а при необходимости добавить кастомный скрипт.

Настройка популярных плагинов

1️⃣ UpdraftPlus – Google Drive, Dropbox, Amazon S3

  1. Установите и активируйте UpdraftPlus.
  2. Перейдите в «Настройки → UpdraftPlus → Settings».
  3. В разделе «Choose your remote storage» отметьте нужный сервис.
  4. Заполните авторизационные данные:
    • Google Drive – OAuth‑client ID & secret.
    • Dropbox – API‑token.
    • Amazon S3 – Access Key, Secret Key, регион и bucket.
  5. Установите расписание: «Каждый день», «Каждые 12 часов» и т.п.
  6. Сохраните настройки и нажмите «Save Changes & Test». Если тест прошёл – ваш первый бэкап уже в облаке.

2️⃣ BackWPup – Яндекс Диск

  1. Установите BackWPup и активируйте.
  2. Создайте новое задание «Add new job».
  3. В «Job tasks» выберите «Backup DB», «Backup files» и «Create archive».
  4. В «To:» выберите «Yandex.Disk» и укажите токен OAuth (получить можно в консоли разработчика Яндекса).
  5. Установите расписание в «Schedule» – например, каждый день в 02:00.
  6. Сохраните задание и выполните «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.