[英]Shell script - Log file not updating
如果2个日志文件未更新,我试图获取我的Shell脚本来提醒我。 我正在尝试获取当前大小...请等待10秒钟,如果文件没有更改大小,请发送电子邮件警报。 任何帮助将是巨大的!
我的代码:
#! /bin/bash
logFiles="lg.log lg2.log"
logLocation="/user/file/logs"
sleepTime=10
subject="issue - file not updated"
failMessage="::no recent updates "
successMessage="OK"
not_updated_time=0
arr=($logFiles)
arrlen=${#arr[@]}
arrcount=()
date
for ((count=0; count<arrlen; count++)) ; do
arrcount[$count]=`ls -l $logLocation${arr[$count]} |awk '{print $5}'`
echo "${arr[$count]} Original size :: ${arrcount[$count]}"
done
echo
while [ "e" == "e" ] ; do
sleep $sleepTime
date
for ((count=0; count<arrlen; count++)) ; do
nc=`ls -l $logLocation${arr[$count]} |awk '{print $5}'`
echo -n "${arr[$count]} "
if [ $nc == ${arrcount[$count]} ] ; then
echo 'error' | mailx -s "issue" cat@gmail.com
else
arrcount[$count]=$nc
echo $successMessage
not_updated_time=0
fi
done
echo
done
修复了逗号问题,脚本仍然无法使用。 有任何想法吗?
初始化logLocation
或将变量用作$logLocation${arr[$count]}
时似乎都出现了/
缺失。
请尝试以下两种更改之一:
logLocation="/user/file/logs/"
要么:
`ls -l $logLocation/${arr[$count]} |awk '{print $5}'`
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.