Avamar – Restoration planifiée

Dans le billet de ce jour je vais aborder la problématique de la restoration planifiée.

En effet, il se peut qu’un jour vous ayez à planifier une restoration dans le cadre par exemple d’une migration d’environnement : Vous avez votre policy qui dispose d’une schedule pour une sauvegarde un samedi soir et vous souhaitez restorer votre dataset sur un nouveau serveur tôt le lundi matin de la semaine suivante, sans pour autant avoir besoin de la lancer à la main depuis la MCS. Pour ce cas de figure, il faut passer par la ligne de commande (MCCLI) et simplement planifier une cron de restoration de type :

mccli backup restore --name=/clients/ServeurA --plugin=3001 --labelNum=`mccli backup show --name=/clients/ServeurB | awk 'NR==4 {print $4}'` --dest-client-name=/clients/ServeurB

Explications :

  • Commande initiale : mccli backup restore –name/clients/ServeurA
  • Spécification du filesystem source (ici WIndows File System) :  –plugins=3001
  • Astuce pour récupérer le numéro de label de la dernière sauvegarde : –labelNum=`mccli backup show –name=/clients/ServeurB | awk ‘NR==4 {print $4}’`
  • Serveur où restorer les fichiers : –dest-client-name=/clients/ServeurB

Options possibles :

  • –data=D:\\Dossier\\fichier-a-restorer.zzz : Ici vous pouvez spécifier un dossier ou un fichier spécifique à restorer et non pas l’ensemble du dataset (par défaut). Pensez à bien doubler vos anti-slash (\\) pour les échaper et ainsi qu’il soient pris en compte sinon pour aurez une erreur 10007
  • –dest-dir=D:\\Restore : Pour spécifier un dossier spécifique où restorer vos fichiers/dossier si vous ne souhaitez pas utiliser le répertoire par défaut

Le tout est à simplement placer dans un CRON à l’heure qui vous conviendra, avec le user admin en précisant le chemin complet vers la MCCLI dans votre tâche, de la forme :

su - admin
crontab -e
00 12 * * * /usr/local/avamar/bin/mccli backup restore --name=/clients/ServeurA --plugin=3001 --labelNum=`/usr/local/avamar/bin/mccli backup show --name=/clients/ServeurB | awk 'NR==4 {print $4}'` --dest-client-name=/clients/ServeurB