Wie finde ich dynamische Ordner?

Wie finde ich dynamische Ordner?

Ich habe einen Ordner wie diesen erstellt:

$folder_name=`date "+%Y%m%d"`
$mkdir -p ${DIR_LOG}/${folder_name}

Beispiel für Ordnernamen: [20160622], [20160621]...usw

Jetzt muss ich diese Ordner finden und löschen (Ordner sind nicht leer), wenn sie 3 Monate älter sind. Ich habe Folgendes versucht:

find ${DIR_LOG}/* -name "*.${folder_name}" -type d -mtime +90 -exec rm -rf {} \; 

Dadurch werden nur Ordner gelöscht, die ein aktuelles Datum haben und keine anderen Ordner wie ( 20160621).

Antwort1

Führen Sie dies zuerst aus, um sicherzustellen, dass die gewünschten Verzeichnisse abgerufen werden.

find ${DIR_LOG} -type d -mtime +90 -name "20[0-1][0-9][0-9][0-9][0-9][0-9]"

Führen Sie dies dann aus, um sie tatsächlich zu löschen.

find ${DIR_LOG} -type d -mtime +90 -name "20[0-1][0-9][0-9][0-9][0-9][0-9]" -exec rm -Rf {} \;

verwandte Informationen