< Projet src="BLACK_MESA" />

"Working to make a better tomorrow for all mankind"

Projet BLACK_MESA

MAN PAGE : Neverland.1


.TH Neverland 1
.SH NAME
Neverland \- Permet l'expulsion des bandes inutiles.
.SH SYNOPSIS
.B ./Neverland.sh
[\-N]
[\-\-Neverland] [Arg]
[\-C]
[\-\-Check]
[\-h]
[\-\-help]
.SH DESCRIPTION ETAPE 2
.B Neverland
Correspond à la deuxième étape de BLACK_MESA : Retire les bandes considérées comme 'inutiles' du robot.
.SH OPTIONS NEVERLAND
.TP
.BR \-N ", " \-\-Neverland [Arg]
Interroge la base de données BLACK_MESA et trouve les bandes devant être retirées du robot. Une fois trouvées, les bandes sont retirées et placées dans la localisation indiquée.
.TP
.BR \-C ", " \-\-Check
Interroge la base de données BLACK_MESA et trouve les bandes venant d'être migrées sur NBU, une fois retirées, les bandes sont placées dans la localisation NBU.
.TP
.BR \-h ", " \-\-help
Affiche l'aide permettant d'apprendre à utiliser le script Neverland.
								

MAN PAGE : Aperture.1


.TH Aperture.sh 1
.SH NAME
Aperture \- Permet le transfert d'une archive de NetWorker à NetBackup.
.SH SYNOPSIS
.B ./Aperture.sh
[\-E]
[\-\-Eye]
[\-R]
[\-\-Restauration]
[\-S]
[\-\-Sauvegarde]
[\-T]
[\-\-Taille]
[\-o]
[\-\-octets]
[\-t]
[\-\-test]
[\-h]
[\-\-help]
.SH DESCRIPTION ETAPE 3
.B Aperture
Correspond à la troisième étape de BLACK_MESA : Permet de restaurer puis de sauvegarder les anciennes données de NetWorker à NetBackup.
.SH OPTIONS Aperture
.TP
.BR \-E ", " \-\-Eye
Permet de checker les prochaines bandes qui vont être utilisées et savoir si elle sont bien à l'intérieur du robot.
.TP
.BR \-R ", " \-\-Restauration
Restaure les archives de la plus petite à la plus grande dans un maximum de 10To et envoie un check pour après chaque restauration dans la BDD (mesa_check).
.TP
.BR \-S ", " \-\-Sauvegarde
Sauvegarde les archives restaurées qui n'ont pas encore de path / ssid NBU et envoie deux informations dans la BDD (mesa_ssid_nbu, mesa_path_nbu).
.TP
.BR \-D ", " \-\-Destination [Arg]
Permet de préciser un path de destination.
.TP
.BR \-T ", " \-\-Tera
Permet le choix de la taille maximum du volume de destination. La valeur entrée doit être un chiffre entier en Téra Octet.
.TP
.BR \-o ", " \-\-octets
Permet le choix de la taille maximum du volume de destination. La valeur entrée doit être un chiffre entier en octets.
.TP
.BR \-t ", " \-\-test
Lance le script sur la base de test Aperture.
.TP
.BR \-h ", " \-\-help
Affiche l'aide permettant d'apprendre à utiliser le script Neverland.
								

MAN PAGE : Lambda_CORE.1


.TH Lambda_CORE 1
.SH NAME
Lambda_CORE \- Permet le remplissage de la base BLACK_MESA.
.SH SYNOPSIS
.B ./Lambda_CORE.sh
[\-o]
[\-O]
[\-\-origin]
[\-\-Origin]
[\-c]
[\-C]
[\-\-clone]
[\-\-Clone]
[\-u]
[\-U]
[\-\-update]
[\-\-Update]
[\-h]
[\-\-help]
.SH DESCRIPTION ETAPE 1
.B LAMBDA CORE
Correspond à la première étape de BLACK_MESA : Alimenter la base de données BLACK_MESA avec les différentes bandes et archives NetWorker.
.SH OPTIONS LAMBDA CORE
.TP
.BR \-o ", " \-O ", " \-\-origin ", " \-\-Origin
Remplir la table des originaux dans la base de données BLACK_MESA. (Option désactivée...)
.TP
.BR \-c ", " \-C ", " \-\-clone ", " \-\-Clone
Remplir la table des clones dans la base de données BLACK_MESA. (Option désactivée...)
.TP
.BR \-h ", " \-\-help
Affiche l'aide permettant d'apprendre à utiliser le script Lambda_CORE.
								

BLACK_MESA - Lambda_CORE.sh


#!/bin/bash

#               .-;+$XHHHHHHX$+;-.
#            ,;X@@X%/;=----=:/%X@@X/,
#          =$@@%=.              .=+H@X:
#        -XMX:                      =XMX=
#       /@@:     BLΛCK_MESΛ           =H@+
#      %@X,      LAMBDA CORE           .$@$
#     +@X.       Yoann BAUMERT           $@%
#    -@@,                                .@@=
#    %@%                                  +@$
#    H@:                                  :@H
#    H@:         :HHHHHHHHHHHHHHHHHHX,    =@H
#    %@%         ;@M@@@@@@@@@@@@@@@@@H-   +@$
#    =@@,        :@@@@@@@@@@@@@@@@@@@@@= .@@:
#     +@X        :@@@@@@@@@@@@@@@M@@@@@@:%@%
#      $@$,      ;@@@@@@@@@@@@@@@@@M@@@@@@$.
#       +@@HHHHHHH@@@@@@@@@@@@@@@@@@@@@@@+
#        =X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X=
#          :$@@@@@@@@@@@@@@@@@@@M@@@@$:
#            ,;$@@@@@@@@@@@@@@@@@@X/-
#               .-;+$XXHHHHHX$+;-.

################################################################################
########## Test des éléments

