如果已经回答,请道歉;我搜索了一些关于使用shell进行日志扫描的指针,但大多数结果都是关于如何在单个文件中处理特定搜索。
问题:我需要设置一个监视脚本,该脚本会不断查找某些文件中的特定错误消息。我不能只扫描整个目录,因为虽然所有历史文件都存在(在自动清理窗口中),但我只想检查“活动”文件,这些文件由Oracle DB上的表跟踪。然后我想将数据加载回数据库。
以下是我计划采取的基本方法。我挂掉的那部分听起来很傻,但我正在自学这些东西。我的问题是[远程目录中的文件列表]。
我可以将我的“活动”文件列表放到sqlout变量中,并且我有一个工作的nawk命令可以提取我想要的数据(如果我现在给它一个特定的文件名)。如何在这个for循环中“检查目录X中的所有文件”以匹配sqlout?
示例:该脚本位于/ home / support / scripts中 有问题的文件可以是:/ home / app / dailyfiles /
我希望nawk能够点击$ sqlout中/ dailyfiles /中的每个文件。
sqlout=$(sqlplus -s [ConnString] [sql_here])
for [list of files in remote dir] in $sqlout
do
[nawk to pull the data I need when error message is found]
done
sqlldr to put mydata.txt into a table
非常感谢您花时间阅读本文。 -JStymie