Script para automatizar backup do Clearcase no Linux
Posted in Dicas on May 24th, 2009 by Fábio Queiroz – Be the first to commentClearcase (V7) não é lá minha praia, mas tive a necessidade de fazer toda instalação e configuração do produto (versão 7), bem como programar a parte de backup.
Os passos para fazer backup do Clearcase são:
- Travar o VOB que será feito o backup.
- Parar o Clearcase.
- Fazer o backup do VOB.
- Iniciar o Clearcase.
- Destravar o VOB.
Com isso, cheguei ao seguinte script para Linux, que realiza o backup de TODOS os VOBs existentes no Clearcase.
#!/bin/sh DIA=`date '+%Y-%m-%d'` DATA=`date '+%Y-%m-%d_%Hh%M'` HORA=`date '+%Hh%Mm%Ss'` LOG_FILE=/opt/logs/backup-$DATA.log Log() { MENSAGEM=$1 echo $MENSAGEM echo "" >> $LOG_FILE 2>&1 echo "$HORA - $MENSAGEM" >> $LOG_FILE 2>&1 echo "" >> $LOG_FILE 2>&1 } DIR_VOBSTORE=/opt/vobstore DIR_BACKUP=/opt/backup PATH=/usr/atria/bin:/bin:/usr/bin:/usr/sbin:/opt/rational/clearcase/bin:/opt/rational/clearcase/etc export PATH HOST=`hostname|awk -F. '{print $1}'` #Obtem a lista de TODOS os VOBs do servidor VOBS=`cleartool lsvob -host $HOST|sed 's/*//' |awk '{print $1}'` Log "Criando diretório de Backup" mkdir $DIR_BACKUP/$DIA Log "Passo 1: Bloqueando VOBs" for VOB in $VOBS ; do Log "Bloqueando VOB $VOB" cleartool lock -c 'VOB backups em andamento' vob:$VOB >> $LOG_FILE done Log "Passo 2: Parando ClearCase" clearcase stop >> $LOG_FILE Log "ClearCase parado" Log "Passo 3: Gerar Backup" for VOB in $VOBS ; do TMP_VOB=$DIR_VOBSTORE$VOB Log "Gerar arquivo TAR para $TMP_VOB.vbs" tar -cf $DIR_BACKUP/$DIA$VOB.tar $TMP_VOB.vbs >> $LOG_FILE done Log "Passo 4: Iniciando ClearCase" clearcase start >> $LOG_FILE Log "ClearCase iniciado" Log "Passo 5: Destravando os VOBs" for VOB in $VOBS ; do Log "Desbloqueando VOB $VOB" cleartool unlock vob:$VOB >> $LOG_FILE done Log "Fim do processo de Backup"
Linha 1: IMPORTANTÍSSIMO. Sempre a definam sem seus scripts bash.
De restro, acredito que os comentários deixados no script estejam ilustrando bem o que será executado.
Espero que tenha sido útil.