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:
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.