1

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を構成する最良の方法を知っている人はいますか?

前もって感謝します!

4

1 に答える 1

0

NXLog フォーラムで回答を参照してください。

于 2016-03-30T11:48:14.480 に答える