如何检查Mailx在过去的时间范围内是否使用过?

时间:2012-07-04 22:27:26

标签: bash unix mailx

我有一个mailx语句作为shell scipt的一部分。它是一个条件声明的一部分,如果系统出现故障,它将每分钟发送一封电子邮件。

有没有办法让mailx检查邮件是否在过去一小时内发送,只有在结果为假时才发送?

tail -1 "/location/of/file.txt" | mail -s "Warning" test@testing.com;

1 个答案:

答案 0 :(得分:2)

使用文件标记发送时间。 e.g。

dowork() {
    tail -1 "/location/of/file.txt" | mail -s "Warning" test@testing.com;
    touch ./checked.txt
}
if [[ -f ./checked.txt ]] ; then
    if [[ $(expr $(date '+%s') - $(stat -c '%Y' ./checked.txt )) -gt 3600 ]]; then
            dowork
    fi
else
    dowork
fi