Projet

Général

Profil

Révision d52a5b2f

Ajouté par Julien Enselme il y a plus de 10 ans

Sprint réécriture des scripts

Les scripts ont été renommés et réécrits conformément à une convention
afin de les rendre plus modulables.

Voir les différences:

bin/all-reset-permissions.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# This script puts the correct permissions to sites folders, settings.php and scripts.
6

  
7
######### drupal 6
8
for dir in `find $d6_dir_sites -type d -maxdepth 1 -mindepth 1 ! -name all ! -name images ! -name languages` ; do
9
    chmod 755 $dir
10
    chmod 400 $dir/settings.php
11
done
12

  
13
######### drupal 7
14
for dir in `find $d7_dir_sites -type d -maxdepth 1 -mindepth 1 ! -name all` ; do
15
    chmod 755 $dir
16
    chmod 400 $dir/settings.php
17
done
18

  
19
####### bin
20
chmod -R 700 $dir_scripts
21

  
22
####### backup
23
chmod -R 700 $dir_backup
24

  
25
####### log
26
chmod -R 700 $dir_log
bin/captcha.sh
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3
##############
4
# Sets hidden captcha configuration for all D7 websites.
5
##############
6

  
7
init_scripts.sh
8

  
9
cd $d7_sites_dir
10

  
11
for dir in $(ls)
12
do
13
  if [ -d $dir -a ! -L $dir ]
14
  then
15
      cd $dir;
16
      echo "Configuration hidden captcha pour $x"
17
      # Enable hidden_captcha module.
18
      drush -y en hidden_captcha
19
      # Log wrong answers.
20
      drush -y vset captcha_log_wrong_responses 1
21
      # Use hidden captcha for all forms.
22
      drush -y sqlq --db-prefix "UPDATE {captcha_points} SET module = 'hidden_captcha', captcha_type = 'Hidden CAPTCHA' WHERE module is NULL;"
23
      # Flush captcha cache.
24
      drush -y vdel captcha_placement_map_cache
25
      # Randomely generate a math question as the label of the hidden captcha field.
26
      drush -y vset hidden_captcha_label "$RANDOM + $RANDOM"
27
      cd -;
28
  fi
29
done
bin/ch_mdp
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4
##############
5
# nlehuby - 2 décembre 2011
6
# ce script permet de changer le mot de passe de la base de données dans les fichiers settings.php de l'installation drupal 6 et drupal 7.
7
##############
8
#prend l’ancien et le nouveau mpd en paramètre
9
#drupal 6
10
cd /users/guest/assos/html/sites
11

  
12
for x in $(ls -1 | grep -v 'all'); do
13
	cd $x;
14
	fichier="settings.php"
15
	chmod 600 $fichier
16
	mv $fichier $fichier.old
17
	 #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
18
	sed "s/$1/$2/g" < $fichier.old > $fichier
19
	chmod 400 $fichier
20
	echo "Verifier que le site fonctionne et appuyer sur la touche Entree pour continuer"
21
	read fake_variable
22
	rm $fichier.old
23
	cd ..
24
done
bin/chk_perm
1
#!/bin/sh
2

  
3
# This script puts the correct permissions to sites folders, settings.php and scripts
4

  
5
######### drupal 6
6
cd /users/guest/assos/html/sites
7

  
8
for dir in $(find . -type d -maxdepth 1 ! -name all ! -name images ! -name languages)
9
do
10
    chmod 755 $dir
11
    cd $dir
12
    chmod 400 settings.php
13
    cd -
14
done
15

  
16
######### drupal 7
17
cd /users/guest/assos/htmltest/sites
18

  
19
for dir in $(find . -type d -maxdepth 1 ! -name all)
20
do
21
    chmod 755 $dir
22
    cd $dir
23
    chmod 400 settings.php
24
    cd -
25
done
26

  
27
####### bin
28
chmod -R 700 /users/guest/assos/bin
bin/contrib-usage.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-utils.sh
5

  
6
help="# ARGS: Drupal_version, project_status, project_name\n
7
# List sites that have the project_name with the corresponding project_status.\n
8
# project status: enabled or disabled"
9

  
10
check_arguments $# 3 "$help"
11

  
12
if [ $1 = d6 ] ; then
13
    cd $d6_dir_sites
14
else
15
    cd $d7_dir_sites
16
fi
17

  
18
for dir in `find . -maxdepth 1 -mindepth 1 -type d ! -name all ! -name languages ! -name images | sort ` ; do
19
    # List non-core projects that correspond to the status.
20
    # Keep project_name if listed.
21
    # Count line result. 0 if not listed or 1 if listed.
22
	# Print site_dir if listed.
23

  
24
    cd $dir;
25
	if [ 1 -eq `drush pml --no-core --status=$2 | grep $3 | wc -l` ] ; then
26
        echo $dir;
27
    fi
28
    cd -
29
done
bin/creation_sites_D7.sh
1
#!/bin/sh
2

  
3
# Ce script est une automatisation de ce qui est détaillé ici :
4
 #https://forge.centrale-marseille.fr/projects/clubdrupal/wiki/Utilisation_de_Drupal_multi-site#Cr%C3%A9ation-du-site-drupal-7
5
# Ce script ne crée que des sites sur le sous domaine assos.
6

  
7

  
8
# Prend comme paramètre le nom du site
9
# On génère le mot de passe
10
# On se place dans le home de asso en début de script
11
# Les fichiers par défaut sont sur le bureau de assos
12
init_scripts.sh
13
init_scripts_site.sh $1
14

  
15

  
16
######## Exceptions
17
#On vérifie que le nom du site est bien passé en argument.
18
if [ -z $1 ]
19
then
20
    echo 'Le nom du site doit être donné en paramètre'
