sun's longitude:242 13 37.85 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  

질문과 답변 게시판입니다.

현재 실시간으로 이곳 서버의 설정파일(몇개)를 보여주고 있습니다.
서버의 설정내용에 관한 질문은 먼저 이곳 서버의 설정내용을 참고하시길 바랍니다.

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
2360 번 글의 답장글: Re: Re: Re: Re: 음.. bash 스크립트로...
글쓴이: .. 글쓴날: 2005년 08월 09일 00:56:51 화(새벽) 조회: 2516

[산이]님이 남기신 글:

>
>[..]님이 남기신 글:
>
>>
>>[산이]님이 남기신 글:
>>
>>>
>>>[..]님이 남기신 글:
>>>
>>>>-rw-r--r--    1 root     root         2548  8월  4 00:00 access_log
>>>>lrwxrwxrwx    1 root     root           30  8월  4 03:49 aaa-acc ->
/var/www/logs/aaa-acc.050804
>>>>-rw-r--r--    1 root     root       253465  8월  2 23:59
aaa-acc.050802
>>>>-rw-r--r--    1 root     root       455701  8월  3 23:59
aaa-acc.050803
>>>>-rw-r--r--    1 root     root        38791  8월  4 04:11
aaa-acc.050804
>>>>-rw-r--r--    1 root     root         4274  8월  4 01:58 aaa-err
>>>>-rw-r--r--    1 root     root         4828  8월  4 03:48 error_log
>>>>lrwxrwxrwx    1 root     root           32  8월  4 03:40 bbb-acc ->
/var/www/logs/bbb-acc.050804
>>>>-rw-r--r--    1 root     root        35058  8월  2 23:28
bbb-acc.050802
>>>>-rw-r--r--    1 root     root        57491  8월  3 23:25
bbb-acc.050803
>>>>-rw-r--r--    1 root     root          811  8월  4 03:40
bbb-acc.050804
>>>>-rw-r--r--    1 root     root         1181  8월  4 03:40 bbb-err
>>>>-rw-r--r--    1 root     root            5  8월  4 03:48 httpd.pid
>>>>-rw-r--r--    1 nobody   nobody        212  8월  4 03:48
mod_throttle.runtime
>>>>lrwxrwxrwx    1 root     root           31  8월  2 11:16 ccc-acc ->
/var/www/logs/ccc-acc.050802
>>>>-rw-r--r--    1 root     root        29305  8월  2 15:51
ccc-acc.050802
>>>>-rw-r--r--    1 root     root          107  8월  2 11:16 ccc-err
>>>>
>>>>현재 위와 같은 로그 파일들이 있습니다.
>>>>로그파일은 crono를 이용하여 매일 심볼릭링크가 오늘날짜로
설정되도록 했습니다.
>>>>하고자 하는 작업은.. 어제 날짜들의 로그파일을 삭제하도록
하고 싶은데요.
>>>>여기서 조건이 한가지가 더 따라오더군요.
>>>>crono 프로그램이 access 파일을 오늘 날짜로 링크를 시켜주는
기능이 있더군요.
>>>>그런데 문제는 어세스파일의 갱신이 없으면, 즉 방문자가
없으면 몇일이 지나도 계속 마지막 갱신된 파일에 링크가
걸려있다는거죠.

>>>>예를 들면 aaa-acc -> aaa-acc.050801 이라는거죠. 오늘 날짜는
050804일 이라도요. 위에 ccc-acc를 보시면 이해가
될것같네요.
>>>>그래서 하루전 로그파일을 무조건 삭제하도록 하면, 갱신이
없는 로그파일 같은 경우도 삭제되므로
>>>>그것을 막기 위해 시스템에서 0시에 한번씩 wget으로 인덱스
파일을 긁어오도록 하려고요.
>>>>
>>>>첫번째조건.
 어제 날짜(aaa-acc.YYMMDD)의
 로그를 삭제할 것.
>>>
>>>YESTERDAY=`date --date '1 days ago' '+%y%m%d' 2>/dev/null` ## YYMMDD
>>>TODAY=`date '+%y%m%d' 2>/dev/null`
>>>
>>>YLOG="/var/www/logs/aaa-acc.${YESTERDAY}" ## 어제 로그
>>>TLOG="/var/www/logs/aaa-acc.${YESTERDAY}" ## 오늘 로그
>>>
>>>[ -f $YLOG ] && rm -f $YLOG
>>>
>>>
>>>>두번째조건.
 하루동안 방문자가 1명도 없는 홈페이지의 경우는
>>>>어세스 파일 링크가 계속 몇일전 파일로 링크되어 있을수가
있으므로
>>>>시스템에서 wget을 통하여 사이트를 한번씩
긁어올것.
>>>>(어세스 로그를 갱신하여 오늘 날짜 로그가 생성되도록
유도.)
>>>
>>>wget .... -O /var/www/logs/aaa-acc.${TODAY}
>>>rm -f /var/www/logs/aaa-acc ## 강제삭제
>>>
>>>[ ! -f $TLOG ] && touch /var/www/logs/aaa-acc.${TODAY}
>>>
>>>ln -sf /var/www/logs/aaa-acc.${TODAY} /var/www/logs/aaa-acc
>>>
>>>이렇게 하면 될꼽니다. :)
>>>
>>>>
>>>>위 조건대로 bash 스크립트를 짜려고 하는데 이거 무지하게
힘들군요.
>>>>다른부분은 몰라도, 첫번째 조건 매칭하기가 너무
어렵습니다 ㅠ_ㅠ 
>>>
>>>======================================== 
>>
>>========================================
>>
>>답변 감사드립니다.
>>그런데 첫번째에서 저건 문제가 안되는데.. 가장큰
문제는..
>>파일이 여러개이다 보니까 리스트를 뽑아 매칭해서 삭제해야
한다는겁니다.
>
>## 최근 7개만 남기고 모두 삭제하기
>##
>
>IFS='
>'
>cd /var/www/logs || exit 1
>
>N=0
>LISTS=`ls -t aaa-acc.* 2>/dev/null`
>
>for file in $LISTS ; do
>  [ $N -ge 7 ] && rm -f $file
>  N=`expr $N + 1`
>done
>
>이렇게 짜고 테스트해 보세요.
>
>>두번째 같은 경우는 그냥 wget 한번 해주면 cronolog가
알아서
>>링크를 바꿔주므로 별다른 작업은 필요없을듯 하고요. :-)

>
>======================================== 

========================================

감사합니다.
그런데 그냥 전 야메로 처리했습니다;;


 
이전글 : Re: Re: Re: 음.. bash 스크립트로...
다음글 : 산이님! 페이지 저장에 궁금한게 있습니다.  
 from 61.74.175.118
JS(Redhands)Board 0.4 +@

Re: Re: Re: 음.. bash 스크립트로... 산이님! 페이지 저장에 궁금한게 있습니다.
인쇄용 


apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds