
在运维过程中时常需要写一些运维脚本来监控进程日志更新情况,比如可以检查日志最新的更新时间和当前时间的差,如果超过某个阈值时间,就说明进程异常,日志无法更新,然后配置相应的自动预处理,可以实现程序的重启来恢复业务。
为此需要掌握以下几种时间处理应用方法:
1、生成时间戳作为日志文件名
time1=$(date +%Y%m%d%H%M%S)
df -k >"disk"$time1.log
2、通过时间加减生成字符串判断日志或数据文件是否存在
time1=$((`date +%s`+3600)) #当前时间加3600秒,也就是一个小时后的时间
time1=$(date +%Y-%m-%d\ %H:%M:%S -d "1970-01-01 UTC $time1 seconds");
echo $time1
3、可以通过stat获取日志更新时间,计算时间差
time=$(stat nohup.log|grep Modify|cut -c9-27) #nohup.log为监测日志,获取更新时间
time1=$(date +%s -d "$time") #将日志的更新时间转化为秒
time2=$(date +%s) #获取系统当前时间转化为秒
time3=$(($time2-$time1)) #计算系统时间和日志时间的差,单位为秒
if [ $time3 -gt 300 ] #判断时间差超过300秒,也就是5分钟
then
echo “log error” #日志异常的处理逻辑
else
echo “log ok” #日志正常的处理逻辑
fi
最后修改时间:2020-04-16 08:14:59
文章转载自数据库平台优化,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




