shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Script p/ Verificar remover backups?


From: Jose Valdir Gama
Subject: Re: [shell-script] Script p/ Verificar remover backups?
Date: Sat, 23 Feb 2008 10:07:02 -0300

Há, eu esqueci de dizer vc pode limitar quandos dias quizer é só altera a
linha:

DIAS=7


Em 23/02/08, Jose Valdir Gama <address@hidden> escreveu:
>
> Olha amigo eu não conheço bulufa nenhuma de shell script, alia estou
> tentando aprender, mas está dificil.
>
> Uso este escript, e não fui eu que criei, mais resolveu o meu problema,
> ele é bem simples, mas eficiente.
>
> Ele faz o backup incremental durante 7 dias da semana, e vai apagando os
> backup mais antigos, isso quer dizer que vc terá sempre 7 backps.
>
>
> #!/bin/bash
> #
> # Identificação dos arquivos
>
>   IDENTIFICA=Backup
>
>   # Numero de dias do ciclo de backup
>
>   DIAS=7
>
>   # E-mail do administrador
>
>   ADMIN=seu e-mail.com <ADMIN=address@hidden>
>
>   # A partir de onde ficarão os arquivos
>
>   PREFIX=/var
>
>   # Onde os arquivos de backup e logs ficarão armazenados
>
>
>   DIR_DESTINO=/mnt/sdb1/backup/arquivos
>
>
>   # Lista de arquivos a não serem backupeados
>
>   EXCLUDE=$PREFIX/etc/exclude.list
>
>   # Arquivos temporário do script
>
>   TEMP=/tmp/.backup.$$
>
>   # Arquivos de controle do GNU/Tar
>
>   INC=$PREFIX/etc/incremental.conf
>
>   # Formato da data
>
>   DATA=$(date +%d-%m-%Y-%a)
>
>
>
>   # Arquivo com a lista de diretórios a serem backupeados
>
>   LISTA=$(cat $PREFIX/etc/list.conf | grep ^\/ | sort | uniq)
>
>   # Arquivos gerado pelo script para controle de incremento
>
>   CONFIG=$PREFIX/etc/backup.conf
>
>   VOLTA=0
>
>   if [ ! -e $CONFIG ] ; then
>
>          touch $CONFIG
>
>          NUMERO=1
>
>   else
>
>          cp -f $CONFIG $CONFIG.bak
>
>          LINHAS=$(cat $CONFIG | grep ^[0-9] | wc -l)
>
>          [ $LINHAS -eq $((DIAS+1)) ] && VOLTA=1
>
>          FIRST=$(cat $CONFIG | grep ^[0-9]- | head -1)
>
>          LAST=$(cat $CONFIG | grep ^[0-9]- | tail -1)
>
>          OLD=$(echo $LAST | cut -f1 -d"-")
>
>          OLD=${OLD:-0}
>
>          BACKUP_OLD=$(echo $FIRST | cut -f1 -d"-")
>
>          FILE_OLD=$(echo $FIRST | cut -f- -d"-")
>
>          if [ $OLD -eq $DIAS ] ; then
>
>                  NUMERO=1
>
>                  mv -f $INC $INC.bak
>
>       else
>
>                  NUMERO=$((OLD+1))
>
>          fi
>
>   fi
>
>   DESTINO=$DIR_DESTINO/$IDENTIFICA-$NUMERO-$DATA
>
>   #SEND_MAIL () {
>
>    #postfix $ADMIN << FIMEMAIL
>     #sendmail $ADMIN
>
>  #Subject: Backup CL $(date +%d-%m-%Y)
>
>   #Backup realizado no arquivo: $DESTINO.tar.gz
>
>   #FIMEMAIL
>
>   #}
>
>   df -h > $DESTINO.log
>
>   tar --totals --ignore-failed-read --exclude-from=$EXCLUDE -zcvg $INC -f
> $DESTINO.tar.gz $LISTA >> $DESTINO.log 2>&1
>
>   df -h >> $DESTINO.log
>
>   #SEND_MAIL $DESTINO.log
>
>   echo $NUMERO-$DATA >> $CONFIG
>
>   if [ $VOLTA -eq 1 ] ; then
>
>
>          rm -f $DIR_DESTINO/$IDENTIFICA-$FILE_OLD.tar.gz
>
>          rm -f $DIR_DESTINO/$IDENTIFICA-$FILE_OLD.log
>
>          sed 1d $CONFIG > $TEMP
>
>          mv -f $TEMP $CONFIG
>
>   fi
> #Fim
>  Espero que ajude.
>
>
> Abraço
>
> Valdir
> Em 19/02/08, Rafael Tomelin <address@hidden> escreveu:
> >
> >   Olá pessoal,
> >
> > Faço o meu backup direto paraum diretório em um utro servidor, quero
> > saber o
> > seguinte:
> >
> > Como listar os backups existentes e deixar os backups dos ultimos 5
> > dias, ou
> > seja, quero remover todos os backups deixando apenas o da semana atual.
> >
> > Como posso estar fazendo esse script?
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> > 
> >
>
>
>
> --
> Sumare- SP
> jgamasystem - Linux a toda Prova




-- 
Sumare- SP
jgamasystem - Linux a toda Prova


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]