리눅스 분류
리눅스 awk 관련해서 질문드립니다.
작성자 정보
- 기동v 작성
- 작성일
컨텐츠 정보
- 2,226 조회
- 1 댓글
- 0 추천
- 목록
본문
아파치 error_log에서
[Mon May 09 05:37:59 2016] [error] [client 127.0.0.1] client denied by server configuration: /var/www/html/
[Mon May 09 10:17:49 2016] [error] [client IP] client denied by server configuration: /var/www/html/
[Mon May 09 11:53:11 2016] [error] [client IP] client denied by server configuration: /var/www/html/testproxy.php
[Tue May 10 01:54:22 2016] [error] [client IP] client denied by server configuration: /var/www/html/, referer: http://test.com/
[Tue May 10 02:34:47 2016] [error] [client IP] client denied by server configuration: /var/www/html/
[Tue May 10 03:21:03 2016] [notice] SIGHUP received. Attempting to restart
[Tue May 10 03:21:03 2016] [notice] Digest: generating secret for digest authentication ...
[Tue May 10 03:21:03 2016] [notice] Digest: done
위 로그에서 cat error_log | awk '{print $1,$2,$3,$4,$5}' | sort > test.txt 를 통해 앞의
[Tue May 10 03:21:03 2016] 부분은 출력을 할 수가 있었습니다.
제가 하고싶은 것은
[Tue May 10 03:21:03 2016] [client IP] referer: http://test.com/ 이렇게 출력이 되도록 뽑아내고 싶습니다.
referer가 없으면 넘어가고 있으면 출력하는 형태입니다.
단지 그냥 awk로만 사용해서 할 수가 있는것인지요..?! 도움좀 부탁드립니다.
관련자료
-
이전
-
다음
댓글 1
기동v님의 댓글
- 기동v
- 작성일
#!/bin/sh
day=`date +%Y%m%d`
test1=/var/log/httpd/test
cd /var/log/httpd
### error_log 시간 IP referer 출력 ###
cat error_log* | awk '{print $1,$2,$3,$4,$5,$7,$8,$14,$15,$16}' > ${test1}/error_test-${day}
이렇게 생각 해보았는데요.. 너무 비효율 적인거 같습니다..
다른 방법이 있을꺼 같긴 한데 쉘스크립팅은 초보라 고수분들의 조언을 부탁드립니다.
day=`date +%Y%m%d`
test1=/var/log/httpd/test
cd /var/log/httpd
### error_log 시간 IP referer 출력 ###
cat error_log* | awk '{print $1,$2,$3,$4,$5,$7,$8,$14,$15,$16}' > ${test1}/error_test-${day}
이렇게 생각 해보았는데요.. 너무 비효율 적인거 같습니다..
다른 방법이 있을꺼 같긴 한데 쉘스크립팅은 초보라 고수분들의 조언을 부탁드립니다.