Seleção de Arquivos por Data (no nome)
	
	
		Pessoal,
Tenho que apagar todos os arquivos de um diretório que tenham sido criados a mais de 30 dias, e gravar o nome deles em um log, usando o syslog.
A dificuldade é que tenho que usar como parâmetro de data de criação uma parte do nome do arquivo.
O nome dos arquivos está nesse padrão: <STRING DE 15 POS.>_AAAAMMDD-HHMMSS.tif
A ideia que tive foi mais ou menos assim, mais aceito sugestões:
                Código :
                
for arquivos in `find /var/spool/out -name '*.tif' -print`; do
      if [ <DATA NO NOME DO ARQUIVO TEM MAIS DE 30 DIAS> ]; then             
        #Gravar nome do arquivo no log
        #Apagar arquivo
      fi
done
  
Antes da data, é fixo uma string de 15 posições.
AAAA = Ano com 4 dígitos
MM = Mês com 2 dígitos
DD = Dia com 2 dígitos
HH = Hora com 2 dígitos
MM = Minuto com 2 dígitos
SS = Segundo com 2 dígitos
Tenho que usar a data que está no nome do arquivo.
A minha dificuldade está em pegar uma parte do nome, converter para data e verificar se tem mais de 30 dias da data atual.
[...]´s
Marcio.
	 
	
	
	
		Re: Seleção de Arquivos por Data (no nome)
	
	
		
                Código :
                
#!/bin/bash
# Remove arquivos maiores que 30 dias e gera um log
FILENAME=FILES_$(date +%Y%m%d%H%M%S).tif
find . -mtime +30 -exec echo {} \; > $FILENAME
rm -rfv $(cat $FILENAME)
  
:top: