Gibt es eine Möglichkeit, die Größe des Papierkorbs zu begrenzen?

12

Ich habe gerade keinen Speicherplatz mehr und ich habe 15 GB in meinem Papierkorb. Gibt es eine Möglichkeit, Gegenstände nicht älter als 7 Tage zu halten oder die Größe des Papierkorbs zu begrenzen?

Ich brauche eine Möglichkeit, dies automatisch zu verwalten.

Jon Erickson
quelle

Antworten:

12

Der Papierkorb ist nur ein spezieller Ordner (Verzeichnis), den Apple über den Finder erstellt und verwaltet, sodass Sie Elemente leicht "wiederherstellen" können (indem Sie sie aus dem Papierkorb entfernen), bevor Sie sie vollständig löschen (Papierkorb leeren). Da dieser Mechanismus nur ein Verzeichnis auf Ihrer Startdiskette ist, haben Sie technisch gesehen den gesamten Speicherplatz Ihrer Startdiskette, den Sie für den Papierkorb verwenden können, wenn Sie möchten.

Wenn Sie ein gewisses Maß an "automatisch-magischen" Entfernungsdateien wünschen, die älter als 7 Tage sind, können Sie ein einfaches Bash-Skript verwenden:

find ~/.Trash -mtime +7 -exec /bin/rm -rf {} \;

Fügen Sie mit Ihrem bevorzugten Texteditor die obige Zeile in eine neue Datei ein und speichern Sie die Datei unter empty_trash_older_than_7_days.sh. Verwenden Sie im Terminal unbedingt den chmodBefehl, um es als solches ausführbar zu machen:chmod +x /path/to/empty_trash_older_than_7_days.sh

Wenn dieser Befehl im Terminal ausgeführt wird, werden alle Dateien in Ihrem Papierkorb (nur Dateien von Ihrem Startvolume - mehr dazu in einer Minute) gefunden, die älter als 7 Tage sind (ab dem Zeitpunkt, an dem Sie diesen Befehl ausführen) und übergeben jede Datei zum rm -rfBefehl. Da rmes sich um einen Unix-Befehl handelt und keine Ahnung vom Papierkorb hat, wird nur ein Unix-Löschvorgang ausgeführt, der für unsere Zwecke ein echtes Löschen ist (wie das Leeren des Papierkorbs).

Sie können dann cron verwenden (wenn Sie mit Cron nicht vertraut sind, lesen Sie den feinen Cron-Eintrag auf Wikipedia ), um eine wiederkehrende Ausführung dieses Skripts einzurichten.

Persönlich ist meine Stimme, sich nur zu trainieren, den Empty TrashMenüpunkt alle paar Minuten, Tage, Wochen zu verwenden?

PS: Wenn all dieses Unix-ese zu beängstigend ist, würde ich wetten, dass es einfache Mac-Anwendungen gibt, die die Leute geschrieben haben, um genau so etwas zu tun. Hoffentlich kann jemand mit einigen Kenntnissen über eine oder mehrere dieser Arten von Anwendungen eine oder zwei Antworten als Gegengewicht anbieten.

Viel Glück!

PS Ich habe vergessen , über die nicht-Startvolume zu sprechen ... Wenn Sie eine Datei von einem Volume löschen OTHER als Startvolume, diese Datei in den Ordner .Trash auf diesem Volume gehen. Wenn Sie beispielsweise ein Volume mit dem Namen haben Foo, befindet sich unter .Trash ein Ordner unter /Volumes/Foo/.Trash. Was ich oben dokumentiert nicht , diese Dateien löschen. Sie müssten für jedes Volume, das Sie haben, etwas Ähnliches einrichten.

Sorens
quelle
2
OS X hat findauch ein -deleteFlag, das Sie verwenden können find ~/.Trash -mtime +7 -delete. Die Änderungsdaten sind kein sehr guter Hinweis darauf, wann Dateien gelöscht wurden. Ich kenne jedoch keine Möglichkeit, auf die im Finder angezeigten Metadaten für das Datum des Löschens zuzugreifen.
Lri
Stimmen Sie dem obigen Kommentar zu ... Obwohl dies ein schönes Skript ist, löscht es in der Praxis Dinge bis zu ihrem Änderungsdatum. Wenn ich also ab und zu einen Ordner mit alten Sachen in den Papierkorb lege und das Skript direkt danach ausführe, werden die meisten Sachen aus diesem Ordner gelöscht. Wäre gut, wenn wir einen Parameter für das in der Datei gelöschte Datum finden könnten.
Jowie
@Jowie können wir -atime verwenden, was die letzte Zugriffszeit ist. Übrigens gibt es ein weiteres Problem - dies lässt leere Verzeichnisse im Papierkorb ...
Anzeigename
3

Hazel kann so konfiguriert werden, dass Dateien nur für eine bestimmte Zeit aufbewahrt werden und der Papierkorb unter einer bestimmten Größe bleibt. Sie können auch benutzerdefinierte Regeln zum sofortigen Löschen großer Dateien oder zum Löschen von Dateien in den Papierkorbordnern anderer Volumes hinzufügen.

Lri
quelle
0

John Wiegleys Dirscan , insbesondere das cleanup.pyBeispiel, soll sich mit den Problemen befassen, die mit den verwendeten Ansätzen identifiziert wurden find. dirscanbietet eine allgemeinere Lösung, indem Sie sie so einrichten können, dass verschiedene Verzeichnisse auf unterschiedliche Weise gescannt / bereinigt werden.

jwd630
quelle