smeserver-durep/root/usr/local/man/man1/durep.1

291 lines
10 KiB
Groff

.\" Automatically generated by Pod::Man version 1.15
.\" Fri Nov 26 12:13:59 2004
.\"
.\" Standard preamble:
.\" ======================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
.\" to do unbreakable dashes and therefore won't be available. \*(C` and
.\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr
.\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
.\" index entries marked with X<> in POD. Of course, you'll have to process
.\" the output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it
.\" makes way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
.bd B 3
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ======================================================================
.\"
.IX Title "DUREP 1"
.TH DUREP 1 "durep version " "2004-09-05" "Disk Usage Report Generator"
.UC
.SH "NAME"
durep \- disk usage report generator
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
durep [\s-1OPTIONS\s0]... [\s-1DIRECTORY\s0]
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
\&\fBdurep\fR creates disk usage reports with bar graphs, allowing one to
easily deduce which directories are using the most space. Although
\&\fBdurep\fR can produce text output similar to du, its real power lies in
the ability to store reports in a file, which can then be viewed as a
web page with the supplied cgi script.
.SH "OPTIONS"
.IX Header "OPTIONS"
Options are groubed into three distinct sections.
.Sh "Text Output Options"
.IX Subsection "Text Output Options"
These options are for controlling the text report output.
.Ip "\fB\-td, \-\-text-depth\fR=\fIN\fR" 7
.IX Item "-td, --text-depth=N"
Limit text report on directories to depth \fIN\fR. No directories below
this level will be shown in the report.
.Ip "\fB \-hs, \-\-hide-size\fR=\fIN[bkmg]\fR" 7
.IX Item " -hs, --hide-size=N[bkmg]"
Do not display entries using \fIN\fR Bytes/Kb/Mb/Gb or less (default
Bytes). This is to reduce clutter in the reports. It allows you to
remove small files from the text report.
.Ip "\fB \-sd, \-\-show-date\fR" 7
.IX Item " -sd, --show-date"
Display the modification date of the file or directory in the report.
.Ip "\fB\-ns, \-\-nosort\fR" 7
.IX Item "-ns, --nosort"
Do not sort results by size. Leaves results in the order in which they
were scanned, which is highly dependant on the filesystem.
.Ip "\fB\-q, \-\-quiet\fR" 7
.IX Item "-q, --quiet"
Do not produce text output. This stops the creation of a text report,
and is useful when you are only interested in generating a save-file
for use with the web report.
.Sh "File Options"
.IX Subsection "File Options"
These options control load and save files.
.Ip "\fB\-sf, \-\-save-file\fR=\fI\s-1FILE\s0\fR" 7
.IX Item "-sf, --save-file=FILE"
Save the results of the scan into this file. This can be loaded for a
text report, but is generally used by the cgi script to display web
reports. The filename should end in \fI.ds\fR (it is appended if it does
not).
.Ip "\fB\-lf, \-\-load-file\fR=\fI\s-1FILE\s0\fR" 7
.IX Item "-lf, --load-file=FILE"
Load the results of a scan from this file. This takes the place of
scanning a directory. Inclusion options (described below) will not
take effect if this option is used.
.Ip "\fB\-d, \-\-desc\fR=\fI\s-1DESCRIPTION\s0\fR" 7
.IX Item "-d, --desc=DESCRIPTION"
Give a description to be stored in the save-file. This is displayed on
the web report summary page.
.Ip "\fB\-c, \-\-collate=\fR=\fI\s-1DIR\s0\fR" 7
.IX Item "-c, --collate==DIR"
Collate the save-files in the given directory. This creates a
\&\fIdurep.cds\fR file, which is used by the cgi script to manage and
display save-files. See \fBWeb Reports\fR section below for more detail.
.Sh "Inclusion Options"
.IX Subsection "Inclusion Options"
These options control which directories and files should be included in the report.
.Ip "\fB\-f, \-\-files\fR" 7
.IX Item "-f, --files"
Do not descend into sub-directories, only report files.
.Ip "\fB\-x, \-\-one-file-system\fR" 7
.IX Item "-x, --one-file-system"
Do not traverse file systems. This is similar to the \fB\-x\fR option for
du, allowing easy checking of an entire filesystem such as /.
.Ip "\fB\-cp, \-\-collapse-path=\fR\fI\s-1PATTERN\s0\fR" 7
.IX Item "-cp, --collapse-path=PATTERN"
Hide entries below paths that match \fI\s-1PATTERN\s0\fR. This allows you to
conceal the contents of certain directories in the report. You may
wish perhaps to show home directories in a report but not show their
content in which case you could use the option \f(CW\*(C`\-cp
\&'/home'\*(C'\fR.
.Ip "\fB\-ep, \-\-exclude-path\fR=\fI\s-1PATTERN\s0\fR" 7
.IX Item "-ep, --exclude-path=PATTERN"
Ignore paths that match \fI\s-1PATTERN\s0\fR. This works in a smilar manner to
\&\f(CW\*(C`\-cp\*(C'\fR above, except it excludes the directory from the scan itself.
.Ip "\fB\-cf, \-\-coalesce-files=\fR=\fIN[bkmg]\fR" 7
.IX Item "-cf, --coalesce-files==N[bkmg]"
Coalesces entries for files below the given size into one entry. This
is useful for reducing clutter in reports.
.SH "WEB REPORTS"
.IX Header "WEB REPORTS"
Since version 0.9, durep no longer directly generates html files for
its web reports. It now uses a cgi script that reads data from
save-files. The script will handle multiple save-files, potentially
from multiple hosts, so you can consolidate your reports into one
place. Copying save-files from other hosts is left as an exercise for
the reader.
.PP
It is necessary to collate the save-files before viewing them via the
cgi script. This process creates the file \f(CW\*(C`durep.cds\*(C'\fR which contains
metadata about all of the save-files. From this a summary page is
shown where you can choose which report you wish to view. The
collation must be done any time a save-file is added or overwritten.
.PP
The cgi-script has some configurable variables at the top. These tell
the script where to look for the css file and the graphic used for the
bar graphs. There are also options to set whether the modification
date, and/or the options used to create the save-file should be
shown. These are both set to 1 by default.
.PP
As always, you should take care when installing the cgi script. I've
done my best, but I make no guarantees about its security. It would
probably be unwise to allow this script to be accessed from the
internet at large.
.SH "EXAMPLES"
.IX Header "EXAMPLES"
.Ip "1." 3
\&\fBdurep \-td 2\fR
.Sp
This would print the directory tree starting from the current
directory to depth 2.
.Ip "2." 3
\&\fBdurep \-f /var/spool/mail\fR
.Sp
This might be useful for keeping a check on the mail directory. The
\&\f(CW\*(C`\-f\*(C'\fR switch tells durep to just scan files and not descend into
directories.
.Ip "3." 3
\&\fBdurep \-x \-cp \*(L"/(etc|usr/share)\*(R" \-ep \*(L"/var\*(R" \-sf /var/lib/durep/root.ds /\fR
.Sp
This more complicated version does the following. It scans the root
filesystem only, collapses the contents of any paths begining \fI/etc\fR
or \fI/usr/share\fR and skips the contents of the \fI/var\fR directory. It
saves the output of this report into the file
\&\fI/var/lib/durep/root.ds\fR. No text report is produced.
.Ip "4." 3
\&\fBdurep \-lf /var/lib/durep/root.ds \-hs 1m\fR
.Sp
This reads the save-file \fI/var/lib/durep/root.ds\fR and produces a text
report from it, hiding any files below 1 megabyte.
.Ip "5." 3
\&\fBdurep \-c /var/lib/durep\fR
.Sp
This collates any save-files in \fI/var/lib/durep\fR.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fIdu\fR\|(1), \fIperl\fR\|(1)
.SH "AUTHOR"
.IX Header "AUTHOR"
Damian Kramer <psiren@hibernaculum.net>