* Add the --files option, to list individual files in the various
reporting modes.
* Flexibly report sizes in Kb, Mb, Gb etc as appropriate. The
previous fixed Mb was inconvenient at both ends. Original patch
from James Beal, though I've polished it pretty much into
unrecognisability.
* Make the existing -d (depth) option apply to the -H (static HTML
report) mode, transforming its output from a single HTML file
giving a report for one directory with no crosslinks to a collection
of HTML files with crosslinks between them.
* Introduce a --cgi mode, to make it easy to plumb agedu's web
reporting into an existing web server as an alternative to running
a dedicated one of its own.
* Switch all the HTML-based reporting modes (the internal httpd, the CGI
mode and the dump of static HTML files) to using URIs and filenames
based on the text of the pathname being reported on, rather than
its numeric index in the data file. The aim is that sub-URIs
should remain valid when the data is updated - if, for instance,
you're running the agedu CGI script permanently and changing the
data file under it every so often.
* Suggestion from James Beal: support a '--title' option to override the
'agedu:' prefix at the start of the title of output web pages.
File too long (should be no more than 24 lines).
Line too long (should be no more than 80 characters).
Trailing empty lines.
Trailing white-space.
Trucated the long files as best as possible while preserving the most info
contained in them.
Suppose you're running low on disk space. You need to free some
up, by finding something that's a waste of space and deleting it
(or moving it to an archive medium). How do you find the right
stuff to delete, that saves you the maximum space at the cost of
minimum inconvenience?
Unix provides the standard du utility, which scans your disk and
tells you which directories contain the largest amounts of data.
That can help you narrow your search to the things most worth
deleting.
However, that only tells you what's big. What you really want to
know is what's too big. By itself, du won't let you distinguish
between data that's big because you're doing something that needs
it to be big, and data that's big because you unpacked it once and
forgot about it.
Most Unix file systems, in their default mode, helpfully record
when a file was last accessed. Not just when it was written or
modified, but when it was even read. So if you generated a large
amount of data years ago, forgot to clean it up, and have never
used it since, then it ought in principle to be possible to use
those last-access time stamps to tell the difference between that
and a large amount of data you're still using regularly.
agedu is a program which does this. It does basically the same sort
of disk scan as du, but it also records the last-access times of
everything it scans. Then it builds an index that lets it efficiently
generate reports giving a summary of the results for each subdirectory,
and then it produces those reports on demand.