Как создать автоматические резервные копии WordPress: плагины и код

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

Зачем нужны автоматические резервные копии WordPress

Ручное создание бэкапов — хороший навык, но далеко не всегда удобный и регулярный. Автоматизация процесса гарантирует, что backups создаются по расписанию без вашего участия. Это:

  • Защита от потери данных — вы всегда сможете восстановить сайт;
  • Экономия времени — не нужно каждый раз заходить в панель и делать резерв;
  • Снижение риска человеческой ошибки — забыть создать копию просто невозможно;
  • Возможность быстрого восстановления после взлома или сбоя.

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

Лучшие плагины для автоматического резервного копирования WordPress

Перейдём к практике. На рынке много решений, но мы рассмотрим три популярных и надёжных плагина с автоматическим режимом.

1. UpdraftPlus

UpdraftPlus — один из самых популярных бесплатных плагинов для резервного копирования. Позволяет создавать полные и инкрементальные копии, сохранять их на облачных хранилищах (Google Drive, Dropbox, Amazon S3 и др.) и восстанавливать прямо из панели администратора.

Как настроить автоматический бэкап:

  1. Установите и активируйте UpdraftPlus.
  2. В разделе Настройки > UpdraftPlus Backups выберите расписание для файлов и базы данных, например, еженедельно или ежедневно.
  3. Выберите удалённое хранилище для сохранения бэкапов.
  4. Сохраните настройки. Плагин будет самостоятельно создавать копии.

2. BackWPup

BackWPup — бесплатный плагин с широкими возможностями. Он умеет создавать архивы сайта и базы данных, отправлять их на FTP, Dropbox, S3 и другие сервисы. Можно настраивать расписание и оповещения по email.

Основные шаги:

  1. Установите BackWPup и перейдите в меню BackWPup > Add new job.
  2. Настройте задачи, включая бэкап базы, файлов и папки wp-content.
  3. Выберите способ хранения резервных копий.
  4. Установите расписание выполнения через Cron.

3. WP Time Capsule

WP Time Capsule отличается тем, что делает инкрементные копии — сохраняет только изменённые файлы и данные, что экономит место и время. Работает с Google Drive, Dropbox и Amazon S3.

Для настройки:

  1. Установите плагин и подключитесь к облачному хранилищу.
  2. Выберите папки и базы данных для бэкапа.
  3. Настройте расписание автоматического создания копий.

Создаем собственный скрипт для автоматического резервного копирования базы данных WordPress

Если не хочется использовать плагины, можно написать простой PHP-скрипт для создания резервной копии базы данных и настроить его запуск по Cron.

Ниже пример функции wptask_create_db_backup(), которая экспортирует базу в файл SQL с текущей датой:

function wptask_create_db_backup() {
    global $wpdb;
    $dbname = DB_NAME;
    $dbuser = DB_USER;
    $dbpass = DB_PASSWORD;
    $dbhost = DB_HOST;

    $backup_file = WP_CONTENT_DIR . '/backups/db-backup-' . date('Y-m-d_H-i-s') . '.sql';

    $command = "mysqldump --user={$dbuser} --password={$dbpass} --host={$dbhost} {$dbname} > {$backup_file}";
    system($command, $output);

    if (file_exists($backup_file)) {
        error_log('Backup created: ' . $backup_file);
    } else {
        error_log('Backup failed');
    }
}

Для запуска по расписанию добавьте в файл wp-config.php или подключаемый плагин вызов этой функции через wp_schedule_event. Пример планировщика:

add_action('wptask_daily_backup_hook', 'wptask_create_db_backup');

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

Так вы получите ежедневную автоматическую резервную копию базы данных в папке wp-content/backups. Не забудьте создать эту папку и дать права на запись.

Резервное копирование файлов WordPress с помощью PHP

Для полной безопасности нужно резервировать и файлы сайта, особенно папку wp-content, где хранятся темы, плагины и медиа. Можно создать архив .zip с помощью PHP:

function wptask_backup_wpcontent() {
    $zip = new ZipArchive();
    $backup_file = WP_CONTENT_DIR . '/backups/wpcontent-backup-' . date('Y-m-d_H-i-s') . '.zip';

    if ($zip->open($backup_file, ZipArchive::CREATE) !== TRUE) {
        error_log('Cannot create zip file');
        return;
    }

    $files = new RecursiveIteratorIterator(
        new RecursiveDirectoryIterator(WP_CONTENT_DIR),
        RecursiveIteratorIterator::LEAVES_ONLY
    );

    foreach ($files as $name => $file) {
        if (!$file->isDir()) {
            $filePath = $file->getRealPath();
            $relativePath = substr($filePath, strlen(WP_CONTENT_DIR) + 1);
            $zip->addFile($filePath, $relativePath);
        }
    }

    $zip->close();
    error_log('Files backup created: ' . $backup_file);
}

Эту функцию тоже можно запускать по Cron вместе с резервным копированием базы.

Как настроить Cron задачу для запуска бэкапов на хостинге

Большинство хостингов поддерживают Cron для автоматизации задач. Чтобы запустить скрипты бэкапа, нужно:

  1. Создать PHP-файл, который вызывает функции бэкапа, например backup-run.php:
<?php
require_once('/path/to/wp-load.php');
wptask_create_db_backup();
wptask_backup_wpcontent();
?>
  1. Настроить в панели управления хостингом Cron-задачу, которая будет выполнять команду:
php /путь/к/backup-run.php
  1. Проверить логи, чтобы убедиться, что резервные копии создаются без ошибок.

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

Очень важно не только создавать бэкапы, но и хранить их в безопасности:

  • Используйте удалённые хранилища (облака, FTP) — так бэкапы не потеряются при проблемах с сервером.
  • Регулярно проверяйте целостность архивов и возможность восстановления.
  • Не храните резервные копии в открытом доступе — защитите папки паролями или настройками сервера.
  • Удаляйте старые копии, чтобы не переполнять диск.

Если вы используете собственный скрипт, подумайте о шифровании резервных копий и безопасной передаче.

Итоги

Автоматическое резервное копирование WordPress — обязательный элемент поддержки сайта. Плагины вроде UpdraftPlus, BackWPup и WP Time Capsule позволяют быстро и без проблем организовать процесс. Для тех, кто любит контроль и минимализм, подойдут собственные PHP-решения с планировщиками Cron. Главное — не откладывать и настроить систему бэкапов как можно скорее.

WooCommerce: автоматическое отключение неиспользуемых платёжных систем
10.05.2026
Как создать автоматический импорт продуктов в WordPress через REST API
19.12.2025
Как отключить XML-RPC в WordPress для повышения безопасности
27.01.2026
Как отключить или полностью удалить редактор Gutenberg в WordPress
13.01.2026
Автоматическое создание отчёта об ошибках в WordPress
12.12.2025