[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Script de controle de retenção de backups
From: |
Geisler Dias |
Subject: |
Re: [shell-script] Script de controle de retenção de backups |
Date: |
Tue, 9 Oct 2012 07:16:28 -0300 |
Pode usar o while para ler mais colunas, mas eu recomendo você retirar o *
do final da 1 coluna.
Ficaria algo assim:
while read ARQ RET do
find /backup/ -name ${ARQ}* -ctime $RET -ls
done << /lista-retencao
Em 08/10/2012 15:14, "Atari" <address@hidden> escreveu:
> **
>
>
> Oi Pessoal!
>
> Estou tentando configurar um script para automatizar uma rotina de exclusão
> de arquivos de backup antigos. Um controle de retenção, basicamente.
>
> No arquivo "retencao", tenho duas colunas, uma com parte do nome do arquivo
> e outra com a quantidade de dias limites para remoção. Exemplo:
>
> CAPTIVEPORTAL-ETC* 60
> CAPTIVEPORTAL-NOCAT* 30
> CAPTIVEPORTAL-SCRIPTS* 30
> CAPTIVEPORTAL-GTIMONITOR* 30
> DNS2-VMWARE* 20
> FILESERVER-SAMBA* 30
> FILESERVER-ETC* 60
> FW-DC-NOCAT* 60
> HOM-SVN* 30
> HOM-ETC* 60
> IDE-WEB* 30
> IDE-ETC* 60
> IDE-SVN* 30
>
> Já o script que realiza o controle, configurei um find da seguinte forma:
> for VAR in $(cat $RETENCAO | awk '{print $1}');
>
> do DIAS=$(cat $RETENCAO | grep $VAR | awk '{print $2}');
> $(find / -name $VAR -ctime +$DIAS exec rm -f {} \; 2> /dev/null
> 1> $LOG);
>
> done
>
> Ou seja, estou tentando fazer com no "for", o que estiver na primeira linha
> / primeira coluna (find), execute o controle de retenção (-ctime), deacordo
> com a primeira linha / segunda coluna, e assim sucessivamente.
>
> Mas, aparentemente o script não está executando corretamente. Acho que não
> consegui fazer com que ele entenda essa relação da primeira com a segunda
> coluna de acordo com a linha...
>
> Alguma sugestão?
>
> Abraços!
> Eduardo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]