qsexec(1)

qsexec1

Parses the data received via stdin and executes the defined command on a pattern match.

Usage

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

Overview

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

Options

-e <pattern>

Specifes the search pattern causing an event which shall trigger the command.

-t <number>:<sec>

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.

-c <pattern> [<command string>]

Pattern which clears the event counter. Executes optionally a command if an event command has been executed before.

-p

Writes data also to stdout (for piped logging).

-u <name>

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.

Examples

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\'"

Releases

6 releases since Debian 7 (Wheezy); the text changed 4 times.

  1. 7
  2. 8
  3. 9
  4. 10
  5. 11–12

Author

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

From libapache2-mod-qos 11.63-1+b2 in Debian 12 (Bookworm). Parsed by carta from the page's man source.