Automatische WordPress-Updates

WordPress hat seit Version 3.7 Background Updates nativ implementiert und automatisch für Minor Releases aktiviert. Man kann mit Hilfe von Filtern das Verhalten genauer steuern, was genau automatisch aktualisiert wird. Eine permanente, vollautomatische Installation aller Minor-, Major-, Plugin-, Theme- und Translation-Updates ist jedoch nicht vorgesehen, jedoch leicht anderweitig zu bewerkstelligen.


Es gibt zahlreiche Plugins, die zwar die Häufigkeit des Abrufs der Notifications erhöhen und teilweise die Durchführung der eigentlichen Updates auch versprechen; Das gelingt aber keinem dieser Plugins zuverlässig. Eine (nicht nur für diesen Zweck) sehr geeignete Lösung bietet das mächtige Kommandozeilentool WP-CLI. Nach kurzer Installation sorgen die folgenden Zeilen (ausgeführt im WP-Projektordner) dafür, dass alle Updates der oben genannten Komponenten ausnahmslos installiert werden:

c9350c4b867d1cadd72c3e4a77ae98a0

Folgender Oneliner (den man über ein Alias oder mit Tools wie flimsy kürzen kann) kann auf beliebigen SSH-Servern (auch ohne vorher installiertem WP-CLI) ausgeführt werden, um dort alle Updates auf einen Schlag zu installieren:

c9350c4b867d1cadd72c3e4a77ae98a0

Der --allow-root Flag sorgt für die Lauffähigkeit auf Systemen als Root-User (in WSL-Umgebungen ist das unabdingbar). Ein Update jeglicher Komponenten ohne vorheriges Testen in einer lokalen Entwicklungsumgebung ist in keinem Fall zu empfehlen. Hat man jedoch eine abgeschirmte WP-Umgebung oder einen speziellen Use-Case, immer mit den neuesten Updates versorgt sein zu wollen, lässt sich das Ganze auch über einen simplen Cronjob in Form einer Bash-Datei automatisieren:

c9350c4b867d1cadd72c3e4a77ae98a0

WP-CLI kann noch vieles mehr: User-Rollen hinzufügen, Kommentare löschen, Strings in Datenbanken suchen und ersetzen, Mediendateien importieren... es lohnt sich ein Blick in die Dokumentation. Momentan habe ich zwei Github-Issues eröffnet, die kleine Bugs im Language-Modul betreffen, jedoch einem Einsatz in Produktivumgebungen nicht im Wege stehen.

Zurück