Науки бывают: сверхъестественные — естественные — неестественные (Л.Д. Ландау).

Извлечение подузла из многоузловой сети с помощью WP-CLI и Bash

FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 28 марта 2017

Извлечение подсайтов на WordPress из мноузловой сети может быть трудной задачей, если вы не знакомы с мультисайтовой структурой. Это руководство проведет вас через шаг за шагом, чтобы извлечь подузел из многоузловой сети с помощью WP-CLI и Bash.

Извлечение подузла из многоузловой сети с помощью WP-CLI и Bash

Допустим andreyex.ru является многоузловым доменом.

Я хочу извлечь поддомен guides.andreyex.ru

 

Существуют основные папки для многоузлового и дочернего домена.

Извлечение базы данных для подузла

Введите корневую папку мультисайта, как правило, она находится по тому же пути, не забудьте изменить на свой многоузловой путь (andreyex.ru)

 

Перед тем как получить список всех подсайтов, посмотрите основную структуру папок

Информация Значение 1-го субдомена Значение n-го субдомена
blog_id 1 n
Префикс базы данных wpb_ wpb_n_
Папка плагинов wp-content/plugins wp-content/plugins
Папка темы wp-content/themes wp-content/themes
Папка загрузок wp-content/uploads wp-content/uploads/sites/n/

Получить список всех подсайтов с помощью WP-CLI

 

Вы получите отформатированный вывод, имеющий решающее значение для правильного извлечения подузла WordPress.

Есть blog_id с значением  2, где префикс базы данных состоит из значения  url и дочернего подузла guides.andreyex.ru

 

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

 

Получить префикс базы данных WordPress из wp-config.php с помощью grep

 

wpb_ – это префикс базы данных

 

Приставка базы данных подсайта состоит из мультисайтового префикса wpb_ и blog_id (идентификатора дочернего сайта) равного двум для дочернего сайта guides.andreyex.ru.

Если ваш blog_id является первым, то вы должны пропустить этот шаг!

 

При копировании базы данных – независимо от вашего blog_id в удаленном месте вы можете использовать gzip.

Извлечение содержимого мультисайта на WordPress

Нам нужно сжать эти папки и извлечь их на новом сайте

Сожмите плагины из корневой папки вашего подузла на andreyex.ru

 

Кроме того, сожмите папки theme из корневой папки подузла andreyex.ru

 

Если ваш blog_id является 1 то вы должны пропустить эту команду

Загрузка папки wp-content является специфичной для дочернего узла с использованием  2 в качестве blog_id (идентификатор дочернего сайта) в подпапке 2 в папке uploads/sites

 

Если ваш blog_id под номером 1, то вы должны использовать эту команду, так как blog_id с номером один, это специальный и имеет свою папку загрузки в корне

Исключим вложенную папку с помощью -с  uploads, и создадим архив tar для всего дочернего блога.

 

Теперь у вас есть 3 архивных файла, содержащих необходимые компоненты для вашего сайта на WordPress.

  • /tmp/andreyex.ru/guides.andreyex.ru/plugins.tar.gz
  • /tmp/andreyex.ru/guides.andreyex.ru/themes.tar.gz
  • /tmp/andreyex.ru/guides.andreyex.ru/uploads.tar.gz

База данные SQL имеет также сжатую версию

  • /tmp/andreyex.ru/guides.andreyex.ru/database.sql
  • /tmp/andreyex.ru/guides.andreyex.ru/database.sql.gz

Эти данные будут извлечены в одном месте в следующем разделе.

Восстановление и преобразованние поддомена в одиночный сайт

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

  • Импорт базы данных WordPress с дочернего на новый сайт
  • Поиск и замена в базе данных
  • Извлечение из архива папку wp-content на сайт
  • Фиксирование разрешений при необходимости

Импорт базы данных SQL из субсайтна на новый сайт

Введите одиночный сайт WordPress, здесь в данном случае guides.andreyex.ru но если вы сделали новое доменное имя, просто замените на это значение.

 

Импорт базы данных MySQL

 

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

Если вы используете субдомен, то вы можете пропустить эти следующие два шага.

Используйте guides.andreyex.ru в качестве исходной строки, чтобы найти для замены на andreyex-guides.ru

 

Будет выполняться фактическая замена

 

Независимо от вашего выбора поддомена вы должны выполнить команду search-replace для старого и нового домена.

Вы должны заменить многоузловой путь andreyex.ru на новый путь сайта andreyex-guides.ru.

Флаг –dry-run только показывает, какие замены будут сделаны.

 

Пожалуйста, замените многоузловой путь andreyex.ru на новый путь сайта andreyex-guides.ru.

Вы можете сделать фактический поиск и замену, опуская флаг –dry-run

 

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

Извлечение wp-content

Распакуйте themes.tar.gz на свой сайт

 

Затем извлеките plugins.tar.gz на свой сайт

 

И, наконец, извлеките uploads.tar.gz на свой новый одиночный сайт.

 

Изменить разрешения на www-data владельца user и group.

Не забудьте изменить путь установки своего нового сайта guides.andreyex.ru

 

Вы можете удалить эти таблицы с помощью Adminer или PhpMyAdmin

 

Вот и все!

Извлечение подузла из многоузловой сети с помощью WP-CLI и Bash


Читайте также

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

badge
Обратный звонок 1
Отправить
galka

Спасибо! Ваша заявка принята

close
galka

Спасибо! Ваша заявка принята

close