웹호스팅 서비스하는 서버에서 여러 사이트 웹로그 분석할대
webalizer 를 이용해서 분석하는데.
..
여러 사이트를 쉘스크립트 배열 기능을 이용해서
분석하게 해 봤습니다.
..
리눅스 bash 에서 배열은
ARRAY=("aa bb cc" "dd ee ff" "gg hh ii")
와 같이 선언하고 ${ARRAY[0]} 같이 참조합니다.
그런데 아직 bash 에서 2차 배열 hash 는 안되는거 같습니다.
아래와 같이
for(( i=0;i<${#ARRAY[@]}; i++))
do
TT=(${HTTPD_LOG_ARRAY[$i]})
HTTPD_LOG_STAT=${TT[0]}
HTTPD_LOG_OUTPUT_DIR=${TT[1]}
..
done
처럼 for 안에서 다시 공백문자를 기준으로
배열을 만들어서
비슷하게 2차배열 처럼 사용할 수 있습니다.
..
일단 이렇게 webalizer 로 분석하게 만든후
각서버에 설정된 웹로그파일 백업하기 바로전에 이 스크립트가
실행하게 해야 합니다.
..
보통 리눅스 배포판에서는 /etc/cron.daily/logrotate 라는 스크립트
상단에 적어주면 될겁니다.
..
그리고 webalizer.conf 에서
webalizer.current와 webalizer.hist
부분을 주석처리 혹은
파일 명만 할것 , 그래야 각 계정으로 들어가서 함.
dnscache 부분도 0 으로 처리.
..
php 를 쉘모드로 사용하는게 배열 다루기는 훨씬 쉽네요.
..
=============================================
1 #!/bin/bash
2
3 declare -a HTTPD_LOG_ARRAY
4
5 # 분석할 로그파일, 로그파일 저장 디렉토리, 호스트이름 순으로 입력
6 HTTPD_LOG_ARRAY=(
7 "/var/log/httpd/aaa.com-access_log
8 /home/aaa/public_html/weblog
9 www.aaa.com"
10
11 "/var/log/httpd/bbb.com-access_log
12 /home/bbb/public_html/weblog
13 www.bbb.com"
14
15 "/var/log/httpd/ccc.com-access_log
16 /home/ccc/public_html/weblog
17 www.ccc.com"
18
19 )
20
21
22 for(( i=0;i<${#HTTPD_LOG_ARRAY[@]}; i++))
23 do
24 TT=(${HTTPD_LOG_ARRAY[$i]})
25 HTTPD_LOG_STAT=${TT[0]}
26 HTTPD_LOG_OUTPUT_DIR=${TT[1]}
27 HTTPD_LOG_HOSTNAME=${TT[2]}
28 # 아파치 로그를 읽어 hitcount 파일을 만든다.
29 if [ -f ${HTTPD_LOG_STAT} ]; then
30 if ! [ -d ${HTTPD_LOG_OUTPUT_DIR} ]; then
31 mkdir ${HTTPD_LOG_OUTPUT_DIR}
32 fi
cd ${HTTPD_LOG_OUTPUT_DIR}
33 /usr/bin/webalizer $HTTPD_LOG_STAT -o $HTTPD_LOG_OUTPUT_DIR -n $HTTPD_LOG_HOSTNAME
34
35 fi
36
37 done
게시글 목록
| 번호 | 제목 |
|---|---|
| 20841 | |
| 20840 | |
| 20839 | |
| 20838 | |
| 20835 | |
| 20834 | |
| 7057 | |
| 19668 |
JavaScript
자바스크립트(4)
|
| 19667 |
PHP
자바스크립트(3)
|
| 19666 |
JavaScript
자바스크립트(2)
|
| 19665 |
JavaScript
자바스크립트(1)
|
| 19663 |
PHP
정규 표현식
1
|
| 19662 |
PHP
기타 함수
|
| 19661 |
PHP
수학 연산 함수
|
| 19660 |
PHP
파일 처리 함수(3)
|
| 19659 |
PHP
파일 처리 함수(2)
|
| 19658 |
PHP
날짜 및 시간 함수
|
| 19657 |
PHP
파일 처리 함수(1)
|
| 19656 |
PHP
문자열 함수(5)
|
| 19655 |
PHP
문자열 함수(4)
|
| 19654 |
PHP
문자열 함수(3)
|
| 19653 |
PHP
문자열 함수(2)
|
| 19652 |
PHP
문자열 함수(1)
|
| 19651 |
PHP
사용자 정의 함수(3)
|
| 19650 |
PHP
사용자 정의 함수(2)
|
| 19649 |
PHP
사용자 정의 함수(1)
|
| 19648 |
PHP
그 밖의 제어문
|
| 19647 |
PHP
반복 제어문(2)
|
| 19646 |
PHP
반복 제어문(1)
|
| 19645 |
PHP
조건 제어문(2)
|
| 19644 |
PHP
조건 제어문(1)
|
| 19643 |
PHP
비교 연산자, 논리 연산자
|
| 19642 |
PHP
산술 연산자, 대입 연산자
|
| 19641 | |
| 19640 |
PHP
가변 변수
|
| 19639 |
PHP
정적 변수
|
| 19638 |
PHP
전역 변수
|
| 19637 |
PHP
배열 변수
|
| 19636 |
PHP
변수 사용법
|
| 7051 | |
| 26561 | |
| 19635 | |
| 19634 |
MySQL
mysqlDB export 복원
|
| 27958 | |
| 30952 | |
| 27955 | |
| 19633 | |
| 19632 | |
| 19631 | |
| 7048 | |
| 7033 | |
| 19630 | |
| 7021 | |
| 7018 | |
| 27953 | |
| 7015 | |
| 27951 | |
| 7011 | |
| 19628 | |
| 19627 | |
| 7010 | |
| 27947 | |
| 7009 | |
| 19626 | |
| 19625 | |
| 24635 | |
| 7005 | |
| 27943 | |
| 7000 | |
| 19624 | |
| 6995 | |
| 6992 | |
| 30949 |
HTML
html5 멋진 사이트 1곳
2
|
| 30948 |
CSS
overflow 속성
|
| 19623 | |
| 19620 | |
| 19619 | |
| 6990 | |
| 6986 | |
| 27940 | |
| 30947 | |
| 30945 | |
| 19618 | |
| 19617 | |
| 19616 |
웹서버
wget에 대한 팁
|
| 19615 | |
| 19614 | |
| 19613 | |
| 19612 | |
| 19610 | |
| 30943 | |
| 30942 | |
| 19609 |
JavaScript
GET,POST값 등을 JAVASCRIPT에서 사용할 경우[펌]
|
| 19608 | |
| 19607 |
MySQL
특정 폴더에서 PHP 실행 금지하기[펌]
|
| 24631 | |
| 27935 | |
| 27933 | |
| 24628 | |
| 19604 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기