mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-20 03:50:41 +01:00
imfile: Initial implementation of solaris FEN API (without wildcards) FEN API is used to implement simular event based file monitoring like with inotify. This commit provides partial functionality. It supports event-driven processing of files but does not yet provide wildcard functionality. Wildscards will be provided by a later commit. This can be committed as-is because the previous code did also not provide wildcard support, so this is an improvement for Solaris in any case. see also https://github.com/rsyslog/rsyslog/issues/1954
49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# addd 2016-10-06 by RGerhards, released under ASL 2.0
|
|
echo [imfile-truncate.sh]
|
|
. $srcdir/diag.sh check-inotify
|
|
. $srcdir/diag.sh init
|
|
. $srcdir/diag.sh generate-conf
|
|
. $srcdir/diag.sh add-conf '
|
|
module(load="../plugins/imfile/.libs/imfile")
|
|
|
|
input(type="imfile"
|
|
File="./rsyslog.input"
|
|
Tag="file:"
|
|
reopenOnTruncate="on"
|
|
)
|
|
|
|
template(name="outfmt" type="string" string="%msg:F,58:2%\n")
|
|
|
|
if $msg contains "msgnum:" then
|
|
action(
|
|
type="omfile"
|
|
file="rsyslog.out.log"
|
|
template="outfmt"
|
|
)
|
|
'
|
|
. $srcdir/diag.sh startup
|
|
|
|
# write the beginning of the file
|
|
echo 'msgnum:0
|
|
msgnum:1' > rsyslog.input
|
|
|
|
# sleep a little to give rsyslog a chance to begin processing
|
|
sleep 1
|
|
|
|
# truncate and write some more lines (see https://github.com/rsyslog/rsyslog/issues/1090)
|
|
echo 'msgnum:2' > rsyslog.input
|
|
# sleep some more
|
|
sleep 1
|
|
echo 'msgnum:3
|
|
msgnum:4' >> rsyslog.input
|
|
|
|
# give it time to finish
|
|
sleep 1
|
|
|
|
. $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done processing messages
|
|
. $srcdir/diag.sh wait-shutdown
|
|
|
|
. $srcdir/diag.sh seq-check 0 4
|
|
. $srcdir/diag.sh exit
|