Я создал такую папку:
$folder_name=`date "+%Y%m%d"`
$mkdir -p ${DIR_LOG}/${folder_name}
Пример имени папки: [20160622]
, [20160621]
...и т.д.
Теперь мне нужно найти эти папки и удалить их (папки не пустые), если они старше 3 месяцев. Я пробовал сделать это:
find ${DIR_LOG}/* -name "*.${folder_name}" -type d -mtime +90 -exec rm -rf {} \;
Это удалит только папки с текущей датой, а не другие папки, такие как ( 20160621
).
решение1
Запустите это сначала, чтобы убедиться, что он получает нужные каталоги
find ${DIR_LOG} -type d -mtime +90 -name "20[0-1][0-9][0-9][0-9][0-9][0-9]"
затем запустите это, чтобы действительно удалить их.
find ${DIR_LOG} -type d -mtime +90 -name "20[0-1][0-9][0-9][0-9][0-9][0-9]" -exec rm -Rf {} \;