Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Users on a linux (CentOS4) machine I administer consistently forget to empty the trash. Since the people work on big files, this can fill up the /home partition very quickly.

Therefore, I would like to create a script that automatically empties the user's trash whenever they log out.

How would I do that?

EDIT I guess I should clarify the situation a little: The computer is attached to a microscope. Users come, log on, take pictures (storing them on the generous scratch space during acquisition), and then they transfer the data onto the server.

Sometimes it happens that pictures that looked good at first glance are crap, so the users delete the pictures - which sends them to the trash in /home - instead of moving them to the server. Or they copy the data instead of moving, and then they delete it later.

Eventually, they log off so that someone else can use the microscope. If they just filled up /home with their trash, the next person cannot launch the acquisition program, which means that I have to go empty the trash, and since the microscope is used almost 24/7, this may happen at rather inconvenient times (in addition to possibly cancelling a microscopy session for the user).

To avoid these problems, I want to make sure that the trash can is emptied whenever a user logs off, so that the next user can get their work done.

share|improve this question
up vote 2 down vote accepted

I really don't like the idea of you meddling with user files. They are the ones who know what to keep and what not to keep. Who knows, maybe they use their Trash folders as tmp folders.

What I would do instead:

  • restrict how much space they have with disk quotas. This needs to be as much as you want to afford.
  • provide them with additional "scratch" space. This should be plenty of space, but I would implement a cron job that periodically deletes files not accessed in a long time (tmpreaper actually has all that built-in with some extras).

Then you also wouldn't have to worry about people like me who would immediately remove your modifications to my login/logout scripts.

share|improve this answer
In principle I agree - it's preferable to give the users some autonomy. However, this is a special case: There is 1.5T of (shared) scratch space, where users can store their temporary data before they move it away onto the server. And if I was to limit their quotas on /home, users would come to me complaining that they don't have anymore space, and I would have to tell them to take out their trash. – Jonas Mar 20 '10 at 23:04
They will learn quickly to worry about this if they cannot get any work done. If they cannot login anymore because they used up their quota, make them wait half a day. If you would do what you plan to do to me I probably would just lock the session instead of logging out. – Benjamin Bannier Mar 20 '10 at 23:09
I agree with both of you, but I also recommend this "HowTo deal with Users" :D – dag729 Mar 20 '10 at 23:14

Implement the ~/.bash_logout file in the users directory and trigger clearing of Trash there, if you really wish to.

You should also look at the documentation of the Desktop-Environment for recommended Logoff-scripts - most desktops support such a feature.

share|improve this answer

Tell the users their trash will be deleted when they logout. Let them determine what they want to keep or trash. Education is such a simple solution to most problems.

share|improve this answer
This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review – Burgi 10 hours ago
Welcome to Super User. Please be aware you have posted an answer to a question that is very old. Although there is nothing wrong with doing so, just be aware you may not get a response. – CharlieRB 4 hours ago

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.