if [ $# -gt 2  ]
then

	echo "Nombre d'éléments incorrect."
	exit

fi

################################################################################
########## Valeurs par défaut

origin=0
clone=0
core=0
liste=0
Help=0

################################################################################

while [ $# != 0 ]
do
	case $1 in
		-o | -O | --Origin | --origin )
			#origin=1
			# Pour réactiver l'option, veuillez décommenter la ligne du dessus ainsi que les lignes "msql" du script
			echo "Pour éviter un nouvel incident de BLACK_MESA, cette option a été désactivée."
			exit
			;;
			
		-c | -C | --Clone | --clone )
			#clone=1
			# Pour réactiver l'option, veuillez décommenter la ligne du dessus ainsi que les lignes "msql" du script
			echo "Pour éviter un nouvel incident de BLACK_MESA, cette option a été désactivée."
			exit
			;;
			
		-u | -U | --Update | --update )
			core=1
			;;
			
		-l | -L | --list | --List )
			#liste=1
			#liste_PATH=$2
			#shift
			echo "Pour éviter un nouvel incident de BLACK_MESA, cette option a été désactivée."
			exit
			;;
			
		-h | --help )
			Help=1
			;;

		* )
			echo "Erreur syntaxique : Faites un -h / --help pour plus d'informations."
			exit
			;;
	esac
	shift
done


################################################################################
################################################################################

if [ $origin -eq 1 ]
then
	################################################################################
	########## Injecter tous les pools originaux dans la base

	mminfo -a -r pool | sort -u | grep -v "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,totalsize,volretent"|
				while read volume ssid totalsize retention ;
					  do echo "INSERT INTO MDB_MESA (mesa_media, mesa_ssid, mesa_taille, mesa_retention) VALUES (\"$volume\", \"$ssid\", \"$totalsize\", \"$retention\");" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	################################################################################
	########## Mise à jour prudente des données pouvant contenir des espaces

	mminfo -a -r pool | sort -u | grep -v "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,name" | sed 's/\\/\\\\\\\\/g' |
				while read volume ssid path ;
					  do echo "UPDATE MDB_MESA SET mesa_path=\"$path\" WHERE mesa_media=\"$volume\" AND mesa_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA


	################################################################################

	mminfo -a -r pool | sort -u | grep -v "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,pool" |
				while read volume ssid poule ;
					  do echo "UPDATE MDB_MESA SET mesa_pool=\"$poule\" WHERE mesa_media=\"$volume\" AND mesa_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	################################################################################

	mminfo -a -r pool | sort -u | grep -v "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,location" |
				while read volume ssid localisation ;
					  do echo "UPDATE MDB_MESA SET mesa_localisation=\"$localisation\" WHERE mesa_media=\"$volume\" AND mesa_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	################################################################################

	mminfo -a -r pool | sort -u | grep -v "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,type" |
				while read volume ssid type ;
					  do echo "UPDATE MDB_MESA SET mesa_type=\"$type\" WHERE mesa_media=\"$volume\" AND mesa_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	exit
fi

################################################################################
################################################################################

if [ $clone -eq 1 ]
then
	################################################################################
	################################################################################

	########## Injecter tous les pools Clones dans la base

	mminfo -a -r pool | sort -u | grep "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,totalsize,volretent"|
				while read volume ssid totalsize retention ;
					  do echo "INSERT INTO MDB_BLACK_MESA_EST (mesa_est_media, mesa_est_ssid, mesa_est_taille, mesa_est_retention) VALUES (\"$volume\", \"$ssid\", \"$totalsize\", \"$retention\");" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	################################################################################
	########## Mise à jour prudente des données pouvant contenir des espaces

	mminfo -a -r pool | sort -u | grep "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,name" | sed 's/\\/\\\\\\\\/g' |
				while read volume ssid path ;
					  do echo "UPDATE MDB_BLACK_MESA_EST SET mesa_est_path=\"$path\" WHERE mesa_est_media=\"$volume\" AND mesa_est_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA


	################################################################################

	mminfo -a -r pool | sort -u | grep "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,pool" |
				while read volume ssid poule ;
					  do echo "UPDATE MDB_BLACK_MESA_EST SET mesa_est_pool=\"$poule\" WHERE mesa_est_media=\"$volume\" AND mesa_est_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	################################################################################

	mminfo -a -r pool | sort -u | grep "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,location" |
				while read volume ssid localisation ;
					  do echo "UPDATE MDB_BLACK_MESA_EST SET mesa_est_localisation=\"$localisation\" WHERE mesa_est_media=\"$volume\" AND mesa_est_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

	################################################################################

	mminfo -a -r pool | sort -u | grep "Clone$" |
	  while read pool ;
		do
			  mminfo -a -q pool="$pool" -r "volume,ssid,type" |
				while read volume ssid type ;
					  do echo "UPDATE MDB_BLACK_MESA_EST SET mesa_est_type=\"$type\" WHERE mesa_est_media=\"$volume\" AND mesa_est_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	#msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA
	
	exit
fi

################################################################################
########## Mise à jour des PATH NULL dans la Base de données BLACK_MESA

echo "Mise à jour de BLACK_MESA..."

if [ $core -eq 1 ]
then

	echo "SELECT mesa_ssid FROM MDB_MESA WHERE mesa_path IS NULL ;" | msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA |
	  while read ssid ;
		do
			  mminfo -a -q ssid="$ssid" -r "volume,ssid,name" | sed 's/\\/\\\\\\\\/g' |
				while read volume ssid path ;
					  do echo "UPDATE MDB_MESA SET mesa_path=\"$path\" WHERE mesa_media=\"$volume\" AND mesa_ssid=\"$ssid\";" ;
					done |
			  sed '1d' ;
	  done |
	msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA

fi

################################################################################
########## Ajout de bandes sans ssid

