[리눅스 쉘 스크립트]CentOS : error 확인
1. 용도 및 목적
로그 백업이나 과거 로그 점검시마다 확인 하기 힘들때(백업이나 삭제로 인해) 미리 걸어두고 과거 압축된 로그에 에러가 있엇는지 확인
2. 환경 : CentOS 6.9 64bit, /bin/bash
3. 쉘 스크립트
-로그 경로 생성
mkdir -p /home/test/logs
#vi testlogcheck.sh
----------------------------------------------
#!/bin/bash
######################################
#
# Search error
# by Ru
######################################
NODE=`hostname`
DATE=`date +%Y%m%d%H%M`
#체크해서 쌓는 곳(점검마다 Status 부분만 보고 전부 삭제하면됨)
LOGDIR=/home/test/logs
#이름이 test 프로세스 로그의 error를 체크
STATUS=`cat /home/test/error*.log |egrep "error|ERROR|Error" | wc -l`
#체크한 내용의 error 갯수를 파일제목으로 생성하고 갯수가 1이상인 부분만 로그를 체크 하면된다. 다만 내용을 전부 긁어 오지는 않으니 test프로그램 원본로그 확보는 미리 체크해야한다.
LOGFILE=$LOGDIR/$NODE.testlogstatus.$STATUS.$DATE
#error 내용을 입력 단편적인 로그만 추출될수 있음
cat /home/test/error*.log |grep error > $LOGFILE
-40일 이전 로그 삭제(예약 또는 주기적인 쉘에 넣으면 됨, 안해도됨)
find /home/test/logs -name "*testlogstatus*" -mtime +40 -exec rm {} \;
----------------------------------------------
-예약
crontab -e
#하루하루 주기적으로 체크, 이부분은 test 프로그램 원본로그가 하루 갱신일때 이고, 로그 파일 갱신주기에 맞춰서 예약하면 된다.
59 23 * * * /home/test/testlogcheck.sh
'OS (RHEL,CentOS) > Linux Shell Script' 카테고리의 다른 글
[리눅스 쉘 스크립트]CentOS : Network Monitoring (0) | 2019.05.08 |
---|---|
[리눅스 쉘 스크립트]CentOS : OS 확인 (0) | 2019.04.15 |
[리눅스 쉘 스크립트]CentOS : ftp 자동 파일 업/다운로드 (0) | 2019.04.05 |