我正在Linux服务器上部署nxlog(Red Hat Enterprise 6.6版)。我目前正在尝试在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秒的时间间隔?
提前致谢!