Linux サーバー (Red Hat Enterprise リリース 6.6) に nxlog をデプロイしています。現在、nxlog の処理が終了した後にファイルを削除しようとしています。nxlog のドキュメントによると、動作していない file_remove を使用しています。nxlog の起動時に構文エラーをスローしない構成を次に示します。ご覧のとおり、処理後にファイルを削除する最善の方法がわからないため、1 分ごとの時間間隔を使用しました。デバッグ ログには、ディレクトリ内のファイルを削除しようとしていることがわかりません。
########################################
# Global directives #
########################################
User nxlog
Group nxlog
LogFile /var/log/nxlog/nxlog.log
LogLevel DEBUG
########################################
# Modules #
########################################
<Extension _syslog>
Module xm_syslog
</Extension>
<Extension fileop>
Module xm_fileop
<Schedule>
Every 1 min
Exec file_remove('/eventarchive/processed/*.raw', (now()));
</Schedule>
</Extension>
<Input in1>
Module im_file
File "/eventarchive/processed/*.raw"
SavePos TRUE
#Exec parse_syslog_bsd();
</Input>
<Output fileout1>
Module om_udp
Host 10.102.103.112
Port 3333
Exec to_syslog_bsd();
</Output>
########################################
# Routes #
########################################
<Route 1>
Path in1 => fileout1
</Route>
これと同じ構文を Windows セットアップで使用してテストしたところ、うまくいきました。ファイルを正常に削除しました。Linux セットアップでは、「*.raw」の代わりにファイル名を設定しようとしましたが、どちらも機能しませんでした。私が間違っていることはありますか?これが機能しなくなるような制限が Linux にあるかどうかは誰にもわかりませんか?
上記のように1秒の時間間隔を設定するのではなく、処理後にファイルを削除するようにnxlogを構成する最良の方法を知っている人はいますか?
前もって感謝します!