Zusammenstoß mit Folgen

30. Oktober 2013 um 0:46 Uhr von Sabine Becker

Heute (bzw. gestern) kam ja Wordpress 3.7.1 raus, auf das man insbesondere dann updaten sollte, wenn man den visuellen Editor (oder auch WYSIWYG-Editor) zum Verfassen von Artikeln verwendet. In der Version 3.7 hatte sich da wohl ein böser Fehler eingeschlichen.

Beim Update des Blogs einer Freundin, das auf meinem privaten Server liegt, geschah es nun, daß ich nach dem Update einfach wieder auf der vorherigen Version war. Ich brauchte einen Moment, um draufzukommen, woran das lag. Um den Effekt zu erklären, muß ich ein wenig ins Eingemachte gehen.

Auf einem unixoiden System (also zum Beispiel Linux) gibt es üblicherweise mindestens einen Dienst, der sozusagen als Terminkalender des Systems fungiert. Der bekannteste dieser Dienste heißt cron. Nach Vorgabe in den Konfigurationsdateien ruft cron zu bestimmten Zeiten Programme oder Scripte auf, stoppt Prozesse oder restartet sie. Diese Einzelaufgaben nennt man auch cronjobs.

Eines der üblichen, vorinstallierten Scripte, die einmal täglich zu einer vorgegebenen Zeit von cron aufgerufen werden, ist logrotate. logrotate bewirkt, daß alle dafür vorgesehenen Logdateien geschlossen, umbenannt und (die älteren) komprimiert werden, damit einzelne Logdateien nicht zu groß werden.

Dieser tägliche logrotate-Aufruf ist in einem Standard-System üblicherweise auf 06:25 Uhr voreingestellt. Ich wollte nun gerne tagesgenaue Logs haben, also immer von 00:00:00 bis 23:59:59, und habe mir daher erst kürzlich diesen Aufruf auf 00:00 Uhr vorverlegt.

So weit, so gut.

Als ich vorhin, ziemlich genau um Mitternacht, für das genannte Blog das Wordpress-Update startete, lief es laut Anzeige scheinbar ganz normal durch: Die neue Version wurde vom Wordpress-Server geladen, entpackt, und dann über die alte Version drübergebügelt. Aber angezeigt wurde mir danach Wordpress Version 3.7 – und eben nicht die erwartete 3.7.1. Mehr noch: Wordpress erzählte mir ganz unschuldig, daß ich doch bitte auf 3.7.1 updaten möge.

Ich probierte es zweimal, dreimal … es blieb bei Version 3.7.

Dann schaute ich zufällig auf die Uhr. Es war 00:03 Uhr. Und dann fiel mir der cronjob ein. Um 00:06 Uhr stieß ich das Update nochmals an, und diesmal hatte ich hinterher die Version 3.7.1, wie das sein sollte.

Gelernt: Während der Ausführung von logrotate sollte man keine Wordpress-Updates durchführen, das könnte Irritationen geben. 🙂

[Update 31.10.2013 19:30 Uhr] Später am Tag stellte ich fest, daß drei andere, deutschsprachige Wordpress-Installationen auf zwei anderen Servern bei zwei anderen Hostern das Update auf die 3.7.1 ebenfalls nochmal haben wollten, obwohl ich sie kurz vor der hier betroffenen Wordpress-Installation aktualisiert hatte. Das machte mich denn doch neugierig.

Nach ein wenig Herumfragen stellte sich bald heraus, daß sich auch andere deutsche – und nur deutsche – Wordpress-Installationen so verhielten, und zwar völlig ohne Zusammenhang mit einer anderen Aktion auf dem jeweiligen Server. Auch vom darunterliegenden Betriebssystem oder vom Hoster hängt es offensichtlich nicht ab; die allein bei mir betroffenen, nun insgesamt vier Blogs liegen auf drei Servern bei drei verschiedenen Hostern. Das deutsche Wordpress will tatsächlich zumindest teilweise das Update auf die Version 3.7.1 zweimal installieren.

Im Fall des zuerst betroffenen Blogs hier könnte es höchstens sein, daß der cronjob zusätzlich zu Verwirrungen geführt hat, denn im Gegensatz zu allen anderen betroffenen Installationen mußte hier nicht zweimal, sondern sogar viermal das Update eingespielt werden, bis es tatsächlich „da“ war. Außerdem verlangten die anderen betroffenen Blogs das erneute Update nicht direkt nach dem durchgeführten, sondern erst beim nächsten Login.

Eindeutig ist, daß hier tatsächlich nur die deutschsprachige Version von Wordpress betroffen ist; bei der englischsprachigen habe ich es nirgends beobachtet, und es kamen auch keine entsprechenden Rückmeldungen anderer Wordpress-Admins.

Beim heutigen Durchsehen aller Wordpress-Installationen hat sich keins mehr über ein fehlendes Update beschwert. [/Update]

Kommentieren