Existe-t-il un moyen de limiter la taille de la corbeille?

12

Je viens de manquer d'espace disque et j'ai comme 15 Go dans ma corbeille. Existe-t-il un moyen de ne pas conserver les articles plus anciens que 7 jours ou de limiter la taille de la corbeille?

J'ai besoin d'un moyen de gérer automatiquement cela.

Jon Erickson
la source

Réponses:

12

La Corbeille est juste un dossier spécial (répertoire) qu'Apple crée et gère via le Finder afin que vous ayez la possibilité de "restaurer" les éléments (en les supprimant de la Corbeille) avant de les supprimer complètement (Vider la Corbeille). Étant donné que ce mécanisme n'est qu'un répertoire sur votre disque de démarrage, vous avez techniquement l'espace de votre disque de démarrage complet à utiliser pour la corbeille si vous le souhaitez.

Si vous vouliez une mesure des fichiers de suppression "auto-magique" de plus de 7 jours, vous pouvez utiliser un simple script bash:

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

À l'aide de votre éditeur de texte préféré, collez la ligne ci-dessus dans un nouveau fichier, puis enregistrez le fichier sous empty_trash_older_than_7_days.sh. Dans le terminal, assurez-vous d'utiliser la chmodcommande pour la rendre exécutable en tant que telle:chmod +x /path/to/empty_trash_older_than_7_days.sh

Cette commande, lorsqu'elle est exécutée dans le terminal, trouvera tous les fichiers de votre corbeille (fichiers de votre volume de démarrage uniquement - plus d'informations dans une minute) qui datent de plus de 7 jours (à partir du moment où vous exécutez cette commande) et passeront chaque fichier à la rm -rfcommande. Puisqu'il rms'agit d'une commande unix et qu'elle n'a aucune notion de la corbeille, elle effectue simplement une suppression unix qui, dans notre cas, est une véritable suppression (comme vider la corbeille).

Vous pouvez ensuite utiliser cron (si vous n'êtes pas familier avec Cron, consultez la fine entrée Cron sur wikipedia ) pour configurer une exécution récurrente de ce script.

Personnellement, mon vote est de simplement vous entraîner à utiliser l' Empty Trashélément de menu toutes les quelques minutes, jours, semaines?

PS: si tous ces Unix sont trop effrayants, je parierais qu'il existe des applications Mac simples que les gens ont écrites pour faire exactement ce genre de choses. J'espère que quelqu'un qui connaît un ou plusieurs de ces types d'applications peut proposer une réponse ou deux comme contrepoids.

Bonne chance!

PS J'ai oublié de parler du volume hors démarrage ... Si vous supprimez un fichier d'un volume AUTRE que votre volume de démarrage, ce fichier ira dans le dossier .Trash de ce volume. Par exemple, si vous aviez un volume nommé Foo, il y aurait un dossier .Trash dans /Volumes/Foo/.Trash. Ce que j'ai documenté ci-dessus ne supprimera pas ces fichiers. Vous devez configurer quelque chose de similaire pour chaque volume que vous avez.

Sorens
la source
2
OS X a findégalement un -deleteindicateur que vous pouvez utiliser find ~/.Trash -mtime +7 -delete. Les dates de modification ne sont pas une très bonne indication du moment où les fichiers ont été supprimés. Je ne connais cependant aucun moyen d'accéder aux métadonnées de suppression de date affichées dans le Finder.
Lri
D'accord avec le commentaire ci-dessus ... Bien que ce soit un joli script, en pratique, il supprime les choses par sa date de modification. Par conséquent, si je jette un dossier d'anciennes choses maintenant et que j'exécute le script juste après, la plupart des choses de ce dossier sont supprimées. Ce serait bien si nous pouvions trouver un paramètre pour la date supprimée sur le fichier.
Jowie
@Jowie, nous pouvons utiliser -atime qui est la dernière heure d'accès. Soit dit en passant, il y a un autre problème - cela laisse des répertoires vides dans la corbeille ...
Nom d'affichage
3

Hazel peut être configuré pour conserver les fichiers uniquement pendant un certain temps et pour conserver la corbeille sous une certaine taille. Vous pouvez également ajouter des règles personnalisées pour supprimer immédiatement des fichiers volumineux ou supprimer des fichiers dans les dossiers de corbeille d'autres volumes.

Lri
la source
0

John Wiegley est dirscan , en particulier l' cleanup.pyexemple, est conçu pour traiter les problèmes identifiés par les approches à l' aide find. dirscanfournit une solution plus générale dans la mesure où vous pouvez la configurer pour analyser / nettoyer différents répertoires de différentes manières.

jwd630
la source