21
    echo 'creation_site_D7.sh NOM_SITE'
22
    exit 1
23
fi
24

  
25
#si le nom contient '-' on arrête le script car les instructions concernant la
26
#base de données ne supportent pas ce caractère.
27
if $(echo $1 | grep -)
28
then
29
	echo 'Le nom du site ne doit pas contenir le caractère -'
30
	exit 1
31
fi
32

  
33
#On vérifie que la longueur du nom du site est <= 16 caractères. Sinon mysql ne peut pas créer l’utilisateur
34
if [ $(echo $1 | wc -n) -le 16 ]
35
then
36
    echo 'Le nom du site ne peut exéder 16 caractères'
37
    exit 1
38
fi
39

  
40
###### Initialisation
41
cd $d7_dir
42
db_passwd=`ask_password_bdd $nom_serveurbdd $user_bdd`
43
site_passwd=`gen_password`
44
nom_site=$1
45

  
46

  
47
# Précautions
48
# - On teste si le dossier existe déjà, s’il n’existe pas, on s’arrête
49
# - On vérifie que la base de données n’existe pas
50

  
51
#Vérifie base de données
52
if mysql -h $db_server -u $db_user -e "USE $nom_site" -p$db_passwd 2>/dev/null
53
then
54
    echo "La base de donnée existe déjà"
55
    exit 1
56
fi
57

  
58

  
59
#On vérifie pour le dossier
60
if [ -d $d7_site_dir ]
61
then
62
    echo "Le dossier $site_rep existe déjà"
63
    exit 1
64
fi
65

  
66

  
67
###### Main
68
#on crée le dossier
69
mkdir $d7_site_dir
70

  
71
# on crée ce qu’il faut pour les sauvegardes
72
mkdir $d7_backup_dir/$site_name
73
date=$(date "+%Y-%m-%d-%Hh%Mm%Ss")
74
touch $d7_backup_dir/$site_name/date.sql
75
touch $d7_backup_dir/$site_name/date.sql
76
touch $d7_backup_dir/$site_name/date.sql
77

  
78
#mysql (besoin du mot de passe assos)
79
mysql -h $db_server -u $db_user -e "CREATE DATABASE $nom_site" -p$db_passwd
80

  
81
#la ligne suivante vient de http://www.siteduzero.com/tutoriel-3-613143-syntaxe-sql-et-premieres-commandes.html
82
#voir là-bas pour les explications
83
mysql -h $db_server -u $db_user -e "GRANT ALL PRIVILEGES ON $1.* TO '$site_name'@'%' IDENTIFIED BY '$site_passwd'" -p$db_passwd
84

  
85

  
86

  
87
#on veut modifer le nom de la base de donnée (%%DBNAME%%), le nom de l’utilisateur (%%DBUSER%%), son mot de passe (%%DBPASS%%) et base_url (%%nomdusite%%)
88
sed "s/\%\%DBUSER\%\%/$nom_site/ ; s/\%\%DBNAME\%\%/$nom_site/ ; s/\%\%DBPASS\%\%/$mdp_site/ ; s/\%\%nomsite\%\%/$nom_site/" < $d7_template_settings > $d7_site_settings
89

  
90
#on crée le lien symbolique (on doit se placer dans le bon répertoire !)
91
cd $d7_site_dir
92
cd ./../..
93
ln -s . $site_name
94

  
95
#On affiche le lien
96
echo "Suivez les instructions de http://assos.centrale-marseille.fr/$nom_site/install.php pour continuer."
97
echo "Pressez entrée une fois les actions effectuées"
98
read touche
99

  
100
#On appelle init_var.sh
101
cd $d7_site_dir
102
init_var.sh
103

  
104
#on met les bons droits unix
105
chmod -R 755 $d7_site_dir
106
chmod 400 $d7_site_settings
107

  
108
#On donne les dernières instructions
109
echo "Quelques dernières instructions :"
110
echo "- Conseiller à l'administrateur de ne pas laisser les inscriptions ouvertes à son site"
111
echo "- Donner à l'administrateur le lien des tutoriels écrits par le club Drupal "
112
echo "\n"
113
echo "Référencement du site"
114
echo "- créer un contenu de type \"Site\" sur la page du projet multiassos"
115
echo "- demander à l'administrateur du site de s’inscrire sur la liste de diffusion webmasters@listes.centrale-marseille.fr (l’inscription est automatique)"
bin/d6-all-drush.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-utils.sh
5

  
6
help="# ARGS: drush_command"
7

  
8
check_arguments $# 1 "$help"
9

  
10
for dir in `find $d6_dir_sites -maxdepth 1 -mindepth 1 -type d ! -name all ! -name languages ! -name images | sort` ; do
11
    cd $dir
12
    echo $dir
13
    drush $*
