Какво е WP-CLI?
WP-CLI представлява колекция от команди, които се изпълняват през конзола. WP-CLI е удобен инструмент за управлението на една или повече инсталирани WordPress системи в хостинг акаунта.
WP-CLI дава голямо удобство за бързо и лесно управление на WordPress – може да се ползва за бекъп на базите данни, автоматично обновяване на системите, плъгините, темите и автоматична инсталация на няколко WordPress системи, без да се ползва уеб браузър. При администриране на повече системи, това може да спести време.
Според спецификациите на инструмента, за да можете да го ползвате е необходимо версията на WordPress да е 3.7 или по-нова.
Работа с 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 ще направи опит да ги инсталира на същия език. В случай че инсталирания плъгин или тема нямат включен превод, в конзолата е възможно да се получат предупредителни съобщения. Въпреки тези съобщения обаче, инсталацията би трябвало да е успешна.
Конфигурационен файл на wp-cli
Допълнителни настройки на wp-cli може да се направят с конфигурационния файл wp-cli.yml.
Този файл може да се постави в директорията на WordPress инсталацията и ще важи за този сайт. Ако е необходима глобална настройка, която да важи за всички WordPress инсталации, конфигурационният файл може да се постави в home директория на хостинг акаунта.
Обновяване на WordPress системата с крон задача
При много на брой инсталирани WordPress системи в хостинг акаунта, обновяването на всяка една от тях, както и на допълнителните плъгини, може да отнеме много време, ако се извършва ръчно.
Например, създава се един файл в 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 сайтовете.
Бекъп файловете на базите данни ще бъдат записани в основната директория на хостинг акаунта: /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, ако тя е много по-стара от настоящата, е възможно да се получи съобщение за грешка при достъпване на сайта.