¿Hay alguna manera de limitar el tamaño de la Papelera?

Me acabo de quedar sin espacio en disco y tengo como 15 GB en mi papelera. ¿Hay alguna manera de no guardar elementos que tengan más de 7 días o limitar el tamaño de la Papelera?

Necesito una forma de mantener esto administrado automáticamente.

Respuestas (3)

La Papelera es solo una carpeta especial (directorio) que Apple crea y administra a través del Finder para que tenga la capacidad de "recuperar" elementos fácilmente (eliminándolos de la Papelera) antes de eliminarlos por completo (Vaciar la Papelera). Dado que este mecanismo es solo un directorio en su disco de inicio, técnicamente tiene todo el espacio de su disco de inicio para usar en la Papelera si lo desea.

Si desea alguna medida de archivos de eliminación "automágicos" de más de 7 días, puede usar un script bash simple:

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

Usando su editor de texto favorito, pegue la línea anterior en un nuevo archivo y luego guarde el archivo como empty_trash_older_than_7_days.sh. En la terminal, asegúrese de usar el chmodcomando para que sea ejecutable como tal:chmod +x /path/to/empty_trash_older_than_7_days.sh

Este comando, cuando se ejecuta en la terminal, encontrará todos los archivos en su Papelera (solo los archivos de su volumen de Inicio; más sobre esto en un minuto) que tengan más de 7 días (desde el momento en que ejecuta este comando) y pasa cada archivo al rm -rfcomando. Dado que rmes un comando de Unix y no tiene noción de la Papelera, solo hace una eliminación de Unix que para nuestros propósitos es una eliminación real (como Vaciar la Papelera).

Luego, puede usar cron (si no está familiarizado con Cron, consulte la entrada fina de Cron en wikipedia ) para configurar una ejecución recurrente de este script.

Personalmente, mi voto es simplemente entrenarse para usar el elemento del Empty Trashmenú cada pocos minutos, días, semanas.

PD: si todo este Unix-ese es demasiado aterrador, apostaría a que hay aplicaciones Mac simples que la gente ha escrito para hacer este tipo de cosas. Con suerte, alguien con algún conocimiento de uno o más de estos tipos de aplicaciones puede ofrecer una respuesta o dos como contrapeso.

¡Buena suerte!

PD: olvidé hablar sobre el volumen que no es de inicio... Si elimina un archivo de un volumen QUE NO sea su volumen de inicio, este archivo irá a la carpeta .Trash en ese volumen. Por ejemplo, si tuviera un volumen llamado Foo, habría una carpeta .Trash en /Volumes/Foo/.Trash. Lo que he documentado anteriormente no eliminará esos archivos. Tendrías que configurar algo similar para cada volumen que tengas.

OS X findtambién tiene una -deletebandera para que pueda usar find ~/.Trash -mtime +7 -delete. Las fechas de modificación no son una buena indicación de cuándo se eliminaron los archivos. Sin embargo, no conozco ninguna forma de acceder a los metadatos de fecha eliminada que se muestran en Finder.
De acuerdo con el comentario anterior... Aunque este es un buen script, en la práctica elimina cosas por su fecha de modificación. Por lo tanto, si elimino una carpeta de cosas viejas de vez en cuando y luego ejecuto el script inmediatamente después, la mayoría de las cosas de esa carpeta se eliminan. Sería bueno si pudiéramos encontrar un parámetro para la fecha de eliminación en el archivo.
@Jowie podemos usar -atime que es la última hora de acceso. Por cierto, hay otro problema: esto deja directorios vacíos en la Papelera...

Hazel se puede configurar para mantener los archivos solo durante un cierto período de tiempo y para mantener la basura por debajo de un cierto tamaño. También puede agregar reglas personalizadas para eliminar archivos grandes inmediatamente o eliminar archivos en las carpetas de papelera de otros volúmenes.

El dirscan de John Wiegley , en particular el cleanup.pyejemplo, está diseñado para tratar los problemas identificados con los enfoques que utilizan find. dirscanproporciona una solución de propósito más general en la que puede configurarlo para escanear/limpiar diferentes directorios de diferentes maneras.