Wie kann ich in OS X Lion unter zsh ein Verzeichnis /Users/username/tmp einrichten, das nach X Tagen gelöscht wird?

Wie kann ich in OS X Lion unter zsh ein Verzeichnis /Users/username/tmp einrichten, das nach X Tagen gelöscht wird?

Ich habe keine Erfahrung mit Skripting und normalen Jobs unter OS X und bin daher im Voraus für jede Hilfe dankbar.

Ich möchte in meinem Home-Verzeichnis ein temporäres Verzeichnis haben, beispielsweise /Users/Benutzername/tmp, das ich als mein „Download-Verzeichnis“ verwenden kann.

Mein Ziel ist, dass Dateien/Verzeichnisse in diesem Verzeichnis beispielsweise 10 Tage nach dem Atime (letzter Zugriff) gelöscht werden.

Ich suche also nach einem Skript und auch nach einer Methode, um es regelmäßig unter OS X Lion mit ZSH als Shell auszuführen.

Danke.

Antwort1

Schreiben Sie ein Skript, das Dateien in einem Ordner löscht, deren ATime vor mehr als zehn Tagen liegt, und lassen Sie es dann täglich ausführen (ich weiß nicht, was der beste Mechanismus dafür unter OSX ist; unter Linux würde ich Anacron verwenden oder es, falls das nicht klappt, stündlich mit Cron ausführen).

Beispielskript (nimmt das Verzeichnis, z. B. ~/downloads, als erstes Argument):

#!/bin/zsh

setopt extended_glob

targetpath=$1

[[ -d $targetpath ]] || (echo "Directory does not exist" 1>&2 && exit 1)

rm ${path}/**(.a+10) # ** will match recursively, and the bit in brackets is an
# extended glob qualifier, matching ordinary files with an atime more than ten days ago.
unsetopt extended_glob
exit 0

Da ist wahrscheinlich allerhand falsch, und wenn Sie regelmäßig extended_glob verwenden, müssen Sie es im Skript natürlich nicht ein- und später wieder ausschalten.

verwandte Informationen