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 serveras its own. This ID allows the DCC server to recognize commandsfrom dbclean to stop using the database while it is beingcleaned.
- -a [server-addr][,port]
is commonly used to specify a UDP port or IP address ofthe local server other than the default.
- -h homedir
overrides the default DCC home directory, which is often /var/dcc.
- -G on
cleans a greylist database.
- -s hash-size
specifies a size for the hash table. By default thehash table is rebuilt to be approximately 80% full based on anestimate of the number of distinct checksums in the main file.
- -e seconds
specifies that reports older than seconds and with totals below their -t thresholds should be deleted. Reports olderthan seconds of checksums that have been reported more recentlyare summarized in the database. The default value is 2 days orthe value of -E, whichever is smaller. The 2 day default is reduced if the system does not appear to have enough RAM to holdthe database. The minimum is 1 hour. Seconds can also be NEVERor 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 ordo not receive "floods" of checksums from busy servers should uselonger values to increase their chances of recognizing bulk mail.
- -E spamsecs
changes the expiration of checksums exceding -t thresholds from the default of 30 days or the explicit value of -e,whichever is larger. The 30 day default is reduced if the systemdoes not have enough RAM to hold the database. Spamsecs can alsobe 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 reports of checksums of type with total counts of at leastthreshold should be kept for bulksecs seconds. All reportsshould be kept for the shorter duration, allsecs seconds. Thethreshold is either a number or the string MANY indicating millions of targets. By default dbclean acts as if given -tFuz1,seconds,20,spamsecs -t Fuz2,seconds,20,spamsecs, whereseconds is the value for -e and spamsecs is the value for -E.All other checksum types act as if -t type,seconds were specified. Allsecs and bulksecs can also be NEVER or a number ofhours, days, or weeks followed by HOURS, H, DAYS, D, WEEKS or W.
- -L ltype,facility.level
specifies how messages should be logged. Ltype must beerror or info to indicate which of the two types of messages areALERT, CRIT, ERR, WARNING, NOTICE, INFO, and DEBUG. Facilitymust be among AUTH, AUTHPRIV, CRON, DAEMON, FTP, KERN, LPR, MAIL,NEWS, USER, UUCP, and LOCAL0 through LOCAL7. The default isequivalent 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
HISTORY
- Implementation of dbclean was started at Rhyolite Software
- in 2000. This describes version 1.2.74.
- BSD December 8, 2007