Wordpress Updates via CLI  [SOLVED]

For topics beyond KeyHelp. / Für Themen jenseits von KeyHelp.
Post Reply
User avatar
superjogi
Posts: 137
Joined: Sat 11. Jan 2020, 23:24

Wordpress Updates via CLI

Post by superjogi »

Hier ein Cronjobscript welches uns dann schön Wordpressupdates über CLI einspielt und Caches löscht.

In den Kommentaren oben sieht man die Installation für alle User auf eurem System
Dies kann man mit root laufen lassen, die CLI wird hier automatisch unter dem richtigen User ausgeführt.
Ich verwende 2 verschiedene Cachingsysteme (je nach Installation) und triggere einfach beide.
Es wird ein Ordner für den Cache von der CLI erstellt und auch dem richtigen User zugeordnet.

Code: Select all

#!/bin/bash

##Installation
##SOURCE: https://wp-cli.org/de/
#curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
#php wp-cli.phar --info
#chmod +x wp-cli.phar
#sudo mv wp-cli.phar /usr/local/bin/wp

USERPATH=""/home/users/DEINUSER/www/DEINEDOMAIN.DE/""
USERNAME=${USERPATH%/www*}
USERNAME=${USERNAME##*/home/users/}
#echo $USERNAME
mkdir -p /home/users/${USERNAME}/.wp-cli/cache
chown -R ${USERNAME}:${USERNAME} /home/users/${USERNAME}/.wp-cli
sudo -u ${USERNAME} -- wp plugin deactivate disable-wordpress-updates		--path=${USERPATH}
sudo -u ${USERNAME} -- wp core update						--path=${USERPATH}
sudo -u ${USERNAME} -- wp plugin activate disable-wordpress-updates 		--path=${USERPATH}						 
sudo -u ${USERNAME} -- wp w3-total-cache flush all				--path=${USERPATH}		 
sudo -u ${USERNAME} -- wp fastest-cache clear all and minified			--path=${USERPATH}
Falls jemand hier noch einen schönen Loop drüberbaut wäre das ziemlich cool :))
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Wordpress Updates via CLI

Post by OlliTheDarkness »

Um die Userverzeichnisse zu lesen lässt ne einfache schleife drüber laufen, pack die ergeb. in ein Array und arbeite das array dann einfach ab.

Code: Select all

DIR="/home/users/"
 
ordArr=($(find $DIR -mindepth 1 -maxdepth 1 -type d))
 
tLen=${#ordArr[@]}
 
for (( i=0; i<${tLen}; i++ ));
do
  echo "${ordArr[$i]}"
done
Natürlich musst es nicht automatisch auslesen lassen, sondern kannst das Array , also dessen Inhalt, auch selbst festlegen und danach durchloopen.
Last edited by OlliTheDarkness on Fri 10. Sep 2021, 01:41, edited 1 time in total.
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
superjogi
Posts: 137
Joined: Sat 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI  [SOLVED]

Post by superjogi »

Sehr cool, der Loop funktioniert sehr gut mit der manuellen Eingabe (eventuell auch sicherer, falls man andere Skripte auch verwendet)
So ist es besonders übersichtlich einzugeben:

Code: Select all

ordArr=()
ordArr+=( ""/home/users/USER1/www/DOMAIN1.DE/"" )
ordArr+=( ""/home/users/USER1/www/DOMAIN2.DE/"" )
ordArr+=( ""/home/users/USER1/www/DOMAIN3.DE/"" )
ordArr+=( ""/home/users/USER2/www/DOMAIN4.DE/"" )
ordArr+=( ""/home/users/USER3/www/DOMAIN5.DE/"" )

tLen=${#ordArr[@]}
 
for (( i=0; i<${tLen}; i++ ));
do
USERPATH="${ordArr[$i]}"
USERNAME=${USERPATH%/www*}
USERNAME=${USERNAME##*/home/users/}
#echo $USERNAME
#mkdir -p /home/users/${USERNAME}/.wp-cli/cache
#chown -R ${USERNAME}:${USERNAME} /home/users/${USERNAME}/.wp-cli
sudo -u ${USERNAME} -- wp plugin deactivate disable-wordpress-updates							--path=${USERPATH}
sudo -u ${USERNAME} -- wp core update															--path=${USERPATH}
sudo -u ${USERNAME} -- wp plugin activate disable-wordpress-updates 							--path=${USERPATH}		

#sudo -u ${USERNAME} -- wp plugin install w3-total-cache						 					--path=${USERPATH}
#chown  ${USERNAME}:${USERNAME} /home/users/config_w3totalcachesettings.json		 
#sudo -u ${USERNAME} -- wp w3-total-cache import /home/users/config_w3totalcachesettings.json  	--path=${USERPATH}		

sudo -u ${USERNAME} -- wp w3-total-cache flush all					 							--path=${USERPATH}		 
	
done
Nach Update flush vom Caching nicht vergessen.

Mit den 3 auskommentierten Zeilen kann man auch ein w3-total-cache installieren und vorkonfigurieren. Nach so einer Vorkonfiguration habe ich vorher gesucht, nachdem es jetzt klappt habe ich es mal upgedated.
Last edited by superjogi on Fri 10. Sep 2021, 00:04, edited 1 time in total.
User avatar
superjogi
Posts: 137
Joined: Sat 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI

Post by superjogi »

Ok, ich habe die 2 Skripte jetzt produktiv getestet und funktioniert bei mir einwandfrei.

Ein Offtopic mit einem noch nicht fertigen Wordpress Install Skript über CLI habe ich entfernt ;)
Last edited by superjogi on Fri 10. Sep 2021, 00:05, edited 3 times in total.
User avatar
OlliTheDarkness
Posts: 1854
Joined: Tue 14. Aug 2018, 16:41
Location: Essen (NRW)

Re: Wordpress Updates via CLI

Post by OlliTheDarkness »

Ich hab deinen Beitrag mal gemeldet. :D

Jetzt keine Panik, alles gut, aber in der Bastelecke ist er besser aufgehoben =)
Mit freundlichen Grüßen
OlliTheDarkness

**************************************************************
Helden leben lange, Legenden sterben nie

:!: World Hack Organization :!:
**************************************************************
User avatar
Tobi
Community Moderator
Posts: 2813
Joined: Thu 5. Jan 2017, 13:24

Re: Wordpress Updates via CLI

Post by Tobi »

Ich hab ihn mal nach OT verschoben.
Es handelt sich ja nicht um eine KeyHelp Erweiterung.

@superjogi
Wo siehst du den Vorteil? Wordpress kann sich „out of the box“ selbst updaten.
Gruß,
Tobi


-----------------------------
wewoco.de
Das Forum für Reseller, Digital-Agenturen, Bildschirmarbeiter und Mäuseschubser
User avatar
superjogi
Posts: 137
Joined: Sat 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI

Post by superjogi »

Tobi wrote: Fri 10. Sep 2021, 07:43 Ich hab ihn mal nach OT verschoben.
Es handelt sich ja nicht um eine KeyHelp Erweiterung.

@superjogi
Wo siehst du den Vorteil? Wordpress kann sich „out of the box“ selbst updaten.
Es ist direkt auf die Ordnerstruktur von KeyHelp abgestimmt mit allen Installationsinfos.

Wenn man es so macht kann man leichter die Updates timen und sicher durchtesten. Ein Ausschalten der Updates, manuelle Updates, Reduktion des Heartbeat und Umschalten auf Cronjobs anstatt diese mit regulären Aufrufen bündeln zu lassen führt zu einer Beschleunigung des Wordpress Admins.
User avatar
superjogi
Posts: 137
Joined: Sat 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI

Post by superjogi »

Nun habe ich die Möglichkeit erforscht die betroffenen User und Domains über die KeyHelp API abzufragen.
Das bringt in Summe dann viele brauchbare Möglichkeiten, daher hier eine Querverlinkung für Interessierte:
viewtopic.php?p=31265#p31265
Post Reply