Criei uma pasta assim:
$folder_name=`date "+%Y%m%d"`
$mkdir -p ${DIR_LOG}/${folder_name}
Exemplo de nome de pasta: [20160622]
, [20160621]
...etc
Agora preciso encontrar essas pastas e excluí-las (as pastas não estão vazias) se forem 3 meses mais antigas. Eu tentei fazer isso:
find ${DIR_LOG}/* -name "*.${folder_name}" -type d -mtime +90 -exec rm -rf {} \;
Isso exclui apenas as pastas que possuem uma data atual e não outras pastas como ( 20160621
).
Responder1
Execute isso primeiro para ter certeza de que obtém os diretórios desejados
find ${DIR_LOG} -type d -mtime +90 -name "20[0-1][0-9][0-9][0-9][0-9][0-9]"
em seguida, execute isso para excluí-los.
find ${DIR_LOG} -type d -mtime +90 -name "20[0-1][0-9][0-9][0-9][0-9][0-9]" -exec rm -Rf {} \;