Projet

Général

Profil

Scripts archives » Historique » Version 3

Florent Torregrosa, 17/08/2014 22:28
Fix link not interpreted and that no more exists

1 2 Florent Torregrosa
2 2 Florent Torregrosa
3 2 Florent Torregrosa
4 2 Florent Torregrosa
{{>toc}}
5 2 Florent Torregrosa
6 2 Florent Torregrosa
h2. La mise à jour des projets
7 2 Florent Torregrosa
8 2 Florent Torregrosa
Voici les différentes étapes réalisées :
9 2 Florent Torregrosa
# Activer partout le module _update_. C'est lui qui gère la vérification des versions, l'envoi de notifications par mail ainsi que les mises à jour via drush, il est donc indispensable qu'il soit activé.
10 2 Florent Torregrosa
# Lancer le cron pour que les sites sachent s'il y a des mises à jour à faire
11 2 Florent Torregrosa
# Supprimer le cache des sites pour réduire drastiquement la taille des bases de données sauvegardées.
12 2 Florent Torregrosa
# Exécuter le [[Scripts_et_taches_planifiees#dump.sh_and_co|script de sauvegarde des bases de données]]
13 2 Florent Torregrosa
# Vérifier les versions des projets et au besoin, mettre à jour leur code
14 2 Florent Torregrosa
# Exécuter la [[Utilisation_de_Drupal_multi-site#Mise_à_jour_de_la_base_de_données|mise à jour des bases de données]]
15 2 Florent Torregrosa
# Exécuter une nouvelle fois le cron
16 2 Florent Torregrosa
# Exécuter le [[Scripts_et_taches_planifiees#taille.sh|script de rapport sur la taille utilisée du disque]] et l'envoyer par mail au club Drupal
17 2 Florent Torregrosa
# Dater les logs et les sauvegarder au bon endroit
18 2 Florent Torregrosa
# Désactiver le module _update_ (vu qu'il est réactivé avant la mise à jour et que celle-ci a lieu toutes les semaines, il y a peu d'intérêt à le garder activé le reste du temps)
19 2 Florent Torregrosa
20 2 Florent Torregrosa
h2. La mise à jour des traductions
21 2 Florent Torregrosa
22 2 Florent Torregrosa
Sur les installations d6 et d7 : une fois par semaine le jeudi.
23 2 Florent Torregrosa
24 2 Florent Torregrosa
Voici les étapes effectuées :
25 2 Florent Torregrosa
# Activer partout le module _l10n_update_. C'est lui qui gère la mise à jour des traductions
26 2 Florent Torregrosa
# Vérifier s'il y a des nouvelles chaînes traduites disponibles
27 2 Florent Torregrosa
# Ajouter les nouvelles traductions disponibles
28 2 Florent Torregrosa
# Désactiver le module _l10n_update_
29 2 Florent Torregrosa
30 3 Florent Torregrosa
Pour drupal 6, les différentes instructions sont écrites directement dans le crontab. Pour drupal 7, on utilise source:bin/d7-all-update-localisation.sh dans le crontab.
31 2 Florent Torregrosa
32 2 Florent Torregrosa
h2. La réinitialisation des droits d'accès
33 2 Florent Torregrosa
34 2 Florent Torregrosa
Sur les installations d6 et d7 : toutes les semaines, après les D&D du club drupal
35 2 Florent Torregrosa
36 2 Florent Torregrosa
Cette tâche utilise le script [[Scripts_et_taches_planifiees#ch_mdp|ch_mdp]] afin de rétablir les droits d'accès recommandés par drupal sur 
37 2 Florent Torregrosa
* les dossiers des sites
38 2 Florent Torregrosa
* les settings.php des sites
39 2 Florent Torregrosa
40 2 Florent Torregrosa
h2. ch_mdp
41 2 Florent Torregrosa
42 2 Florent Torregrosa
Il a été écrit pour permettre de prendre acte de la modification du mot de passe de la base de données rapidement dans tous les settings.php (pour l’installation de drupal 6 uniquement, les sites drupal 7 étant chacun dans leur base de données).
43 2 Florent Torregrosa
44 2 Florent Torregrosa
Pour effectuer cette action, il faut donner l'ancien et le nouveau mot de passe en argument puis lancer le script.
45 2 Florent Torregrosa
46 2 Florent Torregrosa
Plus d'info sur comment ça marche en lisant http://fr.wikipedia.org/wiki/Stream_Editor#Utilisation_la_documentation_de_la_commande_sed et les commentaires laissés dans le code du script.
47 2 Florent Torregrosa
48 2 Florent Torregrosa
h3. Comment le lancer ?
49 2 Florent Torregrosa
50 2 Florent Torregrosa
Il suffit de taper <code>ch_mdp</code> n'importe où dans le compte assos.
51 2 Florent Torregrosa
52 2 Florent Torregrosa
h3. À quoi ça ressemble ?
53 2 Florent Torregrosa
54 2 Florent Torregrosa
<pre>
55 2 Florent Torregrosa
<code class="bash">
56 2 Florent Torregrosa
cd [drupal directory]/sites
57 2 Florent Torregrosa
58 2 Florent Torregrosa
for x in $(ls -1 | grep -v 'all'); do
59 2 Florent Torregrosa
	cd $x;
60 2 Florent Torregrosa
	fichier="settings.php" 
61 2 Florent Torregrosa
	chmod 600 $fichier
62 2 Florent Torregrosa
	mv $fichier $fichier.old
63 2 Florent Torregrosa
        #remplacer la première chaine après le / par l'ancien mot de passe, et la seconde chaine (après le deuxième /) par le nouveau mot de passe
64 2 Florent Torregrosa
	sed "s/$1/$2/g" < $fichier.old > $fichier
65 2 Florent Torregrosa
	chmod 400 $fichier
66 2 Florent Torregrosa
	echo "Verifier que le site fonctionne et appuyer sur la touche Entree pour continuer"
67 2 Florent Torregrosa
	read fake_variable
68 2 Florent Torregrosa
	rm $fichier.old
69 2 Florent Torregrosa
	cd ..
70 2 Florent Torregrosa
done
71 2 Florent Torregrosa
</code>
72 2 Florent Torregrosa
</pre>
73 2 Florent Torregrosa
74 1 Florent Torregrosa
h2. chk_perm
75 1 Florent Torregrosa
76 1 Florent Torregrosa
Ce script rétablit les permissions des dossiers des sites, des scripts et des settings.php. Il se lance tous les jours grâce au cron.
77 1 Florent Torregrosa
78 1 Florent Torregrosa
Il ressemble à ça :
79 1 Florent Torregrosa
<pre>
80 1 Florent Torregrosa
<code class="bash">
81 1 Florent Torregrosa
cd [drupal directory]/sites
82 1 Florent Torregrosa
83 1 Florent Torregrosa
for dir in $(find . -type d -maxdepth 1 ! -name all)
84 1 Florent Torregrosa
do
85 1 Florent Torregrosa
    chmod 755 $dir
86 1 Florent Torregrosa
    cd $dir
87 1 Florent Torregrosa
    chmod 400 settings.php
88 1 Florent Torregrosa
    cd -
89 1 Florent Torregrosa
done
90 1 Florent Torregrosa
</code>
91 1 Florent Torregrosa
</pre>
92 1 Florent Torregrosa
93 1 Florent Torregrosa
h2. dis_tiers.sh et en_tiers.sh
94 1 Florent Torregrosa
95 1 Florent Torregrosa
Créé en juillet 2011 dans le cadre de [[De_Drupal6_vers_Drupal7|la migration de d6 à d7]], ces scripts permettent respectivement de désactiver et réactiver tous les modules tiers (c'est-à-dire les modules qui ne font pas partie du noyau / core de drupal, ceux qui sont installé dans sites/all/modules).
96 1 Florent Torregrosa
97 1 Florent Torregrosa
En effet, il s'agit de deux étapes indipensables pour la migration d'un site.
98 1 Florent Torregrosa
99 1 Florent Torregrosa
h3. Comment les lancer ?
100 1 Florent Torregrosa
101 1 Florent Torregrosa
Il suffit de taper "dis_tiers.sh" ou "en_tiers.sh" dans le dossier du site en question.
102 1 Florent Torregrosa
103 1 Florent Torregrosa
h3. À quoi ça ressemble ?
104 1 Florent Torregrosa
105 1 Florent Torregrosa
<pre>
106 1 Florent Torregrosa
<code class="bash">
107 1 Florent Torregrosa
##dis_tiers.sh
108 1 Florent Torregrosa
#écrire le nom des modules non core dans un fichier
109 1 Florent Torregrosa
drush pml |grep -v Core* | grep Module | grep Enabled > fichier.temp
110 1 Florent Torregrosa
sed -e 's/\(.*(\)\(.*\)\().*\)/\2/' fichier.temp > modules_tiers.txt
111 1 Florent Torregrosa
#désactiver ces modules
112 1 Florent Torregrosa
for line in $(cat modules_tiers.txt); do drush dis -y "$line" ; done  
113 1 Florent Torregrosa
#effacer les fichiers créés
114 1 Florent Torregrosa
rm fichier.temp
115 1 Florent Torregrosa
116 1 Florent Torregrosa
##en_tiers.sh
117 1 Florent Torregrosa
#activer ces modules du fichier texte
118 1 Florent Torregrosa
for line in $(cat modules_tiers.txt); do drush en -y "$line" ; done 
119 1 Florent Torregrosa
</code>
120 1 Florent Torregrosa
</pre>
121 1 Florent Torregrosa
122 1 Florent Torregrosa
NB : dis_tiers.sh crée un fichier texte contenant la liste des modules tiers qui étaient activés sur le site. Il faut donc :
123 1 Florent Torregrosa
* Avoir des droits d'écriture sur le dossier du site pour l'exécuter
124 1 Florent Torregrosa
* Penser à supprimer ce fichier et à remettre les droits correctement (par exemple en lançant le script [[Scripts_et_taches_planifiees#ch_mdp|ch_mdp ]]) après.
125 1 Florent Torregrosa
126 1 Florent Torregrosa
h2. drushall and co
127 1 Florent Torregrosa
128 1 Florent Torregrosa
Pour administrer tous les sites du multi-site en une seule fois, nous avons créé un script à partir de drush.
129 1 Florent Torregrosa
Il s'utilise comme drush, mais effectue la commande drush tapée sur tous les sites de l'installation un par un.
130 1 Florent Torregrosa
131 1 Florent Torregrosa
h3. Comment on le lance ?
132 1 Florent Torregrosa
133 1 Florent Torregrosa
Sur l'installation d6, on lance <code>drushall</code> n'importe où.
134 1 Florent Torregrosa
135 1 Florent Torregrosa
Sur l'installation d7, on lance <code>drushall_atest</code> n'importe où.
136 1 Florent Torregrosa
137 1 Florent Torregrosa
h3. À quoi ça ressemble ?
138 1 Florent Torregrosa
139 1 Florent Torregrosa
<pre>
140 1 Florent Torregrosa
<code class="bash">
141 1 Florent Torregrosa
#~/bin/sh
142 1 Florent Torregrosa
# si pas d'arguments :
143 1 Florent Torregrosa
if [ $# -lt 1 ]; then
144 1 Florent Torregrosa
  echo "usage: $0 <drush args>"
145 1 Florent Torregrosa
  exit 1
146 1 Florent Torregrosa
fi
147 1 Florent Torregrosa
148 1 Florent Torregrosa
cd [drupal directory]/sites
149 1 Florent Torregrosa
150 1 Florent Torregrosa
for x in $(ls -1 | grep -v 'all'); do
151 1 Florent Torregrosa
  if [ -d $x -a ! -L $x ]; then
152 1 Florent Torregrosa
    cd $x;
153 1 Florent Torregrosa
    echo $x
154 1 Florent Torregrosa
    drush $*
155 1 Florent Torregrosa
    cd -;
156 1 Florent Torregrosa
  fi
157 1 Florent Torregrosa
done
158 1 Florent Torregrosa
</code>
159 1 Florent Torregrosa
</pre>
160 1 Florent Torregrosa
161 1 Florent Torregrosa
h2. drushcronone
162 1 Florent Torregrosa
163 1 Florent Torregrosa
h3. Histoire
164 1 Florent Torregrosa
165 1 Florent Torregrosa
Ce script a été introduit pour la version 6 du projet essentiellement pour améliorer les performances : au lieu de faire un wget sur le cron.php d'un site, valait mieux exécuter le script _en interne_.
166 1 Florent Torregrosa
167 1 Florent Torregrosa
h3. Besoin
168 1 Florent Torregrosa
169 1 Florent Torregrosa
La version 7 du projet en a besoin plus que jamais ! puisque le cron.php n'est plus 'wget'able sans une chaîne de codes à ajouter à l'url publique, sinon il faut avoir les droits nécessaires.
170 1 Florent Torregrosa
171 1 Florent Torregrosa
h3. Usage
172 1 Florent Torregrosa
173 1 Florent Torregrosa
Donc pour exécuter le cron pour un seul site, il suffit de donner le nom du répertoire.
174 1 Florent Torregrosa
Exemple : <code>drushcronone assos.centrale-marseille.fr.cac13</code>
175 1 Florent Torregrosa
176 1 Florent Torregrosa
Q : Où est ce que ce script est le plus utilisé ?
177 1 Florent Torregrosa
178 1 Florent Torregrosa
R : Dans les tâches planifiés (crontab) bien sûr !
179 1 Florent Torregrosa
180 1 Florent Torregrosa
h2. dump.sh and co
181 1 Florent Torregrosa
182 1 Florent Torregrosa
Tous ces scripts se lancent n'importe où.
183 1 Florent Torregrosa
184 1 Florent Torregrosa
h3. Dump pour drupal 6
185 1 Florent Torregrosa
186 1 Florent Torregrosa
h4. Sauvegarder uniquement les tables d'un site
187 1 Florent Torregrosa
188 1 Florent Torregrosa
On a créé des scripts qui permettent de sauvegarder uniquement les tables associés à un site (et non toute la base).
189 1 Florent Torregrosa
190 1 Florent Torregrosa
Ils se lancent n'importe où (mais attention, la sauvegarde est effectuée là où il est lancé, donc à ne pas lancer dans dossier accessible par n'importe qui !) en tapant <code>dump_site nom_de_site</code> (d6) ou <code>dump_site_atest nom_du_site</code> (d7). Le nom du site à fournir est le préfixe utilisé dans la base de données.
191 1 Florent Torregrosa
192 1 Florent Torregrosa
Ils **ressemblent** à :
193 1 Florent Torregrosa
<pre>
194 1 Florent Torregrosa
<code class="bash">
195 1 Florent Torregrosa
#récupération des tables du site dans le fichier liste_tables.temp
196 1 Florent Torregrosa
tables='_%'
197 1 Florent Torregrosa
liste="$1$tables"
198 1 Florent Torregrosa
199 1 Florent Torregrosa
mysql -h serveur -u utilisateur --password=super_mot-de-passe -BNe "show tables like '"$liste"'" base_de_données | tr '\r\n' ' ' > liste_tables.temp
200 1 Florent Torregrosa
201 1 Florent Torregrosa
#transformation de cette liste en une variable
202 1 Florent Torregrosa
var=$(cat liste_tables.temp)
203 1 Florent Torregrosa
204 1 Florent Torregrosa
#sauvegarde de toutes ces tables
205 1 Florent Torregrosa
suffixe="_dump.sql"
206 1 Florent Torregrosa
fichier="$1$suffixe"
207 1 Florent Torregrosa
208 1 Florent Torregrosa
mysqldump base_de_données -h serveur -u utilisateur --password=super_mot-de-passe $var > $fichier
209 1 Florent Torregrosa
210 1 Florent Torregrosa
#suppression du fichier temporaire utilisé
211 1 Florent Torregrosa
rm liste_tables.temp
212 1 Florent Torregrosa
</code>
213 1 Florent Torregrosa
</pre>
214 1 Florent Torregrosa
215 1 Florent Torregrosa
h4. Tout sauvegarder
216 1 Florent Torregrosa
217 1 Florent Torregrosa
Pour drupal 6, on a un script qui réalise la sauvegarde de toute la base en une seule fois : <code> dump.sh</code>. Il **ressemble** à ça :
218 1 Florent Torregrosa
<pre>
219 1 Florent Torregrosa
<code class="bash">
220 1 Florent Torregrosa
mysqldump nom_de_la_base -h serveur -u utilisateur --password=super_mot_de_passe_trop_bien > ~/chemin_vers_la/sauvegarde.dump.sql
221 1 Florent Torregrosa
</code>
222 1 Florent Torregrosa
</pre>
223 1 Florent Torregrosa
224 1 Florent Torregrosa
h3. Dump pour drupal 7
225 1 Florent Torregrosa
226 1 Florent Torregrosa
Pour drupal 7, on a un script plus complet : <code>dump_site_atest_all</code> qui repose sur @drush sql-dump@ :
227 1 Florent Torregrosa
228 1 Florent Torregrosa
<pre>
229 1 Florent Torregrosa
<code class="bash">
230 1 Florent Torregrosa
#!/bin/sh
231 1 Florent Torregrosa
PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin
232 1 Florent Torregrosa
233 1 Florent Torregrosa
sites_dir=~/htmltest/sites
234 1 Florent Torregrosa
backup_dir=~/Desktop/dump_d7
235 1 Florent Torregrosa
date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
236 1 Florent Torregrosa
237 1 Florent Torregrosa
cd $sites_dir
238 1 Florent Torregrosa
239 1 Florent Torregrosa
#Cherche dans le sous répertoire du répertoire courant sauf dans le sous répertoire
240 1 Florent Torregrosa
# all et dans les liens.
241 1 Florent Torregrosa
for dir in $(find . -maxdepth 1 -mindepth 1 -type d ! -name all )
242 1 Florent Torregrosa
do
243 1 Florent Torregrosa
    cd $dir
244 1 Florent Torregrosa
    drush sql-dump --result-file="$backup_dir/$dir.dump$date.sql"
245 1 Florent Torregrosa
    cd -
246 1 Florent Torregrosa
done
247 1 Florent Torregrosa
</code>
248 1 Florent Torregrosa
</pre>
249 1 Florent Torregrosa
250 1 Florent Torregrosa
Ce script s’exécute une fois par semaine.
251 1 Florent Torregrosa
252 1 Florent Torregrosa
h2. maj.sh
253 1 Florent Torregrosa
254 1 Florent Torregrosa
Ce script est principalement constitué d'une suite de commandes drush et d'appels à d'autres scripts du projet.
255 1 Florent Torregrosa
256 1 Florent Torregrosa
Plus d'info sur les étapes précises dans les commentaires du script lui-même et dans le [[Scripts_et_taches_planifiees#la_mise_à_jour_des_projets|paragraphe suivant]].
257 1 Florent Torregrosa
258 1 Florent Torregrosa
h3. Comment le lancer ?
259 1 Florent Torregrosa
260 1 Florent Torregrosa
<code>maj.sh</code> ou <code>maj_d7.sh</code>, n'importe où.
261 1 Florent Torregrosa
262 1 Florent Torregrosa
NB : il faut que le module _update_ soit activé sur tous les sites de l'installation pour que ce script fonctionne.
263 1 Florent Torregrosa
264 1 Florent Torregrosa
h2. usep
265 1 Florent Torregrosa
266 1 Florent Torregrosa
Ce script a été créé dans le cadre de la [[De_Drupal6_vers_Drupal7|migration de drupal 6 à drupal 7]] mais peut être utilisé pour des tas de choses : il permet de savoir quels sont les sites qui utilisent (c'est-à-dire qui ont activé) un projet donné.
267 1 Florent Torregrosa
268 1 Florent Torregrosa
Pour le moment, il n'est fonctionnel que pour drupal 6, mais peut être adapté sans mal à drupal 7.
269 1 Florent Torregrosa
270 1 Florent Torregrosa
h3. Comment le lancer ?
271 1 Florent Torregrosa
272 1 Florent Torregrosa
Taper <code>usep projet</code> dans n'importe quel dossier de site de l'installation drupal 6.
273 1 Florent Torregrosa
274 1 Florent Torregrosa
h3. À quoi ça ressemble ?
275 1 Florent Torregrosa
276 1 Florent Torregrosa
(quelques  commentaires sont également dispo directement dans le script pour mieux comprendre son fonctionnement)
277 1 Florent Torregrosa
<pre>
278 1 Florent Torregrosa
<code class="bash">
279 1 Florent Torregrosa
#si pas d'argument donnés :
280 1 Florent Torregrosa
if [ $# -lt 1 ]; then
281 1 Florent Torregrosa
  echo "usage: $0 <drush args>"
282 1 Florent Torregrosa
  exit 1
283 1 Florent Torregrosa
fi
284 1 Florent Torregrosa
285 1 Florent Torregrosa
286 1 Florent Torregrosa
cd [drupal_directory]/sites
287 1 Florent Torregrosa
288 1 Florent Torregrosa
289 1 Florent Torregrosa
for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
290 1 Florent Torregrosa
  if [ -d $x -a ! -L $x ]; then
291 1 Florent Torregrosa
    cd $x;
292 1 Florent Torregrosa
    if [ 1 = `drush pml --no-core --status=enabled | grep $1 | wc -l` ]; then
293 1 Florent Torregrosa
             echo $x; 
294 1 Florent Torregrosa
            fi
295 1 Florent Torregrosa
    cd -;
296 1 Florent Torregrosa
  fi
297 1 Florent Torregrosa
done
298 1 Florent Torregrosa
</code>
299 1 Florent Torregrosa
</pre>
300 1 Florent Torregrosa
301 1 Florent Torregrosa
h2. Taille.sh
302 1 Florent Torregrosa
303 1 Florent Torregrosa
Ce script utilise la commande <code>du -hcs</code> pour retourner l'espace disque utilisé sur le compte assos, ainsi que sa répartition dans les différents répertoires des sites).
304 1 Florent Torregrosa
305 1 Florent Torregrosa
Ce script est notamment utilisé à la fin du script de mise à jour de projet ; son résultat est envoyé par mail au club drupal pour vérification.
306 1 Florent Torregrosa
307 1 Florent Torregrosa
h2. init_var.sh
308 1 Florent Torregrosa
309 1 Florent Torregrosa
Ce script permet d'initialiser des configurations et variables dangereuses, pour l'installation drupal 7. Il faut le lancer après chaque installation de sous-site.
310 1 Florent Torregrosa
311 1 Florent Torregrosa
h3. Comment le lancer ?
312 1 Florent Torregrosa
313 1 Florent Torregrosa
Taper <code>init_var.sh</code> (ou <code>drush init</code>) dans le dossier du site.
314 1 Florent Torregrosa
315 1 Florent Torregrosa
h3. À quoi ça ressemble ?
316 1 Florent Torregrosa
317 1 Florent Torregrosa
<pre>
318 1 Florent Torregrosa
<code class="bash">
319 1 Florent Torregrosa
drush vset error_level 0 --yes
320 1 Florent Torregrosa
</code>
321 1 Florent Torregrosa
</pre>
322 1 Florent Torregrosa
323 1 Florent Torregrosa
Cette commande permet de ne pas afficher les messages d'erreurs aux utilisateurs autre que les administrateurs. En effet, ils contiennent parfois des informations sensibles sur l'installation et ne doivent donc pas être divulguées à n'importe qui.
324 1 Florent Torregrosa
325 1 Florent Torregrosa
<pre>
326 1 Florent Torregrosa
<code class="php">
327 1 Florent Torregrosa
drush php-eval variable_set\(\'allow_authorize_operations\',FALSE\)\; 
328 1 Florent Torregrosa
</code>
329 1 Florent Torregrosa
</pre>
330 1 Florent Torregrosa
331 1 Florent Torregrosa
Cette commande  permet de ne pas autoriser les utilisateurs à installer et mettre à jour des modules via l'interface du site (fonctionnalité introduite dans drupal7). En effet, seul le club Drupal maintient les codes des projet, afin d'en garantir la pérennité.
332 1 Florent Torregrosa
333 1 Florent Torregrosa
<pre>
334 1 Florent Torregrosa
<code class="bash">
335 1 Florent Torregrosa
drush vset --always-set reverse_proxy TRUE
336 1 Florent Torregrosa
drush vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
337 1 Florent Torregrosa
</code>
338 1 Florent Torregrosa
</pre>
339 1 Florent Torregrosa
340 1 Florent Torregrosa
Ces commandes permettent de déclarer à drupal les serveurs proxy du CRI afin d'éviter qu'il ne répertorie tous les visiteurs comme ayant l'adresse des sus-cités serveurs. Pour plus d'info, voir le mail de dgeo du 15 mai 2012.
341 1 Florent Torregrosa
<pre>
342 1 Florent Torregrosa
<code>
343 1 Florent Torregrosa
drush ev "variable_set('update_notify_emails', array('coucouuu@example.com'));"
344 1 Florent Torregrosa
</code>
345 1 Florent Torregrosa
</pre>
346 1 Florent Torregrosa
347 1 Florent Torregrosa
Cette commande permet de modifier l'adresse de la personne qui recevra des notifications lorsqu'une nouvelle mise à jour (projet ou noyau drupal) est disponible (NB : c'est le module (du noyau) _update_ qui gère ces envois, s'il est désactivé, aucune vérification des versions n'est effectuée)
348 1 Florent Torregrosa
Pour ne pas déranger les webmasters avec ceci, il faut mettre l'adresse du club drupal.
349 1 Florent Torregrosa
350 1 Florent Torregrosa
h2. reinit_var.sh
351 1 Florent Torregrosa
352 1 Florent Torregrosa
Ce script est utilisé pour réinitialiser des configurations et variables dangereuses sur tous les sites.
353 1 Florent Torregrosa
354 1 Florent Torregrosa
Des informations détaillées sont disponibles dans [[Scripts_et_taches_planifiees#la_réinitialisation_des_variables_dangeureuses|ce paragraphe]].
355 1 Florent Torregrosa
356 1 Florent Torregrosa
h3. Comment le lancer ?
357 1 Florent Torregrosa
358 1 Florent Torregrosa
Taper <code>reinit_var.sh</code> n'importe où.
359 1 Florent Torregrosa
360 1 Florent Torregrosa
h2. purge_des_sauvegardes.sh
361 1 Florent Torregrosa
362 1 Florent Torregrosa
Ce script permet de supprimer les vieilles sauvegardes de base de données, afin de libérer de l'espace disque.
363 1 Florent Torregrosa
364 1 Florent Torregrosa
Le script nettoie les sauvegardes de sites individuels et les sauvegardes des bases de données complètes d6 et d7.
365 1 Florent Torregrosa
366 1 Florent Torregrosa
h3. Comment le lancer ?
367 1 Florent Torregrosa
368 1 Florent Torregrosa
Il suffit de taper <code>purge_des_sauvegardes.sh</code> n'importe où dans le compte assos.
369 1 Florent Torregrosa
370 1 Florent Torregrosa
h3. À quoi ça ressemble ?
371 1 Florent Torregrosa
372 1 Florent Torregrosa
<pre>
373 1 Florent Torregrosa
<code class="bash">
374 1 Florent Torregrosa
cd [dump directory]
375 1 Florent Torregrosa
376 1 Florent Torregrosa
if [ $(ls -l | wc -l)  -gt YY ] ; then # s'il y a plus de YY fichiers alors
377 1 Florent Torregrosa
378 1 Florent Torregrosa
ls -tr | head -XX | xargs rm; #supprime les XX fichiers les plus vieux
379 1 Florent Torregrosa
380 1 Florent Torregrosa
else # sinon, alerte
381 1 Florent Torregrosa
382 1 Florent Torregrosa
echo "mon message d'erreur" | mail -s "[dump assos] mon message d'erreur" assos@centrale-marseille.fr ;
383 1 Florent Torregrosa
384 1 Florent Torregrosa
fi
385 1 Florent Torregrosa
</code>
386 1 Florent Torregrosa
</pre>
387 1 Florent Torregrosa
388 1 Florent Torregrosa
{{important(Ce script supprime les x sauvegardes les plus vieilles de chaque catégorie (sites d7, tout d6, tout d7), sans aucune notion de temps. Cela implique que si des sauvegardes ont été faites manuellement, des sauvegardes automatiques plus vieilles seront supprimées (alors qu'elles ne sont pas nécessairement périmées !))}}
389 1 Florent Torregrosa
390 1 Florent Torregrosa
h2. drushall_atest_logged
391 1 Florent Torregrosa
392 1 Florent Torregrosa
Pour faire des commandes drush et quelles soient logguées par site dans le dossier Desktop/log/d7/nom_du_site.log
393 1 Florent Torregrosa
394 1 Florent Torregrosa
h1. Anciennes entrées du crontab
395 1 Florent Torregrosa
396 1 Florent Torregrosa
Ces entrées ne sont plus nécessaires mais conservées pour archive :
397 1 Florent Torregrosa
398 1 Florent Torregrosa
* 03 03 * * *     /users/guest/assos/bin/drushall cron
399 1 Florent Torregrosa
* * */23 * * * echo "le crontab sas1 fonctionne, supprimer celui de scylla mnt !" | mail -s "sas1 is talking to you" assos