dbclean(8)

NAME

dbclean - Clean Distributed Checksum Clearinghouse Database

SYNOPSIS

dbclean [-dDfFNRPSVq] [-i id] [-a [server-addr][,port]]  [-h
homedir]
        [-G on] [-s hash-size] [-e seconds] [-E spamsecs]
        [-t       type,allsecs,threshold,bulksecs]       [-L
ltype,facility.level]

DESCRIPTION

Dbclean creates empty, rebuilds corrupted, and deletes or
expires old reports of checksums from DCC databases. It should
be installed where it will be found with the path given the DCC
server daemon when the daemon needs to expand the hash table.
See dccd(8). It should also be run by cron(8) approximately dai
ly.
If the hash table in the database has been damaged, dbclean
tries to repair the database.
The contents of the whitelist file are built into the DCC
server's database. Changes to the whitelist are not effective
until dbclean is run to expire reports. White or blacklists can
also be used by DCC clients, and generally work better there.
OPTIONS
The following options are available:
-d enables debugging output. Additional -d options in
crease the number of messages.
-D indicates that dccd(8) started dbclean.
-F uses read() and write() instead of mmap() in some cases
to access the DCC database. This works better on some versions
of Solaris provided the entire DCC database fits in RAM and pro
vided the file system has not been tuned for the large, random
accesses of a DCC database. It is the default on Solaris.
-f turns off -F.
-N creates a new, empty database. There must not be an
existing database and the DCC server, dccd(8), must not be run
ning.
-R repairs a database.
-P expires old checksums from a database using the -e, -E,
and -t values from the preceding use of dbclean. -P cannot be
used with -e, -E, or -t. Note also that using -P differs from
not using -e -E or -t, because in the absence of all four, their
default values are used.
-S says that the DCC server, dccd(8), is not running and
so dbclean should run stand-alone and not try to tell the DCC
server about changes to the database. -i is not needed when -S
is present.
-V displays the version of the DCC database cleaner.
-q quiets the announcement of results at the end.
-i id
specifies the DCC ID recognized by the local DCC server
as its own. This ID allows the DCC server to recognize commands
from dbclean to stop using the database while it is being
cleaned.
-a [server-addr][,port]
is commonly used to specify a UDP port or IP address of
the local server other than the default.
-h homedir
overrides the default DCC home directory, which is of
ten /var/dcc.
-G on
cleans a greylist database.
-s hash-size
specifies a size for the hash table. By default the
hash table is rebuilt to be approximately 80% full based on an
estimate of the number of distinct checksums in the main file.
-e seconds
specifies that reports older than seconds and with to
tals below their -t thresholds should be deleted. Reports older
than seconds of checksums that have been reported more recently
are summarized in the database. The default value is 2 days or
the value of -E, whichever is smaller. The 2 day default is re
duced if the system does not appear to have enough RAM to hold
the database. The minimum is 1 hour. Seconds can also be NEVER
or a number of hours, days, or weeks followed by HOURS, H, DAYS,
D, WEEKS or W.
DCC servers that are not very busy and are isolated or
do not receive "floods" of checksums from busy servers should use
longer values to increase their chances of recognizing bulk mail.
-E spamsecs
changes the expiration of checksums exceding -t thresh
olds from the default of 30 days or the explicit value of -e,
whichever is larger. The 30 day default is reduced if the system
does not have enough RAM to hold the database. Spamsecs can also
be NEVER or a number of hours, days, or weeks followed by HOURS,
H, DAYS, D, WEEKS or W.
-t type,allsecs[,threshold,bulksecs]
overrides the global -e setting and specifies that re
ports of checksums of type with total counts of at least
threshold should be kept for bulksecs seconds. All reports
should be kept for the shorter duration, allsecs seconds. The
threshold is either a number or the string MANY indicating mil
lions of targets. By default dbclean acts as if given -t
Fuz1,seconds,20,spamsecs -t Fuz2,seconds,20,spamsecs, where
seconds is the value for -e and spamsecs is the value for -E.
All other checksum types act as if -t type,seconds were speci
fied. Allsecs and bulksecs can also be NEVER or a number of
hours, days, or weeks followed by HOURS, H, DAYS, D, WEEKS or W.
-L ltype,facility.level
specifies how messages should be logged. Ltype must be
error or info to indicate which of the two types of messages are
being controlled. Level must be a syslog(3) level among EMERG,
ALERT, CRIT, ERR, WARNING, NOTICE, INFO, and DEBUG. Facility
must be among AUTH, AUTHPRIV, CRON, DAEMON, FTP, KERN, LPR, MAIL,
NEWS, USER, UUCP, and LOCAL0 through LOCAL7. The default is
equivalent to

-L info,MAIL.NOTICE -L error,MAIL.ERR
dbclean exits 0 on success, and > 0 if an error occurs.

FILES

/var/dcc is the DCC home directory containing data and
control files.
dcc_db is the main file containing mail checksums.
dcc_db.hash mail checksum database hash table.
grey_db is the database of greylist checksums.
grey_db.hash is the greylist database hash table.
dcc_db-new, dcc_db-new.hash, grey_db-new, grey_db-new.hash
new database and hash files until they are re
named.
dcc_db-old, grey_db-old
previous database files.
ids list of IDs and passwords, as described in dc
cd(8).
whitelist contains the DCC server whitelist in the for
mat described in dcc(8).
grey_whitelist
contains the greylist server whitelist.

SEE ALSO

cdcc(8), cron(8), dcc(8), dccd(8), dblist(8), dccifd(8), dc
cm(8), dccproc(8).

HISTORY

Implementation of dbclean was started at Rhyolite Software
in 2000. This describes version 1.2.74.
BSD December 8, 2007
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout