Page 1 of 1

Wordpress Updates via CLI

Posted: Thu 9. Sep 2021, 20:27
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 :))

Re: Wordpress Updates via CLI

Posted: Thu 9. Sep 2021, 22:20
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.

Re: Wordpress Updates via CLI  [SOLVED]

Posted: Thu 9. Sep 2021, 22:53
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.

Re: Wordpress Updates via CLI

Posted: Thu 9. Sep 2021, 23:02
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 ;)

Re: Wordpress Updates via CLI

Posted: Thu 9. Sep 2021, 23:16
by OlliTheDarkness
Ich hab deinen Beitrag mal gemeldet. :D

Jetzt keine Panik, alles gut, aber in der Bastelecke ist er besser aufgehoben =)

Re: Wordpress Updates via CLI

Posted: Fri 10. Sep 2021, 07:43
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.

Re: Wordpress Updates via CLI

Posted: Fri 10. Sep 2021, 21:19
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.

Re: Wordpress Updates via CLI

Posted: Tue 5. Oct 2021, 00:46
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