오늘은 대한입니다.
sun's longitude:299 35 56.71 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/delete.php:소스보기  

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

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

[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
 ★ 글 지우기 항목입니다. 한번 더 생각하시고 결정하십시오.!!!
제목 5486 번 글의 답장글 : Re: Re: Re: awk 에 대한 질문입니다만..
 이름  산이 [홈]http://linuxchannel.net/

[이현철]님이 남기신 글:

>오늘도 산이님께 한수 배웠습니다.
>님께서 가르쳐주신 방법으로 하니 제대로 되더군요..
>
>솔라리스에서 grep -E 옵션은 없었지만요..
>리눅스에는 제대로 적용되더군요..
>

혹시 스팍머신 사용하나요? 부럽군요....
제가 리눅스보다 먼저 다루었던 녀석인데... ㅋㅋ

>그런데 산이님께서 가르쳐주신
>>sed -e "s/[0-9]\{10\}/2004082701/" foobar.zone > boobar.zone.new
>>mv -f boobar.zone.new boobar.zone
>
>방법으로는 하나씩 밖에 파일내용을 고칠수가 없는데요.
>파일수가 많을경우에는 좋은방법이 없을까요
>오늘도 여러가지 수를 생각해봤지만.결국
>수작업으로 일일이 작업해주는 무시한 방법으로해결했지만.
>앞으로 좀 심플하게 사용해보겠다고 하루종일 생각해봤는데
>좋은 조언 부탁드립니다.
>

헙...

모든 zone 파일이름의 패턴이 끝에 zone 이 들어갔다면(*.zone)

-------------------------------------------------
#!/bin/sh
#
serialchange()
{
ZONEFILE=$1
sed -e "s/[0-9]\{10\}/2004082701/" ${ZONEFILE} > ${ZONEFILE}.new
mv -f ${ZONEFILE}.new ${ZONEFILE}
}

IFS='
'
WDIR='/var/named/'
LISTS=`find $WDIR -type f -name "*.zone" -print 2>/dev/null`

for f in $LISTS ; do
echo "$f"
serialchange "$f"
done

exit 0
--------------------------------------------------

이런식으로 해야겠쬬.

솔라리스 find 옵션이 다를 수 있으므로 확인해 보세요

>
>[산이]님이 남기신 글:
>
>>
>>[이현철]님이 남기신 글:
>>
>>>-----------------------------------------
>>>답변자가 기본적으로 참고할 내용입니다.
>>>- 배포판(옵션) :
>>>- 커널버전(옵션) :
>>>- 데몬버전(예:apache 1.3.27) :
>>>- 데몬설치유형(RPM/컴파일/기타) :
>>>-----------------------------------------
>>>오랜만에 방문합니다.
>>>어려울때만이지만.... 요즘은 여기들어와서
>>>질문이랑 답글볼시간도없네요..
>>>
>>>다름이아니라
>>>데이타센터를 이사하게 생겼는데
>>>기존에 사용하던 dns서버를
>>>새로운 데이타센터에 이동할려고 합니다만.
>>>새로운 dns 서버를 만들어서 기존의 zone파일등을
>>>복사해서 넣을려고 합니다
>>>
>>>그런데 zone파일이 몇백개가 되는 바람에
>>>zone파일의 Serial부분을 지금의 날짜로 20040826001 형태로 바꾸고 싶습니다만.
>>>
>>><예전내용>
>>>20020205001 ; Serial
>>>
>>>이것을 일일이 수정하기도 너무힘들고 awk 랑 grep 를 이용해서
>>>여러 방법을 해봤지만, 안되는데..요.. 어디 언어를 하나 배우든지해야지.
>>>어디 좋은 방법을 좀 가르쳐 주십시요..
>>>
>>>########################################
>>>
>>> 20020205001 ; Serial
>>> 10800 ; Refresh 3 hours
>>> 1800 ; Retry 30 minutes
>>> 1209600 ; Expire 2 weeks
>>> 604800 ; Minimum 1 week
>>> )
>>> ;
>>>localhost IN A 127.0.0.1
>>>;
>>>#########################################
>>
>>========================================
>>
>>serial 부분은 보통 10자리 숫자로 되어 있을 겁니다.
>>
>>따라서 먼저
>>
>>shell> grep -E "[0-9]{10}" *.zone
>>
>>이와 같이 serial 패턴을 반드시 확인해 보세요.
>>
>>그리고 awk 보다는 sed 로
>>
>>sed -e "s/[0-9]\{10\}/2004082701/" foobar.zone > boobar.zone.new
>>mv -f boobar.zone.new boobar.zone
>>
>>이런식으로 하면 됩니다.
>>
>>반드시 백업해 놓고 하세요
>
>========================================

========================================
2004년 08월 28일 02:01:06 토(새벽)  from 61.254.75.29
0
암호: 공용 보안 SSL 서버가 준비되기 전까지는 off 합니다

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

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