commit e253ff2a6848cceeb012f206bf23ddf39565a71d
Author: jenselme <julien.enselme@centrale-marseille.fr>
Date:   Sat Aug 3 15:01:21 2013 +0200

    Merge manuel performance
    
    Nom de variables plus explicite
    Ajout de init*.sh

diff --git a/bin/captcha.sh b/bin/captcha.sh
index 7abad833..0fbb1413 100644
--- a/bin/captcha.sh
+++ b/bin/captcha.sh
@@ -1,14 +1,19 @@
-#!/bin/bash
 #!/bin/sh
 PATH=/usr/local/bin:/usr/bin:/bin
 ##############
-# Sets hidden captcha configuration for all D7 websites. 
+# Sets hidden captcha configuration for all D7 websites.
 ##############
-cd /users/guest/assos/htmltest/sites
-for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
-  if [ -d $x -a ! -L $x ]; then
-    cd $x;
-      echo "Configuration hidden captcha pour "$x
+
+init_scripts.sh
+
+cd $d7_sites_dir
+
+for dir in $(ls)
+do
+  if [ -d $dir -a ! -L $dir ]
+  then
+      cd $dir;
+      echo "Configuration hidden captcha pour $x"
       # Enable hidden_captcha module.
       drush -y en hidden_captcha
       # Log wrong answers.
@@ -19,6 +24,6 @@ for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
       drush -y vdel captcha_placement_map_cache
       # Randomely generate a math question as the label of the hidden captcha field.
       drush -y vset hidden_captcha_label "$RANDOM + $RANDOM"
-    cd -;
+      cd -;
   fi
 done
diff --git a/bin/drushall b/bin/drushall
index a42c9d92..81c146b9 100644
--- a/bin/drushall
+++ b/bin/drushall
@@ -1,12 +1,14 @@
 #!/bin/sh
 PATH=/usr/local/bin:/usr/bin:/bin
 
