C'è un modo per limitare la dimensione del cestino?


12

Ho appena esaurito lo spazio su disco e ho circa 15 GB nel cestino. C'è un modo per non tenere gli oggetti più vecchi di 7 giorni o limitare le dimensioni del cestino?

Ho bisogno di un modo per mantenerlo automaticamente gestito.

Risposte:


12

Il Cestino è solo una cartella (directory) speciale che Apple crea e gestisce tramite il Finder in modo da avere una certa capacità di "ripristinare" gli elementi (rimuovendoli dal Cestino) prima di eliminarli completamente (Svuota Cestino). Poiché questo meccanismo è solo una directory sul disco di avvio, tecnicamente hai tutto lo spazio del disco di avvio da utilizzare per il Cestino se lo desideri.

Se volevi un po 'di file di rimozione "auto-magici" più vecchi di 7 giorni, puoi usare un semplice script bash:

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

Utilizzando il tuo editor di testo preferito, incolla la riga sopra in un nuovo file e quindi salva il file come empty_trash_older_than_7_days.sh. Nel terminale, assicurarsi di utilizzare il chmodcomando per renderlo eseguibile come tale:chmod +x /path/to/empty_trash_older_than_7_days.sh

Questo comando, quando eseguito nel terminale, troverà tutti i file nel Cestino (file dal tuo volume di avvio - solo su questo in un minuto) che sono più vecchi di 7 giorni (dal momento in cui esegui questo comando) e passano ogni file al rm -rfcomando. Poiché rmè un comando unix e non ha alcuna nozione di Cestino, fa solo una cancellazione unix che per i nostri scopi è una vera eliminazione (come Svuotare il Cestino).

È quindi possibile utilizzare cron (se non si ha familiarità con Cron, controllare la voce di cron su Wikizionario ) per impostare un'esecuzione ricorrente di questo script.

Personalmente, il mio voto è di allenarmi per utilizzare la Empty Trashvoce di menu ogni pochi minuti, giorni, settimane?

PS se tutto questo unix-ese è troppo spaventoso, scommetto che ci sono semplici applicazioni Mac che le persone hanno scritto per fare proprio questo genere di cose. Speriamo che qualcuno con una certa conoscenza di uno o più di questi tipi di applicazioni possa offrire una risposta o due come contrappeso.

In bocca al lupo!

PS Ho dimenticato di parlare del volume non di avvio ... Se elimini un file da un volume ALTRO rispetto al volume di avvio, questo file andrà alla cartella .Trash su quel volume. Ad esempio, se si avesse un volume chiamato Foo, ci sarebbe una cartella .Trash in /Volumes/Foo/.Trash. Ciò che ho documentato sopra non eliminerà questi file. Dovresti impostare qualcosa di simile per ogni volume che hai.


2
OS X findha anche un -deleteflag che puoi usare find ~/.Trash -mtime +7 -delete. Le date di modifica non sono un'ottima indicazione di quando i file sono stati eliminati. Non conosco alcun modo per accedere ai metadati della data eliminati mostrati nel Finder.
Lri,

Concordo con il commento sopra ... Anche se questo è un bel copione, in pratica elimina le cose dalla sua data modificata. Pertanto, se cestino una cartella di roba vecchia di tanto in tanto e quindi eseguo subito lo script, la maggior parte delle cose da quella cartella viene eliminata. Sarebbe bello se potessimo trovare un parametro per la data cancellata sul file.
Jowie

@Jowie possiamo usare -atime che è l'ora dell'ultimo accesso. A proposito, c'è un altro problema - questo lascia vuote directory nel Cestino ...
Visualizza nome

3

Hazel può essere configurato per mantenere i file solo per un certo periodo di tempo e per mantenere il cestino a una determinata dimensione. È inoltre possibile aggiungere regole personalizzate per l'eliminazione immediata di file di grandi dimensioni o l'eliminazione di file nelle cartelle cestino di altri volumi.


0

John Wiegley è dirscan , in particolare l' cleanup.pyesempio, è stato progettato per affrontare le questioni individuate con gli approcci utilizzando find. dirscanfornisce una soluzione più generica in quanto è possibile configurarla per scansionare / ripulire directory diverse in modi diversi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.