2181 번 글의 답장글: Re: Re: 여기까지는 했는데.. |
글쓴이: 산이
[홈페이지]
|
글쓴날: 2004년 10월 12일 01:27:28 화(새벽) |
조회: 1275 |
[산이]님이 남기신 글:
>[김성민]님이 남기신 글:
>
>>안녕하세요..
>>해달라고 할까봐 놀라셨나요? ㅎㅎ
>>힌트를 주신다면 저로선 좋겠지만, 가이드 라인을 잡아주시는
것도
>>많은 도움이 됩니다...
>>
>>#!/bin/bash
>>
>>user_list=`cat /root/user.cfg | grep -v "^#" | awk '{printf $1"
"'}`
>>
>>for user in $user_list ; do
>> user_home_dir=`cat /etc/passwd | grep -w "^$user" | awk -F: '{print
$6}'`
>> user_home_size=`du -sm $user_home_dir | awk '{ print strtonum($1)
}'`
>>
>> mysql -e "update diskcheck set disk='$user_home_size' where
userid='$user'" -utestuser -p1111 testuser_db
>>
>>done
>>
>>exit 0
>>
>>
>>여기까지는 했습니다.
>>/root/user.cfg 에
>>id_name_1
>>id_name_2
>>와 같이 아뒤를 나열하고 해당 하는 아뒤를 /etc/passwd 에서
홈디렉토리를 읽도록 했습니다.
>>
>>
>>되긴 하는데, 위에서와 같이 mysql 커넥션을 루프 도는 만큼
계속 해야 하는데요.
>>
>>위 스크립트의 결과를 /root/check.sh > /root/result.txt 와 같이
파일로
>>만들고 그걸 다시 insert.sh 와 같은 파일에서 mysql에 적용하도록
하면 되긴 합니다.
>>
>>근데 그럴려면 cron 으로 처음에 check.sh 가 도는 시간과 그
결과를 적용하는 시간을 별도로 지정해서 2개의 cron 작업이
되어야 하거든요??
>>
>>## mysql 연결 ##
>>
>
STR_SQL='' ## 초기값 설정
>RUN_SQL='/root/result.sql'
>cat /dev/null > $RUN_SQL
>
>>for user in $user_list ; do
>> user_home_dir=`cat /etc/passwd | grep -w "^$user" | awk -F: '{print
$6}'`
>> user_home_size=`du -sm $user_home_dir | awk '{ print strtonum($1)
}'`
>>
>
>echo "update diskcheck set disk='$user_home_size' where
userid='$user';\n" >> $RUN_SQL
>
또는
STR_SQL="update diskcheck set disk='$user_home_size' where
userid='$user';$STR_SQL"
>>## 여기선 쿼리만 하고
>>
>>done
>>
>>## 루프 끝나고 mysql 종료 ##
>>
>
> mysql -utestuser -p1111 testuser_db < $RUN_SQL
>
echo "$STR_SQL" | mysql -utestuser -p1111 testuser_db
이런식으로 해도 됩니다.
>이런식으로 해보세요.
>
>>위 스크립트에서 어떻게 여러번 db_select 안하고 할수는
없는지요..
>>
>>그부분만 해결되면 나머지는 php 로 할수 있을것
같습니다..
>>좀 가르쳐 주세요~~
>
>========================================
========================================
|
이전글 : Re: 여기까지는 했는데..
다음글 : 업로드 용량제한.
|
from 61.254.75.78
JS(Redhands)Board 0.4 +@
|