| [ CnUnix ] in KIDS 글 쓴 이(By): twenty ( 안전운행) 날 짜 (Date): 2002년 10월 2일 수요일 오후 02시 16분 31초 제 목(Title): [질문]syslog분석을 하려는데.. 프로그래밍 syslog분석을해서 처리를 하려고 합니다. MTA로 sendmail을 쓰고 있고, 이의 로그파일인 /var/log/syslog에서 daemon=MTA인줄을 찾아내어, 해당줄의 IP부분만 찾아내어 파일에 쓰려고 합니다. 해당로그는 아래와 같은 포맷이고.. ... Oct 2 14:21:03 smtp sendmail[23877]: g925L2S23877: from=<heeabcdeppp@coke.com>, size=19214, class=0, nrcpts=1, msgid=<200210020521.g925L2S23877@smtp.baboooo.net>,bodytype=8BITMIME, proto=SMTP, daemon=MTA, relay=[210.182.4X.XX] ... 실시간으로 쌓이는 로그를 잡아서 210.182.4X.XX만을 추출해서 파일로 쓰려고 합니다. 우선, 쉘에서 간단하게 실행하는 방법으로 아래처럼 해봤습니다. #tail -f /var/log/syslog | awk 'BEGIN{FS="relay="} {if($0~/daemon=MTA/) print $2}' | cut -d '[' -f 2 | cut -d ']' -f 1 >> logip.txt 문제점 1. cut까지 쓰니깐 결과가 안나옵니다. tail...|awk...까지는 결과가 잘나오는데... 2. >>으로 파일을 계속 써야하는데, tail -f 가 종료되어야만하니깐 이또한 문제가 있습니다. 어떻게 해야할지 한수지도 부탁드립니다. |