Filereaper

Contents: Purpose Status Features Bugs Dependencies Related Projects Code

Purpose

To make better use of disk space by dynamically reallocating storage space to files under /tmp in real-time. Files will be kept for as long as possible, and only removed when insufficient free disk space exists.

Minimal development resources were attached to this project at its earliest first release in April 1998, and while it works at all I'm not doing any work on it. I have a design for a project to update filereaper but so far no time or resource commitments to develop it.

Status

There is no current development on this project. Occasionally there are bug fixes. The last bug fix was 2007-10-28.

Features

Bugs

Dependencies

OS and filesystem
Just about any Unix flavor, including non-Unix filesystems that preserve inode numbers. Runs on anything Perl runs on, provided that a function for calculating free disk space is supplied.
Languages and Libraries
Perl 5. Actually mostly Perl 4, but just enough Perl 5 to stop it from compiling on Perl 4. It could benefit from redesign.

Related Projects

Red Hat Linux
I exchanged email with ewt@redhat.com who wrote the original tmpwatch that was part of Red Hat, although he didn't get it entirely right. tmpwatch has since been rewritten a number of times since I last read its source code.
Debian GNU/Linux
The people who maintain the Debian tmpreaper package read my Bugtraq article where I explained security problems faced by file reapers in general. The source code contains a URL (http://www.geek-girl.com/bugtraq/1996_2/0054.html) that points to the Bugtraq article I wrote that started it all...

Code

filereaper - documentation is in the comments at the beginning of the Perl script, the code is at the end.

tmpclean - a sample script that I use for cleaning filesystems, to show how filereaper is typically used. You run this script at system start-up time, in the background.