Skip to content

ezmlm tstdig.1

Manvendra Bhangui edited this page Feb 25, 2024 · 2 revisions

NAME

ezmlm-tstdig - 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.

SEE ALSO

ezmlm-get(1), ezmlm-make(1), ezmlm-manage(1), ezmlm-send(1), ezmlm(5),

Clone this wiki locally