Révision e253ff2a
Ajouté par Julien Enselme il y a presque 11 ans
bin/captcha.sh | ||
---|---|---|
1 |
#!/bin/bash |
|
2 | 1 |
#!/bin/sh |
3 | 2 |
PATH=/usr/local/bin:/usr/bin:/bin |
4 | 3 |
############## |
5 |
# Sets hidden captcha configuration for all D7 websites.
|
|
4 |
# Sets hidden captcha configuration for all D7 websites. |
|
6 | 5 |
############## |
7 |
cd /users/guest/assos/htmltest/sites |
|
8 |
for x in $(ls -1 | grep -v 'all' | grep -v file-*); do |
|
9 |
if [ -d $x -a ! -L $x ]; then |
|
10 |
cd $x; |
|
11 |
echo "Configuration hidden captcha pour "$x |
|
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" |
|
12 | 17 |
# Enable hidden_captcha module. |
13 | 18 |
drush -y en hidden_captcha |
14 | 19 |
# Log wrong answers. |
... | ... | |
19 | 24 |
drush -y vdel captcha_placement_map_cache |
20 | 25 |
# Randomely generate a math question as the label of the hidden captcha field. |
21 | 26 |
drush -y vset hidden_captcha_label "$RANDOM + $RANDOM" |
22 |
cd -; |
|
27 |
cd -;
|
|
23 | 28 |
fi |
24 | 29 |
done |
bin/drushall | ||
---|---|---|
1 | 1 |
#!/bin/sh |
2 | 2 |
PATH=/usr/local/bin:/usr/bin:/bin |
3 | 3 |
|
4 |
init_scripts.sh |
|
5 |
|
|
4 | 6 |
if [ $# -lt 1 ]; then |
5 | 7 |
echo "usage: $0 <drush args>" |
6 | 8 |
exit 1 |
7 | 9 |
fi |
8 | 10 |
|
9 |
cd /users/guest/assos/html/sites
|
|
11 |
cd $d7_sites_dir
|
|
10 | 12 |
|
11 | 13 |
for x in $(ls -1 | grep -v 'all' | grep -v file-*); do |
12 | 14 |
if [ -d $x -a ! -L $x ]; then |
bin/drushcronone | ||
---|---|---|
6 | 6 |
exit 1 |
7 | 7 |
fi |
8 | 8 |
|
9 |
cd /users/guest/assos/html/sites/$*;
|
|
9 |
cd "$d6_sites_dir/$*"
|
|
10 | 10 |
pwd; |
11 | 11 |
drush cron; |
bin/dump_site_atest_all | ||
---|---|---|
15 | 15 |
do |
16 | 16 |
cd $dir |
17 | 17 |
drush cc all |
18 |
drush sql-dump --result-file="$backup_dir/$dir.dump$date.sql"
|
|
18 |
drush sql-dump --result-file="$backup_dir/$dir/$date.sql"
|
|
19 | 19 |
cd - |
20 | 20 |
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/purge_des_sauvegardes.sh | ||
---|---|---|
1 | 1 |
#!/bin/sh |
2 | 2 |
PATH=/usr/local/bin:/usr/bin:/bin:/users/guest/assos/bin |
3 | 3 |
|
4 |
############## |
|
5 |
# nlehuby - 05 juillet 2012 |
|
6 |
# ce script permet de nettoyer p?riodiquement les diff?rents r?pertoires o? sont enregistr?s les sauvegardes de base de donn?es, afin de lib?rer de l'espace. |
|
7 |
############## |
|
4 |
init_scripts.sh |
|
8 | 5 |
|
9 |
######## sauvegardes individuelles ######## |
|
10 |
#compte le nombre de sites d7 (en excluant les liens symboliques) |
|
11 |
cd /users/guest/assos/htmltest/sites |
|
12 |
let "nbsitesd7 = `ls -lF | grep -v 'all' | grep -v @ | wc -l`" >/dev/null ; |
|
13 |
#explications : l'option -F dans le ls permet de marquer les liens symboliques avec un @ ; le "grep -v @" permet donc d'ignorer les liens symboliques dans la liste fournie par ls. La commande wc permet de compter le nombre de lignes retourn?es. Le let permet de d?finir une variable qui soit un nombre (et pas une chaine de caract?res) |
|
6 |
######## sauvegardes individuelles |
|
14 | 7 |
|
15 |
#va dans le dossier des sauvegardes individuelles |
|
16 |
cd /users/guest/assos/Desktop/dump_individuels |
|
8 |
##### |
|
9 |
# À réfléchir |
|
10 |
##### |
|
11 |
# va dans le dossier des sauvegardes individuelles |
|
12 |
cd $manual_backup_dir |
|
17 | 13 |
|
18 | 14 |
#s'il y a plus de 2 x (le nombre de site d7) - 1 fichiers alors |
19 |
let "c=2*$nbsitesd7 - 1" >/dev/null ; |
|
20 |
if [ $(ls -l | wc -l) -gt $c ] ; 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; |
|
15 |
nb_sites_d7=$(d7_give_nb_sites) |
|
16 |
|
|
17 |
let "c=2*$nb_sites_d7 - 1" >/dev/null |
|
24 | 18 |
|
25 |
#sinon, alerte |
|
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; |
|
26 | 24 |
else |
27 |
echo "La purge des sauvegardes des sites individuelles d7 n'a pas pu ?tre effectu?e car il n'y avait pas assez de fichiers dans le dossier. Il faudrait v?rifier que le script de sauvegarde s'ex?cute correctement" | mail -s "[dump assos] On a des soucis avec les sauvegardes de bdd" assos@centrale-marseille.fr; |
|
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; |
|
28 | 27 |
|
29 | 28 |
fi |
30 | 29 |
echo `ls -l | wc -l ` |
31 |
######## sauvegardes compl?tes d6 ######## |
|
32 |
#va dans le site des sauvegardes compl?tes d6 |
|
33 |
cd /users/guest/assos/Desktop/dump_d6 |
|
34 | 30 |
|
35 |
#s'il y a plus de 15 fichiers alors |
|
36 |
if [ $(ls -l | wc -l) -gt 15 ] ; then |
|
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 |
|
37 | 43 |
echo "je supprime du d6" |
38 |
#supprime les 3 fichiers les plus vieux |
|
39 |
ls -tr | head -3 | xargs rm; |
|
40 | 44 |
|
41 |
#sinon, alerte |
|
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 |
|
42 | 48 |
else |
43 |
echo "La purge des sauvegardes compl?tes des bases de donn?es drupal 6 n'a pas pu ?tre effectu?e car il n'y avait pas assez de fichiers dans le dossier. Il faudrait v?rifier que le script de sauvegarde s'ex?cute correctement" | mail -s "[dump assos] On a des soucis avec les sauvegardes de bdd" assos@centrale-marseille.fr ;
|
|
44 |
|
|
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 ; |
|
45 | 51 |
fi |
46 |
echo `ls -l | wc -l ` |
|
47 |
######## sauvegardes compl?tes d7 ######## |
|
48 |
cd /users/guest/assos/htmltest/sites |
|
49 |
let "nbsitesd7 = `ls -lF | grep -v 'all' | grep -v @ | wc -l`" >/dev/null ; |
|
50 |
#explications : l'option -F dans le ls permet de marquer les liens symboliques avec un @ ; le "grep -v @" permet donc d'ignorer les liens symboliques dans la liste fournie par ls. La commande wc permet de compter le nombre de lignes retourn?es. Le let permet de d?finir une variable qui soit un nombre (et pas une chaine de caract?res) |
|
51 |
|
|
52 |
#va dans le dossier des sauvegardes complètes |
|
53 |
cd /users/guest/assos/Desktop/dump_d7 |
|
54 |
|
|
55 |
#s'il y a plus de 3 x (le nombre de site d7) |
|
56 |
let "c=3*$nbsitesd7" >/dev/null ; |
|
57 |
if [ $(ls -l | wc -l) -gt $c ] ; then |
|
58 |
echo "je supprime des sauvegardes complètes" |
|
59 |
#supprime (le nombre de site d7) plus vieux fichiers |
|
60 |
ls -tr | head -$nbsitesd7 | xargs rm; |
|
61 | 52 |
|
62 |
#sinon, alerte |
|
63 |
else |
|
64 |
echo "La purge des sauvegardes automatiques des sites d7 n'a pas pu ?tre effectu?e car il n'y avait pas assez de fichiers dans le dossier. Il faudrait v?rifier que le script de sauvegarde s'ex?cute correctement" | mail -s "[dump assos] On a des soucis avec les sauvegardes de bdd" assos@centrale-marseille.fr; |
|
53 |
echo $(ls -l | wc -l) |
|
65 | 54 |
|
66 |
fi |
|
67 |
echo `ls -l | wc -l ` |
|
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 | ||
---|---|---|
10 | 10 |
############## |
11 | 11 |
|
12 | 12 |
#installation drupal 7 |
13 |
cd /users/guest/assos/htmltest/sites |
|
14 | 13 |
/users/guest/assos/bin/drushall_atest init #lance le script init_var pour toute l'installation d7 |
15 | 14 |
|
16 |
#gestion des exceptions d7 |
|
17 |
for x in $(ls -1 | grep 'nonotest\|superadmin' ); do |
|
18 |
if [ -d $x -a ! -L $x ]; then |
|
19 |
echo $x |
|
20 |
drush $x php-eval variable_set\(\'allow_authorize_operations\',TRUE\)\; |
|
21 |
fi |
|
22 |
done |
|
23 |
|
|
24 | 15 |
#installation drupal 6 |
25 | 16 |
cd /users/guest/assos/html/sites |
26 | 17 |
/users/guest/assos/bin/drushall vset --always-set reverse_proxy TRUE |
27 | 18 |
/users/guest/assos/bin/drushall vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]' |
28 | 19 |
drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes |
29 |
|
bin/reinit_var.sh.old | ||
---|---|---|
1 |
#!/bin/sh |
|
2 |
PATH=/usr/local/bin:/usr/bin:/bin |
|
3 |
|
|
4 |
|
|
5 |
############## |
|
6 |
# nlehuby - 20 mai 2012 |
|
7 |
# ce script permet de réinitialiser un certain nombre de variables et configurations. |
|
8 |
# 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 |
|
9 |
############## |
|
10 |
|
|
11 |
#installation drupal 7 |
|
12 |
cd /users/guest/assos/htmltest/sites |
|
13 |
/users/guest/assos/bin/drushall_atest vset error_level 0 --yes |
|
14 |
/users/guest/assos/bin/drushall_atest php-eval variable_set\(\'allow_authorize_operations\',FALSE\)\; |
|
15 |
/users/guest/assos/bin/drushall_atest vset --always-set reverse_proxy TRUE |
|
16 |
/users/guest/assos/bin/drushall_atest vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]' |
|
17 |
drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes |
|
18 |
|
|
19 |
#installation drupal 6 |
|
20 |
cd /users/guest/assos/html/sites |
|
21 |
/users/guest/assos/bin/drushall vset --always-set reverse_proxy TRUE |
|
22 |
/users/guest/assos/bin/drushall vset --always-set --format=json reverse_proxy_addresses '["147.94.19.16","147.94.19.17"]' |
|
23 |
drush @sites ev "variable_set('update_notify_emails', array('assos@centrale-marseille.fr'));" --yes |
Formats disponibles : Unified diff
Merge manuel performance
Nom de variables plus explicite
Ajout de init*.sh