phpMyAdmin per Cronjob updaten
Da meine Freundin behaupt, ich mache beruflich ja nur „Updates“, habe ich mir überlegt, wie ich das vereinfachen kann. 😉 Daher wird dieser Blog jetzt etwas technischer und ich poste in Zukunft ein paar Anleitungungen, die mir das Leben vereinfachen.
Fange ich mit phpMyAdmin und Confixx an. Das mitgelieferte phpMyAdmin ist total veraltet, die Pakete in Debian sind auch nicht immer die neusten. Also bleibt nur manuelles Updaten. Bis ich ein nettes Shellskript auf http://rootserver-blog.de/ gefunden habe. Das klingt super und funktioniert auch gut. Jedoch muss ich auch damit regelmässig überprüfen, ob es ein Update gibt. Also habe ich das Skript ein wenig modifiziert und als täglichen cronjob angelegt.
#!/bin/bash ORDNER=/var/www/confixx/html # Ordner in dem phpMyAdmin laufen soll. Ohne abschließenden Slash! PMA=phpMyAdmin # phpMyAdmin Ordner USER=confixx # Benutzer GROUP=confixx # Gruppe # Meine Version ermitteln MYVERSION=$(cat "$ORDNER/$PMA/README"|grep Version|awk {'print $2'}); if [ $1 ] then # Benutzereingabe der Version hat Vorrang VERSION=$1; else # Automatisch Aktuelle phpMyAdmin-Version ermitteln VERSION=$(wget -q -O /tmp/phpMyAdmin_Update.html http://www.phpmyadmin.net/home_page/version.php && sed -ne '1p' /tmp/phpMyAdmin_Update.html); fi if [ $VERSION ] && [ $MYVERSION ] then if [ $MYVERSION != $VERSION ] then cd $ORDNER; MYORDNER=`pwd`; if [ $MYORDNER != $ORDNER ] then echo "phpMyAdmin Update: Fehler beim Wechseln des Verzeichnis"; pwd; else wget --directory-prefix=$ORDNER http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/$VERSION/phpMyAdmin-$VERSION-all-languages.tar.bz2 if [ -f "$ORDNER/phpMyAdmin-$VERSION-all-languages.tar.bz2" ] then tar xjvf phpMyAdmin-$VERSION-all-languages.tar.bz2 mv $ORDNER/$PMA/config.inc.php $ORDNER/phpMyAdmin-$VERSION-all-languages/ rm -R $ORDNER/$PMA mv $ORDNER/phpMyAdmin-$VERSION-all-languages $ORDNER/$PMA chown -R $USER:$GROUP $ORDNER/$PMA rm phpMyAdmin-$VERSION-all-languages.tar.bz2 echo "Eigene Version: $MYVERSION"; echo "Update-Version: $VERSION"; echo "Das phpMyAdmin-Update auf Version " $VERSION " wurde erfolgreich im Ordner " $ORDNER " durchgeführt!" else echo "phpMyAdmin Update: Fehler beim Download des Paketes"; fi fi fi else echo "phpMyAdmin Update: Version konnte nicht festgestellt werden."; fi
Damit ich das Update per Cronjob durchführen kann und nicht jeden Tag das Paket neu installiere, habe ich einen Check eingefügt, der die installierte Version mit der neusten Version vergleicht und nur neuere Versionen installiert. Außerdem habe ich in dem Skript das phpMyAdmin-Verzeichnis variabel gemacht.
[Update]
Ich habe die Ausgaben angepasst, damit der cronjob nur noch bei Fehler oder erfolgreichem Update eine Email verschickt.