我有一个脚本,用于检查日志文件的大小。如果日志文件大小是(追加日志)增加那么它什么都不做,但如果它没有增加,那么它会说某些事情或发短信给我。
逻辑是:此文件每隔3分钟在crontab上运行,每天上午8点到晚上10点。
1)晚上00小时msize.txt文件将为00 2)早上08小时大小变量从msize.txt文件读取数据,如果size2小于或等于大小,则与size2变量进行比较,然后我做短信。 size2变量获取脚本中该日志文件的文件大小.. 完成后,size2变量值写入msize.txt文件....
当我手动运行这个脚本时会发生什么事情确定msize.txt是修改但是在crontab msize.txt中没有修改或创建....
脚本是:-----
dt=`date +%H`
if [ $dt -eq 00 ]
then
echo $dt > msize.txt
fi
size=`cat msize.txt`
#echo $size
size2=`du /pretupsvar/pretups_smsrlogs/messageSentLog.log| awk '{print $1}'`
name=`uname -n`
if [ $size2 -le $size ]
then
Do Somthing
#echo "not happen"
fi
echo $size2 > msize.txt
请尽快帮助我
答案 0 :(得分:1)
该脚本假定msize.txt
位于当前工作目录中。手动运行脚本时,可能是当前工作目录是该文件所在的位置。但是,当从cron运行脚本时,工作目录是您的主目录。您需要使用该文件的完整路径或脚本中的cd
命令来正确设置工作目录。
答案 1 :(得分:0)
如果您只在08:00到22:00之间从crontab运行此脚本,请输入以下代码:
if [ $dt -eq 00 ]
then
echo $dt > msize.txt
fi
永远不会被运行?