본문 바로가기
다른 DBMS/DB2

db2diag.log 자동삭제 쉘

by 취미툰 2022. 11. 23.
반응형

db2diag.log 디렉토리의 용량이 90%이상 찼을 시 자동으로 삭제해주는 쉘입니다.

 

인스턴스가 여러개인 서버에서도 적용가능합니다.

root에서 수행합니다.

 

크론탭은 5분마다 수행되도록 하였습니다. 

1.파일생성
vi DB2LOG_CHK_DEL.sh
################ENV
##DB2 SID LIST
DB2SID="
db2lds
db2por
db2sms
db2inst1
db2lds
db2rep
db2pna
"


################EXECUTE

for DB2SID in $DB2SID; do
    VOL=`df -m /db2/$DB2SID/db2diag | awk 'NR == 2 {print substr($5,0,2); exit}'`

    if [ ${VOL} -gt 90 ]
    then
        ##move directory and delete log file volume over 90%
        echo [`date`] "defore delete : " $DB2SID " volume space is " $VOL "%"
        su - $DB2SID -c "cd /db2/$DB2SID/db2diag;/home/$DB2SID/sqllib/bin/db2diag -A;rm -f db2diag.log_*"
        #su - $DB2SID -c "cd /db2/$DB2SID/db2diag;cp db2diag.log db2diag.log_`date +%Y%m%d%H%M%S`;cat /dev/null > db2diag.log;rm -f  db2diag.log_* "
        ##after delete , check volume space
        VOL2=`df -m /db2/$DB2SID/db2diag | awk 'NR == 2 {print substr($5,0,2); exit}'`
        echo [`date`] "after delete  : " $DB2SID " volume space is  " $VOL2 "%"
    fi
done



2.크론탭 추가
crontab -e
### Remove when DB2 diag directory over 90%  ###
05,15,25,35,45,55 * * * * /db2/db2inst1/DBA/SHELL/CHKDB2LOG/DB2LOG_CHK_DEL.sh >> /db2/db2inst1/DBA/SHELL/CHKDB2LOG/DB2LOG_CHK_DEL.log 2>&1
반응형

'다른 DBMS > DB2' 카테고리의 다른 글

[AIX7] DB2 11.1.4 설치하기  (0) 2022.12.09
버전 확인하기  (0) 2022.12.08
DB2 테이블 컬럼 확인  (0) 2022.10.13
DB2 PORT 확인  (0) 2022.10.13
db2fenc1,dasusr1 이란?  (2) 2022.09.26

댓글