언제나 산이님의 통쾌한 답변에 감사합니다..
오늘도 한수 배워서 배가 아주 불려서..허허허
합니다..ㅋㅋ
아주 잘 해결된것같습니다..
오늘은 다른것을 하나 더 여쭈어 볼려고 하는데요..
만일 파일이 아래와 같이
bash-2.05# ls -al |more
total 546240
drwxr-xr-x 4 root bin 11264 Sep 7 19:00 .
drwxr-xr-x 9 root bin 512 Aug 5 2003 ..
-rw-rw-rw- 1 root root 13904752 Jul 1 05:00 20040701_access.log
-rw-rw-rw- 1 root root 7751643 Jul 2 05:00 20040702_access.log
-rw-rw-rw- 1 root root 6524302 Jul 3 05:00 20040703_access.log
-rw-rw-rw- 1 root root 9205570 Jul 4 05:00 20040704_access.log
-rw-rw-rw- 1 root root 5915410 Jul 6 05:00 20040706_access.log
-rw-rw-rw- 1 root root 6194908 Jul 7 05:00 20040707_access.log
-rw-rw-rw- 1 root root 8044288 Jul 8 05:00 20040708_access.log
-rw-rw-rw- 1 root root 9633671 Jul 9 05:00 20040709_access.log
-rw-rw-rw- 1 root root 6455530 Jul 10 05:00 20040710_access.log
위와같이 매일 로그가 생겨나고 있습니다.
이것을 cron을 이용해서 삭제할때
한달에 한번씩 1달전분 자료를 전부삭제할려면.
어떤 방법이 좋을까요?
여하튼 머리가 대개 잘 안돌아가네요..
[산이]님이 남기신 글:
>
>[이현철]님이 남기신 글:
>
>>-----------------------------------------
>>답변자가 기본적으로 참고할 내용입니다.
>>- 배포판(옵션) :
>>- 커널버전(옵션)
:
>>- 데몬버전(예:apache
1.3.27) :
>>- 데몬설치유형(RPM/컴파일/기타)
:
>>-----------------------------------------
>>기존에 있는 서버의 유저 어카운트와 shadow 화일을
가지고
>>새로운 서버에 유저를 등록하려고 합니다..
>>
>>cat /etc/shadow
>>##################################################
>>test:$1$p5Zu7Kem$d2K7XDeWp5Qn41ZCctjyo.:12565:0:99999:7::
>>testuser:H6.CGThArD.GE:12657:0:99999:7:::
iga-test:$1$xvI/cF/w$Jb/a82rLBq6VyZRMRtxES.:12663:0:99999:7:::
>>##################################################
>>
>>만일 위와 같다면 위에 내용중에 유저id와 shadow를
>>파일로 뽑아 내려고 합니다.
>>
>>이것을 뽑아서
>>
>>cat list.txt
>>##################################################
>>test:$1$p5Zu7Kem$d2K7XDeWp5Qn41ZCctjyo
>>iga-test:$1$xvI/cF/w$Jb/a82rLBq6VyZRMRtxES
>>##################################################
>>이런씩으로 뽑을려고 합니다.
>>어떤씩으로 하면 될지요?
>>
>
>shell> awk -F":" '{printf "%s:%s\n",$1,$2}' /etc/shadow | tee
-a new.pwd
>
>이런식으로 하면 new.pwd 에 생성됩니다.
>
>그러나 사용자를 추가할 경우는 이런 방법은 좋지
않습니다.
>
>>그리고 위와같이 뽑은 파일을 새로운 서버에 자동으로 유저가
등록
>>되도록할려고
합니다.
>>
>>chpasswd 를 이용해서 할려고하는데요.
>>아래의 스크립트를 이용해서 위에 가져온 list.txt파일을
이용할수 없는지요.
>>[root@oracle home]# vi add.sh
>>############################
>>#!/bin/bash
>>useradd -g 1000 -c web -d /export/home/$1 -m -s /bin/bash -k /etc/skel
$1
>>chmod 755 /export/home/$1
>>mkdir /export/home/$1/html
>>chown $1 /export/home/$1/html
>>chgrp customer /export/home/$1/html
>>echo $1:$2 | chpasswd
>>##############################
>>
>>
>> 아니면 어디 좋은 방법을 좀 일러 주십시요...
>>
>>..좋은 하루되세요..
>
>일단 사용자가 많다면 passwd shadow group gshadow
>을 복사한 다음에 새로운 시스템에 그대로 추가(append)해
주면
>됩니다.
>
>예를 들어(passwd 파일인 경우)
>
> - 기존의 passwd 파일을 복사한 파일(이하 'A') :
> 500 이하의 ID 는 무시하고 500 이상만 남도록 편집
> - 새로운 시스템의 passwd(이하 'B'):
> 500 이하의 ID 만 남도록 하고 나머지는 모두 삭제
>
>위와 같이 각각 편집한 다음에 A 파일을 B 서버로
옮겨놓고
>
>sheel> cat A >> B
>
>이런식으로 append 하면 됩니다.
>나머지 shadow, group gshadow 도 마찬가지로,
>
>그 다음 계정 홈디렉토리를 만들어 줘야 하는데
>useradd 명령어로 만들어 주면 안됩니다. 이미 passwd 파일에
있기
>때문에, 따라서 이런 경우는 shell 스크립트로 짜서 돌리면
됩니다.
>
>만약 기존의 시스템 A 와 똑같은 홈디렉토리이면
기존의 A passwd
>파일에서 홈 디렉토리 이름을 뽑아서 mkdir 로 만들어
주고,
>그렇지 않아면 아주 다른 새로운 홈디렉토리이면,
apppend 된 passwd
>파일을 일괄적으로 먼저 수정해줘야 합니다.
>
>간단하게 하는 방법은
>
>------------------
>#!/bin/sh
>IFS='
>'
>
>for line in `cat /etc/passwd` ; do
> ACCOUNT=`echo "$line" | awk -F ":" '{print $1}'`
> UID=`echo "$line" | awk -F ":" '{print $3}'`
> GID=`echo "$line" | awk -F ":" '{print $4}'`
> HOMEDIR=`echo "$line" | awk -F ":" '{print $6}'`
>
> if [ $UID -ge 500 ] ; then
> echo "account : $ACCOUNT , $UID:GID $HOMEDIR"
> fi
>
>done
>
>------------------
>
>위의 스크립트를 수정해서 사용해 보세요
========================================
|