view dbclean.0 @ 4:d329bb5c36d0

Changes making it compile the new upstream release
author Peter Gervai <grin@grin.hu>
date Tue, 10 Mar 2009 14:57:12 +0100
parents c7f6b056b673
children
line wrap: on
line source

dbclean(8)            Distributed Checksum Clearinghouse            dbclean(8)

NNAAMMEE
     ddbbcclleeaann -- Clean Distributed Checksum Clearinghouse Database

SSYYNNOOPPSSIISS
     ddbbcclleeaann [--ddffFFNNPPSSVVqq] [--ii _i_d] [--aa [_s_e_r_v_e_r_-_a_d_d_r][_,_p_o_r_t]] [--hh _h_o_m_e_d_i_r]
             [--GG _o_n] [--RR _m_o_d_e] [--ss _h_a_s_h_-_s_i_z_e] [--ee _s_e_c_o_n_d_s] [--EE _s_p_a_m_s_e_c_s]
             [--LL _l_t_y_p_e_,_f_a_c_i_l_i_t_y_._l_e_v_e_l]

DDEESSCCRRIIPPTTIIOONN
     DDbbcclleeaann 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 daily.

     If the hash table in the database has been damaged, ddbbcclleeaann tries to
     repair the database.

     The contents of the _w_h_i_t_e_l_i_s_t file are built into the DCC server's data-
     base.  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.

   OOPPTTIIOONNSS
     The following options are available:

     --dd   enables debugging output.  Additional --dd options increase the number
          of messages.

     --FF   uses write() instead of mmap() in some cases to modify the DCC data-
          base.  This works better on some versions of Solaris provided the
          entire DCC database fits in RAM and provided the file system has not
          been tuned for the large, random accesses of a DCC database.  It is
          the default on Solaris.

     --ff   turns off --FF.

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

     --PP   expires old checksums from a database using the --ee --aanndd --EE values
          from the preceding use of ddbbcclleeaann.  --PP cannot be used with --ee or --EE.
          Note also that using --PP differs from not using --ee or --EE, because in
          the absence of all four, their default values are used.

     --SS   says that the DCC server, dccd(8), is not running and so ddbbcclleeaann
          should run stand-alone and not try to tell the DCC server about
          changes to the database.  --ii is not needed when --SS is present.

     --VV   displays the version of the DCC database cleaner.

     --qq   quiets the announcement of results at the end.

     --ii _i_d
          specifies the DCC ID recognized by the local DCC server as its own.
          This ID allows the DCC server to recognize commands from ddbbcclleeaann to
          stop using the database while it is being cleaned.

     --aa [_s_e_r_v_e_r_-_a_d_d_r][_,_p_o_r_t]
          is commonly used to specify a UDP port or IP address of the local
          server other than the default.

     --hh _h_o_m_e_d_i_r
          overrides the default DCC home directory, _/_v_a_r_/_d_c_c.

     --GG _o_n
          cleans a greylist database.

     --RR _m_o_d_e
          repairs a database or does a quick cleaning.  _M_o_d_e must be one of
          the following:
          _b_a_d    to repair a broken database.
          _q_u_i_c_k  for a quick, superficial cleaning during the day.
          _h_a_s_h   to rebuild a hash not sent to disk before the system was
                 recently restarted.
          _c_r_o_n   for the nightly cleaning by the cron(8) job
                 _/_v_a_r_/_d_c_c_/_l_i_b_e_x_e_c_/_c_r_o_n_-_d_c_c_d
          _d_e_l    to finish processing a delete command received by dccd(8).

     --ss _h_a_s_h_-_s_i_z_e
          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.

     --ee _s_e_c_o_n_d_s
          specifies that reports older than _s_e_c_o_n_d_s and with totals below 10
          targets should be deleted.  Reports older than _s_e_c_o_n_d_s of checksums
          that have been reported more recently are summarized in the data-
          base.  The default value is 1DAY or the value of --EE, whichever is
          smaller.  The 1 day default is reduced if the system does not appear
          to have enough RAM to hold the database.  The minimum is 1 hour.
          _S_e_c_o_n_d_s can also be _N_E_V_E_R or a number of hours, days, or weeks fol-
          lowed by _H_O_U_R_S, _H, _D_A_Y_S, _D, _W_E_E_K_S 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.

     --EE _s_p_a_m_s_e_c_s
          changes the expiration of checksums with more than 10 targets from
          the default of 30DAYS or the explicit value of --ee, whichever is
          larger.  The default is reduced if the system does not have enough
          RAM to hold the database.  _S_p_a_m_s_e_c_s can also be _N_E_V_E_R or a number of
          hours, days, or weeks followed by _H_O_U_R_S, _H, _D_A_Y_S, _D, _W_E_E_K_S or _W.

     --LL _l_t_y_p_e_,_f_a_c_i_l_i_t_y_._l_e_v_e_l
          specifies how messages should be logged.  _L_t_y_p_e must be _e_r_r_o_r, _i_n_f_o,
          or _o_f_f to indicate which of the two types of messages are being con-
          trolled or to turn off all syslog(3) messages from ddbbcclleeaann.  _L_e_v_e_l
          must be a syslog(3) level among _E_M_E_R_G, _A_L_E_R_T, _C_R_I_T, _E_R_R, _W_A_R_N_I_N_G,
          _N_O_T_I_C_E, _I_N_F_O, and _D_E_B_U_G.  _F_a_c_i_l_i_t_y must be among _A_U_T_H, _A_U_T_H_P_R_I_V,
          _C_R_O_N, _D_A_E_M_O_N, _F_T_P, _K_E_R_N, _L_P_R, _M_A_I_L, _N_E_W_S, _U_S_E_R, _U_U_C_P, and _L_O_C_A_L_0
          through _L_O_C_A_L_7.  The default is equivalent to
                --LL _i_n_f_o_,_M_A_I_L_._N_O_T_I_C_E --LL _e_r_r_o_r_,_M_A_I_L_._E_R_R

     ddbbcclleeaann exits 0 on success, and > 0 if an error occurs.

FFIILLEESS
     /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 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 whitelist in the format described
                   in dcc(8).
     grey_whitelist
                   contains the greylist server whitelist.

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

HHIISSTTOORRYY
     Implementation of ddbbcclleeaann was started at Rhyolite Software, in 2000.
     This document describes version 1.3.103.

                               February 26, 2009