14
done
bin/d6-all-dump-full.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
6

  
7
# Dump D6 database with webassos user.
8
mysqldump --single-transaction webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY > $d6_dir_full_backup/webassos/$current_date.webassos.sql
9

  
10
# Dump D6 form database with forum user.
11
mysqldump forum -h myweb.serv.int -u forum --password=dtcAltF12 > $d6_dir_full_backup/forum/$current_date.forum.sql
bin/d6-all-reset-variables.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
cd $d6_dir_sites
6
d6-all-drush.sh vset --always-set reverse_proxy TRUE
7
d6-all-drush.sh vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
8
drush @sites -y ev "variable_set('update_notify_emails', array('@email_multi_assos'));"
bin/d6-all-update-contrib.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
d6-all-drush.sh -y en update
6
# Launch cron to check for updates.
7
d6-all-drush.sh -q cron
8

  
9
d6-all-drush.sh cc all
10
d6-all-dump-full.sh
11

  
12
d6-all-drush.sh -y upc --no-core
13
d6-all-drush.sh -y updb
14

  
15
d6-all-drush.sh -y dis update
16

  
17
d6-all-drush.sh cron
bin/d6-dump-individual.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# ARGS: auto or manual, site_prefix
6
# WARNING : backup are regularly flushed, put your backup in a safe place.
7

  
8
cd $dir_individual_backup
9

  
10
#récupération des tables du site dans le fichier liste_tables.temp
11
tables='_%'
12
liste="$1$tables"
13

  
14
mysql -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY -BNe "show tables like '"$liste"'" webassos | tr '\r\n' ' ' > liste_tables.temp
15

  
16
#transformation de cette liste en une variable
17
var=$(cat liste_tables.temp)
18

  
19
#sauvegarde de toutes ces tables
20
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
21
suffixe="_dump$current_date.sql"
22
fichier="$1$suffixe"
23

  
24
if [ $1 = 'auto' ] ; then
25
    mysqldump webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY $var > $d6_dir_individual_auto_backup/$fichier
26
else
27
    mysqldump webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY $var > $d6_dir_individual_manual_backup/$fichier
28
fi
29

  
30
#suppression du fichier temporaire utilisé
31
rm liste_tables.temp
bin/d6-reset-variables.sh
1
#!/bin/sh
2

  
3
. scripts-config.sh
4

  
5
cd $d6_dir_sites
6
d6-all-drush.sh vset --always-set reverse_proxy TRUE
7
d6-all-drush.sh vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
8
drush @sites ev "variable_set('update_notify_emails', array($email_multi_assos));" --yes
bin/d7-all-drush-logged.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-utils.sh
5

  
6
help="# ARGS: drush_command"
7

  
8
check_arguments $# 1 "$help"
9

  
10
cd $d7_dir_sites
11

  
12
for dir in `find . -maxdepth 1 -mindepth 1 -type d ! -name all | sort` ; do
13
    cd $dir
14
    current_date=`date "+%Y-%m-%d_%Hh:%Mm"`
15
    echo "======$current_date======" >> $d7_dir_log/$dir.log
16
    echo "Arguments are: $* " >> $d7_dir_log/$dir.log
17
    drush $* >> $d7_dir_log/$dir.log
18
    #To have the same caracters limit we needed 'end' that have 4 caracters, we used the Croate language for this ! LOL
19
    echo -e "=============KRAJ=============\n" >> $d7_dir_log/$dir.log
20
    cd -
21
done
bin/d7-all-drush.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-utils.sh
5

  
6
help="# ARGS: drush_command"
7

  
8
check_arguments $# 1 "$help"
9

  
10
for dir in `find $d7_dir_sites -maxdepth 1 -mindepth 1 -type d ! -name all | sort` ; do
11
    cd $dir
12
    echo $dir
13
    drush $*
14
done
bin/d7-all-dump-full.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
6

  
7
# Dump D7 databases at once.
8
mysqldump -h $db_server -u $db_user -pNoNo82jJ --all-databases > $d7_dir_full_backup/myassos/$current_date.d7_full.sql
bin/d7-all-dump-individual.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-utils.sh
5

  
6
help="# ARGS: auto or manual"
7

  
8
check_arguments $# 1 "$help"
9

  
10
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
11

  
12
cd $d7_dir_sites
13

  
14
for dir in `find . -maxdepth 1 -mindepth 1 -type d ! -name all | cut -c3-` ; do
15
    cd $dir
16
    drush cc all
17
    if [ $1 = 'auto' ] ; then
18
        drush sql-dump --result-file="$d7_dir_individual_auto_backup/$dir/$current_date.$dir.sql"
19
    else
20
        drush sql-dump --result-file="$d7_dir_individual_manual_backup/$dir/$current_date.$dir.sql"
21
    fi
22
    cd -
23
done
bin/d7-all-releases-info.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# List version of a module or theme that exists in sites/all/*
6
# and all versions that are available for same project on drupal.org
7

  
8
# modules
9
cd $d7_dir_sites/all/modules
10
for dir in `ls -1` ; do
11
    if [ -d $dir ] ; then
12
        drush pm-releases $dir
13
    fi
14
done
15

  
16
# themes
17
cd $d7_dir_sites/all/themes
18
for dir in `ls -1` ; do
19
    if [ -d $dir ] ; then
20
        drush pm-releases $dir
21
    fi
22
done
bin/d7-all-reset-variables.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
for dir in `find $d7_dir_sites -maxdepth 1 -mindepth 1 -type d ! -name all | sort` ; do
6
    cd $dir
7
    echo $dir
8
    d7-reset-variables.sh
9
done
bin/d7-all-security-review.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# grep -v success to keep site_name and error lines.
6
bash -c "d7-all-drush.sh security-review --store |& grep -v success | mail -s d7-all-security-review.sh $email_multi_assos"
bin/d7-all-update-contrib.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
d7-all-drush.sh -y en update
6
# Launch cron to check for updates.
7
d7-all-drush.sh -q cron
8

  
9
d7-all-dump-individual.sh auto
10

  
11
d7-all-drush-logged.sh -y upc --no-core
12
d7-all-drush.sh -y updb
13

  
14
d7-all-drush.sh -y dis update
15

  
16
d7-all-drush.sh cron
bin/d7-all-update-localisation.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
d7-all-drush.sh -y en l10n_update
6
d7-all-drush.sh l10n-update-refresh
7
d7-all-drush.sh l10n-update
8
d7-all-drush.sh -y dis l10n_update
bin/d7-create-site.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-config-site.sh $1
5
. scripts-utils.sh
6

  
7
help="# ARGS: site name"
8

  
9
######## Exceptions
10
check_arguments $# 1 "$help"
11

  
12
# "-" is forbidden because it provokes database error.
13
if [ `echo $1 | grep -` ] ; then
14
    echo '"-" is forbidden in the site name'
