wpbackup.ru wordpress WPBackup.ru

Как использовать WP-CLI для резервного копирования WordPress

WP-CLI — это мощный инструмент командной строки для управления сайтами на WordPress. Среди множества функций WP-CLI позволяет быстро и эффективно создавать резервные копии сайта без необходимости заходить в админ-панель. В этой статье мы подробно разберем, как использовать WP-CLI для резервного копирования WordPress, рассмотрим примеры команд, а также предложим скрипты для автоматизации процесса.

Что такое WP-CLI и почему он полезен для резервного копирования WordPress

WP-CLI — это интерфейс командной строки, который позволяет выполнять большинство операций с WordPress через терминал. Это особенно удобно для разработчиков и администраторов, которые хотят автоматизировать задачи или работать с большим количеством сайтов.

Преимущества использования WP-CLI для бэкапов:

  • Высокая скорость работы без нагрузки на веб-интерфейс.
  • Возможность интеграции в скрипты и cron-задачи.
  • Гибкость и контроль над процессом копирования.

Для создания резервной копии с помощью WP-CLI обычно используют команды экспорта базы данных и копирования файлов сайта.

Установка и настройка WP-CLI для работы с WordPress

Перед началом работы убедитесь, что на сервере установлен WP-CLI. Для проверки введите в терминале:

wp --info

Если команда не найдена, установите WP-CLI, следуя официальной документации на wp-cli.org.

После установки перейдите в директорию вашего сайта WordPress:

cd /path/to/wordpress

Убедитесь, что WP-CLI видит ваш сайт, выполнив команду:

wp core version

Если версия WordPress отображается, можно приступать к созданию резервной копии.

Создание резервной копии базы данных через WP-CLI

Для создания резервной копии базы данных используйте команду:

wp db export backup-$(date +%F-%T).sql

Эта команда создаст файл с именем, включающим дату и время, например backup-2024-06-10-15:30:00.sql.

Для удобства можно написать функцию в вашем плагине или теме, например, wpbackup_export_db() для автоматизации:

function wpbackup_export_db() {
    $filename = 'backup-' . date('Y-m-d-H-i-s') . '.sql';
    exec("wp db export $filename");
    return $filename;
}

Однако запуск shell-команд из PHP требует корректной настройки прав и безопасности.

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

База данных — это только часть сайта. Важно сохранить также файлы: темы, плагины, загрузки и конфигурацию.

WP-CLI напрямую не копирует файлы, но вы можете использовать WP-CLI для получения пути к директории, а затем запустить стандартные команды Linux для архивирования:

wp eval 'echo ABSPATH;'  # покажет корневую папку WordPress

# пример команды для создания архива с помощью tar
# замените /path/to/backup на нужный путь

tar -czf /path/to/backup/wp-files-$(date +%F-%T).tar.gz -C /path/to/wordpress .

Команда wp eval позволяет выполнить PHP-код и получить путь к сайту, что удобно для скриптов.

Автоматизация через bash-скрипт с использованием WP-CLI

Пример простого скрипта для резервного копирования базы и файлов:

#!/bin/bash

# Переменные
WP_PATH="/var/www/html/wordpress"
BACKUP_PATH="/var/backups/wpbackup"
DATE=$(date +%F-%T)

mkdir -p "$BACKUP_PATH"

# Создаем дамп базы данных
wp --path=$WP_PATH db export "$BACKUP_PATH/db-backup-$DATE.sql"

# Создаем архив файлов
cd $WP_PATH

tar -czf "$BACKUP_PATH/files-backup-$DATE.tar.gz" .

# Уведомление
echo "Резервное копирование завершено: $DATE"

Такой скрипт можно добавить в cron для регулярного выполнения.

Дополнительные советы по надежному резервному копированию WordPress с WP-CLI

1. Храните резервные копии вне сервера

Используйте команды для выгрузки копий на удаленные хранилища, например, с помощью rclone или SCP.

2. Используйте инкрементные копии

Для экономии места можно комбинировать WP-CLI с инструментами, поддерживающими инкрементные резервные копии, например rsync с опцией --link-dest.

3. Обеспечьте безопасность копий

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

Пример плагина для резервного копирования с использованием WP-CLI

Ниже простой пример плагина, который создает резервную копию базы данных по команде WP-CLI:

/**
 * Plugin Name: WPBackup CLI Export
 * Description: Добавляет команду для экспорта базы данных.
 * Version: 1.0
 * Author: wpbackup.ru
 */

if ( defined('WP_CLI') && WP_CLI ) {
    class WPBackup_CLI_Export {
        public function export( $args, $assoc_args ) {
            $filename = 'backup-' . date('Y-m-d-H-i-s') . '.sql';
            WP_CLI::runcommand("db export $filename");
            WP_CLI::success("База данных экспортирована в $filename");
        }
    }
    WP_CLI::add_command('wpbackup export-db', 'WPBackup_CLI_Export');
}

После установки плагина можно выполнить в терминале:

wp wpbackup export-db

и получить резервную копию базы.

Заключение

Использование WP-CLI для резервного копирования WordPress — это надежный, быстрый и гибкий способ сохранить данные сайта. Такой подход особенно полезен для профессиональных разработчиков и администратора сайтов, позволяя интегрировать бэкапы в автоматические процессы и минимизировать время простоя. Рекомендуем комбинировать WP-CLI с классическими инструментами архивирования и безопасно хранить копии вне сервера.

Для расширения функционала бэкапов можно рассмотреть плагины, такие как Clearfy Pro, которые помогут оптимизировать процессы и повысить безопасность сайта.

×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