31 lines
1.5 KiB
Text
31 lines
1.5 KiB
Text
|
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.
|