Dateien verschieben, auf die nicht mehr zugegriffen wird

Datum: 2007-05-12
Quelle: mrunix.de

Worum ging es?

Aus einem Verzeichnisbaum sollen alle Dateien, auf die seit mehr als 420 Tagen nicht mehr zugegriffen wurde, in ein Sicherungsverzeichnis verschoben werden. Die Ordnerstruktur des Originalverzeichnis soll erhalten bleiben.

Code
cd /data/public
find . -type f -atime +420 -print | while read fn; do
  dir="`dirname \"$fn\"`"
  test -d "../waste/$dir" || mkdir -p "../waste/$dir"
  mv "$fn" "../waste/$dir/"
done
Beschreibung

Nach dem Wechsel in das Basisverzeichnis werden alle Dateien gesucht, auf die vor mehr als 420 Tagen zuletzt zugegriffen wurde. Die Dateinamen werden in einer Schleife verarbeitet. Zuerst wird das Verzeichnis ermittelt und im Backup angelegt, wenn es noch nicht existiert. Dann wird die Datei dorthin verschoben.