[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/usr/share/se3/scripts/ -> install_imagemagick_et_gsfonts.sh (source)

   1  #!/bin/bash
   2  #
   3  ##### Script d'installation de ImageMagick et Gsfonts #####
   4  #
   5  # Auteur: Stéphane Boireau (A.S. - Relais de Bernay/Pont-Audemer (27))
   6  #
   7  ## $Id: install_imagemagick_et_gsfonts.sh 7061 2012-04-02 09:22:45Z dbo $ ##
   8  #
   9  # /usr/share/se3/sbin/install_imagemagick_et_gsfonts.sh
  10  # Dernière modification: 23/05/2006
  11  
  12  if [ "$1" = "--help" -o "$1" = "-h" ]; then
  13      echo "Script destiné à installer ImageMagick et gsfonts"
  14      echo "(et à renseigner des fichiers témoins)."
  15      echo ""
  16      echo "Usage : pas d'option"
  17      exit
  18  fi    
  19  
  20  # Couleurs
  21  COLTITRE="\033[1;35m"   # Rose
  22  COLPARTIE="\033[1;34m"  # Bleu
  23  
  24  COLTXT="\033[0;37m"     # Gris
  25  COLCHOIX="\033[1;33m"   # Jaune
  26  COLDEFAUT="\033[0;33m"  # Brun-jaune
  27  COLSAISIE="\033[1;32m"  # Vert
  28  
  29  COLCMD="\033[1;37m"     # Blanc
  30  
  31  COLERREUR="\033[1;31m"  # Rouge
  32  COLINFO="\033[0;36m"    # Cyan
  33  
  34  # Paramètres:
  35  chemin_param_fond="/etc/se3/fonds_ecran"
  36  
  37  # Création du dossier de paramètres:
  38  mkdir -p $chemin_param_fond
  39  chown www-se3:root $chemin_param_fond
  40  
  41  # Dossier de log en cas de mode debug activé:
  42  dossier_log="/var/log/se3/fonds_ecran"
  43  mkdir -p "$dossier_log"
  44  
  45  # Chemin des fichiers de lock (pour ne pas relancer le script
  46  # tant que la première instance n'est pas terminée)
  47  chemin_lock="/home/netlogon"
  48  # Le fichier a l'extension 'lck' si bien que le script lckclean le nettoye en cas de pépin.
  49  
  50  # Création du fichier de LOCK:
  51  touch $chemin_lock/installation_imagemagick_et_gsfonts.lck
  52  
  53  # Valeur tmp:
  54  ladate=$(date +"%Y.%m.%d-%H.%M.%S")
  55  
  56  # Initialisation du témoin d'erreur
  57  erreur=""
  58  
  59  # Mode debug:
  60  debug=1
  61  
  62  affich_debug(){
  63      if [ "$debug" = "1" ]; then
  64          echo "$1"
  65      fi
  66  }
  67  
  68  ladate=$(date +"%Y.%m.%d-%H.%M.%S")
  69  
  70  affich_debug "$ladate" >> $dossier_log/installation_$ladate}.log
  71  affich_debug "Lancement de $0" >> $dossier_log/installation.log
  72  
  73  # Installation si nécessaire des paquets requis:
  74  if dpkg -l imagemagick | grep "ii  imagemagick" > /dev/null ; then
  75      echo -e "$COLINFO"
  76      echo "ImageMagick est bien installé."
  77      affich_debug "ImageMagick est bien installé." >> $dossier_log/installation_$ladate}.log
  78      if [ ! -e "$chemin_param_fond/imagemagick_present.txt" ]; then
  79          touch $chemin_param_fond/imagemagick_present.txt
  80      fi
  81  else
  82      echo -e "$COLCMD"
  83      affich_debug "apt-get update" >> $dossier_log/installation_$ladate}.log
  84      apt-get update
  85      #affich_debug "apt-get install imagemagick" >> $dossier_log/installation_${ladate}.log
  86      #apt-get install imagemagick
  87      affich_debug "echo Y | apt-get install imagemagick" >> $dossier_log/installation_$ladate}.log
  88      echo Y | apt-get install imagemagick
  89      if [ "$?" = "0" ]; then
  90          echo -e "$COLTXT"
  91          echo "Installation de ImageMagick réussie."
  92          affich_debug "Installation de ImageMagick réussie." >> $dossier_log/installation_$ladate}.log
  93          touch $chemin_param_fond/imagemagick_present.txt
  94      else
  95          echo -e "$COLERREUR"
  96          echo "L'installation de ImageMagick a échoué."
  97          affich_debug "L'installation de ImageMagick a échoué." >> $dossier_log/installation_$ladate}.log
  98          affich_debug "===================================" >> $dossier_log/installation_$ladate}.log
  99          rm -f $chemin_lock/installation_imagemagick_et_gsfonts.lck
 100          erreur="ImageMagick"
 101          #exit
 102      fi
 103  fi
 104  
 105  if [ -z "$erreur" ]; then
 106      if dpkg -l gsfonts | grep "ii  gsfonts" > /dev/null ; then
 107          echo -e "$COLINFO"
 108          echo "Gsfonts est bien installé."
 109          affich_debug "Gsfonts est bien installé." >> $dossier_log/installation_$ladate}.log
 110          if [ ! -e "$chemin_param_fond/gsfonts_present.txt" ]; then
 111              touch $chemin_param_fond/gsfonts_present.txt
 112          fi
 113      else
 114          echo -e "$COLCMD"
 115          affich_debug "apt-get update" >> $dossier_log/installation_$ladate}.log
 116          apt-get update
 117          #affich_debug "apt-get install gsfonts" >> $dossier_log/installation_${ladate}.log
 118          #apt-get install gsfonts
 119          affich_debug "echo Y | apt-get install gsfonts" >> $dossier_log/installation_$ladate}.log
 120          echo Y | apt-get install gsfonts
 121          if [ "$?" = "0" ]; then
 122              echo -e "$COLTXT"
 123              echo "Installation de gsfonts réussie."
 124              affich_debug "Installation de gsfonts réussie." >> $dossier_log/installation_$ladate}.log
 125              touch $chemin_param_fond/gsfonts_present.txt
 126          else
 127              echo -e "$COLERREUR"
 128              echo "L'installation de gsfonts a échoué."
 129              affich_debug "L'installation de gsfonts a échoué." >> $dossier_log/installation_$ladate}.log
 130              affich_debug "===================================" >> $dossier_log/installation_$ladate}.log
 131              rm -f $chemin_lock/installation_imagemagick_et_gsfonts.lck
 132              erreur="gsfonts"
 133              #exit
 134          fi
 135      fi
 136      
 137      if [ -z "$erreur" ]; then
 138          if dpkg -l samba | grep 2.2.8a-se3 > /dev/null ; then
 139              # Il ne faut pas de préfixe pour la génération des BMP
 140              echo "2" > $chemin_param_fond/version_samba.txt
 141          else
 142              # Il faut un préfixe pour la génération des BMP
 143              #prefixe="bmp3:"
 144              echo "3" > $chemin_param_fond/version_samba.txt
 145          fi
 146          
 147          # Fichier permettant d'activer/désactiver la génération de fonds:
 148          touch $chemin_param_fond/actif.txt
 149          chown www-se3 $chemin_param_fond/actif.txt
 150          
 151          #Pour que le script soit exécutable:
 152          touch $chemin_param_fond/parametres_generation_fonds.sh
 153          chown www-se3 $chemin_param_fond/parametres_generation_fonds.sh
 154          chmod 750 $chemin_param_fond/parametres_generation_fonds.sh
 155          #Sinon, il est généré via l'interface web, mais les chmod() ne fonctionnent pas très bien en PHP.
 156      fi
 157  fi
 158  
 159  affich_debug "===================================" >> $dossier_log/installation_$ladate}.log
 160  
 161  if [ ! -z "$erreur" ]; then
 162      mail_admin=$(ldapsearch -xLLL uid=admin mail | grep "^mail: " | sed -e "s/^mail: //")
 163      mail_ssmtp=$(grep "^root=" /etc/ssmtp/ssmtp.conf | cut -d"=" -f2)
 164  
 165      if [ ! -z "$mail_admin" ]; then
 166          mail $mail_admin -s "[Serveur SE3] Echec de l'installation de $erreur" < $dossier_log/installation_$ladate}.log
 167      fi
 168  
 169      if [ ! -z "$mail_ssmtp" ]; then
 170          mail $mail_ssmtp -s "[Serveur SE3] Echec de l'installation de $erreur" < $dossier_log/installation_$ladate}.log
 171      fi
 172  fi
 173  
 174  # Suppression du fichier de LOCK:
 175  rm -f $chemin_lock/installation_imagemagick_et_gsfonts.lck
 176  
 177  echo -e "$COLTXT"


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1