Linux脚本来查找时间差异,并在需要时发送电子邮件

我不是编写shell脚本的专家,但我正在寻找一个非常具体的解决scheme。

操作系统: CentOS版本5.2(最终)

我有一个Java独立的写保持(所有System.out.println)到一个日志文件。 由于某种未知的原因,这个Java独立版在我的服务器的某个时间点停止工作,最终日志写入也停止工作。

我想有一个脚本,它检查服务器中当前date和时间的日志文件的最后修改date和时间。 如果时差超过5分钟,我想立即发送邮件给我的收件人列表。 这样我会知道这个Java独立版何时停止工作。

我将把这个脚本移动到crontab并使其每隔1分钟运行一次,这样整个过程就自动完成了。

日志文件位置: /usr/local/logs/standalone.log

然而,我很无聊…像这样的东西:

 #!/bin/sh SUBJECT="blah is more than 5 minutes old!" EMAIL="[email protected]" MSG="/tmp/emailmessage" MOD=`stat --printf=%Y $1` NOW=`date +%s` DIFF=$(($NOW-$MOD)) if [ $DIFF > 300 ]; then echo "$1 is more than 5 minutes old!" > $MSG mail -s "$SUBJECT" "$EMAIL" < $MSG fi