Scripts de sauvegarde Linux (Networker)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Procédure d'exploitation
Objectif Script pré/post-sauvegarde Linux : verrouiller/déverrouiller un VOB ClearCase autour d'une sauvegarde NetWorker
Voir aussi Savepnpc · Save (Networker)

Ce script shell est destiné à être appelé en pré-commande / post-commande (via Savepnpc) d'un groupe de sauvegarde : il verrouille un VOB ClearCase avant la sauvegarde du client, exécute la sauvegarde (save), puis déverrouille le VOB.

Script

#!/bin/sh
# exporter le SHELL que nous allons utiliser
SHELL=/bin/sh
export SHELL

# exporter le PATH correct pour que tous les binaires requis soient trouves
case $0 in
/* ) PATH=/usr/atria/bin:/bin:/usr/bin:`/bin/dirname $0`
c=`/bin/basename $0`
;;
* ) PATH=/usr/atria/bin:/bin:/usr/bin:/usr/sbin
c=$0
;;
esac
export PATH

# Etats valides qui cloturent la sauvegarde
statuses="
failed.
abandoned.
succeeded.
completed savetime=
"

# PRECMD : verrouiller le VOB
/usr/atria/bin/cleartool setview -exec \
"/usr/atria/bin/cleartoollock -c 'VOB backups in progress' -vob /vobs/exemple_vob" magic_view > /tmp/voblock.log 2>&1

# Effectuer la sauvegarde sur le client
save "$@" > /tmp/saveout$$ 2>&1

# Enregistrer le resultat de la sauvegarde
cat /tmp/saveout$$

# Rechercher les etats de sauvegarde dans la sortie de save
for i in ${statuses}; do
result=`grep "${i}" /tmp/saveout$$`
if [ $? != 0 ] ; then
echo ${result}
fi
done

# POSTCMD : deverrouiller le VOB
/usr/atria/bin/cleartool setview -exec \
"/usr/atria/bin/cleartoolunlock -vob /vobs/exemple_vob" magic_view > /tmp/vobunlock.log 2>&1

exit 0

Notes

  • Le chemin du VOB ClearCase d'origine (probablement un chemin d'environnement réel) a été remplacé par le placeholder générique /vobs/exemple_vob.
  • La version source de ce script était partiellement traduite en pseudo-français dans sa logique de contrôle (« pour i dans », « alors », test [$? != 0] mal formé), ce qui la rendait non exécutable telle quelle. La boucle for ... in ... do ... done et le test if ... then ... fi ont été restaurés dans une syntaxe shell valide.

Voir aussi

  • Savepnpc — mécanisme de pré/post-commande utilisant ce type de script
  • Save (Networker) — commande de sauvegarde appelée par le script