Mise à jour phpmyadmin automatique

Par lours , 21 octobre, 2011

Avec les dernières alertes de sécurité, il devient difficile d'être à jour rapidement avec phpmyadmin. J'ai donc utilisé le script suivant qui permet de vérifier la présence d'une mise à jour et de la faire.

Le format de compression utilisé est 7z il faut donc que p7zip-full soit installé.

 


#!/bin/sh

sortie="/root/phpmyadmin-last.7z"
ancien="/root/phpymadmin-old.7z"
origine="/root/myadmin"
destination="/var/www/phpmyadmin"

#Premier lancement
if [ ! -e ${ancien} ]
then
  touch ${ancien}
fi

#Version sur le site
page=`wget -q -O- http://www.phpmyadmin.net/home_page/downloads.php | grep 7z| head -n1 | sed 's/^.*href="//' | sed 's/".*$//'`

#Comparaison des md5
md=`echo $page |sed 's/^.*!//' `
mdold=`md5sum  $ancien| awk '{print $1}'`

#Test si nouvelle version
if [ ! $md = $mdold ]
then
  echo "Mise a jour phpmyadmin sur " $(hostname -f) | mail -s phpmyadmin la@ou.il.faut
  lien=`echo $page | sed 's/#.*$//' `
  wget -O $sortie $lien
  if [ ! `md5sum $sortie| awk '{print $1}'` = $md ]
  then
    echo "Pb de Chargement"
    exit 1
  fi
  mv $sortie $ancien
  rm -rf ${origine}
  mkdir ${origine}
  7z x ${ancien} -o"${origine}" &
  wait
  mv ${origine}/`ls ${origine}` ${origine}/sqladmin
  cp ${destination}/config.inc.php ${origine}/sqladmin/
  chown 33:33 -R ${origine}/sqladmin
  chmod u+rwX -R ${origine}/sqladmin
  chmod g+rwX -R ${origine}/sqladmin
  rm -rf ${destination}old
  mv ${destination} ${destination}old
  mv ${origine}/sqladmin ${destination}
fi

exit 0
 

 

Il suffit ensuite de mettre le tout dans une crontab, les mises à jours serons faite rapidement. Attention quand même si les changements de version sont importants