Einen Überblick über das Administrationstool KeyHelp der Keyweb AG und dessen Download gibt es auf https://www.keyhelp.de

Dieses Forum soll es interessierten Benutzern ermöglichen, sich über KeyHelp auszutauschen und Hilfe bei Problemen zu finden.

Wordpress Updates via CLI  [SOLVED]

Für die restlichen Themen
Antworten
Benutzeravatar
superjogi
Beiträge: 88
Registriert: Sa 11. Jan 2020, 23:24

Wordpress Updates via CLI

Beitrag von 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: Alles auswählen

#!/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 :))
Benutzeravatar
OlliTheDarkness
Beiträge: 1343
Registriert: Di 14. Aug 2018, 16:41
Wohnort: Essen (NRW)

Re: Wordpress Updates via CLI

Beitrag von 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: Alles auswählen

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.
Zuletzt geändert von OlliTheDarkness am Fr 10. Sep 2021, 01:41, insgesamt 1-mal geändert.
:arrow: Helden leben lange, Legenden sterben nie :idea:

:!: World Hack Organization :!:
Benutzeravatar
superjogi
Beiträge: 88
Registriert: Sa 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI  [SOLVED]

Beitrag von 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: Alles auswählen

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.
Zuletzt geändert von superjogi am Fr 10. Sep 2021, 00:04, insgesamt 1-mal geändert.
Benutzeravatar
superjogi
Beiträge: 88
Registriert: Sa 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI

Beitrag von 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 ;)
Zuletzt geändert von superjogi am Fr 10. Sep 2021, 00:05, insgesamt 3-mal geändert.
Benutzeravatar
OlliTheDarkness
Beiträge: 1343
Registriert: Di 14. Aug 2018, 16:41
Wohnort: Essen (NRW)

Re: Wordpress Updates via CLI

Beitrag von OlliTheDarkness »

Ich hab deinen Beitrag mal gemeldet. :D

Jetzt keine Panik, alles gut, aber in der Bastelecke ist er besser aufgehoben =)
:arrow: Helden leben lange, Legenden sterben nie :idea:

:!: World Hack Organization :!:
Benutzeravatar
Tobi
Community Moderator
Beiträge: 1741
Registriert: Do 5. Jan 2017, 13:24

Re: Wordpress Updates via CLI

Beitrag von 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
Benutzeravatar
superjogi
Beiträge: 88
Registriert: Sa 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI

Beitrag von superjogi »

Tobi hat geschrieben: Fr 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.
Benutzeravatar
superjogi
Beiträge: 88
Registriert: Sa 11. Jan 2020, 23:24

Re: Wordpress Updates via CLI

Beitrag von 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
Antworten