wpbackup.ru wordpress WPBackup.ru

Как автоматизировать удалённое хранение резервных копий WordPress

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

Почему важно использовать удалённое хранение резервных копий

Хранение резервных копий на том же сервере, где расположен сайт, — рискованный подход. При проблемах с сервером (аппаратных сбоях, взломах, ошибках хостинга) все данные могут быть утеряны одновременно с сайтом.

Удалённое хранение резервных копий позволяет:

  • Обеспечить безопасность данных вне основного сервера
  • Автоматизировать процесс резервирования без ручного вмешательства
  • Легко восстанавливать сайт даже при полном выходе сайта из строя

К популярным удалённым хранилищам относятся облачные сервисы (Google Drive, Dropbox, Яндекс.Диск), FTP/SFTP-серверы, Amazon S3 и другие.

Выбор плагина для автоматизации резервного копирования с удалённым хранением

Для автоматизации процесса удобнее всего использовать специализированные плагины. Рассмотрим несколько популярных вариантов, которые позволяют сохранять резервные копии на удалённые хранилища с минимальной настройкой.

1. UpdraftPlus

Один из самых популярных плагинов для бэкапов. Позволяет создавать полные, инкрементальные копии сайта и базы данных, а также сохранять их на удалённые сервисы.

  • Поддерживает Google Drive, Dropbox, Amazon S3, FTP и другие
  • Имеет функцию расписания автоматических бэкапов
  • Простой интерфейс и расширенные настройки

2. BackWPup

Ещё один мощный плагин резервного копирования с поддержкой удалённых хранилищ. Позволяет сохранять бэкапы на FTP, Dropbox, Amazon S3, Microsoft Azure и другие сервисы.

  • Возможность создавать резервные копии базы данных и файлов
  • Настраиваемое расписание
  • Логирование и уведомления по почте

3. WPvivid Backup Plugin

Молодой, но функциональный плагин с поддержкой удалённого хранения и миграций сайта.

  • Поддержка Google Drive, Dropbox, FTP, SFTP
  • Интуитивно понятный интерфейс
  • Автоматические бэкапы с гибкой настройкой

Пример автоматизации резервного копирования и загрузки на FTP с помощью WPBackup_Custom

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

Шаг 1. Создание резервной копии базы данных

function wpbackupru_create_db_backup() {
    global $wpdb;
    $backup_file = WP_CONTENT_DIR . '/backups/db_backup_' . date('Y-m-d_H-i-s') . '.sql';

    $command = "mysqldump --user=" . DB_USER . " --password=" . DB_PASSWORD . " --host=" . DB_HOST . " " . DB_NAME . " > " . escapeshellarg($backup_file);
    exec($command, $output, $return_var);

    if ($return_var !== 0) {
        error_log('WPBackup.ru: Ошибка создания резервной копии базы данных');
        return false;
    }

    return $backup_file;
}

Этот код создает дамп базы данных в папке wp-content/backups с временной меткой.

Шаг 2. Загрузка файла резервной копии на FTP

function wpbackupru_upload_backup_to_ftp($file_path) {
    $ftp_server = 'ftp.example.com';
    $ftp_user = 'username';
    $ftp_pass = 'password';

    // Устанавливаем соединение
    $conn_id = ftp_connect($ftp_server);
    if (!$conn_id) {
        error_log('WPBackup.ru: Не удалось подключиться к FTP серверу');
        return false;
    }

    // Входим в систему
    $login_result = ftp_login($conn_id, $ftp_user, $ftp_pass);
    if (!$login_result) {
        error_log('WPBackup.ru: Ошибка авторизации на FTP сервере');
        ftp_close($conn_id);
        return false;
    }

    // Включаем пассивный режим
    ftp_pasv($conn_id, true);

    $remote_file = '/backups/' . basename($file_path);

    // Загружаем файл
    $upload = ftp_put($conn_id, $remote_file, $file_path, FTP_BINARY);
    if (!$upload) {
        error_log('WPBackup.ru: Не удалось загрузить файл на FTP сервер');
        ftp_close($conn_id);
        return false;
    }

    ftp_close($conn_id);
    return true;
}

Шаг 3. Автоматизация с WP-Cron

Подключим автоматический запуск резервного копирования и загрузки на FTP раз в сутки.

add_action('wpbackupru_daily_backup_event', 'wpbackupru_perform_backup');

function wpbackupru_perform_backup() {
    $backup_file = wpbackupru_create_db_backup();
    if ($backup_file) {
        wpbackupru_upload_backup_to_ftp($backup_file);
    }
}

// Регистрируем событие при активации темы или плагина
if (!wp_next_scheduled('wpbackupru_daily_backup_event')) {
    wp_schedule_event(time(), 'daily', 'wpbackupru_daily_backup_event');
}

Этот простой код создаст дамп базы данных и загрузит его на FTP-сервер автоматически каждую ночь.

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

При использовании удалённых хранилищ очень важно обеспечить безопасность резервных копий. Вот несколько правил, которые стоит соблюдать:

  • Используйте защищённые протоколы: SFTP вместо FTP, HTTPS для облачных сервисов
  • Храните резервные копии зашифрованными. Для этого можно использовать GPG или встроенные функции плагинов
  • Ограничьте доступ к резервным копиям, используя права доступа и пароли
  • Регулярно проверяйте целостность и возможность восстановления из бэкапов

Для шифрования резервных копий можно использовать пример с GPG:

function wpbackupru_encrypt_backup($file_path, $gpg_recipient) {
    $encrypted_file = $file_path . '.gpg';
    $command = "gpg --yes --output " . escapeshellarg($encrypted_file) . " --encrypt --recipient " . escapeshellarg($gpg_recipient) . " " . escapeshellarg($file_path);
    exec($command, $output, $return_var);
    if ($return_var === 0) {
        return $encrypted_file;
    }
    return false;
}

Заключение

Автоматизация удалённого хранения резервных копий — обязательный шаг к надёжной защите вашего WordPress-сайта. Используя проверенные плагины или собственные решения с WP-Cron и FTP/облачными сервисами, вы минимизируете риск потери данных и сможете быстро восстановить сайт в случае проблем.

Если хотите подробнее ознакомиться с плагинами и инструментами для резервного копирования, советуем посетить wpshop.ru — там много полезных решений для WordPress.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше