[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/usr/share/se3/sbin/ -> genere_mirror_rsync_sh.sh (source)

   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


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1