[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 #!/bin/bash 2 3 #/usr/share/se3/sbin/genere_mirror_rsync_sh.sh 4 # 5 ## $Id: genere_mirror_rsync_sh.sh 8175 2014-06-12 12:04:46Z keyser $ ## 6 # 7 ##### Generation du /mirror/mirror_rsync.sh d'apres les parametres mis en place par /usr/share/se3/sbin/mirroring_mise_en_place.sh ##### 8 # Auteur: Stephane Boireau (Animateur TICE du secteur de Bernay/Pont-Audemer (27)) 9 # Date: 07/07/2008 10 11 if [ "$1" = "-h" -o "$1" = "--help" -o ! -e /mirror/param_mirror_rsync.sh ]; then 12 echo "USAGE: Ce script permet de lire le fichier de parametres" 13 echo " /mirror/param_mirror_rsync.sh" 14 echo " pour generer le script" 15 echo " /mirror/mirror_rsync.sh" 16 echo " qui est ensuite lance via la crontab." 17 echo " Ce script est normalement appele par le script" 18 echo " /usr/share/se3/sbin/mirroring_mise_en_place.sh" 19 echo " On peut neanmoins le lancer apres modification manuelle" 20 echo " du fichier de parametres" 21 echo " /mirror/param_mirror_rsync.sh" 22 exit 23 fi 24 25 source /mirror/param_mirror_rsync.sh 26 27 ladate=$(date "+%Y%m%d-%H%M%S") 28 if [ -e /mirror/mirror_rsync.sh ]; then 29 mv /mirror/mirror_rsync.sh /mirror/mirror_rsync_$ladate}.sh 30 fi 31 32 touch /mirror/mirror_rsync.sh 33 chmod 700 /mirror/mirror_rsync.sh 34 35 echo "#!/bin/bash 36 37 source /mirror/param_mirror_rsync.sh 38 39 FORMATE_DUREE() { 40 h=\$((\$1/3600)) 41 m=\$(((\$1-(\$h*3600))/60)) 42 s=\$((\$1-(\$h*3600)-(\$m*60))) 43 44 if [ \$h -le 9 ]; then 45 h=0\$h 46 fi 47 if [ \$m -le 9 ]; then 48 m=0\$m 49 fi 50 if [ \$s -le 9 ]; then 51 s=0\$s 52 fi 53 echo \"\$h:\$m:\$s\" 54 } 55 56 57 58 /mirror/umount_DISK2.sh 2>/dev/null 59 60 date_rsync=\$(date +%a%Hh%M) 61 FICHIERLOG=\"/mirror/log_rsync_\$date_rsync}\" 62 touch \$FICHIERLOG 63 64 echo \"fichier de log du \$(date)\" > \$FICHIERLOG 65 66 t0=\$(date +%s) 67 t1=\$t0 68 #================================== 69 # partition / 70 #echo 'Controle de la partition Racine' | tee \$FICHIERLOG 71 #e2fsck \$PARTROOT_CIBLE 72 #echo '' | tee -a \$FICHIERLOG 73 74 echo 'Montage de la partition Racine' | tee -a \$FICHIERLOG 75 mount -t ext3 \$PARTROOT_CIBLE /mirror/part_root 76 if [ \$? != 0 ]; then 77 echo \"** ERREUR ** lors du montage de la partition / de \$DISK2}\" | tee -a \$FICHIERLOG 78 echo 'Le script ne peut se poursuivre' | tee -a \$FICHIERLOG 79 echo \"VeRIFIEZ LE BON FONCTIONNEMENT DU \$DISK2}\" | tee -a \$FICHIERLOG 80 touch /mirror/mail_alerte.txt 81 echo \"Rapport de fonctionnement du script de mirroring lors de son lancement\" > /mirror/mail_alerte.txt 82 echo \"Voici les problemes constates\" >> /mirror/mail_alerte.txt 83 echo \"\" >> /mirror/mail_alerte.txt 84 cat \$FICHIERLOG >> /mirror/mail_alerte.txt 85 mail \$MAIL_ADMIN -s \"[Alerte /mirror/mirror_rsync.sh] Pb avec le script\" < /mirror/mail_alerte.txt 86 exit 1 87 fi 88 echo '' | tee -a \$FICHIERLOG 89 90 echo 'rsync de la partition Racine' | tee -a \$FICHIERLOG 91 echo | tee -a \$FICHIERLOG 92 /usr/bin/rsync -av --delete --exclude=/etc/fstab --exclude=/home/* --exclude=/mirror/ --exclude=/tmp/* --exclude=/var/lock/* --exclude=/proc/* --exclude=/sys/* --exclude=/cdrom/* --exclude=/var/* / /mirror/part_root | tee -a \$FICHIERLOG 93 echo '' | tee -a \$FICHIERLOG 94 95 96 sed \"s#\$PARTROOTUUID#\$PARTROOTUUID_CIBLE#\" -i /mirror/part_root/boot/grub/grub.cfg 97 98 umount \$PARTROOT_CIBLE 99 100 t2=\$(date +%s) 101 duree=\$((t2-t1)) 102 echo \"Duree du mirroring de la racine: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 103 echo '' | tee -a \$FICHIERLOG 104 105 t1=\$t2 106 #================================== 107 108 #partition /var 109 echo 'Montage de la partition /VAR' | tee -a \$FICHIERLOG 110 mount -t ext3 \$PARTVAR_CIBLE /mirror/part_var 111 112 if [ \$? != 0 ]; then 113 echo \"** ERREUR ** lors du montage de la partition /var de \${DISK2}\" | tee -a \$FICHIERLOG 114 echo 'Le script ne peut se poursuivre' | tee -a \$FICHIERLOG 115 echo \"VeRIFIEZ LE BON FONCTIONNEMENT DU \${DISK2}\" | tee -a \$FICHIERLOG 116 touch /mirror/mail_alerte.txt 117 echo \"Rapport de fonctionnement du script de mirroring lors de son lancement\" > /mirror/mail_alerte.txt 118 echo \"Voici les problemes constates\" >> /mirror/mail_alerte.txt 119 echo \"\" >> /mirror/mail_alerte.txt 120 cat \$FICHIERLOG >> /mirror/mail_alerte.txt 121 mail \$MAIL_ADMIN -s \"[Alerte /mirror/mirror_rsync.sh] Pb avec le script\" < /mirror/mail_alerte.txt 122 exit 1 123 fi 124 echo '' | tee -a \$FICHIERLOG 125 126 echo 'Arret de ldap, mysql et cron' | tee -a \$FICHIERLOG 127 /etc/init.d/slapd stop 128 /etc/init.d/mysql stop 129 /etc/init.d/cron stop 130 echo '' | tee -a \$FICHIERLOG 131 132 echo 'rsync de la partition /var' | tee -a \$FICHIERLOG 133 echo '' | tee -a \$FICHIERLOG 134 /usr/bin/rsync -av --delete --exclude=/lock/* --exclude=/lib/backuppc/* --exclude=/se3/* /var/ /mirror/part_var/ | tee -a \$FICHIERLOG 135 umount \$PARTVAR_CIBLE 136 137 echo '' | tee -a \$FICHIERLOG 138 echo 'Redemarrage de ldap, mysql et cron' | tee -a \$FICHIERLOG 139 /etc/init.d/slapd start 140 /etc/init.d/mysql start 141 /etc/init.d/cron start 142 echo '' | tee -a \$FICHIERLOG 143 144 t2=\$(date +%s) 145 duree=\$((t2-t1)) 146 echo \"Duree du mirroring de la partition /var: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 147 echo '' | tee -a \$FICHIERLOG 148 149 t1=\$t2 150 151 #================================== 152 153 #partition home 154 echo 'Montage de la partition HOME' | tee -a \$FICHIERLOG 155 mount -t xfs \$PARTHOME_CIBLE /mirror/part_home 156 if [ \$? != 0 ]; then 157 echo \"** ERREUR ** lors du montage de la partition /home de \${DISK2}\" | tee -a \$FICHIERLOG 158 echo 'Le script ne peut se poursuivre' | tee -a \$FICHIERLOG 159 echo \"VeRIFIEZ LE BON FONCTIONNEMENT DU \${DISK2}\" | tee -a \$FICHIERLOG 160 touch /mirror/mail_alerte.txt 161 echo \"Rapport de fonctionnement du script de mirroring lors de son lancement\" > /mirror/mail_alerte.txt 162 echo \"Voici les problemes constates\" >> /mirror/mail_alerte.txt 163 echo \"\" >> /mirror/mail_alerte.txt 164 cat \$FICHIERLOG >> /mirror/mail_alerte.txt 165 mail \$MAIL_ADMIN -s \"[Alerte /mirror/mirror_rsync.sh] Pb avec le script\" < /mirror/mail_alerte.txt 166 exit 1 167 fi 168 echo '' | tee -a \$FICHIERLOG 169 170 echo 'rsync de la partition /home' | tee -a \$FICHIERLOG 171 echo '' | tee -a \$FICHIERLOG 172 /usr/bin/rsync -av --delete /home/ /mirror/part_home/ | tee -a \$FICHIERLOG 173 cd / 174 umount \$PARTHOME_CIBLE 175 176 t2=\$(date +%s) 177 duree=\$((t2-t1)) 178 echo \"Duree du mirroring de la partition /home: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 179 echo '' | tee -a \$FICHIERLOG 180 181 t1=\$t2 182 #========================================== 183 #partition /var/se3 184 echo 'Montage de la partition VAR/SE3' | tee -a \$FICHIERLOG 185 mount -t xfs \$PARTVARSE3_CIBLE /mirror/part_varse3 186 187 if [ \$? != 0 ]; then 188 echo \"** ERREUR ** lors du montage de la partition /var/se3 de \${DISK2}\" | tee -a \$FICHIERLOG 189 echo 'Le script ne peut se poursuivre' | tee -a \$FICHIERLOG 190 echo \"VeRIFIEZ LE BON FONCTIONNEMENT DU \${DISK2}\" | tee -a \$FICHIERLOG 191 touch /mirror/mail_alerte.txt 192 echo \"Rapport de fonctionnement du script de mirroring lors de son lancement\" > /mirror/mail_alerte.txt 193 echo \"Voici les problemes constates\" >> /mirror/mail_alerte.txt 194 echo \"\" >> /mirror/mail_alerte.txt 195 cat \$FICHIERLOG >> /mirror/mail_alerte.txt 196 mail \$MAIL_ADMIN -s \"[Alerte /mirror/mirror_rsync.sh] Pb avec le script\" < /mirror/mail_alerte.txt 197 exit 1 198 fi 199 200 echo '' | tee -a \$FICHIERLOG 201 202 echo 'rsync de la partition /var/se3' | tee -a \$FICHIERLOG 203 echo '' | tee -a \$FICHIERLOG 204 /usr/bin/rsync -av --delete /var/se3/* /mirror/part_varse3 | tee -a \$FICHIERLOG 205 206 207 t2=\$(date +%s) 208 duree=\$((t2-t1)) 209 echo \"Duree du mirroring de la partition /var/se3: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 210 echo '' | tee -a \$FICHIERLOG 211 212 t1=\$t2 213 214 cd /var/se3 215 echo 'Sauvegarde / Restauration des ACLS en cours pour /var/se3....' 216 getfacl -R . > /mirror/part_varse3/list_acls.txt 217 218 t2=\$(date +%s) 219 duree=\$((t2-t1)) 220 echo \"Duree de la sauvegarde des ACL de la partition /var/se3: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 221 echo '' | tee -a \$FICHIERLOG 222 223 t1=\$t2 224 225 cd /mirror/part_varse3/ 226 setfacl --restore=list_acls.txt 227 cd / 228 umount \$PARTVARSE3_CIBLE 229 230 231 t2=\$(date +%s) 232 duree=\$((t2-t1)) 233 echo \"Duree de la restauration des ACL de la partition /var/se3: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 234 echo '' | tee -a \$FICHIERLOG 235 236 echo 'Recapitulatif:' | tee -a \$FICHIERLOG 237 grep \"^Duree \" \$FICHIERLOG 238 239 duree=\$((t2-t0)) 240 echo \"Duree totale du mirroring: \${duree} secondes soit \$(FORMATE_DUREE \${duree})\" | tee -a \$FICHIERLOG 241 " >> /mirror/mirror_rsync.sh 242 243 244 # creation du script mount_disk2 245 if [ -e /mirror/mount_DISK2.sh ]; then 246 mv /mirror/mount_DISK2.sh /mirror/mount_DISK2_${ladate}.sh 247 fi 248 249 touch /mirror/mount_DISK2.sh 250 chmod 700 /mirror/mount_DISK2.sh 251 echo "source /mirror/param_mirror_rsync.sh 252 mount -t ext3 \$PARTROOT_CIBLE /mirror/part_root 253 mount -t ext3 \$PARTVAR_CIBLE /mirror/part_var 254 mount -t xfs \$PARTHOME_CIBLE /mirror/part_home 255 mount -t xfs \$PARTVARSE3_CIBLE /mirror/part_varse3 256 " > /mirror/mount_DISK2.sh 257 258 # creation du script umount_disk2 259 if [ -e /mirror/umount_DISK2.sh ]; then 260 mv /mirror/umount_DISK2.sh /mirror/umount_DISK2_${ladate}.sh 261 fi 262 touch /mirror/umount_DISK2.sh 263 chmod 700 /mirror/umount_DISK2.sh 264 echo "source /mirror/param_mirror_rsync.sh 265 umount \$PARTROOT_CIBLE 266 umount \$PARTHOME_CIBLE 267 umount \$PARTVARSE3_CIBLE 268 umount \$PARTVAR_CIBLE 269 " > /mirror/umount_DISK2.sh
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |