ezmlm-tstdig(1) Tests if a digest should be created

SYNOPSIS

ezmlm-tstdig [ -k kbytes ] [ -m msg ] [ -t time ] dir

ezmlm-tstdig reads files in the list directory dir and determines if any of the criteria specified by the options are met. If they are, or if all options specified are 0, ezmlm-tstdig exits with success (0). Otherwise, ezmlm-tstdig exits (99), or in case of errors, (100) for permanent and (111) for temporary errors.

The normal use of ezmlm-tstdig is to place it in a script so that ezmlm-get(1) is executed if ezmlm-tstdig exits 0, but skipped otherwise.

ezmlm-tstdig uses LOCAL to adapt its behavior so that it can be used from the command line, a script, or from within dir/editor, or dir/manager. If invoked from dir/editor, the ezmlm-tstdig line should end in '|| exit 99'. When used here, ezmlm-tstdig if digest generation criteria are met tests a timestamp in dir/tstdig. If dir/tstdig is more than 1 hour old or a digest has been successfully created since dir/tstdig was written, ezmlm-tstdig will set the timestamp to the current time and exit 0. Otherwise it will exit 99. This is to guard against initiating duplicate digests when messages arrive while digesting is in progress.

OPTIONS

-k
Success if more than kbytes of message body has accumulated since the latest digest. Defaults to the value in dir/digsize if it exists or 64 otherwise.
-m
Success if more than msg messages have accumulated since the latest digest. Defaults to the value in dir/digcount if it exists or 30 otherwise.
-t
Success if more than time hours have passed since the latest digest. Defaults to the value in dir/digtime if it exists or 48 otherwise.

USAGE

This is an example script for ezmlm-tstdig usage.

#!/bin/sh
#usage: script dir diglist@host
#digest if > 64 kbytes message bodies,
#          > 30 messages, or
#          > 48 hours since last digest.
# ezmlm bin path - modify for your setup
EZPATH='/usr/local/bin/ezmlm'
EZTST="${EZPATH}/ezmlm-tstdig"
EZGET="${EZPATH}/ezmlm-get"
${EZTST} -k64 -m30 -t48 "$1" || exit 0
${EZGET} -t "'$2'" "'$1'" < /dev/null
# improve by testing exit status

BUGS

Obviously, ezmlm-tstdig should be integrated into the digesting program so that dir/tstdig will not be not necessary. This may be done in the next version.