15
    exit 1
16
fi
17

  
18
# Site name length must be lower or equal to 16 due to database limitations.
19
if [`echo $1 | wc -c` -gt 16 ] ; then
20
    echo "site name can't have more than 16 characters"
21
    exit 1
22
fi
23

  
24
###### Initialisation
25
cd $d7_dir
26
db_password=`ask_password_db $db_server $db_user`
27
site_password=`generate_password`
28

  
29
# Check if site database already exists.
30
if mysql -h $db_server -u $db_user -e "USE $d7_site_name" -p$db_password 2>/dev/null ; then
31
    echo "Database $d7_site_name already exists"
32
    exit 1
33
fi
34

  
35
# Check if site folder already exists.
36
if [ -d $d7_site_dir ] ; then
37
    echo "Folder $d7_site_dir already exists"
38
    exit 1
39
fi
40

  
41
###### Main
42
mkdir $d7_site_dir
43
dir_site_name="assos.centrale-marseille.fr.$d7_site_name"
44

  
45
# Backup requirements
46
mkdir $d7_dir_individual_auto_backup/$dir_site_name
47
mkdir $d7_dir_individual_manual_backup/$dir_site_name
48
current_date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
49

  
50
# NB : ls sort by considering the 1st characters
51
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql
52
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql2
53
touch $d7_dir_individual_auto_backup/$dir_site_name/$current_date.$dir_site_name.sql3
54

  
55
# Create and grant privileges on database
56
mysql -h $db_server -u $db_user -e "CREATE DATABASE $d7_site_name" -p$db_password
57
mysql -h $db_server -u $db_user -e "GRANT ALL PRIVILEGES ON $d7_site_name.* TO '$d7_site_name'@'%' IDENTIFIED BY '$site_password'" -p$db_password
58

  
59
# Create settings.php
60
sed "s/\%\%DBUSER\%\%/$d7_site_name/ ; s/\%\%DBNAME\%\%/$d7_site_name/ ; s/\%\%DBPASS\%\%/$site_password/ ; s/\%\%nomsite\%\%/$d7_site_name/" < $d7_settings_template > $d7_site_settings
61

  
62
# Create symbolic link
63
cd $d7_dir
64
ln -s . $d7_site_name
65

  
66
# Next Instructions
67
echo "Go to http://assos.centrale-marseille.fr/$d7_site_name/install.php to continue."
68
echo "Press enter when ready to go on."
69
read key
70

  
71
# Init variables
72
d7-reset-variables.sh $d7_site_name
73

  
74
# Permissions
75
chmod -R 755 $d7_site_dir
76
chmod 400 $d7_site_settings
77

  
78
# Last instructions
79
echo "Last instructions:"
80
echo "- Advice the webmaster to close account creation on the website"
81
echo "- Give the webmaster a link to the club Drupal's tutorials "
82
echo "- Create a node of type \"Site\" on default"
83
echo "- Register the webmaster on webmasters@listes.centrale-marseille.fr"
bin/d7-delete-site.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4
. scripts-config-site.sh $1
5
. scripts-utils.sh
6

  
7
help="# ARGS: site name."
8

  
9
check_arguments $# 1 "$help"
10

  
11
db_password=`ask_password_db $db_server $db_user`
12

  
13
# Delete database.
14
mysql -h $db_server -u $db_user -p$db_password -e "DROP DATABASE $d7_site_name"
15

  
16
# Delete MYSQL user.
17
mysql -h $db_server -u $db_user -p$db_password -e "DROP USER '$d7_site_name'@'%'"
18

  
19
# Delete site's folder.
20
chmod -R 700 $d7_site_dir
21
rm -r $d7_site_dir
22

  
23
# Delete symbolic link.
24
rm $d7_dir/$d7_site_name
25

  
26
# Delete database backups.
27
rm -r $d7_dir_individual_auto_backup/assos.centrale-marseille.fr.$d7_site_name
28
rm -r $d7_dir_individual_manual_backup/assos.centrale-marseille.fr.$d7_site_name
29

  
30
echo "Don't forget to:"
31
echo "- Refresh node site on default"
32
echo "- Check particular behavior (normally detailed on site node)"
bin/d7-reset-variables.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# ARGS: [site_name]
6

  
7
if [ ! -z $1 ] ; then
8
    . scripts-config-site.sh $1
9
    cd $d7_site_dir
