Obrigado Flávio! Estava agora mesmo pensando em como fazer este script...e
vejo aqui prontinho na comunidade!

[]'s

Em 19 de outubro de 2011 19:09, Flavio Henrique Araque Gurgel <
[email protected]> escreveu:

> > Agora meu problema é espaço para guardar o logs transacionais(wal), aqui
> não
> > tenho espaço para guardar esses logs como posso fazer
> > para guardar esses logs de forma cíclica, sobrescrever o mais antigo de
> > tempo em tempo?
>
> Se você está guardando os logs de transação com a finalidade de backup
> você deve guardar todos os logs de transação de mesmo nome ou
> posteriores ao arquivo com extensão .000000.backup.
> Traduzindo: você deve manter todos os logs de transação que compõem o
> estado de seu banco de dados desde o momento do início da cópia. Se
> você sobrescrever, ou apagar logs de transação antigos e esses logs de
> transação forem necessários à restauração, seu backup é inválido.
>
> Eu uso um script bem simples que apaga todos os logs de transação mais
> antigos que o início do backup mais recente, ele está abaixo. Ajuste a
> variável WAL_ARCHIVE para o diretório onde guardas seus logs de
> transação. Execute o script após o backup de base. Seja feliz.
>
> []s
> Flavio Gurgel
>
> #!/bin/bash
>
> # Diretorio onde fica o archive
> WAL_ARCHIVE=/pgbackup/archive
>
> # Procura último arquivo com a extensão .backup no diretório
>
> while true; do
>        REF_FILE=`ls -1r $WAL_ARCHIVE | grep '.backup'`
>        if [ ! $REF_FILE ]; then
>                echo  "Aguardando arquivo .backup em $WAL_ARCHIVE ... "
>        else
>                break
>        fi
>        sleep 1
> done
>
> # Apenas os primeiros 24 caracteres são interessantes no nome desse arquivo
> REF_FILE_NUM=${REF_FILE:0:24}
> echo "REF_FILE_NUM=$REF_FILE_NUM"
>
> # Faz o rm sobre uma lista interativa, usando comparação alfabética
> com o arquivo encontrado
> for i in `ls -1 $WAL_ARCHIVE` ;
> do
>        FILE_NUM=${i:0:24}
>
>        if [[ $FILE_NUM  < $REF_FILE_NUM ]]
>        then
>                echo "$FILE_NUM [ $i ] removido"
>                rm -f $WAL_ARCHIVE/$i
>        else
>                echo "$FILE_NUM [ $i ] não removido"
>        fi
> done
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>



-- 
Pedro Ivo Bispo de França
X-Brain - Desenvolvimento de Sistemas Ltda
Contato: +55 43 3304-2204 | +55 43 9608-3678
Avenida Tiradentes, 501 Sala 702 Torre 1 - Jd. Shangrilá
Londrina - Paraná - 86070-545
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a