Wie finde ich Dateien, die in den letzten fünf Monaten nicht geändert wurden?

7

An unserer Universität gilt die Richtlinie, dass Daten auf bestimmten Datenträgern gelöscht werden, wenn sie sechs Monate lang nicht geändert werden. Jetzt möchte ich alle Dateien auflisten, die in den letzten fünf Monaten nicht geändert wurden.

Wie kann ich das machen? Ich habe Zugriff auf alle grundlegenden Linux-Tools wie Bash , Find usw.

Peter Smit
quelle

Antworten:

14

Es ist

find directory -mtime +150

für die Dateien , die in diesem Zeitraum nicht geändert wurden ( -150listet die geänderten Dateien auf).

Laurent
quelle
Daraufhin werden Dateien aufgelistet, die vor mehr als 150 Tagen geändert wurden.
Juha Syrjälä
Ja ... und sie sind die gleichen wie die Dateien, die in den letzten 150 Tagen (oder 5 Monaten) nicht geändert wurden: Dieser Befehl listet alle Dateien mit Ausnahme der in den letzten 5 Monaten geänderten Dateien auf ... also die anderen ( aufgelistet) sind die in dieser Zeit nicht geänderten.
Laurent
1

Wenn Sie hinsichtlich Schaltjahren und bestimmten Monatslängen präziser sein müssen, können Sie dies tun:

find /dir/to/start/from -type f -mtime +$(((10#$(date +%s) - 10#$(date -d "now - 5 months" +"%s")) / (24*60*60)))

So würde sich die Anzahl der Tage ändern, wenn die oben genannten Tage am ersten Tag eines jeden Monats im Jahr 2010 ausgeführt würden:

1 153
2 153
3 151
4 151
5 150
6 150
7 149
8 152
9 153
10 153
11 153
12 153

Wie Sie sehen können, ist "150" nur eine Annäherung. Für die meisten Zwecke sind Annäherungen (wie 24*60*60tatsächlich) jedoch gut genug.

Bis auf weiteres angehalten.
quelle