메뉴 닫기

CPU LOAD 를 체크하여 1이상일때 특정 명령어 실행하기

application-x-shellscript

리눅스 서버 관리를 하다 보면 CPU 부하가 올라가기시작할때

서비스 데몬을 재시작하거나 잠시 정지 했다가 다시 시작하기도 한다.

그러면 다시 부하가 떨어지는 경우도 있다.

 

이러한 작업이 반복되는 경우 CRON에 스크립트를 만들어 30초나 1분마다 체크를 하여 특정 명령어를 실행할 수 있다.

 

 
#!/bin/bash
# 로드체크
load=`w | sed -n “1p” | awk ‘{print $10}’ | sed -e “s/,//g” -e “s/\./ /g” | awk ‘{print $1}’`
# 변수 선언
date=`date +%Y-%m-%d-%H-%M`
#로드값을 날짜와 함께 로그남기기
echo “”$date” 로드 : “$load”” >> /var/log/load
# LOAD가 1이상일때 아래 명령어 실행하기
if [ “$load” -ge “1” ]; then
# apache 재시작 명령어
  /etc/init.d/apachectl stop
sleep 1
/etc/init.d/apachectl start
fi 

 

명령어 실행부분에 아파치 재시작 뿐 아니라 다른 명령어를 실행할수도 있다.

 

[polldaddy rating=”7739789″]

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다