Как автоматически создавать резервные копии WordPress на Google Drive

Резервное копирование — критически важная задача для любого сайта на WordPress. Потеря данных или поломка сайта могут привести к серьёзным потерям, поэтому автоматизация бэкапов — это залог спокойствия и безопасности вашего проекта. В этой статье мы подробно рассмотрим, как настроить автоматическое создание резервных копий WordPress с сохранением на Google Drive, используя как готовые плагины, так и примеры кастомного кода.

Почему стоит сохранять резервные копии на Google Drive

Выбор места хранения бэкапов играет важную роль. Google Drive — удобное облачное хранилище с большим объёмом бесплатного места и надёжной инфраструктурой. К преимуществам хранения резервных копий на Google Drive относятся:

  • Доступность с любого устройства и в любой момент;
  • Высокая надёжность и безопасность хранения;
  • Возможность легко делиться файлами с командой;
  • Интеграция с множеством инструментов и сервисов.

Кроме того, Google Drive хорошо подходит для автоматизированных решений, так как у него развитое REST API.

Использование плагина UpdraftPlus для автоматического бэкапа на Google Drive

Самый простой способ настроить автоматическое копирование — использовать плагин UpdraftPlus. Он поддерживает резервное копирование на Google Drive и множество других облачных сервисов.

Настройка UpdraftPlus для Google Drive

1. Установите и активируйте плагин UpdraftPlus через админку WordPress.

2. Перейдите в раздел «Настройки» > «UpdraftPlus Backup» > «Настройки».

3. В разделе «Выберите удалённое хранилище» выберите Google Drive.

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

5. Установите расписание автоматического бэкапа файлов и базы данных (например, раз в день или неделю).

6. Сохраните настройки.

Теперь плагин будет автоматически создавать резервные копии и загружать их в Google Drive.

Автоматический бэкап WordPress на Google Drive с помощью кастомного кода

Если вы хотите более гибко управлять процессом резервного копирования или интегрировать его с собственными инструментами, можно написать свой скрипт с использованием Google Drive API и WordPress Cron.

Основные шаги для реализации

  1. Создать проект в Google Cloud Console, включить Google Drive API и получить OAuth 2.0 credentials (client ID и client secret).
  2. Настроить авторизацию и получить refresh token для доступа к Google Drive от имени вашего аккаунта.
  3. Написать функцию для создания архива сайта и базы данных.
  4. Написать функцию загрузки архива на Google Drive с помощью API.
  5. Настроить WP-Cron для регулярного запуска этой функции.

Пример кода: создание архива и загрузка на Google Drive

Ниже пример упрощённого решения. Для работы с Google API используем библиотеку google/apiclient, которую нужно установить через Composer.

require_once __DIR__ . '/vendor/autoload.php';

function wprobot_create_backup_archive() {
    $upload_dir = wp_upload_dir();
    $backup_file = $upload_dir['basedir'] . '/backup-' . date('Y-m-d-H-i-s') . '.zip';

    $zip = new ZipArchive();
    if ($zip->open($backup_file, ZipArchive::CREATE) !== true) {
        return false;
    }

    // Добавляем папку wp-content
    $content_dir = ABSPATH . 'wp-content/';
    $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($content_dir));
    foreach ($iterator as $file) {
        if ($file->isFile()) {
            $filePath = $file->getRealPath();
            $relativePath = substr($filePath, strlen(ABSPATH));
            $zip->addFile($filePath, $relativePath);
        }
    }

    // Экспорт базы данных
    $db_file = $upload_dir['basedir'] . '/db_backup.sql';
    $command = sprintf('mysqldump --user=%s --password=%s --host=%s %s > %s', DB_USER, DB_PASSWORD, DB_HOST, DB_NAME, $db_file);
    system($command);
    $zip->addFile($db_file, 'db_backup.sql');
    unlink($db_file);

    $zip->close();
    return $backup_file;
}

