Automatically Empty the Trash in Ubuntu

If you are low on disk space in Ubuntu, you may want to automate the emptying of your trash. A file sent to the trash still takes up space on your hard drive. This is so it can be easily recovered if you find you need the file after all. However, if you never empty your trash, it keeps growing and takes up valuable space on your hard drive.

To avoid having to think about the menial task of emptying your trash now and then, you can install Autotrash, which is a Python script that purges files from your trash based on their age or on the amount of disk space left on your computer.

This post shows you how to install Autotrash and lists some sample commands using Autotrash and what those commands do. Then, we show you two methods for automating emptying the trash.

The first method uses crontab to schedule a task to run Autotrash with specific parameters. The second method adds Autotrash to the list of programs that run at startup time. Because both of these methods perform the same task, select one to use.

Install Autotrash

To install Autotrash, select Accessories | Terminal from the Applications menu.

Opening a Terminal window

To add the repository for Autotrash, enter the following line at the prompt in the Terminal window and press Enter.

sudo add-apt-repository ppa:bneijt/ppa

Enter your password when prompted.

Adding the repository

To retrieve the updated package list from the newly added repository, enter the following line at the prompt in the Terminal window and press Enter.

sudo apt-get update

Updating all repositories

To install Autotrash, enter the following line at the prompt in the Terminal window and press Enter.

sudo apt-get install autotrash

Installing Autotrash

If you want to close the Terminal window, enter “exit” (without the quotes) at the prompt and press Enter. If you want to use the crontab method for automating emptying the trash, you can leave the Terminal window open for now.

Sample Uses of Autotrash

These samples illustrate manually setting up Autotrash to empty the trash. If you manually run any these commands, you will have to do so every time you boot into Ubuntu. A better way to use these commands is one of the two methods for automating emptying the trash that follows these examples.

To purge any file that has been in the trash for more than 30 days, enter the following line in a Terminal window.

autotrash –d 30

Example of emptying the trash every 30 days

To only purge files from the trash that are older than 30 days if there is less than 1GB of space left in the trash file system, enter the following line in a Terminal window.

autotrash –max-free 1024 -d 30

Example of emptying items older than 30 days if there is less than 1GB free in the trash file system

To purge files from the trash, oldest files first with no restriction on how old the files are, until there is at least 2GB of free space in the trash file system, enter the following line in a Terminal window.

autotrash –min-free 2048

Example of emptying the trash, oldest files first, until there is at least 2GB of free space

NOTE: By default, the oldest files in the trash are deleted first, if no other deletion order is specified.

For more information on how to use Autotrash and for more example of its use, enter “man autotrash” (without the quotes) in a Terminal window.

Use Crontab to Automate Emptying the Trash

The first method of automating emptying the trash, involves the crontab utility. This utility allows you to automate many tasks by setting a schedule to run programs or utilities.

If you closed the Terminal window, reopen it by selecting Accessories | Terminal from the Applications menu, as mentioned at the beginning of this post.

We find it easy to use gedit to edit the crontab file to schedule tasks. To do this, enter the following line at the prompt in the Terminal window and press Enter.

export EDITOR=gedit

This creates an environment variable that tells Ubuntu to use gedit as the default text editor.

Setting the default editor to gedit

To open the crontab file for editing, enter the following line at the prompt in the Terminal window and press Enter.

crontab -e

Opening the crontab file

If you have never scheduled a task using crontab, a message displays, telling you that there is no crontab for you and an empty one is being used.

No crontab message

The crontab file opens in a gedit window. Add a line to the end of the crontab file to schedule Autotrash to run with the desired parameters.

For example, to have Autotrash run daily to delete files in the trash that are older than 30 days, enter the following line into the crontab file.

@daily /usr/bin/autotrash -d 30

The “@daily” text tells the crontab file to run the specified command once every day. For more information about using crontab, see our post, Automating Tasks in Linux Using Crontab.

Adding Autotrash command to crontab file

Save the crontab file by clicking the Save button on the toolbar.

Saving crontab file

To close gedit, select Quit from the File menu.

Closing gedit

Close the Terminal window by entering “exit” (without the quotes) at the prompt and pressing Enter.

Closing the Terminal window

Run Autotrash When You Boot Your Computer

To automatically run Autotrash when you boot into you Ubuntu system, you can add the desired Autotrash command to the list of Startup Applications. To do this, select Preferences | Startup Applications from the System menu.

Opening Startup Applications

The Startup Applications Preferences dialog box displays. Click Add.

Clicking Add on the Startup Applications Preferences dialog box

Enter a name for the startup program in the Name edit box, such as “Autotrash” (without the quotes). Then, enter the desired Autotrash command to run in the Command edit box. As an example, if you want to purge any file that has been in the trash for more than 30 days every time you boot your computer, enter “autotrash -d 30” (again, without the quotes) in the Command edit box. Enter a comment for the startup program in the Comment edit box. Click Add.

Add Startup Program dialog box

Your new startup program for Autotrash is listed on the Startup Programs tab in alphabetical order. Make sure there is a check mark in the check box to the left of the new startup program. Click Close.

Closing the Startup Applications Preferences dialog box

Now, your trash will be emptied of files that meet the criteria you specified for Autotrash every time you boot into Ubuntu.

by Lori Kaufman

Leave a Reply