WP-CLI – Управление на WordPress през SSH

Какво е WP-CLI?

WP-CLI представлява колекция от команди, които се изпълняват през конзола. WP-CLI е удобен инструмент за управлението на една или повече инсталирани WordPress системи в хостинг акаунта.

WP-CLI дава голямо удобство за бързо и лесно управление на WordPress – може да се ползва за бекъп на базите данни, автоматично обновяване на системите, плъгините, темите и автоматична инсталация на няколко WordPress системи, без да се ползва уеб браузър. При администриране на повече системи, това може да спести време.

Според спецификациите на инструмента, за да можете да го ползвате е необходимо версията на WordPress да е 3.7 или по-нова.

Тъй като инструментът WP-CLI се използва през конзола, първо ще е необходимо да активирате SSH достъп хостинг акаунта.

Работа с WP-CLI

WP-CLI е инсталиран на всички сървъри за споделен Linux хостинг, при СуперХостинг.БГ. В cPanel » WordPress Manager by SuperHosting » WP-CLI можете да видите дали WP-CLI е активиран за хостинг акаунта.

Важно: Използването на системно инсталирания WP-CLI в хостинг акаунта, се извършва чрез командата wp-cli в конзолата.

Командите може да се изпълняват директно в дадената директория на инсталиран WordPress или извън директорията на инсталацията. В командата се уточнява за коя инсталация да се извършат промените.

Към вече съществуващите команди в колекцията, можете да създавате свои собствени:
https://make.wordpress.org/cli/handbook/guides/commands-cookbook/

Например WordPress е инсталиран в директория:

/home/cpaneluser/public_html/wordpress

cpaneluser – заменете с потребителското име за хостинг акаунта;

Няколко основни команди на wp-cli

За да проверите версиите на темите, в конзолата изпишете следната команда:

wp-cli theme status –path=/home/cpaneluser/public_html/wordpress

Ако през конзолата сте достъпили и се намирате вече в тази директория, то може да изпълните само командата:

wp-cli theme status

В случай че версията на WordPress е по-стара от 3.4, за да обновите системата използвайте следното:

wp-cli core download –force

След изпълняване на по-горната команда ще е необходимо да извършите обновяване и на базата данни. Преди самото обновяване може да направите бекъп на базата данни:

wp-cli db export mydbfile.sql

Базата данни ще бъде експортирана в директорията на сайта, с име на файла mydbfile.sql.

Командата за обновяването на базата данни е:

wp-cli core update-db

За инсталиране на допълнителен плъгин, може да се ползва:

wp-cli plugin install –activate bbpress

Ако WordPress е инсталиран на различен език от английски и желаете да инсталирате плъгин или тема, WP-CLI ще направи опит да ги инсталира на същия език. В случай че инсталирания плъгин или тема нямат включен превод, в конзолата е възможно да се получат предупредителни съобщения. Въпреки тези съобщения обаче, инсталацията би трябвало да е успешна.

Препоръчително е за по-новите версии на WordPress, да се зададе повече памет за обработката на PHP. Например може да се зададе 128 MB. Как да увелича паметта за php скриптове?

Конфигурационен файл на wp-cli

Допълнителни настройки на wp-cli може да се направят с конфигурационния файл wp-cli.yml.

Този файл може да се постави в директорията на WordPress инсталацията и ще важи за този сайт. Ако е необходима глобална настройка, която да важи за всички WordPress инсталации, конфигурационният файл може да се постави в home директория на хостинг акаунта.

Обновяване на WordPress системата с крон задача

При много на брой инсталирани WordPress системи в хостинг акаунта, обновяването на всяка една от тях, както и на допълнителните плъгини, може да отнеме много време, ако се извършва ръчно.

Обновяването на всички WordPress системи и ползваните плъгини към тях може да се извърши автоматично, чрез конфигурация на няколко wp-cli команди, събрани в един файл.

Например, създава се един файл в home директорията на хостинг акаунта, /home/cpaneluser/wpupdateall.sh . В него се записват командите:

wp-cli db export --path=/home/cpaneluser/public_html/wp1
wp-cli db export --path=/home/cpaneluser/public_html/wp2
wp-cli core update --path=/home/cpaneluser/public_html/wp1
wp-cli core update --path=/home/cpaneluser/public_html/wp2
wp-cli core update-db --path=/home/cpaneluser/public_html/wp1
wp-cli core update-db --path=/home/cpaneluser/public_html/wp2
wp-cli plugin update --all --path=/home/cpaneluser/public_html/wp1
wp-cli plugin update --all --path=/home/cpaneluser/public_html/wp2

В посочените редове е необходимо да се зададе коректния път до инсталационните директории на WordPress сайтовете.

Важно: Всеки път когато се изпълни командата за експорт на базата данни, файлът в който се записват данните ще е с различно име например cpuser_db-2019-08-29-0996110.sql)

Бекъп файловете на базите данни ще бъдат записани в основната директория на хостинг акаунта: /home/cpaneluser/

Необходимо е правата на този файл wpupdateall.sh да бъдат зададени на 0755. След това добавяте следната cron задача в контролния панел cPanel:

/usr/bin/env PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/bin/wp-cli /home/cpaneluser/wpupdateall.sh

cpaneluser – заменете с потребителското име за хостинг акаунта.

В cron задача може да се стартира и само една команда на wp-cli, без да е необходимо да се създава допълнителен файл в хостинг акаунта:

/usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/local/bin/wp-cli db export mydbfile.sql --path=/home/cpaneluser/public_html/wp332

Резултатите от изпълнените команди можете да получавате на и-мейл или да записвате в лог файл.

Възстановяване на бекъп през wp-cli

Ако след обновяване се забележи проблем с функционирането на сайта, може да се възстанови бекъпа на базата данни, както и да се върне предишната версия на WordPress.

Възстановяване на база данни:

wp-cli db import wp1dbbackup.sql –path=/home/cpaneluser/public_html/wp

Връщане на предишна версия на WordPress:

wp-cli core download –version=3.4 –force –path=/home/cpaneluser/public_html/wp1

(командата е на един ред)

Имайте предвид, че ако връщате предишна версия на WordPress, ако тя е много по-стара от настоящата, е възможно да се получи съобщение за грешка при достъпване на сайта.

Обновена: 20.07.2022
Беше ли Ви полезна тази статия?

Вижте още