NAME¶
qsexec - parses the data received via stdin and executes the defined command on
a pattern match.
SYNOPSIS¶
qsexec -e <pattern> [-t <number>:<sec>] [-c <pattern>
[<command string>]] [-p] [-u <user>] <command string>
DESCRIPTION¶
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.
EXAMPLE¶
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 "|qsexec -e \'mod_qos\(031\).*, c=([0-9a-zA-Z:.]*)\' -t 10:60
\'/bin/deny.sh $1\'"
SEE ALSO¶
qsfilter2(1), qsgeo(1),
qsgrep(1), qshead(1),
qslog(1),
qslogger(1),
qspng(1),
qsrotate(1),
qssign(1),
qstail(1)
AUTHOR¶
Pascal Buchbinder,
http://opensource.adnovum.ch/mod_qos/