로그갱신여부 판단하는 쉘

서버 내 존재하는 로그파일이 permitIdleSecond이상 아무런 변화가 없을 때 curl을 보내도록 함

지금은 슬랙 노티를 보내도록 설정해둠

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

idleSecond=0
path=/home/aidxuser/Public/
fileName=nohup_201119.out
#fileName=test.log

checkIntervalSecond=600
permitIdleSecond=300

function checkLogCollectiion()
{
local lastCollected=`date -r ${path}${fileName} +%s`
local now=`date +%s`
idleSecond=`expr $now - $lastCollected`
#echo $idleSecond
}


while true ; do

checkLogCollectiion

if [ ${idleSecond} -gt ${permitIdleSecond} ]; then
#echo "Please Check Collection Server"
curl -s -d "payload={\"text\":\"Please Check Collection Server. Idle time : "${idleSecond}"\"}" "https://hooks.slack.com/services/XXX"
fi

sleep $checkIntervalSecond
done

Share