[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Script de Backup
From: |
Anderson - Listas |
Subject: |
Re: [shell-script] Script de Backup |
Date: |
Thu, 23 Oct 2008 11:50:05 -0200 |
Excelente as duas dicas. Realmente era o que eu estava precisando, obrigado
MrBits e Fabiano. Deixei, a principio as duas funcionalidades rodando no
script para ver a estética do log como ficará.
Para deixar documentado para futuras pesquisas de outras pessoas, estou
colando o código reformulado abaixo com algumas pequenas alterações, por
exemplo:
- Criar o diretório do backup antes de criar o arquivo de backup: por um
erro na ordem do código estava criando o arquivo antes do diretório, e como
o arquivo fica dentro do diretório, ele não tinha onde ser gravado.
- Tirei uma variável perdida que estava sobrando de uns testes anteriores.
Obrigado pela ajuda.
--- INICIO DO CODIGO ---
#!/bin/bash
###--- Script de Backup do Servidor de E-mail Lotus Notes
---###
###--- Criado por Anderson em 21/10/2008 Versao #1
---###
###--- Modificado em 23/10/2008 - Versao #2
---###
# Variaveis
DATA=`date +%d%m%Y`
TIME=`date +%H:%M:%S`
SRCDIR="/var/local/notesdata/"
BKPDIR="/var/local/notesdata/backup$DATA"
LOG="$BKPDIR/backup$DATA.log"
# Binarios Necessarios
TAR=`which tar`
BZIP2=`which bzip2`
FIND=`which find`
CHOWN=`which chown`
CHMOD=`which chmod`
MD5SUM=`which md5sum`
# Mostra os comandos do Script
set -x
# Se Nao Existir o Diretorio de Backup Cria Automaticamente
if [ ! -d $BKPDIR ]; then
mkdir -p $BKPDIR;
fi
# Envia todas as saidas para o LOG
exec 1>> ${LOG} 2>&1
# Mensagem de Inicio no Log do Backup
echo "Inicio do Backup em $DATA as $TIME de `hostname`"
echo "Diretorio $BKPDIR Criado em $DATA as $TIME"
# Testa se Todos os Binarios Estao Instalados
for bin in $TAR $BZIP2 $FIND $CHOWN $CHMOD $MD5SUM; do
if [ ! -x $bin ]; then
echo "Binario $bin Nao instalado no Sistema";
exit 1;
fi;
done
# Cria o Backup
echo "Enviando Conteudo de $SRCDIR para
$BKPDIR/$area.tar.bz2"
tar -c -v -j -p -f $BKPDIR/backup`hostname`-$DATA.tar.bz2
-vv $SRCDIR
# Gera md5sum do Arquivo de Backup
echo ""
echo "md5sum do arquivo de Backup"
$MD5SUM $BKPDIR/backup`hostname`-$DATA.tar.bz2
# Reseta as permissões para o arquivo de backup gerado
$FIND $BKPDIR -type d -exec $CHMOD 770 {} \;
$FIND $BKPDIR -type f -exec $CHMOD 660 {} \;
$CHOWN -R root:root $BKPDIR
# Mensagen de Fim no Log do Backup
echo "###--- ---###"
echo "Fim do Backup em $DATA as $TIME"
echo ""
--- FIM DO CODIGO ---
2008/10/23 Fabiano Caixeta Duarte <address@hidden>
> 2008/10/23 Anderson - Listas <address@hidden<usuariolistas%40gmail.com>
> >
>
>
> > gostaria de gerar um log de tudo
> > que foi feito pelo script
>
> Além da excelente colaboração do MrBits, acrescento que você pode mostrar
> os
> comandos executados pelos script, se é que é isto que você quis dizer,
> incluindo o comando
>
> set -x
>
> no começo do script
>
> --
> Fabiano Caixeta Duarte
> Especialista em Redes de Computadores
> Linux User #195299
> Ribeirão Preto - SP
>
[As partes desta mensagem que não continham texto foram removidas]