if [ $liste -eq 1 ]
then

	cat $liste_PATH |
	while read bande ;
		do pool=`mminfo -a -q volume="$bande" -r "pool"`
		location=`mminfo -a -q volume="$bande" -r "location"`
		echo "INSERT INTO MDB_MESA (mesa_media, mesa_localisation, mesa_pool) VALUES ('$bande', '$location', '$pool');" | msql -uutilisateur_bdd -sSERVEUR_BDD BLACK_MESA
	done | grep -v "Clone');$"
	
fi
echo "Fin du script."

if [ $Help -eq 1 ]
then
			echo """
           .-;+0XHHHHHHX$+;-.
        ,;X@@X%/;=----=:/%X@@X/,
      =0@@%=.              .=+H@X:
    -XMX:                      =XMX=
   /@@:     BLΛCK_MESΛ           =H@+
  %@X,      Commands HELP         .0@$
 +@X.       Yoann BAUMERT           0@%
-@@,                                .@@=
%@%                                  +@$
H@:                                  :@H
H@:         :HHHHHHHHHHHHHHHHHHX,    =@H
%@%         ;@M@@@@@@@@@@@@@@@@@H-   +@$
=@@,        :@@@@@@@@@@@@@@@@@@@@@= .@@:
 +@X        :@@@@@@@@@@@@@@@M@@@@@@:%@%
  0@$,      ;@@@@@@@@@@@@@@@@@M@@@@@@0.
   +@@HHHHHHH@@@@@@@@@@@@@@@@@@@@@@@+
    =X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X=
      :0@@@@@@@@@@@@@@@@@@@M@@@@$:
        ,;0@@@@@@@@@@@@@@@@@@X/-
           .-;+0XXHHHHHX$+;-.



@@@@@@@@@@@ ---   HELP   --- @@@@@@@@@@



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -o | -O | --Origin | --origin

Option permettant d'ajouter toutes les bandes et anciennes archives originales à la base de données BLACK_MESA

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -c | -C | --Clone | --clone

Option permettant d'ajouter toutes les clones de bandes et anciennes archives à la base de données BLACK_MESA

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -u | -U | --Update | --update

Option permettant d'ajouter les PATH dans la base de données BLACK_MESA là où il y a des champs vides.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -l | -L | --list | --List

Option permettant d'ajouter des bandes sans id et sans ssid depuis un fichier en interrogeant usu.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -h | --help

Option d'aide pour le script en question.
			"""
fi
								

BLACK_MESA - Neverland.sh


#!/bin/bash

#               .-;+$XHHHHHHX$+;-.
#            ,;X@@X%/;=----=:/%X@@X/,
#          =$@@%=.              .=+H@X:
#        -XMX:                      =XMX=
#       /@@:     BLΛCK_MESΛ           =H@+
#      %@X,      Extraction            .$@$
#     +@X.       Yoann BAUMERT           $@%
#    -@@,                                .@@=
#    %@%                                  +@$
#    H@:                                  :@H
#    H@:         :HHHHHHHHHHHHHHHHHHX,    =@H
#    %@%         ;@M@@@@@@@@@@@@@@@@@H-   +@$
#    =@@,        :@@@@@@@@@@@@@@@@@@@@@= .@@:
#     +@X        :@@@@@@@@@@@@@@@M@@@@@@:%@%
#      $@$,      ;@@@@@@@@@@@@@@@@@M@@@@@@$.
#       +@@HHHHHHH@@@@@@@@@@@@@@@@@@@@@@@+
#        =X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X=
#          :$@@@@@@@@@@@@@@@@@@@M@@@@$:
#            ,;$@@@@@@@@@@@@@@@@@@X/-
#               .-;+$XXHHHHHX$+;-.

################################################################################
################################################################################
########## Test des éléments

if [ $# -gt 2  ]
then

	echo "Nombre d'éléments incorrect."
	exit

fi

########## Valeurs par défaut

Location="Neverland"
Neverland=0
Check=0
Help=0

########## Options

while [ $# != 0  ]
do
	case $1 in
		-N | --Neverland | --neverland )
			Neverland=1
			Location=$2
			shift
			;;
			
		-C | --Check )
			Check=1
			;;

		-h | --help )
			Help=1
			;;

		* )
			echo "Erreur syntaxique : Faites un -h / --help pour plus d'informations."
			exit
			;;
	esac
	shift
done

################################################################################
################################################################################
########## Neverland

if [ $Neverland -eq 1 ]
then

########## Initialisation du compteur

	i=0

########## Recherche des bandes à retirer du robot

	#liste_media=`echo "SELECT mesa_media FROM MDB_MESA WHERE mesa_localisation=\"L700\" AND mesa_retention=\"expired\" AND mesa_pool not like \"Off%\" GROUP BY mesa_media;" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -sMYSQL_PROD_SERVEUR BLACK_MESA`
	
	liste_media=`echo "SELECT mesa_est_media FROM MDB_BLACK_MESA_EST WHERE mesa_est_localisation=\"L700\" AND mesa_est_ssid IN (SELECT mesa_ssid FROM MDB_MESA WHERE mesa_localisation=\"L700\") GROUP BY mesa_est_media;" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -sMYSQL_PROD_SERVEUR BLACK_MESA`

	if [ $? -ne 0 ]
	then
		echo "Erreur SQL : VAR : liste_media : Incorrecte."
		exit
	fi

	if [ -z "$liste_media"  ] && [ $? -eq 0 ]
	then
		echo "Toutes les vieilles bandes sont déjà parties pour le Neverland..."
		exit
	fi

################################################################################
########## Retire 20 bandes et attend une action de l'utilisateur pour retirer les 20 suivantes

	for media in $liste_media
	do
#########################################################################################
		nsrjb -w $media

		if [ $? -ne 0 ]
		then
			echo "Erreur lors de l'éjection de la bande."
			exit
		else
			echo "Sortie de la bande $media : OK"
