Révision e253ff2a
Ajouté par Julien Enselme il y a presque 11 ans
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 |
Formats disponibles : Unified diff
Merge manuel performance
Nom de variables plus explicite
Ajout de init*.sh