Crie scripts de pré-tarefa, pós-tarefa e política
O SnapManager permite criar os scripts para a atividade de pré-processamento, a atividade de pós-processamento e tarefas de política das operações de backup, restauração e clone. Você deve colocar os scripts no diretório de instalação correto para executar a atividade de pré-processamento, atividade de pós-processamento e tarefas de política da operação SnapManager.
Sobre esta tarefa
Conteúdo do script de pré-tarefa e pós-tarefa
Todos os scripts devem incluir o seguinte:
-
Operações específicas (verificar, descrever e executar)
-
(Opcional) variáveis de ambiente predefinidas
-
Código específico de manipulação de erros (código de retorno (rc))
|
|
Você deve incluir o código correto de manipulação de erros para validar o script. |
Você pode usar os scripts de pré-tarefa para muitos fins, por exemplo, limpar um espaço em disco antes que a operação SnapManager seja iniciada. Você também pode usar os scripts pós-tarefa, por exemplo, para estimar se o SnapManager tem espaço em disco suficiente para concluir a operação.
Conteúdo do script de tarefa de política
Você pode executar o script de política sem usar operações específicas, como verificar, descrever e executar. O script inclui as variáveis ambientais predefinidas (opcional) e o código específico de manipulação de erros.
O script de política é executado antes das operações de backup, restauração e clone.
Formato suportado
Um arquivo de script shell com uma extensão .sh pode ser usado como prescritor e pós-script.
-
Diretório de instalação de scripts*
O diretório no qual você instala o script afeta como ele é usado. Você pode colocar os scripts no diretório e executar o script antes ou depois que a operação de backup, restauração ou clone ocorrer. Você deve colocar o script no diretório especificado na tabela e usá-lo de forma opcional quando especificar a operação de backup, restauração ou clone.
|
|
Você deve garantir que o diretório plugins tenha a permissão executável antes de usar os scripts para a operação SnapManager. |
| Atividade | Backup | Restaurar | Clone |
|---|---|---|---|
Pré-processamento |
<default_installation_directory>/plugins/backup/criar/pre |
<default_installation_directory>/plugins/restore/criar/pre |
<default_installation_directory>/plugins/clone/criar/pre |
Pós-processamento |
<default_installation_directory>/ plugins/backup/criar/publicar |
<default_installation_directory>/plugins/restaurar/criar/publicar |
<default_installation_directory>/plugins/clone/create/post |
Baseado em políticas |
<default_installation_directory>/plugins/backup/criar/política |
<default_installation_directory>/plugins/restore/create/policy |
<default_installation_directory>/plugins/clone/create/policy |
Locais de exemplo de scripts
A seguir estão algumas amostras dos scripts de pré-tarefa e pós-tarefa para as operações de backup e clone disponíveis no caminho do diretório de instalação:
-
<default_installation_directory>/plugins/exemplos/backup/criar/pre
-
<default_installation_directory>/plugins/exemplos/backup/criar/publicar
-
<default_installation_directory>/plugins/examples/clone/create/pre
-
<default_installation_directory>/plugins/examples/clone/create/post
O que você pode alterar no script
Se você estiver criando um novo script, poderá alterar apenas as operações de descrição e execução. Cada script deve conter as seguintes variáveis: context, timeout, E parameter.
As variáveis que você descreveu na função descrever do script devem ser declaradas no início do script. Você pode adicionar novos valores de parâmetro em parameter=() e, em seguida, usar os parâmetros na função executar.
Exemplo de script
A seguir está um script de exemplo com um código de retorno especificado pelo usuário para estimar o espaço no host 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