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是否有任何限制会阻止它工作?

有谁知道配置 nxlog 以在处理后删除文件的最佳方法,而不是像上面那样设置 1 秒的时间间隔?

提前致谢!

4

1 回答 1

0

请参阅NXLog 论坛中的回复

于 2016-03-30T11:48:14.480 回答