我有一个文件(例如system.log
)。我需要扫描此文件以查找在5分钟内必须多次出现的特定字符串。
我想我可以创建一个包含4个参数的脚本:
如果此脚本在指定的时间段内找到字符串,则会写入“成功”消息
这是脚本的开头
#!/bin/ksh
#set -x
#############
# VARIABLES #
#############
location="/moteurs/websphere/7.0/esb/managed01/logs/"
file="SystemOut.log"
pattern="WSV0605W: Thread \"SIBFAPInboundThreadPool"
string=$(grep -ic "${pattern}" ${location}/${file})
现在我已经定义了我的变量,我不知道怎样才能创建一个每5分钟扫描SystemOut.log
的函数。
答案 0 :(得分:2)
你知道如何创建这个shell?
是。使用您喜欢的编辑器,编写shell脚本,执行它。你完成了。
答案 1 :(得分:0)
只有一半的回答,但也许它会让你到达某个地方:
要每五分钟重复一次,你可以用睡眠做一个循环:
while true
do
echo "I'm doing something!" # replace this by the actual code
sleep $[5*60]
done
这将每五分钟运行一次代码(这里只是一个echo
)。 - 好的,加上代码需要的时间,所以不要依赖时间准确;为了使其准确,您可以使用
while sleep $[ 5*60 - $(date +%s) % (5*60) ]
do
echo "I'm doing something!" # replace this by the actual code
done
在执行代码之前,这将始终等待整个5分钟的时间点。