#########################################################################################
			mmlocate -u -n $media $Location

			if [ $? -ne 0 ]
			then
				echo "Erreur lors de la modification de la localisation de la bande sur NetWorker."
				exit
			else
				echo "Modification de la localisation de la bande $media dans NetWorker : OK"
#########################################################################################
				echo "UPDATE MDB_BLACK_MESA_EST SET mesa_est_localisation=\"$Location\" WHERE mesa_est_media=\"$media\";" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -sMYSQL_PROD_SERVEUR BLACK_MESA

				if [ $? -ne 0 ]
				then
					echo "Erreur lors de la mise à jour de la base de données pour la bande $media"
					echo "Lancez une des commandes suivantes pour corriger le souci : "
					echo "BASH : echo \"UPDATE MDB_MESA SET mesa_localisation=\\\"$Location\\\" WHERE mesa_media=\\\"$media\\\";\" | /env/cns/opt/mysql/local/msql -N -ubaumert -sMYSQL_PROD_SERVEUR BLACK_MESA"
					echo "MySQL : UPDATE MDB_MESA SET mesa_localisation=\"$Location\" WHERE mesa_media=\"$media\"; "
					exit
				else
					echo "Modification de la localisation de la bande $media dans la BDD : OK"
				fi
			fi
		fi

	echo "#########################################################################################"
#########################################################################################
		# Le compteur sert à limiter à 20 le nombre de bandes expulsées

		i=$((i+1))

		if [ $(( i % 20 )) -eq 0 ]
		then
			read -p "Entrée pour continuer..."
		fi
	done
fi

#########################################################################################
#########################################################################################

if [ $Check -eq 1 ]
then
########## Initialisation du compteur

	i=0

########## Recherche des bandes à retirer du robot

	liste_bandes_migrees=`echo "SELECT mesa_media FROM MDB_MESA WHERE mesa_localisation = \"L700\" AND mesa_media NOT IN (SELECT mesa_media FROM MDB_MESA WHERE mesa_path_nbu IS NULL OR mesa_ssid_nbu IS NULL);" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -sMYSQL_PROD_SERVEUR BLACK_MESA`
	
	if [ $? -ne 0 ]
	then
		echo "Erreur SQL : Une erreur est survenue dans la variable liste_bandes_migrees."
		exit
	fi
	
	if [ $? -eq 0 ] && [ -z "$liste_bandes_migrees" ]
	then
		echo "Aucune bande à retirer."
		exit
	fi
	
	########################################################################################
	########## Procédure pour expulser les bandes dont on a plus l'utilité.
	
	for media_nbu in $liste_bandes_migrees
	do
	
		nsrjb -w $media_nbu
		if [ $? -ne 0 ]
		then
			echo "Erreur lors de l'éjection de la bande $media_nbu."
			exit
		else
			echo "Sortie de la bande : OK"
			
			#################################################################################
			
			mmlocate -u -n $media_nbu NBU
			if [ $? -ne 0 ]
			then
				echo "Erreur lors de la modification de la localisation sur NetWorker."
				exit
			else
				echo "Modification de la localisation sur NetWorker : OK"
				
				###############################################################################
				
				echo "UPDATE MDB_BLACK_MESA_EST SET mesa_est_localisation=\"NBU\" WHERE mesa_est_media=\"$media_nbu\";" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -sMYSQL_PROD_SERVEUR BLACK_MESA
				if [ $? -ne 0 ]
				then
					echo "Erreur lors de la mise à jour de la base de données BLACK_MESA pour la bande $media_nbu."
					echo "Lancez une des commandes suivantes pour corriger le souci : "
					echo "BASH : echo \"UPDATE MDB_MESA SET mesa_localisation=\\\"NBU\\\" WHERE mesa_media=\\\"$media_nbu\\\";\" | /env/cns/opt/mysql/local/msql -N -ubaumert -sMYSQL_PROD_SERVEUR BLACK_MESA"
					echo "MySQL : UPDATE MDB_MESA SET mesa_localisation=\"NBU\" WHERE mesa_media=\"$media_nbu\"; "
					exit
				else
					echo "Modification de la localisation de la bande $media_nbu dans la BDD : OK"
				fi
			fi
		fi
	
	echo "#########################################################################################"
	
	#############################################################################################
	########## Compteur permettant de limiter à 20 le nombre de bandes expulées
	
	i=$((i+1))
	
	if [ $(( i % 20 )) -eq 0 ]
	then
		read -p "Entrée pour continuer..."
	fi
	
	done
fi

if [ $Help -eq 1 ]
then
			echo """
           .-;+0XHHHHHHX$+;-.
        ,;X@@X%/;=----=:/%X@@X/,
      =0@@%=.              .=+H@X:
    -XMX:                      =XMX=
   /@@:     BLΛCK_MESΛ           =H@+
  %@X,      Commands HELP         .0@$
 +@X.       Yoann BAUMERT           0@%
-@@,                                .@@=
%@%                                  +@$
H@:                                  :@H
H@:         :HHHHHHHHHHHHHHHHHHX,    =@H
%@%         ;@M@@@@@@@@@@@@@@@@@H-   +@$
=@@,        :@@@@@@@@@@@@@@@@@@@@@= .@@:
 +@X        :@@@@@@@@@@@@@@@M@@@@@@:%@%
  0@$,      ;@@@@@@@@@@@@@@@@@M@@@@@@0.
   +@@HHHHHHH@@@@@@@@@@@@@@@@@@@@@@@+
    =X@@@@@@@@@@@@@@@@@@@@@@@@@@@@X=
      :0@@@@@@@@@@@@@@@@@@@M@@@@$:
        ,;0@@@@@@@@@@@@@@@@@@X/-
           .-;+0XXHHHHHX$+;-.



@@@@@@@@@@@ ---   HELP   --- @@@@@@@@@@



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -N | --Neverland (Argument)

Option permettant de sortir les bandes considérées comme 'inutiles' de l'ancien robot.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -C | --Check

Option permettant de sortir les bandes dont tous les ssid ont été restaurés et mis sur NBU.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -h | --help

Option d'aide pour le script en question.
			"""
