Révision d52a5b2f
Ajouté par Julien Enselme il y a plus de 10 ans
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 |
Formats disponibles : Unified diff
Sprint réécriture des scripts
Les scripts ont été renommés et réécrits conformément à une convention
afin de les rendre plus modulables.