You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Geneos以列出UNIX文件夹中含昨日日期的所有文件

解决Geneos FKM/FTM插件仅列出第一个匹配文件的问题

我之前在使用Geneos监控UNIX服务器文件时,也碰到过FKM/FTM用通配符只返回第一个匹配项的情况,下面是几个亲测有效的配置方案,帮你列出含昨日日期的所有目标文件:

方案1:用Shell脚本+FKM命令模式替代直接通配符

FKM直接用通配符(比如/location/*)时确实只会抓取第一个匹配文件,所以我们可以写个简单的shell脚本,主动过滤并输出所有符合条件的文件,再让FKM执行这个脚本:

  1. 创建一个脚本文件(比如/usr/local/geneos/scripts/yesterday_files.sh),内容如下:
#!/bin/bash
# 生成昨日日期,格式根据你的文件名调整,比如YYYYMMDD、YYYY-MM-DD等
YESTERDAY=$(date -d "yesterday" +%Y%m%d)
# 列出目标文件夹中包含昨日日期的所有文件(不包含子目录)
ls /your/target/location/*$YESTERDAY*
# 如果需要包含子目录,换成find命令:
# find /your/target/location -type f -name "*$YESTERDAY*"
  1. 给脚本添加执行权限:chmod +x /usr/local/geneos/scripts/yesterday_files.sh
  2. 在Geneos FKM采样器的配置中:
    • 将Command设置为脚本路径:/usr/local/geneos/scripts/yesterday_files.sh
    • 开启Line Based Parsing,并配置输出解析规则,把每一行输出识别为一个文件条目(比如直接捕获整行作为文件名)

这样FKM每次采样时,就会执行脚本并返回所有匹配昨日日期的文件。

方案2:使用FTM插件的目录扫描+正则过滤

如果更倾向于用FTM插件,可以通过目录扫描模式结合动态正则过滤来实现:

  1. 在FTM采样器配置中:
    • 设置Directory为目标文件夹路径:/your/target/location
    • 关闭Include Subdirectories(如果不需要监控子目录的话)
    • 在File Filter中使用正则表达式匹配文件名中的昨日日期。比如你的文件名是report_2024-05-20.txt格式,正则可以写成:
      .*$(date -d yesterday +%Y-%m-%d).*
      
      (注意:部分Geneos版本支持直接在配置中嵌入shell命令,若不支持,可以提前通过环境变量传递昨日日期,或者用静态正则结合每日调度更新配置)
  2. 配置FTM的Output Fields,确保每个匹配的文件都能单独显示在dataview中

注意事项

  • 确保Geneos的运行用户对目标文件夹有读取权限,否则脚本或FTM扫描会失败
  • 日期格式要和文件名中的日期完全匹配,比如文件名用20240520就不要生成2024-05-20的日期变量
  • 如果需要监控文件的其他属性(比如大小、修改时间),可以在脚本或FTM配置中额外添加对应逻辑

内容的提问来源于stack exchange,提问作者user3142257

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:19:45