次のようなフォルダを作成しました:
$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 {} \;