fi
								

BLACK_MESA - Aperture.sh


#!/bin/bash

#                  .,-:;//;:=,
#              . :H@@@MM@M#H/.,+%;,
#           ,/X+ +M@@M@MM%=,-%HMMM@X/,
#         -+@MM; ?M@@MH+-,;XMMMM@MMMM@+-
#        ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/.
#      ,%MM@@MH ,@%=             .---=-=:=,.
#      =@#@@@MX.,                -%HX??%%%:;
#     =-./@M@M?                   .;@MMMM@MM:
#     X@/ -?MM/                    . +MM@@@M?
#    ,@M@H: :@:   Yoann BAUMERT    . =X#@@@@-
#    ,@@@MMX, .   Aperture         /H- ;@M@M=
#    .H@@@@M@+,                    %MM+..%#?.
#     /MMMM@MMH/.                  XM@MH; =;
#      /%+%?XHH@?=              , .H@@@@MX,
#       .=--------.           -%H.,@@@@@MX,
#       .%MM@@@HHHXX???%+- .:?MMX =M@@MM%.
#         =XMMM@MM@MM#H;,-+HMM@M+ /MMMX=
#           =%@M@M#@?-.=?@MM@@@M; %M%=
#             ,:+?+-,/H#MMMMMMM@= =,
#                   =++%%%%+/:-.

#####################################################################################
#####################################################################################
# Valeurs par défaut

#taille_max=10995116277760
taille_max=512
taille_use=0
Restauration=0
Sauvegarde=0
Help=0
Eye=0
Destination="/env/export/snapvault_cns/v_nw2nbu/"
Destination_log="/env/export/archive_proj/archive_nw_2_nbu/LOG/"
nom_fichier_log="`date '+%Y-%m-%d-%H-%M-%S'`.log"
Blocage_verif=0
BDD="BLACK_MESA"
SRVBDD="MYSQL_PROD_SERVEUR"

#####################################################################################
#####################################################################################
##### Arguments & tests

if [ $# -gt 6 ] || [ $# -eq 0 ]
then
	echo "Nombre d'arguments incorrect. (-h / --help)"
	exit
fi

#####################################################################################

while [ $# != 0 ]
do
	case $1 in
		-R | --Restauration )
			Restauration=1
			;;
		
		-S | --Sauvegarde )
			Sauvegarde=1
			;;
		
		-E | --Eye )
			Eye=1
			;;
		
		-D | --Destination )
			if [ "$BDD" == "Aperture" ]
			then
				echo "Erreur : Argument '--Destination' interdit avec le '--test' !"
				exit
			fi
			Destination=$2
			echo "Destination fixée sur : $Destination"
			shift
			;;
		
		-T | --Tera )
			taille_max=$2
			taille_max=$(($taille_max * 1024 * 1024 * 1024 * 1024))
			echo "Taille maximum basée sur : $taille_max octets"
			shift
			;;
		
		-t | --test )
			if [ $Destination != "/env/export/snapvault_cns/v_nw2nbu/" ]
			then
				echo "Erreur : Argument '--Destination' interdit avec le '--test' !"
				exit
			fi
			BDD="Aperture"
			SRVBDD="MYSQL_TEST_SERVEUR"
			Destination="/env/export/snapvault_cns/v_nw2nbu/test/"
			;;
		
		-o | --octets )
			taille_max=$2
			echo "Taille maximum basée sur : $taille_max octets"
			shift
			;;
		
		-h | --help )
			Help=1
			;;
		
		* )
			echo "Erreur syntaxique : Faites un -h / --help pour plus d'informations."
			exit
			;;
	esac
	shift
done

echo "- - - - - - - - - -"
echo "LOG : $Destination_log$nom_fichier_log"
echo "- - - - - - - - - -"

if [ "$BDD" == "Aperture" ]
then
	echo """
                      .,-:;//;:=,
                  . :H@@@MM@M#H/.,+%;,
               ,/X+ +M@@M@MM%=,-%HMMM@X/,
             -+@MM; ?M@@MH+-,;XMMMM@MMMM@+-
            ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/.
          ,%MM@@MH ,@%=             .---=-=:=,.
          =@#@@@MX.,                -%HX??%%%:;
         =-./@M@M?                   .;@MMMM@MM:
         X@/ -?MM/                    . +MM@@@M?
        ,@M@H: :@:   Zone de TEST     . =X#@@@@-
        ,@@@MMX, .   Aperture         /H- ;@M@M=
        .H@@@@M@+,                    %MM+..%#?.
         /MMMM@MMH/.                  XM@MH; =;
          /%+%?XHH@?=              , .H@@@@MX,
           .=--------.           -%H.,@@@@@MX,
           .%MM@@@HHHXX???%+- .:?MMX =M@@MM%.
             =XMMM@MM@MM#H;,-+HMM@M+ /MMMX=
               =%@M@M#@?-.=?@MM@@@M; %M%=
                 ,:+?+-,/H#MMMMMMM@= =,
                       =++%%%%+/:-.
	"""
fi

#####################################################################################
#####################################################################################
########## On vérifie l'emplacement des prochaines bandes