function wprobot_upload_to_google_drive($file_path) {
    $client = new Google_Client();
    $client->setClientId('ВАШ_CLIENT_ID');
    $client->setClientSecret('ВАШ_CLIENT_SECRET');
    $client->refreshToken('ВАШ_REFRESH_TOKEN');
    $client->setAccessType('offline');
    $client->addScope(Google_Service_Drive::DRIVE_FILE);

    $service = new Google_Service_Drive($client);

    $file = new Google_Service_Drive_DriveFile();
    $file->setName(basename($file_path));

    $result = $service->files->create($file, [
        'data' => file_get_contents($file_path),
        'mimeType' => 'application/zip',
        'uploadType' => 'multipart'
    ]);

    return $result->id ?? false;
}

function wprobot_schedule_backup() {
    $backup_file = wprobot_create_backup_archive();
    if (!$backup_file) {
        error_log('WPROBOT: Ошибка создания архива резервной копии');
        return;
    }
    $upload_id = wprobot_upload_to_google_drive($backup_file);
    if ($upload_id) {
        error_log('WPROBOT: Резервная копия загружена на Google Drive, ID файла: ' . $upload_id);
        unlink($backup_file);
    } else {
        error_log('WPROBOT: Ошибка загрузки на Google Drive');
    }
}

if (!wp_next_scheduled('wprobot_daily_backup_event')) {
    wp_schedule_event(time(), 'daily', 'wprobot_daily_backup_event');
}

add_action('wprobot_daily_backup_event', 'wprobot_schedule_backup');

Этот код создаёт ZIP-архив с папкой wp-content и дампом базы данных, загружает его на Google Drive и удаляет локальный файл. Расписание запускается один раз в день.

Альтернативные плагины для резервного копирования на Google Drive

Кроме UpdraftPlus, существуют и другие плагины, которые поддерживают автоматический бэкап на Google Drive:

  • BackWPup — позволяет настроить резервное копирование на разнообразные облачные хранилища, включая Google Drive. Бесплатная версия имеет базовый функционал.
  • WPvivid Backup Plugin — удобный плагин с функцией автоматического бэкапа и отправки на Google Drive, Dropbox и другие сервисы.
  • Google Drive for WordPress — специализированный плагин для интеграции с Google Drive, подходит для пользователей, которым нужен только Google Drive.

Выбор зависит от ваших требований к функционалу и удобству управления.

Рекомендации по безопасности и хранению резервных копий

Независимо от выбранного метода, важно соблюдать следующие правила:

  • Используйте надёжные пароли и двухфакторную аутентификацию для аккаунта Google.
  • Проверяйте целостность и возможность восстановления из резервных копий регулярно.
  • Не храните резервные копии на том же сервере, где расположен сайт, чтобы избежать потери данных при сбое.
  • Автоматизируйте удаление старых бэкапов, чтобы не переполнять облачное хранилище.

Для автоматического удаления старых файлов на Google Drive можно добавить в код логику поиска и удаления файлов старше определённого срока.

Выводы и практические советы

Автоматическое создание резервных копий сайта на WordPress с загрузкой на Google Drive — это надёжный способ защитить данные и обеспечить быстроту восстановления после сбоев. Использование готовых плагинов, таких как UpdraftPlus, позволяет настроить процесс за несколько минут без программирования. Если же вам нужна кастомизация, собственные скрипты с Google Drive API предоставляют гибкость и контроль.

Обязательно тестируйте восстановление из бэкапов и следите за состоянием автоматизации. Хорошо организованное резервное копирование — залог стабильной работы вашего сайта и уверенности в безопасности данных.

Для удобной работы с плагинами и дополнительными возможностями рекомендуем ознакомиться с решениями от WPSHOP, где вы найдёте качественные инструменты для автоматизации WordPress.

Автоматическое создание и отправка email-рассылок в WordPress с помощью WP Robot
05.01.2026
Как автоматически обновлять плагины в WordPress с помощью кода
25.12.2025
Как автоматически отключить неиспользуемые плагины в WordPress с помощью кода
19.04.2026
Автоматический импорт данных из Excel в WordPress
28.12.2025
Как автоматически создать настройку с большим выбором в WordPress
20.03.2026