2912 번 글의 답장글: Re: 산이님 저도 질문좀 올릴게여 쉘 스크립트 좀 보주세여 ㅜㅜ |
글쓴이: 산이
[홈페이지]
|
글쓴날: 2012년 03월 06일 08:27:10 화(오전) |
조회: 1130 |
[똘똘이]님이 남기신 글:
>여러개의 호스팅이있는데
>
>각각의 디렉토리 업로드폴더가 틀립니다 업로드 폴더를
중심으로
> find로 system함수문자열
찾으려고합니다
>
>밑에와같이 하면될까여
>
>한번 봐주세여
>
>밑에와같이 하는게 맞는건가요?
>
>
>
>find "^(.*)/(data|attach|images|upload)" -name "*.*" | xargs
grep "system(" > shell.txt
>
path 부분이 틀렸습니다. 즉 path 부분은 정규표현식이 안됩니다.
/home/a
/home/b/aaa
/home/b/bbb
/home/c
이렇게 4개의 디렉토리를 표현하고자 한다면
/home/{a,c,{b/aaa,b/bbb}}
이렇게 표현해야 합니다.
그러나 위의 path 는 이렇게 표현하기 힘드므로 grep 으로
디렉토리 이름을 하나씩 체크해야합니다.
기본 디렉토리가 /data/www 이라고 한다면
TOFIE=is.system.included.txt
WDIR=/data/www
cat /dev/null > ${TOFILE} ## 초기화
cd $WDIR
DIRS=`ls`
for DIR in DIRS ; do
[ -d "$DIR" ] || continue ## 디렉토리가 아니면 다음 체크
ISMATCH=`echo $DIR | grep '/\(data\|attach\|images\|upload\)$'`
[ "X${ISMATCH}" = "X" ] && continue ## 매치가 안되면
다음 체크
## grep 이 가능한 text 파일만 grep
##
find ${WDIR}/${DIR} -type f | xargs file | grep "text" | \
awk -F ':' '{print $1}' | xargs grep -n "system(" >> ${TOFILE}
done
만약 /data/www/user1/upload 이런식으로 있다면 위의 for() 밖에 한번
더 써줘야 합니다.
cd /data/www
USERS=`ls`
for U for $USERS ; do
cd /data/www/$U
DIRS=`ls`
for DIR in $DIRS; do
....
....
done
done
이런식으로..
>그리고 한가지 더궁금한건요
>
>ssh shell에서 할수있는 site rebooting 같은것을
>웹에서도 가능할까요?
>
>
>plesk나 cpanel에서나 다른 웹어드민툴을 보면
> 웹에서도 리부팅 가능하게해놓앗는데여
>그래서 언뜻가능할거도같아서요
>
>웹에서 버튼클릭하면
>자동으로 시스템 리부팅 구현가능한건가요?
>가능하다면 팀좀 알려주실수있스세여
>
가능은 합니다만 웹에서 시스템을 reboot 한다는것은 보안장치가
완벽해야하다는
가정입니다. 별로 권장하는 방법은 아닙니다. 불편하더라도 ssh
로 접속해서 reboot 하는게 좋습니다.
구현원리는 가능합니다.
웹서버를 기존에 사용하지 않는 port 를 하나 지정하고 웹서버
User 는 root 또는 다른 user 하나를 지정한(nobody 가 아닌) 다음에
프로세스를 띄웁니다.
http://www.linuxchannel.net/docs/httpd-permission.txt
에 기존 웹서버데몬은 그대로 두고 한개더 띄우는 방법이
있습니다.
아주 오래된 문서인데 아파치가 지금은 이방식대로 작동할지는
모르겠습니다.
root 가 아닌 경우 지정한 user 가 sudo 명령어를 사용가능하게끔
/etc/sudoes 파일을 편집합니다.
웹페이지를 만들고(암호/패스워드로
인증) exec('sudo reboot') 이런식으로 외부 명령어를 호출하면
됩니다.
>산이님 답변좀해주심 감사할게요
========================================
|
이전글 : 산이님 저도 질문좀 올릴게여 쉘 스크립트 좀 보주세여 ㅜㅜ
다음글 : 산이님 정말 답변 정말 감사해요 음악 몇곡띄웁니다
|
from 211.212.225.115
JS(Redhands)Board 0.4 +@
|