NXLog Linux - 处理后删除文件

Posted

技术标签:

【中文标题】NXLog Linux - 处理后删除文件【英文标题】:NXLog Linux - Remove Files After Processing 【发布时间】:2016-03-29 00:24:42 【问题描述】:

我在 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 秒的时间间隔?

提前致谢!

【问题讨论】:

【参考方案1】:

请参阅 NXLog 论坛中的 response。

【讨论】:

以上是关于NXLog Linux - 处理后删除文件的主要内容,如果未能解决你的问题,请参考以下文章

如何从 nxlog 转发的日志中删除 N/A?

NXlog 输入过滤器

linux下find查找文件后使用xargs和exec进行删除压缩处理。

删除文件后,磁盘空间没有释放的处理记录

linux下如何批量删除文件名的某个字符串

nxlog 日志采集