if [ $Eye -eq 1 ]
then
	##### On selectionne les ssid pas encore restaurés
	infos_bandes=`echo "SELECT mesa_ssid, mesa_taille FROM MDB_MESA WHERE mesa_retention=\"forever\" AND (mesa_pool=\"ArchiveProjet\" OR mesa_pool=\"RawRuns\") AND mesa_localisation!=\"ARCHIVE\" AND mesa_type=\"LTO Ultrium-4\" AND mesa_taille>1 AND mesa_check IS NULL GROUP BY mesa_ssid ORDER BY mesa_taille, mesa_media;" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -s$SRVBDD $BDD`
	
	if [ $? -ne 0 ]
	then
		echo "Erreur SQL : Variable infos_bandes incorrecte."
		echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL : Variable infos_bandes incorrecte." >> $Destination_log$nom_fichier_log
		exit
	fi
	
	if [ $? -eq 0 ] && [ -z "infos_bandes" ]
	then
		echo "Aucune bande ne doit être ajoutée dans le robot."
		echo "`date '+%Y-%m-%d %H:%M:%S'` Aucune bande ne doit être ajoutée dans le robot." >> $Destination_log$nom_fichier_log
	fi
	
	while read ssid taille
	do
		##### On checke les bandes de ces ssid
		check_localisation=`echo "SELECT mesa_media, mesa_localisation FROM MDB_MESA WHERE mesa_ssid=\"$ssid\" AND mesa_localisation!=\"ARCHIVE\" AND mesa_type=\"LTO Ultrium-4\";" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -s$SRVBDD $BDD`
		if [ $? -ne 0 ]
		then
			echo "Erreur SQL : Variable check_localisation incorrecte."
			echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL : Variable check_localisation incorrecte." >> $Destination_log$nom_fichier_log
			exit
		fi
		
		#####
		
		while read check_media check_local
		do
			if [ $check_local == "L700" ]
			then
				echo "$check_media : OK : $taille octets"
			else
				echo "$check_media : WARNING : $check_local"
			fi
		done <<< "$check_localisation"
	done <<< "$infos_bandes"
fi

#####################################################################################
#####################################################################################
########## On restaure les vieux ssid