10
fi
11

  
12
current_timestamp=`date "+%s"`
13

  
14
random_1=`dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" "`
15
random_2=`dd if=/dev/urandom count=1 2> /dev/null | cksum | cut -f1 -d" "`
16

  
17
####### General variables
18
drush -y vset --always-set reverse_proxy TRUE
19
drush -y vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
20
drush -y ev "variable_set('update_notify_emails', array('$email_multi_assos'));"
21
drush -y vset error_level 0
22
drush -y vset dblog_row_limit 1000
23

  
24
###### Hidden captcha
25
drush -y en hidden_captcha
26
# Log wrong answers.
27
drush -y vset captcha_log_wrong_responses 1
28
# Use hidden captcha for all forms.
29
drush -y sqlq --db-prefix "UPDATE {captcha_points} SET module = 'hidden_captcha', captcha_type = 'Hidden CAPTCHA' WHERE module is NULL;"
30
# Flush captcha cache.
31
drush -y vdel captcha_placement_map_cache
32
# Randomely generate a math question as the label of the hidden captcha field.
33
drush -y vset hidden_captcha_label "$random_1 + $random_2"
34

  
35

  
36
####### Piwik
37
drush -y en piwik
38
drush -y vset piwik_site_id "101"
39
drush -y vset piwik_url_http "http://piwik.centrale-marseille.fr/"
40
drush -y vset piwik_url_https "https://piwik.centrale-marseille.fr/"
41
# Piwik cache.
42
drush -y vset piwik_cache 1
43
drush -y vset piwik_visibility_roles "1"
44
# Piwik is enable for everyone except the administrator
45
drush -y vset --format=json piwik_roles '[3]'
46
drush -y vset piwik_page_title_hierarchy 1
47
# Activate local search.
48
drush -y vset piwik_site_search 1
49

  
50

  
51
###### Security review
52
# For untrusted roles:
53
# 1: anonymous user
54
# 2: authenticated user
55
# 3: administrator
56
drush -y en security_review
57
drush -y ev "variable_set('security_review_untrusted_roles', array('1'));"
58
# Used to initialise entries in the database schema.
59
drush security-review --store
60
# Security review can't check for files permissions on multi_assos if launched within the web interface.
61
drush -y sqlq --db-prefix "UPDATE {security_review} SET skip = '1', skiptime = $current_timestamp, skipuid = '1' WHERE reviewcheck IN ('file_perms');"
62
drush -y sqlq --db-prefix "UPDATE {security_review} SET skip = '0', skiptime = '0', skipuid = NULL WHERE reviewcheck NOT IN ('file_perms');"
bin/delete-temporary-files.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
find $dir_multi_assos -name '*~' -delete
bin/dis_tiers.sh
1
#!/bin/sh
2

  
3

  
4
##############
5
# nlehuby - 8 juillet 2011
6
##############
7

  
8
#écrire le nom des modules non core dans un fichier
9
drush pml |grep -v Core* | grep Module | grep Enabled > fichier.temp
10
sed -e 's/\(.*(\)\(.*\)\().*\)/\2/' fichier.temp > modules_tiers.txt
11

  
12
#désactiver ces modules
13
for line in $(cat modules_tiers.txt); do drush dis -y "$line" ; done  
14

  
15
#effacer les fichiers créés
16
rm fichier.temp
bin/disk-usage.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
echo -e "*Quotas: 9.1 GB*\n"
6

  
7
echo "Assos:"
8
du -hcs $dir_multi_assos | grep total
9
echo -e "\n"
10

  
11
echo "D6:"
12
cd $d6_dir_sites
13
du -h -d 1
14
echo -e "\n"
15

  
16
echo "D7:"
17
cd $d7_dir_sites
18
du -h -d 1
19
echo -e "\n"
20

  
21
echo "Logs:"
22
du -hcs $dir_log | grep total
23
echo -e "\n"
24

  
25
echo "Backups:"
26
cd $dir_backup
27
du -h -d 2
bin/drushall
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4
init_scripts.sh
5

  
6
if [ $# -lt 1 ]; then
7
  echo "usage: $0 <drush args>"
8
  exit 1
9
fi
10

  
11
cd $d7_sites_dir
12

  
13
for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
14
  if [ -d $x -a ! -L $x ]; then
15
    cd $x;
16
    echo $x
17
    #drush pm-info;
18
    #drush dis ldapauth ldapdata ldapgroups;
19
    drush $*
20
    cd -;
21
  fi
22
done
bin/drushall_atest
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4
##############
5
# nlehuby - 16 décembre 2011
6
# ceci est une copie quasi conforme du script initial drushall créé pour d6
7
##############
8

  
9
init_scripts.sh
10

  
11
if [ $# -lt 1 ]; then
12
  echo "usage: $0 <drush args>"
13
  exit 1
14
fi
15

  
16
cd /users/guest/assos/htmltest/sites
17

  
18
for dir in $(find . -maxdepth 1 -mindepth 1 -type d ! -name all)
19
do
20
    if [ $1 = init ]
21
    then
22
	cd $dir
23
	/users/guest/assos/bin/init_var.sh
24
	cd -
25
    else
26
	cd $x;
27
	echo $x
28
	drush $*
29
	cd -;
30
    fi
31
done
bin/drushall_atest_logged
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4
##############
5
# nlehuby - 16 décembre 2011
6
# ceci est une copie quasi conforme du script initial drushall créé pour d6
7
##############
8

  
9

  
10
if [ $# -lt 1 ]; then
11
  echo "usage: $0 <drush args>"
12
  exit 1
13
fi
14

  
15
cd /users/guest/assos/htmltest/sites
16

  
17
for x in $(ls -1 | grep -v 'all' | grep -v file-*); do
18
  if [ -d $x -a ! -L $x ]; then
19
    cd $x;
20
    echo $x
21
    #Sauvegarde datée du log
22
    madate=`date "+%Y-%m-%d_%Hh:%Mm"`
23
    echo "======$madate======" >> /users/guest/assos/Desktop/log/d7/$x.log
24
    echo "Arguments are: $* " >> /users/guest/assos/Desktop/log/d7/$x.log
25
    drush $* >> /users/guest/assos/Desktop/log/d7/$x.log
26
    #To have the same caracters limit we needed 'end' that have 4 caracters, we used the Croate language for this ! LOL 
27
    echo -e "=============KRAJ=============\n" >> /users/guest/assos/Desktop/log/d7/$x.log
28
    cd -;
29
  fi
30
done
bin/drushcronone
1 1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
2

  
3
. /users/guest/assos/bin/scripts-config.sh
3 4

  
4 5
if [ $# -lt 1 ]; then
5 6
  echo "usage: $0 <site's folder name>"
bin/dump.sh
1
#!/bin/sh
2

  
3
madate=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
4

  
5
#Dump D6 database with webassos user.
6
/usr/local/bin/mysqldump --single-transaction webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY > /users/guest/assos/Desktop/dump_d6/webassos.dump$madate.sql
7

  
8
#Dump D6 form database with forum user.
9
/usr/local/bin/mysqldump forum -h myweb.serv.int -u forum --password=dtcAltF12 > /users/guest/assos/Desktop/dump_d6/forum.dump$madate.sql
10

  
11
#Dump D7 databases at once.
12
/usr/local/bin/mysqldump -h myassos.serv.int -u assos -pNoNo82jJ --all-databases > /users/guest/assos/Desktop/dump_d7/d7_all$madate.sql
bin/dump_site
1
#!/bin/sh
2

  
3
##############
4
# nlehuby - 27 novembre 2011
5
# ce script permet de sauvegarder toutes les tables d'un site. Il faut passer en paramètre le préfixe utilisé pour les tables du site en question. 
6
# ATTENTION : Il faut penser à déplacer cette sauvegarde dans un endroit perenne car un script de purge supprime périodiquement les sauvegardes individuelles.
7
##############
8

  
9
cd /users/guest/assos/Desktop/dump_d6/
10

  
11
#récupération des tables du site dans le fichier liste_tables.temp
12
tables='_%'
13
liste="$1$tables"
14

  
15
/usr/local/bin/mysql -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY -BNe "show tables like '"$liste"'" webassos | tr '\r\n' ' ' > liste_tables.temp
16

  
17
#transformation de cette liste en une variable
18
var=$(cat liste_tables.temp)
19

  
20

  
21
#sauvegarde de toutes ces tables
22
madate=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
23
suffixe="_dump$madate.sql"
24
fichier="$1$suffixe"
25

  
26
/usr/local/bin/mysqldump webassos -h myweb.serv.int -u webassos --password=HBVH2ljgyZCA0AP251DY $var > /users/guest/assos/Desktop/dump_individuels/$fichier
27

  
28
#suppression du fichier temporaire utilisé
29
rm liste_tables.temp
bin/dump_site_atest_all
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin
3

  
4
#!/bin/sh
5
sites_dir=~/htmltest/sites
6
backup_dir=~/Desktop/dump_d7
7

  
8
date=`date "+%Y-%m-%d-%Hh%Mm%Ss"`
9

  
10
cd $sites_dir
11

  
12
#Cheche dans le sous répertoire du répertoire courant sauf dans le sous répertoire
13
# all et dans les liens.
14
for dir in $(find . -maxdepth 1 -mindepth 1 -type d ! -name all )
15
do
16
	cd $dir
17
	drush cc all
18
	drush sql-dump --result-file="$backup_dir/$dir/$date.sql"
19
	cd -
20
done
bin/en_tiers.sh
1
#!/bin/sh
2

  
3

  
4
##############
5
# nlehuby - 8 juillet 2011
6
##############
7

  
8
#activer ces modules du fichier texte
9
for line in $(cat modules_tiers.txt); do drush en -y "$line" ; done  
10

  
11
#effacer le fichier texte après ?
bin/flush-files.sh
1
#!/bin/sh
2

  
3
help="# ARGS: number of files to keep, [email address]\n
4
# usage: flush files from a folder except a number equal to argument."
5

  
6
# Check if scripts-utils.sh is imported.
7
if [ -z $scripts_utils ] ; then
8
    echo "Import of scripts-utils.sh required."
9
    . scripts-utils.sh
10
fi
11

  
12
check_arguments $# 1 "$help"
13

  
14
backups_number=`ls | wc -l`
15
let "number_of_backups_to_delete = backups_number - $1" > /dev/null
16

  
17
if [ $number_of_backups_to_delete -gt 0 ] ; then
18
    ls | head -$number_of_backups_to_delete | xargs rm
19
else
20
    if [ ! -z $2 ] ; then
21
        dir=`pwd`
22
        echo "There are not enough files in $dir to Flush it. Check if backup script works fine." | mail -s "[db] $dir has a backup problem" $2
23
    fi
24
fi
bin/flush-full-databases-backups.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# ARGS: Drupal version
6

  
7
cd $dir_full_backup/$1
8

  
9
for dir in `ls` ; do
10
    cd $dir
11
    flush-files.sh $db_full_backup_number $email_multi_assos
12
    cd -
13
done
bin/flush-individual-databases-backups.sh
1
#!/bin/sh
2

  
3
. /users/guest/assos/bin/scripts-config.sh
4

  
5
# ARGS: manual or auto, Drupal version
6

  
7
cd $dir_individual_backup/$1/$2
8

  
9
for dir in `ls` ; do
10
    cd $dir
11
    if [ $1 = 'auto' ] ; then
12
        flush-files.sh $db_individual_auto_backup_number $email_multi_assos
13
    else
14
        flush-files.sh $db_individual_manual_backup_number
15
    fi
16
    cd -
17
done
bin/function.sh
1
#!/bin/sh
2

  
3
#Ce script doit contenir toutes les fonctions utiles aux scripts afin de pouvoir les réutiliser facilement.
4

  
5
#permet de demander un mot de passe sans l’afficher
6
#NB : read -s ne fonctionne pas en sh
7
# usage: pass=$(askpasswd "Tu me pretes ton mot de passe ?")
8
askpasswd() {
9
  echo $1 >&2
10
  echo -n ">" >&2
11
  stty_avant=$(stty -g)
12
  stty -echo
13
  read p
14
  stty $stty_avant
15
  echo "$p"
16
  unset p
17
}
18

  
19
ask_password_bdd() {
20
    #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à.
21
    #prend le nom du serveur et le nom d’utilisateur comme argument.
22
    # Pour ce faire, on va envoyer une requête mysql vide.
23
    local db_passwd="pourquemysqldemandepas"
24
    #requête mysql fantoche
25
    #l’option -h permet de sélectionner le serveur
26
    #l’option -e permet d’exécuter la commande mysql qui suit (on met le mdp après)
27
    while ! mysql -h $1 -u $2 -p$db_passwd -e "" 2>/dev/null;
28
    do
29
	db_passwd=$(askpasswd "Entrer le mot de passe la base de donnée MySQL :")
30
	echo ""
31
    done
32
}
33

  
34
gen_password(){
35
    #on génère le mdp
36
    #        *avec des caractères spéciaux*. On se protège du caractère / qui
37
    #signifie que l’expression régulière de sed est finie (voir plus bas). On boucle
38
    #tant que le mot de passe contient /
39
    local site_passwd='/'
40
    local passwd_size=20
41
    while echo "$site_passwd" | grep -Fq '/'
42
    do
43
	site_passwd=`dd if=/dev/urandom count=1 | uuencode -m - | head -n 2 | tail -n 1 | cut -c-$passwd_size`
44
    done
45

  
46
    echo $site_passwd
47
}
48

  
49

  
50
d7_give_nb_sites(){
51
    # Return the number of drupal 7 sites
52
    find $d7_sites_dir -type d ! -name all -maxdepth 1 | wc -l
53
}
bin/init_scripts.sh
1
#!/bin/sh
2

  
3
#Ce script crée toutes les variables communes à tous les sites
4
scripts_location='/users/guest/assos/bin'
5

  
6
web_dir='/users/guest/assos'
7
manual_backup_dir='/users/guest/assos/Desktop/dump_individuels'
8

  
9
d7_dir="$web_dir/htmltest"
10
d7_sites_dir="$d7_dir/sites"
11
d7_backup_dir='/users/guest/assos/Desktop/dump_d7'
12

  
13
db_server="myassos.serv.int"
14
db_user="assos"
15

  
16
template_location="/users/guest/assos/Desktop"
17
d7_template_name="settings-D7-bddinde-template.php"
18
d7_template_settings="$template_location/$d7_template_name"
19

  
20
###### Variable d6
21
d6_backup_dir='/users/guest/assos/Desktop/dump_d6'
bin/init_scripts_site.sh
1
#!/bin/sh
2

  
3
#Ce script initialise toutes les variables utiles d’un site.
4
#Il prend le nom du site en paramètre
5
#Il a besoin des variables de init_scripts.sh
6

  
7
if [ -z "$web_dir" ] #test si $web_dir (variable de init_scripts.sh) est définie
8
then
9
    echo "Import de init_scripts.sh requit"
10
    exit 1
11
fi
12

  
13
site_name=$1 #plus explicite
14
d7_site_dir="$d7_site_dir/assos.centrale-marseille.fr.$nom_site"
15
d7_site_settings="$site_dir/settings.php"
bin/init_var.sh
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4

  
5
##############
6
# nlehuby - 20 mai 2012
7
# ce script permet d'initialiser un certain nombre de variables et configurations.
8
# Plus d'info : http://ginfo.centrale-marseille.fr/wiki/index.php?title=Utilisation_de_Drupal_multi-site#M.C3.A9thode_Drupal_7
9
##############
10

  
11
####### General variables
12
drush -y vset --always-set reverse_proxy TRUE
13
drush -y vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
14
drush -y ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));"
15
drush vset error_level 0
16

  
17

  
18
####### Piwik
19
#On active piwik l’outil de statistique
20
drush -y vset piwik_site_id "101"
21
drush -y vset piwik_url_http "http://piwik.centrale-marseille.fr/"
22
drush -y vset piwik_url_https "https://piwik.centrale-marseille.fr/"
23
# active le cache local du javascript
24
drush -y vset piwik_cache 1
25
drush -y vset piwik_visibility_roles "1"
26
# active les stats pour anonymous et authentifié
27
drush -y vset --format=json piwik_roles '{"1":0,"2":0}'
28
drush -y vset piwik_page_title_hierarchy 1
29
# si la recherche locale est activée
30
drush -y vset piwik_site_search 1
31
# on active le module
32
drush -y en piwik
bin/liste.temp
1
KSI
2
adeprey
3
annales
4
anomaliste
5
apocaliste
6
cartecentrale
7
cartecentraletest
8
clubrobot
9
echangesphoceens
10
ecmnext
11
election
12
fablab
13
feutrie
14
giannitest
15
ginfo
16
habitat_urgence
17
izus
18
jpennec
19
listerik
20
nonotest
21
sondages
22
superadmin
23
tjanvier
24
vbesson
25
bde
26
lintecestlefeu
27

  
28
le-marseille.fr
29

  
30
default
bin/maj.sh
1
#!/bin/sh
2
#Lancer le cron pour que les sites sachent s'il y a des majs à faire
3
/users/guest/assos/bin/drushall -q cron 
4
#Supprimer le cache pour réduire de moitié la taille des bases de données sauvegardées 
5
/users/guest/assos/bin/drushall cc all
6
#Script de sauvegarde des bases de données
7
/bin/sh /users/guest/assos/bin/dump.sh
8
#Mettre à jour le code des modules et thèmes tiers
9
/users/guest/assos/bin/drushall --no-core -y upc
10
/users/guest/assos/bin/drushall -y updb
11
#Rapport du cron
12
#/users/guest/assos/bin/drushall cron | mail -s "Rapport drushall cron" assos@centrale-marseille.fr
13
/users/guest/assos/bin/drushall cron
14
#Rapport sur la taille utilisée du disque
15
/bin/sh /users/guest/assos/bin/taille.sh | mail -s "Rapport utilisation disque" assos@centrale-marseille.fr 
16

  
17

  
18

  
bin/maj_d7.sh
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4
##############
5
# nlehuby - 21 mai 2012
6
# ce script permet d'effectuer les mises à jour des projets pour l'installation drupal 7
7
##############
8

  
9
#Lancer le cron pour que les sites sachent s'il y a des majs à faire
10
/users/guest/assos/bin/drushall_atest -q cron 
11

  
12
#Supprimer le cache pour réduire de moitié la taille des bases de données sauvegardées 
13
/users/guest/assos/bin/drushall_atest cc all
14

  
15
#Script de sauvegarde des bases de données
16
/bin/sh /users/guest/assos/bin/dump_site_atest_all
17

  
18
#Mettre à jour le code des modules et thèmes tiers
19
/users/guest/assos/bin/drushall_atest_logged --no-core -y upc 
20

  
21
#Update all databases to match current modules code.
22
/users/guest/assos/bin/drushall_atest_logged -y updb
23

  
24
#Rapport du cron
25
/users/guest/assos/bin/drushall_atest cron | mail -s "Rapport cron" assos@centrale-marseille.fr
26

  
27
#Rapport sur la taille utilisée du disque
28
/bin/sh /users/guest/assos/bin/taille.sh | mail -s "Rapport utilisation disque" assos@centrale-marseille.fr 
bin/purge_des_sauvegardes.sh
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin
3

  
4
init_scripts.sh
5

  
6
######## sauvegardes individuelles
7

  
8
#####
9
# À réfléchir
10
#####
11
# va dans le dossier des sauvegardes individuelles
12
cd $manual_backup_dir
13

  
14
#s'il y a plus de 2 x (le nombre de site d7) - 1 fichiers alors
15
nb_sites_d7=$(d7_give_nb_sites)
16

  
17
let "c=2*$nb_sites_d7 - 1" >/dev/null
18

  
19
if [ $(ls -l | wc -l)  -gt  $c ]
20
then
21
    echo "je supprime des sauvegardes isolées"
22
    #supprime (le nombre de site d7) plus vieux fichiers
23
    ls -tr | head -$nbsitesd7 | xargs rm;
24
else
25
    #sinon, alerte
26
    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;
27

  
28
fi
29
echo `ls -l | wc -l `
30

  
31

  
32

  
33
######## SAUVEGARDES COMPLÈTES
34
#### sauvegardes complètes d6
35
#va dans le site des sauvegardes complètes d6
36
cd $d6_backup_dir
37

  
38
nb_files=$(ls -l | wc -l)
39

  
40
if [ $nb_files -gt 6 ]
41
then
42
    #s'il y a plus de 6 fichiers alors
43
    echo "je supprime du d6"
44

  
45
    #supprime les assez de fichiers pour qu’il n’en reste que trois
46
    let "to_delete = $nb_files - 6"
47
    ls -tr | head -$to_delete | xargs rm
48
else
49
    #sinon, alerte
50
    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 ;
51
fi
52

  
53
echo $(ls -l | wc -l)
54

  
55

  
56
###### sauvegardes complètes d7
57
cd $d7_backup_dir
58

  
59
for dir in $(ls)
60
do
61
    cd $dir
62
    nb_files=$(ls | wc -l)
63
    let "to_delete = nb_files - 3"
64
    if [ $to_delete -gt 0 ]
65
    then
66
	ls | head -$to_delete | xargs rm
67
    else
68
	 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;
69
    fi
70
    cd -
71
done
bin/reinit_var.sh
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3

  
4

  
5
##############
6
# nlehuby - 21 mai 2012
7
# ce script permet de réinitialiser un certain nombre de variables et configurations. VERSION 2, sans duplication de code
8
# TODO : tester que ça fonctionne ^^
9
# 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
10
##############
11

  
12
#installation drupal 7
13
/users/guest/assos/bin/drushall_atest init #lance le script init_var pour toute l'installation d7
14

  
15
#installation drupal 6
16
cd /users/guest/assos/html/sites
17
/users/guest/assos/bin/drushall vset --always-set reverse_proxy TRUE
18
/users/guest/assos/bin/drushall vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]'
19
drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes
bin/releases_info_d7.sh
1
#!/bin/sh
2
PATH=/usr/local/bin:/usr/bin:/bin
3
##############
4
#Send a mail with following infos:
5
#- version of a module or theme that exists in sites/*
6
#- all versions that are available for same project on drupal.org
7
##############
8
#modules
9
cd /users/guest/assos/htmltest/sites/all/modules
... Ce différentiel a été tronqué car il excède la taille maximale pouvant être affichée.

Formats disponibles : Unified diff