dbclean(8)         DCC -- Distributed Checksum Clearinghouse        dbclean(8)


NAME

     dbclean - Clean Distributed Checksum Clearinghouse Database


SYNOPSIS

     dbclean [-dDGNRPSVq] [-i id] [-a [server-addr][,port]] [-h homedir]
             [-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 re-
     ports 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 daily.

     If the hash table in the database has been damaged, dbclean tries to re-
     pair the database.

     The contents of the whitelist file are built into the DCC server's
     database.  Changes to the white list 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 from the DCC client library.  Additional -d
          options increase the number of messages.

     -D   indicates that dccd(8) started .

     -G   cleans a greylist database.

     -N   creates a new, empty database.  There must not be an existing
          database and the DCC server, dccd(8),  must not be running.

     -R   repairs a database.

     -P   expires old checksums from a database using the -e, -E, and -t val-
          ues 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 often /var/lib/dcc.

     -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 totals 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 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 re-
          ceive "floods" of checksums from busy servers should use longer val-
          ues than 2 days 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.
          Spamsecs can also be NEVER or a number of hours, days, or weeks fol-
          lowed by HOURS, H, DAYS, D, WEEKS or W.

     -t type,allsecs[,threshold,bulksecs]
          overrides the global -e setting and specifies that reports of check-
          sums 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 millions 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 specified.
          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 con-
          trolled.  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/lib/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 renamed.
     dcc_db-old, grey_db-old
                   previous database files.
     ids           list of IDs and passwords, as described in dccd(8).
     whitelist     contains the DCC server white list in the format described
                   in dcc(8).
     grey_whitelist
                   contains the greylist server white list.


SEE ALSO

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


HISTORY

     Implementation of dbclean was started at Rhyolite Software in 2000.  This
     describes version 1.2.7.

                              September 14, 2003                             3

Man(1) output converted with man2html modified for the DCC $Date 2001/04/29 03:22:18 $