Création de scripts de stratégie, de post-tâche et de prétâche
SnapManager vous permet de créer les scripts pour l'activité de prétraitement, les activités de post-traitement et les tâches de stratégie des opérations de sauvegarde, de restauration et de clonage. Vous devez placer les scripts dans le répertoire d'installation approprié pour exécuter l'activité de prétraitement, de post-traitement et les tâches de stratégie de l'opération SnapManager.
Contenu de script de prétâche et de post-tâche
Tous les scripts doivent inclure ce qui suit :
-
Opérations spécifiques (vérification, description et exécution)
-
(Facultatif) variables d'environnement prédéfinies
-
Code de gestion d'erreur spécifique (code retour (rc)))
Vous devez inclure le code de traitement d'erreur correct pour valider le script. |
Vous pouvez utiliser les scripts de prétâche à de nombreuses fins, par exemple pour nettoyer un espace disque avant le démarrage de l'opération SnapManager. Vous pouvez également utiliser les scripts de post-tâche, par exemple, pour estimer si SnapManager dispose de suffisamment d'espace disque pour mener à bien l'opération.
Contenu du script de tâche de stratégie
Vous pouvez exécuter le script de stratégie sans utiliser des opérations spécifiques telles que la vérification, la description et l'exécution. Le script inclut les variables environnementales prédéfinies (facultatives) et le code de traitement spécifique des erreurs.
Le script de règles est exécuté avant les opérations de sauvegarde, de restauration et de clonage.
Format pris en charge
Un fichier script shell avec une extension .sh peut être utilisé comme prescripteur et post-script.
Répertoire d'installation script
Le répertoire dans lequel vous installez le script affecte la façon dont il est utilisé. Vous pouvez placer les scripts dans le répertoire et exécuter le script avant ou après l'opération de sauvegarde, de restauration ou de clonage. Vous devez placer le script dans le répertoire spécifié dans la table et l'utiliser sur une base facultative lorsque vous spécifiez l'opération de sauvegarde, de restauration ou de clonage.
Vous devez vous assurer que le répertoire plugins dispose de l'autorisation exécutable avant d'utiliser les scripts pour l'opération SnapManager. |
Activité | Sauvegarde | Restaurer | Clonage |
---|---|---|---|
Prétraitement |
<default_installation_directory>/plugins/backup/create/pre |
<default_installation_directory>/plugins/restore/create/pre |
<default_installation_directory>/plugins/clone/create/pre |
Post-traitement |
<default_installation_directory>/ plugins/sauvegarde/création/post |
<default_installation_directory>/plugins/restore/create/post |
<default_installation_directory>/plugins/clone/create/post |
Basée sur des règles |
<default_installation_directory>/plugins/sauvegarde/create/policy |
<default_installation_directory>/plugins/restore/create/policy |
<default_installation_directory>/plugins/clone/create/policy |
Exemples d'emplacements de scripts
Voici quelques exemples de scripts de prétâche et de post-tâche pour les opérations de sauvegarde et de clonage disponibles dans le chemin du répertoire d'installation :
-
<default_installation_directory>/plugins/exemples/backup/create/pre
-
<default_installation_directory>/plugins/exemples/backup/create/post
-
<default_installation_directory>/plugins/exemples/clone/create/pre
-
<default_installation_directory>/plugins/exemples/clone/create/post
Ce que vous pouvez changer dans le script
Si vous créez un nouveau script, vous pouvez uniquement modifier les opérations décrire et exécuter. Chaque script doit contenir les variables suivantes : contexte, temporisation et paramètre.
Les variables que vous avez décrites dans la fonction décrire du script doivent être déclarées au début du script. Vous pouvez ajouter de nouvelles valeurs de paramètre dans parameter=(), puis utiliser les paramètres dans la fonction execute.
Exemple de script
Voici un exemple de script avec un code de retour spécifié par l'utilisateur pour estimer l'espace dans l'hôte SnapManager :
#!/bin/bash # $Id: //depot/prod/capstan/main/src/plugins/unix/examples/backup/create/pre/disk_space_estimate.sh#5 $ name="disk space estimation ($(basename $0))" description="pre tasks for estimating the space on the target system" context= timeout="0" parameter=() EXIT=0 PRESERVE_DIR="/tmp/preserve/$(date +%Y%m%d%H%M%S)" function _exit { rc=$1 echo "Command complete." exit $rc } function usage { echo "usage: $(basename $0) { -check | -describe | -execute }" _exit 99 } function describe { echo "SM_PI_NAME:$name" echo "SM_PI_DESCRIPTION:$description" echo "SM_PI_CONTEXT:$context" echo "SM_PI_TIMEOUT:$timeout" IFS=^ for entry in ${parameter[@]}; do echo "SM_PI_PARAMETER:$entry" done _exit 0 } function check { _exit 0 } function execute { echo "estimating the space on the target system" # Shell script to monitor or watch the disk space # It will display alert message, if the (free available) percentage # of space is >= 90% # ---------------------------------------------------------------------- # Linux shell script to watch disk space (should work on other UNIX oses ) # set alert level 90% is default ALERT=90 df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output; do #echo $output usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) if [ $usep -ge $ALERT ]; then echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" | fi done _exit 0 } function preserve { [ $# -ne 2 ] && return 1 file=$1 save=$(echo ${2:0:1} | tr [a-z] [A-Z]) [ "$save" == "Y" ] || return 0 if [ ! -d "$PRESERVE_DIR" ] ; then mkdir -p "$PRESERVE_DIR" if [ $? -ne 0 ] ; then echo "could not create directory [$PRESERVE_DIR]" return 1 fi fi if [ -e "$file" ] ; then mv "$file" "$PRESERVE_DIR/." fi return $? } case $(echo $1 | tr [A-Z] [a-z]) in -check) check ;; -execute) execute ;; -describe) describe ;; *) echo "unknown option $1" usage ;; esac