Tutorials Rootserver, Linux, Shell, Apache, PHP, MySQL, HTML, CSS, Javascript
29 Sep
Nahezu jeden Monat kommt eine neue phpMyAdmin-Version heraus, bisher habe ich immer von Hand aktualisiert (apt ist mir da nicht schnell genug), was bei vier Servern echt anstrengend wird.
Ich habe nun den Updatevorgang in ein Shellscript gepackt und kann die Aktualisierung nun mit folgendem Befehl starten:
sh pma-update.sh VERSIONSNUMMER
als Beispiel:
sh pma-update.sh 3.0.0Die pma-update.sh sieht wie folgt aus:
#!/bin/bash ORDNER=/home/htdocs/confixx/html #Ordner in dem phpMyAdmin laufen soll USER=confixx #Benutzer GROUP=confixx #Gruppe if [ -z "$1" ] then echo "Bitte die Versionsnummer angeben. Beispiel: sh pma-update.sh 2.11.2"; else cd $ORDNER; MYORDNER=`pwd`; if [ $MYORDNER != $ORDNER ] then echo "Fehler beim Wechseln des Verzeichnis"; pwd; else wget --directory-prefix=$ORDNER http://mesh.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-$1-all-languages.tar.bz2 if [ -f "$ORDNER/phpMyAdmin-$1-all-languages.tar.bz2" ] then tar xjvf phpMyAdmin-$1-all-languages.tar.bz2 mv -v $ORDNER/pma/config.inc.php $ORDNER/phpMyAdmin-$1-all-languages/ rm -Rv $ORDNER/pma mv -v $ORDNER/phpMyAdmin-$1-all-languages $ORDNER/pma chown -Rv $USER:$GROUP $ORDNER/pma echo "Das phpMyAdmin-Update auf Version " $1 " wurde erfolgreich im Ordner " $ORDNER " durchgeführt!" else echo "Fehler beim Download des Paketes"; fi fi fi
UPDATE
Noch besser ist das automatische Auslesen der aktuellen Versionsnummer von phpMyAdmin. Vielen Dank an Firewire2002 aus dem Server Support Forum.
WICHTIG
Bei diesem Script wird auf die Version 3.x geupdated, die jedoch ohne php5 nicht lauffähig ist! Wer noch php4 auf seinem Server hat, sollte die Stelle “Latest stable 3.x version:” in “Latest stable 2.x version:” ändern.
#!/bin/bash ORDNER=/srv/www/confixx/html #Ordner in dem phpMyAdmin laufen soll USER=confixx #Benutzer GROUP=confixx #Gruppe #Aktuelle phpMyAdmin-Version ermitteln VERSION=$(wget -q -O /tmp/phpMyAdmin_Update.html http://www.phpmyadmin.net/home_page/index.php && grep "Latest stable 3.x version:" /tmp/phpMyAdmin_Update.html | awk '{print $7}' | sed -e s/\< \\/span\>\<br// && rm -f /tmp/phpMyAdmin_Update.html ) if [ -z "$VERSION" ] then echo "Es konnte keine Version ermittelt werden. Bitte später erneut versuchen!"; else cd $ORDNER; MYORDNER=`pwd`; if [ $MYORDNER != $ORDNER ] then echo "Fehler beim Wechseln des Verzeichnis"; pwd; else wget --directory-prefix=$ORDNER http://mesh.dl.sourceforge.net/sourceforge/phpmyadmin/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 -v $ORDNER/phpMyAdmin/config.inc.php $ORDNER/phpMyAdmin-$VERSION-all-languages/ rm -Rv $ORDNER/phpMyAdmin mv -v $ORDNER/phpMyAdmin-$VERSION-all-languages $ORDNER/phpMyAdmin chown -Rv $USER:$GROUP $ORDNER/phpMyAdmin echo "Das phpMyAdmin-Update auf Version " $VERSION " wurde erfolgreich im Ordner " $ORDNER " durchgeführt!" else echo "Fehler beim Download des Paketes"; fi fi fi
2 Kommentare zum Thema "phpMyAdmin per Shellscript updaten (aktualisiert)"
Nur als Tipp es gibt schon ein Updatescript von PhpMyadmin selbst. Dies liegt im Verzeichnis scripts/upgrade.pl
Ich wusste wohl, dass es ein Script zum Löschen der unnötigen Sprachdateien gibt (funzt nicht wirklich bei mir), aber das Upgrade-Script kannte ich nicht. Werde das aber mal testen.
Danke für den Hinweis!
Schreib' einen Kommentar