DOKK / manpages / debian 12 / libapache2-mod-qos / qsexec.1.en
QSEXEC(1) qsexec man page QSEXEC(1)

qsexec - parses the data received via stdin and executes the defined command on a pattern match.

qsexec -e <pattern> [-t <number>:<sec>] [-c <pattern> [<command string>]] [-p] [-u <user>] <command string>

qsexec reads log lines from stdin and searches for the defined pattern. It executes the defined command string on pattern match.

Specifes the search pattern causing an event which shall trigger the command.
Defines the number of pattern match within the the defined number of seconds in order to trigger the command execution. By default, every pattern match causes a command execution.
Pattern which clears the event counter. Executes optionally a command if an event command has been executed before.
Writes data also to stdout (for piped logging).
Become another user, e.g. www-data.
<command string>
Defines the event command string where $0-$9 are substituted by the submatches of the regular expression.

Executes the deny.sh script providing the IP address of the client causing a mod_qos(031) messages whenever the log message appears 10 times within at most one minute:
ErrorLog "|/usr/bin/qsexec -e \'mod_qos\(031\).*, c=([0-9a-zA-Z:.]*)\' -t 10:60 \'/usr/local/bin/deny.sh $1\'"

qsdt(1), qsfilter2(1), qsgeo(1), qsgrep(1), qshead(1), qslog(1), qslogger(1), qspng(1), qsre(1), qsrespeed(1), qsrotate(1), qssign(1), qstail(1)

Pascal Buchbinder, http://mod-qos.sourceforge.net/

May 2019 mod_qos utilities 11.63