我有一个mailx语句作为shell scipt的一部分。它是一个条件声明的一部分,如果系统出现故障,它将每分钟发送一封电子邮件。
有没有办法让mailx检查邮件是否在过去一小时内发送,只有在结果为假时才发送?
tail -1 "/location/of/file.txt" | mail -s "Warning" test@testing.com;
答案 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