+init_scripts.sh
+
 if [ $# -lt 1 ]; then
   echo "usage: $0 <drush args>"
   exit 1
 fi
 
-cd /users/guest/assos/html/sites
+cd $d7_sites_dir
 
 for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
   if [ -d $x -a ! -L $x ]; then
diff --git a/bin/drushcronone b/bin/drushcronone
index 2131393a..271191b7 100644
--- a/bin/drushcronone
+++ b/bin/drushcronone
@@ -6,6 +6,6 @@ if [ $# -lt 1 ]; then
   exit 1
 fi
 
-cd /users/guest/assos/html/sites/$*;
+cd "$d6_sites_dir/$*"
 pwd;
 drush cron;
diff --git a/bin/dump_site_atest_all b/bin/dump_site_atest_all
index c99dd807..28557d72 100644
--- a/bin/dump_site_atest_all
+++ b/bin/dump_site_atest_all
@@ -15,6 +15,6 @@ for dir in $(find . -maxdepth 1 -mindepth 1 -type d ! -name all )
 do
 	cd $dir
 	drush cc all
-	drush sql-dump --result-file="$backup_dir/$dir.dump$date.sql"
+	drush sql-dump --result-file="$backup_dir/$dir/$date.sql"
 	cd -
 done
diff --git a/bin/function.sh b/bin/function.sh
new file mode 100644
index 00000000..936bb995
--- /dev/null
+++ b/bin/function.sh
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+#Ce script doit contenir toutes les fonctions utiles aux scripts afin de pouvoir les rÃ©utiliser facilement.
+
+#permet de demander un mot de passe sans lâ€™afficher
+#NB : read -s ne fonctionne pas en sh
+# usage: pass=$(askpasswd "Tu me pretes ton mot de passe ?")
+askpasswd() {
+  echo $1 >&2
+  echo -n ">" >&2
+  stty_avant=$(stty -g)
+  stty -echo
+  read p
+  stty $stty_avant
+  echo "$p"
+  unset p
+}
+
+ask_password_bdd() {
+    #on rÃ©cupÃ¨re le mot de passe de la bdd, je ne prÃ©tends pas quâ€™il sâ€™agit de la meilleure mÃ©thode loin de lÃ .
+    #prend le nom du serveur et le nom dâ€™utilisateur comme argument.
+    # Pour ce faire, on va envoyer une requÃªte mysql vide.
+    local db_passwd="pourquemysqldemandepas"
+    #requÃªte mysql fantoche
+    #lâ€™option -h permet de sÃ©lectionner le serveur
+    #lâ€™option -e permet dâ€™exÃ©cuter la commande mysql qui suit (on met le mdp aprÃ¨s)
+    while ! mysql -h $1 -u $2 -p$db_passwd -e "" 2>/dev/null;
+    do
+	db_passwd=$(askpasswd "Entrer le mot de passe la base de donnÃ©e MySQL :")
+	echo ""
+    done
+}
+
+gen_password(){
+    #on gÃ©nÃ¨re le mdp
+    #        *avec des caractÃ¨res spÃ©ciaux*. On se protÃ¨ge du caractÃ¨re / qui
+    #signifie que lâ€™expression rÃ©guliÃ¨re de sed est finie (voir plus bas). On boucle
+    #tant que le mot de passe contient /
+    local site_passwd='/'
+    local passwd_size=20
+    while echo "$site_passwd" | grep -Fq '/'
+    do
+	site_passwd=`dd if=/dev/urandom count=1 | uuencode -m - | head -n 2 | tail -n 1 | cut -c-$passwd_size`
+    done
+
+    echo $site_passwd
+}
+
+
+d7_give_nb_sites(){
+    # Return the number of drupal 7 sites
+    find $d7_sites_dir -type d ! -name all -maxdepth 1 | wc -l
+}
diff --git a/bin/init_scripts.sh b/bin/init_scripts.sh
new file mode 100644
index 00000000..ffbd327e
--- /dev/null
+++ b/bin/init_scripts.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+#Ce script crÃ©e toutes les variables communes Ã  tous les sites
+scripts_location='/users/guest/assos/bin'
+
+web_dir='/users/guest/assos'
+manual_backup_dir='/users/guest/assos/Desktop/dump_individuels'
+
+d7_dir="$web_dir/htmltest"
+d7_sites_dir="$d7_dir/sites"
+d7_backup_dir='/users/guest/assos/Desktop/dump_d7'
+
+db_server="myassos.serv.int"
+db_user="assos"
+
+template_location="/users/guest/assos/Desktop"
+d7_template_name="settings-D7-bddinde-template.php"
+d7_template_settings="$template_location/$d7_template_name"
+
+###### Variable d6
+d6_backup_dir='/users/guest/assos/Desktop/dump_d6'
diff --git a/bin/init_scripts_site.sh b/bin/init_scripts_site.sh
new file mode 100644
index 00000000..d4a4e216
--- /dev/null
+++ b/bin/init_scripts_site.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+#Ce script initialise toutes les variables utiles dâ€™un site.
+#Il prend le nom du site en paramÃ¨tre
+#Il a besoin des variables de init_scripts.sh
+
+if [ -z "$web_dir" ] #test si $web_dir (variable de init_scripts.sh) est dÃ©finie
+then
+    echo "Import de init_scripts.sh requit"
+    exit 1
+fi
+
+site_name=$1 #plus explicite
+d7_site_dir="$d7_site_dir/assos.centrale-marseille.fr.$nom_site"
+d7_site_settings="$site_dir/settings.php"
diff --git a/bin/purge_des_sauvegardes.sh b/bin/purge_des_sauvegardes.sh
index 245bd783..96ac20af 100644
--- a/bin/purge_des_sauvegardes.sh
+++ b/bin/purge_des_sauvegardes.sh
@@ -1,67 +1,71 @@
 #!/bin/sh
 PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin
 
-##############
-# nlehuby - 05 juillet 2012
-# ce script permet de nettoyer périodiquement les différents répertoires où sont enregistrés les sauvegardes de base de données, afin de libérer de l'espace.
-##############
+init_scripts.sh
 
-######## sauvegardes individuelles ########
-#compte le nombre de sites d7 (en excluant les liens symboliques)
-cd /users/guest/assos/htmltest/sites
-let "nbsitesd7 = `ls -lF | grep -v 'all' | grep -v @ | wc -l`" >/dev/null ;
-#explications : l'option -F dans le ls permet de marquer les liens symboliques avec un @ ; le "grep -v @" permet donc d'ignorer les liens symboliques dans la liste fournie par ls. La commande wc permet de compter le nombre de lignes retournées. Le let permet de définir une variable qui soit un nombre (et pas une chaine de caractères)
+######## sauvegardes individuelles
 
-#va dans le dossier des sauvegardes individuelles
-cd /users/guest/assos/Desktop/dump_individuels
+#####
+# Ã€ rÃ©flÃ©chir
+#####
+# va dans le dossier des sauvegardes individuelles
+cd $manual_backup_dir
 
 #s'il y a plus de 2 x (le nombre de site d7) - 1 fichiers alors
-let "c=2*$nbsitesd7 - 1" >/dev/null  ;
-if [ $(ls -l | wc -l)  -gt  $c ] ; then
-    echo "je supprime des sauvegardes isolées"
-#supprime (le nombre de site d7) plus vieux fichiers
-    ls -tr | head -$nbsitesd7 | xargs rm;
+nb_sites_d7=$(d7_give_nb_sites)
+
+let "c=2*$nb_sites_d7 - 1" >/dev/null
 
-#sinon, alerte
+if [ $(ls -l | wc -l)  -gt  $c ]
+then
+    echo "je supprime des sauvegardes isolÃ©es"
+    #supprime (le nombre de site d7) plus vieux fichiers
+    ls -tr | head -$nbsitesd7 | xargs rm;
 else
-    echo "La purge des sauvegardes des sites individuelles d7 n'a pas pu être effectuée car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vérifier que le script de sauvegarde s'exécute correctement" | mail -s "[dump assos] On a des soucis avec les sauvegardes de bdd" assos@centrale-marseille.fr;
+    #sinon, alerte
+    echo "La purge des sauvegardes des sites individuelles n'a pas pu Ãªtre effectuÃ©e car il n'y avait pas assez de fichiers dans le dossier." | mail -s "[dump assos] Sauvegardes de bdd individuelles" assos@centrale-marseille.fr;
 
 fi
 echo `ls -l | wc -l `
-######## sauvegardes complètes d6 ########
-#va dans le site des sauvegardes complètes d6
-cd /users/guest/assos/Desktop/dump_d6
 
-#s'il y a plus de 15 fichiers alors
-if [ $(ls -l | wc -l)  -gt 15 ] ; then
+
+
+######## SAUVEGARDES COMPLÃˆTES
+#### sauvegardes complÃ¨tes d6
+#va dans le site des sauvegardes complÃ¨tes d6
+cd $d6_backup_dir
+
+nb_files=$(ls -l | wc -l)
+
+if [ $nb_files -gt 6 ]
+then
+    #s'il y a plus de 6 fichiers alors
     echo "je supprime du d6"
-#supprime les 3 fichiers les plus vieux
-    ls -tr | head -3 | xargs rm;
 
-#sinon, alerte
+    #supprime les assez de fichiers pour quâ€™il nâ€™en reste que trois
+    let "to_delete = $nb_files - 6"
+    ls -tr | head -$to_delete | xargs rm
 else
-    echo "La purge des sauvegardes complètes des bases de données drupal 6 n'a pas pu être effectuée car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vérifier que le script de sauvegarde s'exécute correctement" | mail -s "[dump assos] On a des soucis avec les sauvegardes de bdd" assos@centrale-marseille.fr ;
-
+    #sinon, alerte
+    echo "La purge des sauvegardes complÃ¨tes des bases de donnÃ©es drupal 6 n'a pas pu Ãªtre effectuÃ©e car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vÃ©rifier que le script de sauvegarde s'exÃ©cute correctement" | mail -s "[dump assos] Purge sauvegardes de bdd complÃ¨te d6" assos@centrale-marseille.fr ;
 fi
-echo `ls -l | wc -l `
-######## sauvegardes complètes d7 ########
-cd /users/guest/assos/htmltest/sites
-let "nbsitesd7 = `ls -lF | grep -v 'all' | grep -v @ | wc -l`" >/dev/null ;
-#explications : l'option -F dans le ls permet de marquer les liens symboliques avec un @ ; le "grep -v @" permet donc d'ignorer les liens symboliques dans la liste fournie par ls. La commande wc permet de compter le nombre de lignes retournées. Le let permet de définir une variable qui soit un nombre (et pas une chaine de caractères)
-
-#va dans le dossier des sauvegardes complÃ¨tes
-cd /users/guest/assos/Desktop/dump_d7
-
-#s'il y a plus de 3 x (le nombre de site d7)
-let "c=3*$nbsitesd7" >/dev/null  ;
-if [ $(ls -l | wc -l)  -gt  $c ] ; then
-    echo "je supprime des sauvegardes complÃ¨tes"
-#supprime (le nombre de site d7) plus vieux fichiers
-    ls -tr | head -$nbsitesd7 | xargs rm;
 
-#sinon, alerte
-else
-    echo "La purge des sauvegardes automatiques des sites d7 n'a pas pu être effectuée car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vérifier que le script de sauvegarde s'exécute correctement" | mail -s "[dump assos] On a des soucis avec les sauvegardes de bdd" assos@centrale-marseille.fr;
+echo $(ls -l | wc -l)
 
-fi
-echo `ls -l | wc -l `
+
+###### sauvegardes complÃ¨tes d7
+cd $d7_backup_dir
+
+for dir in $(ls)
+do
+    cd $dir
+    nb_files=$(ls | wc -l)
+    let "to_delete = nb_files - 3"
+    if [ $to_delete -gt 0 ]
+    then
+	ls | head -$to_delete | xargs rm
+    else
+	 echo "La purge des sauvegardes automatiques d7 dans $dir n'a pas pu Ãªtre effectuÃ©e car il n'y avait pas assez de fichiers dans le dossier. Il faudrait vÃ©rifier que le script de sauvegarde s'exÃ©cute correctement" | mail -s "[dump assos] $dir a des soucis de sauvegardes de bdd" assos@centrale-marseille.fr;
+    fi
+    cd -
+done
diff --git a/bin/reinit_var.sh b/bin/reinit_var.sh
index d0ff3a04..8f91e023 100644
--- a/bin/reinit_var.sh
+++ b/bin/reinit_var.sh
@@ -10,20 +10,10 @@ PATH=/usr/local/bin:/usr/bin:/bin
 ##############
 
 #installation drupal 7
-cd /users/guest/assos/htmltest/sites
 /users/guest/assos/bin/drushall_atest init #lance le script init_var pour toute l'installation d7
 
-	#gestion des exceptions d7
-for x in $(ls -1 | grep 'nonotest\|superadmin' ); do
-	if [ -d $x -a ! -L $x ]; then
-		echo $x
-		drush $x php-eval variable_set\(\'allow_authorize_operations\',TRUE\)\; 
-	fi
-done
-
 #installation drupal 6
 cd /users/guest/assos/html/sites
 /users/guest/assos/bin/drushall vset --always-set reverse_proxy TRUE
 /users/guest/assos/bin/drushall vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
 drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes
-
diff --git a/bin/reinit_var.sh.old b/bin/reinit_var.sh.old
deleted file mode 100644
index c5ae62ee..00000000
--- a/bin/reinit_var.sh.old
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-PATH=/usr/local/bin:/usr/bin:/bin
-
-
-##############
-# nlehuby - 20 mai 2012
-# ce script permet de rÃ©initialiser un certain nombre de variables et configurations. 
-# Plus d'info : http://ginfo.centrale-marseille.fr/wiki/index.php?title=Scripts_et_t%C3%A2ches_planifi%C3%A9es#la_r.C3.A9initialisation_des_variables_dangeureuses
-##############
-
-#installation drupal 7
-cd /users/guest/assos/htmltest/sites
-/users/guest/assos/bin/drushall_atest vset error_level 0 --yes 
-/users/guest/assos/bin/drushall_atest php-eval variable_set\(\'allow_authorize_operations\',FALSE\)\; 
-/users/guest/assos/bin/drushall_atest vset --always-set reverse_proxy TRUE
-/users/guest/assos/bin/drushall_atest vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
-drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes
-
-#installation drupal 6
-cd /users/guest/assos/html/sites
-/users/guest/assos/bin/drushall vset --always-set reverse_proxy TRUE
-/users/guest/assos/bin/drushall vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
-drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes
