我创建了这样的文件夹:
$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 {} \;