How can I automatically have my Trash emptied when disk space gets below a certain point?

Solution 1:

I use a third party preference pane Compost that deletes from trash when the disk fills up or if the file has been in trash for a given time.

The original download stopped working for me but I have just found this on the author's site instead of the distributer. Note the author's comment

Compost is in a bit of a state of flux right now. The distributor has moved on to a different market and we wish them well in their endeavors. Additionally, the changes necessary to fully support Snow Leopard have been going through an extensive beta period as a result of the degree and complexity of changes required. Please stay tuned for more information.

So it might not work even from this download

When I updated this I had just installed it on Yosemite and it installed (but not enough time to see if it deleted anything) I have now updated to El Capitan and the installer fails.

Solution 2:

You could also edit the crontab with EDITOR=nano crontab -e and add a line like

0 * * * * osascript -e 'tell app "Finder" to empty trash if free space of startup disk < 2.0E+9'

Hazel supports keeping the trash under a certain size or keeping items only for a period like two weeks.