Tags

mercredi 6 février 2013

Scripts de pré/post traitement sous NetBackup

Il est parfois intéressant de pouvoir lancer un script avant sa sauvegarde, ou après, voire les 2 à la fois. Cas pratique par excellence, la réalisation d'un dump d'une base de données avant la sauvegarde, afin de s'assurer que cette dernière est bien valide (pas de dump en cours, et bien récent).

NetBackup permet évidemment ce genre d'opération, en voici un aperçu simplifié...

Les scripts

En fonction de l'OS utilisé, il doivent porter le nom suivant :
  • Sous Unix :
    • bpstart_notify[.<nom de la police>[.<schedule>]]
    • bpend_notify[.<nom de la police>[.<schedule>]]
  • Sous Windows
    • bpstart_notify[.<nom de la police>[.<schedule>]].bat
    • bpend_notify[.<nom de la police>[.<schedule>]].bat
Ils se placent sur le client, dans le répertoire bin dans le répertoire d'installation du client.

Ils seront appelés au début et à la fin de la sauvegarde. Celui qui rempli le plus de contraintes satisfaites sera prioritaire sur les autres. Par exemple, le bpstart_notify.MaPolice sera prioritaire sur le bpstart_notify quand on lancera la police MaPolice.

Les paramètres

Ils sont au nombre de 6, et sont accédés classiquement pour chaque OS : $X pour le Xème paramètre sous Unix/Linux, et %X pour le Xème paramètre sous Windows.

Voici les paramètres :
  • 1 : Nom du client
  • 2 : Nom de la police
  • 3 : Nom du Schedule
  • 4 : Type du Schedule
  • 5 : Status (0 dans le bpstart_notify)
  • 6 : Fichier de resultat
Les paramètres

Lors de l'exécution de ces scripts, des variables d'environnement sont aussi disponibles :
  • BACKUPID
  • UNIXBACKUPTIME
  • BACKUPTIME 
Code Retour

NetBackup ne lancera la sauvegarde que si le script précédent se termine, et n'a pas remonté un code retour différent de 0.

Attention : le code retour n'est pas classiquement utilisé (exit $CR dans le script), mais il doit être déposé dans le fichier de résultat (Sixième paramètre passé au script). Il est donc important de bien terminer son script par la commande echo <code_retour> > %6 (ou  echo <code_retour> > $6)

Si jamais le script ne se termine pas bien, et l'a bien renseigné dans le fichier résultat, le job de sauvegarde tombera avec un status code 73.

Timeout

Si jamais le script dure, NetBackup n'attendra pas la fin de son exécution pour interrompre le job de sauvegarde. Dans ce cas, le job se termine en code 74.
Si c'est le bpend_notify qui échoue, le jobs finira avec un code retour 75.

Ce timeout est par défaut de 300s, mais peut être modifié dans les "master proterties" avec la variable bpstart timeout ou bpend timeout.

Multi-flux

Combiner les scripts de pré ou post traitement avec les sauvegardes à plusieurs flux apporte souvent quelques prises de têtes, car il est compliqué de synchroniser les traitements. Symantec propose une idée intéressante et qui permettra de dépanner. Vous la trouverez ici : TECH6675



1 commentaire:

  1. bonjour,

    savez vous si ces variables d'environnement :
    BACKUPID
    UNIXBACKUPTIME
    BACKUPTIME

    sont egalement disponibles sous windows ? car je ne trouve rien... merci !!!

    RépondreSupprimer

Rechercher dans ce blog