if [ $Restauration -eq 1 ]
then
	#####################################################################################
	#####################################################################################
	# On appelle la requête pour avoir une liste de bandes, de ssid, de paths et de tailles qui nous serviront à l'exécution du script

	infos_ssid=`echo "SELECT mesa_ssid, mesa_taille, mesa_path FROM MDB_MESA WHERE mesa_retention=\"forever\" AND (mesa_pool=\"ArchiveProjet\" OR mesa_pool=\"RawRuns\") AND mesa_localisation!=\"ARCHIVE\" AND mesa_type=\"LTO Ultrium-4\" AND mesa_taille>1 AND mesa_check IS NULL GROUP BY mesa_ssid ORDER BY mesa_taille, mesa_media;" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -s$SRVBDD $BDD`

	if [ $? -ne 0 ]
	then
		echo "Erreur SQL : Variable infos_ssid incorrecte."
		echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL : Variable infos_ssid incorrecte." >> $Destination_log$nom_fichier_log
		exit
	fi
	
	if [ -z "$infos_ssid" ] && [ $? -eq 0 ]
	then
		echo "Tous les ssid situés dans le robot ont été restaurés."
		echo "`date '+%Y-%m-%d %H:%M:%S'` Tous les ssid situés dans le robot ont été restaurés." >> $Destination_log$nom_fichier_log
		exit
	fi

	#####################################################################################
	#####################################################################################
	# Pour chaque bande, on va préalablement informer l'utilisateur de la taille du ssid :
	# Si l'espace du volume est insuffisant pour le ssid (au complet), on quitte

	while read ssid taille path
	do
		echo " "
		taille_use=$(($taille_use + $taille))
		ssid_path=$ssid"/"
		
		if [ $taille_use -lt $taille_max ]
		then
			echo "#######################################"
			echo "`date '+%Y-%m-%d %H:%M:%S'` Ajout de $taille octets." >> $Destination_log$nom_fichier_log
			echo "Ajout de $taille octets."
			echo "=> $taille_use octets / $taille_max octets"
			echo "`date '+%Y-%m-%d %H:%M:%S'` => $taille_use octets / $taille_max octets" >> $Destination_log$nom_fichier_log
			verif_localisation=`echo "SELECT mesa_media, mesa_localisation FROM MDB_MESA WHERE mesa_ssid=\"$ssid\" AND mesa_localisation!=\"ARCHIVE\" AND mesa_type=\"LTO Ultrium-4\";" | /env/cns/opt/mysql/local/msql -N -uutilisateur_BDD -s$SRVBDD $BDD`
			if [ $? -ne 0 ]
			then
				echo "Erreur SQL : Variable verif_localisation incorrecte."
				echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL : Variable verif_localisation incorrecte." >> $Destination_log$nom_fichier_log
				exit
			fi
			#####################################################################################
			#####################################################################################
			########## S'il manque une bande pour la restauration d'un SSID, je sors du script
			echo "- - - - - - - -"
			while read media_verif localisation_verif
			do
				if [ $localisation_verif == "L700" ]
				then
					echo "$media_verif : OK"
					echo "`date '+%Y-%m-%d %H:%M:%S'` $media_verif : OK" >> $Destination_log$nom_fichier_log
				else
					echo "WARNING : La bande $media_verif située dans la localisation - $localisation_verif - doit être placée dans le robot."
					Blocage_verif=1
					echo "`date '+%Y-%m-%d %H:%M:%S'` WARNING : La bande $media_verif située dans la localisation - $localisation_verif - doit être placée dans le robot." >> $Destination_log$nom_fichier_log
				fi				
			done <<< "$verif_localisation"
			echo "- - - - - - - -"
			echo " "

			if [ $Blocage_verif -eq 1 ]
			then
				echo "WARNING - Fin du script."
				echo "`date '+%Y-%m-%d %H:%M:%S'` WARNING - Fin du script." >> $Destination_log$nom_fichier_log
				exit
			fi

			#####################################################################################
			#####################################################################################
			########## Si le dossier correspondant au SSID n'est pas créé, on sort du script
			mkdir $Destination$ssid_path
			if [ $? -ne 0 ]
			then
				echo "Erreur : Impossible de créer le dossier $Destination$ssid_path"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur : Impossible de créer le dossier $Destination$ssid_path" >> $Destination_log$nom_fichier_log
				echo "Erreur : Fin du script (La restauration n'a pas eu lieu)"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur : Fin du script (La restauration n'a pas eu lieu)" >> $Destination_log$nom_fichier_log
				exit
			else
				echo "Info : mkdir $Destination$ssid_path : OK"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Info : mkdir $Destination$ssid_path : OK" >> $Destination_log$nom_fichier_log
			fi
			
			#####################################################################################
			#####################################################################################
			########## Si la restauration ne se passe pas correctement, on sort du script
			/usr/sbin/nsrretrieve -S $ssid -d $Destination$ssid_path
			if [ $? -ne 0 ]
			then
				echo "Erreur lors de la restauration du ssid $ssid"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur lors de la restauration du ssid $ssid - Fin du script"  >> $Destination_log$nom_fichier_log
				echo "Fin du script"
				exit
			else
				echo "Info : ssid $ssid restauré dans $Destination$ssid_path"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Info : ssid $ssid restauré dans $Destination$ssid_path" >> $Destination_log$nom_fichier_log
				echo "UPDATE MDB_MESA SET mesa_check=1 WHERE mesa_ssid=\"$ssid\" ;" | /env/cns/opt/mysql/local/msql -uutilisateur_BDD -s$SRVBDD $BDD
				if [ $? -ne 0 ]
				then
					echo "Erreur SQL lors de l'envoie du check de restauration du ssid $ssid. (La restauration a bien eu lieu : veuillez mettre à jour la base de données : UPDATE MDB_MESA SET mesa_check=1 WHERE mesa_ssid='$ssid' ; )"
					echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL lors de l'envoie du check de restauration du ssid $ssid. (La restauration a bien eu lieu : veuillez mettre à jour la base de données : UPDATE MDB_MESA SET mesa_check=1 WHERE mesa_ssid='$ssid' ; ) - Fin du script" >> $Destination_log$nom_fichier_log
					echo "Fin du script"
					exit
				else
					echo "Info : CHECK : OK" ########## mesa_check = check de restauration
					echo "`date '+%Y-%m-%d %H:%M:%S'` Info : CHECK : OK" >> $Destination_log$nom_fichier_log
				fi
				
				#####################################################################################
				echo "UPDATE MDB_MESA SET mesa_path_nbu=\"$Destination$ssid_path\" WHERE mesa_ssid=\"$ssid\" ;" | /env/cns/opt/mysql/local/msql -uutilisateur_BDD -s$SRVBDD $BDD
				if [ $? -ne 0 ]
				then
					echo "Erreur SQL lors de l'envoie du path NBU du ssid $ssid. (La restauration a bien eu lieu : veuillez mettre à jour la base de données : UPDATE MDB_MESA SET mesa_path_nbu='$Destination$ssid_path' WHERE mesa_ssid='$ssid' ; )"
					echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL lors de l'envoie du path NBU du ssid $ssid. (La restauration a bien eu lieu : veuillez mettre à jour la base de données : UPDATE MDB_MESA SET mesa_path_nbu='$Destination$ssid_path' WHERE mesa_ssid='$ssid' ; )" >> $Destination_log$nom_fichier_log
					exit
				else
					echo "Info : NBU PATH $Destination$ssid_path : OK" ########## mesa_path_nbu = Nouveau PATH
					echo "`date '+%Y-%m-%d %H:%M:%S'` Info : NBU PATH $Destination$ssid_path : OK" >> $Destination_log$nom_fichier_log
				fi
			fi
		else
			echo "##########################################################"
			echo "Le volume est complet, arrêt des restaurations."
			echo "`date '+%Y-%m-%d %H:%M:%S'` Le volume est complet, arrêt des restaurations." >> $Destination_log$nom_fichier_log
			echo " "
			exit
		fi
	done <<< "$infos_ssid"
fi

#####################################################################################
#####################################################################################
########## On sauvegarde les vieux ssid

if [ $Sauvegarde -eq 1 ]
then
	# Une fois les restaurations terminées, la sauvegarde NetBackup commence
	#####################################################################################
	#####################################################################################

	infos_check=`echo "SELECT mesa_ssid, mesa_path_nbu FROM MDB_MESA WHERE mesa_check=1 AND mesa_path_nbu IS NOT NULL AND mesa_ssid_nbu IS NULL ;" | /env/cns/opt/mysql/bin/mysql -N -ubaumert $BDD -hmysqlcns.genoscope.cns.fr -P 3307`

	if [ $? -ne 0 ]
	then
		echo "Erreur SQL : Variable infos_check incorrecte."
		echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur SQL : Variable infos_check incorrecte." >> $Destination_log$nom_fichier_log
		exit
	fi
	
	if [ -z "$infos_check" ] && [ $? -eq 0 ]
	then
		echo "Aucune sauvegarde à faire." 
		echo "`date '+%Y-%m-%d %H:%M:%S'` Aucune sauvegarde à faire." >> $Destination_log$nom_fichier_log
		exit
	fi

	#####################################################################################

	while read nw_ssid path_nbu
	do
		path_nbu_restore=$path_nbu"restore.info"
		/env/cns/proj/info/system/tools/scripts/ArchiveDir  --site CNS $path_nbu
		if [ $? -ne 0 ]
		then
			echo "Erreur lors de la sauvegarde sur NBU : ArchiveDIR error."
			echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur lors de la sauvegarde sur NBU : ArchiveDIR error." >> $Destination_log$nom_fichier_log
			exit
		else
			echo "Info : ArchiveDIR --site CNS $path_nbu : OK"
			echo "`date '+%Y-%m-%d %H:%M:%S'` Info : Archive : OK" >> $Destination_log$nom_fichier_log
			
	# Après chaque sauvegarde de ssid, un nouveau check est envoyé avec le nouveau path du ssid
	
			restore=`cat $path_nbu_restore | grep 'netbackup_' | awk '{ print $12 }'`
			if [ $? -ne 0 ]
			then
				echo "Erreur lors de la lecture du fichier $path_nbu_restore."
				echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur lors de la lecture du fichier $path_nbu_restore." >> $Destination_log$nom_fichier_log
				exit
			else
				echo "Info : ssid NBU $restore : OK"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Info : ssid NBU $restore : OK" >> $Destination_log$nom_fichier_log
			fi
			
			#####################################################################################
			
			echo "UPDATE MDB_MESA SET mesa_ssid_nbu=\"$restore\" WHERE mesa_ssid=\"$nw_ssid\" ; "| /env/cns/opt/mysql/bin/mysql -N -ubaumert $BDD -hmysqlcns.genoscope.cns.fr -P 3307
			if [ $? -ne 0 ]
			then
				echo "Erreur lors de la mise à jour des nouvelles informations NBU pour le path $path_nbu"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Erreur lors de la mise à jour des nouvelles informations NBU pour le path $path_nbu" >> $Destination_log$nom_fichier_log
				exit
			else
				echo "Info : CHECK $nw_ssid NBU $restore : OK"
				echo "`date '+%Y-%m-%d %H:%M:%S'` Info : CHECK NetWorker ssid $nw_ssid NBU ssid $restore : OK" >> $Destination_log$nom_fichier_log
				echo "- - - - - - - - - - - - - - -"
			fi
		fi
	done <<< "$infos_check"

	# Une fois toutes les sauvegardes terminées, les données sont supprimées par NBU et la base de données BLACK_MESA est mise à jour !
fi

if [ $Help -eq 1 ]
then
			echo """
              .,-:;//;:=,
          . :H@@@MM@M#H/.,+%;,
       ,/X+ +M@@M@MM%=,-%HMMM@X/,
     -+@MM; ?M@@MH+-,;XMMMM@MMMM@+-
    ;@M@@M- XM@X;. -+XXXXXHHH@M@M#@/.
  ,%MM@@MH ,@%=             .---=-=:=,.
  =@#@@@MX.,                -%HX??%%%:;
 =-./@M@M?                   .;@MMMM@MM:
 X@/ -?MM/                    . +MM@@@M?
,@M@H: :@:   Yoann BAUMERT    . =X#@@@@-
,@@@MMX, .   Aperture         /H- ;@M@M=
.H@@@@M@+,                    %MM+..%#?.
 /MMMM@MMH/.                  XM@MH; =;
  /%+%?XHH@?=              , .H@@@@MX,
   .=--------.           -%H.,@@@@@MX,
   .%MM@@@HHHXX???%+- .:?MMX =M@@MM%.
     =XMMM@MM@MM#H;,-+HMM@M+ /MMMX=
       =%@M@M#@?-.=?@MM@@@M; %M%=
         ,:+?+-,/H#MMMMMMM@= =,
               =++%%%%+/:-.


@@@@@@@@@@@ ---   HELP   --- @@@@@@@@@@



@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -E | --Eye

Check la localisation des bandes des prochains ssid qui vont être restaurés.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -R | --Restauration

Option permettant de lancer la restauration des vieilles archives.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -S | --Sauvegarde

Option permettant de lancer la sauvegarde des archives restaurées et pas encore sauvegardées.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -D | --Destination [Arg]

Permet de préciser un path de destination.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -T | --Tera (Argument)

Option permettant de modifier la taille maximum du volume destination. (En To)

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -o | --octets (Argument)

Option permettant de modifier la taille maximum du volume destination. (En octets)

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -t | --test

Lance le script sur la base de test Aperture.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@@@@@@@@@@  -h | --help

Option d'aide pour le script en question.
			"""
fi
								

Structure MySQL


SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- -----------------------------------------------------
-- Schema BLACK_MESA
-- -----------------------------------------------------
CREATE SCHEMA IF NOT EXISTS `BLACK_MESA` DEFAULT CHARACTER SET utf8 ;
USE `BLACK_MESA` ;

-- -----------------------------------------------------
-- Table `BLACK_MESA`.`MDB_MESA`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BLACK_MESA`.`MDB_MESA` (
  `mesa_id` INT NOT NULL AUTO_INCREMENT COMMENT 'Les matériaux anormaux n\'ont rien a voir avec cette base...',
  `mesa_media` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_ssid` VARCHAR(100) CHARACTER SET 'utf8' NULL,
  `mesa_taille` BIGINT(8) NULL,
  `mesa_path` MEDIUMTEXT CHARACTER SET 'utf8' NULL,
  `mesa_pool` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_localisation` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_retention` VARCHAR(25) CHARACTER SET 'utf8' NULL,
  `mesa_type` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_check` INT(11) NULL,
  `mesa_ssid_nbu` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_path_nbu` MEDIUMTEXT CHARACTER SET 'utf8' NULL,
  PRIMARY KEY (`mesa_id`))
ENGINE = InnoDB;


-- -----------------------------------------------------
-- Table `BLACK_MESA`.`MDB_BLACK_MESA_EST`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `BLACK_MESA`.`MDB_BLACK_MESA_EST` (
  `mesa_est_id` INT NOT NULL AUTO_INCREMENT COMMENT 'Ne laissez pas de bestioles dans le micro-ondes !',
  `mesa_est_media` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_est_ssid` VARCHAR(100) CHARACTER SET 'utf8' NULL,
  `mesa_est_taille` BIGINT(8) NULL,
  `mesa_est_path` MEDIUMTEXT CHARACTER SET 'utf8' NULL,
  `mesa_est_pool` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_est_localisation` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_est_retention` VARCHAR(25) CHARACTER SET 'utf8' NULL,
  `mesa_est_type` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_est_check` INT(11) NULL,
  `mesa_est_ssid_nbu` VARCHAR(45) CHARACTER SET 'utf8' NULL,
  `mesa_est_path_nbu` MEDIUMTEXT CHARACTER SET 'utf8' NULL,
  PRIMARY KEY (`mesa_est_id`))
ENGINE = InnoDB;


SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;