TV 물만 들어오는 서버를 관리 하고 있다.
서버의 규칙상 온전한 릴리즈가 아닌 압축이 풀린 상태로 받고 있었다.
허나 압축을 풀어서 올리는게 너무나도 힘들다는 유저들의 의견때문에 하나의 스크립을 만들어 보게 되었다.
project-zs 의 complete script 에 넣어 보았지만 작동하지 않았다.
어떻게 사용하는 것인지 내가 모르는 것일 수도 있다 -_-;;
그리하여 고안한 방법..
crontab 을 이용하여 3분마다 서버를 체킹
완료된 릴리즈가 있다면 그 릴리즈의 nfo 를 옮기고 rar 압축을 풀기 시작
완료 되면 avi 를 nfo 을 옮겨둔 자리로 옮긴후
원본 폴더 삭제..
이러한 방법을 생각했다.
아래는 그 source 이다.
사전준비
* rar 패키지가 깔려 있어야 한다.
설치방법
1. 위의 소스를 복사하여 auto_extract.sh 로 서버에 저장
2. chmod +x auto_extract.sh 를 하여 실행 가능하게 permission 수정
3. 파일을 /glftpd/bin 폴더로 이동
4. dZSbot.tcl 파일을 수정
위의 4줄을 추가 한다.
5. crontab -e 를 친후
를 추가한다. */3 은 3분마다 한번씩 실행 하게 한다.
PS. 이 스크립에 대한 피드백은 꼬리글로 받습니다 :P...
서버의 규칙상 온전한 릴리즈가 아닌 압축이 풀린 상태로 받고 있었다.
허나 압축을 풀어서 올리는게 너무나도 힘들다는 유저들의 의견때문에 하나의 스크립을 만들어 보게 되었다.
project-zs 의 complete script 에 넣어 보았지만 작동하지 않았다.
어떻게 사용하는 것인지 내가 모르는 것일 수도 있다 -_-;;
그리하여 고안한 방법..
crontab 을 이용하여 3분마다 서버를 체킹
완료된 릴리즈가 있다면 그 릴리즈의 nfo 를 옮기고 rar 압축을 풀기 시작
완료 되면 avi 를 nfo 을 옮겨둔 자리로 옮긴후
원본 폴더 삭제..
이러한 방법을 생각했다.
아래는 그 source 이다.
#!/bin/sh
# Manu's rar autoextract shell program..
# this is not stable.
# so it will makes some buggy. heh.
# bug reporting to manu (manu@manuz.net)
# homepage : http://Manuz.NET (only for KOREAN)
locate -U /glftpd/site/ -e /glftpd/site/+Manu/,/glftpd/site/+Site/,/glftpd/site/Request/
COMPLETEFILE="$(locate -n 1 *\ COMPLETE\ * )"
if [ "$COMPLETEFILE" ]; then
EXTRACTFOLDER="$(locate -n 1 *\ COMPLETE\ * | sed -e "s/\[ds\].*//")"
REALNAME="$(locate -n 1 *\ COMPLETE\ * | sed -e "s/\/glftpd\/site\///g" | sed -e "s/\[ds\].*//")"
echo `date "+%a %b %e %T %Y"` AUTOEXTRACT: \""start extracting...\"" >> /glftpd/ftp-data/logs/glftpd.log
/bin/rm -f "$COMPLETEFILE"
cd "$EXTRACTFOLDER"
/bin/mv -f *.nfo ../
/usr/local/bin/rar e "$EXTRACTFOLDER/*.rar" "$EXTRACTFOLDER/../"
cd ..
rm -rf "$EXTRACTFOLDER"
echo `date "+%a %b %e %T %Y"` AUTOEXTRACT: \""extracting $REALNAME has completed... :P manu...\"" >> /glftpd/ftp-data/logs/glftpd.log
fi
사전준비
* rar 패키지가 깔려 있어야 한다.
설치방법
1. 위의 소스를 복사하여 auto_extract.sh 로 서버에 저장
가장 중요한 것이 있다.
locate -U /glftpd/site/ -e /glftpd/site/+Manu/,/glftpd/site/+Site/,/glftpd/site/Request/
locate -U 기본검색폴더 -e 제외할폴더,제외할폴더,제외할폴더
제외할 폴더는 띄워쓰기 없이 , 로 구분한다.
sed -e "s/\[ds\].*//" 여기서 이부분은 Project-zs 의 컴플릿태그이다 알맞게 수정하자
locate -U /glftpd/site/ -e /glftpd/site/+Manu/,/glftpd/site/+Site/,/glftpd/site/Request/
locate -U 기본검색폴더 -e 제외할폴더,제외할폴더,제외할폴더
제외할 폴더는 띄워쓰기 없이 , 로 구분한다.
sed -e "s/\[ds\].*//" 여기서 이부분은 Project-zs 의 컴플릿태그이다 알맞게 수정하자
2. chmod +x auto_extract.sh 를 하여 실행 가능하게 permission 수정
3. 파일을 /glftpd/bin 폴더로 이동
4. dZSbot.tcl 파일을 수정
set msgtypes(DEFAULT) 의 끝에 AUTOEXTRACT 삽입
------------------------------------------------------
set chanlist(AUTOEXTRACT) "#channel"
set disable(AUTOEXTRACT) 0
set variables(AUTOEXTRACT) "%r"
set announce(AUTOEXTRACT) "\002AUTOEXTRACT...\002 - %r
------------------------------------------------------
------------------------------------------------------
set chanlist(AUTOEXTRACT) "#channel"
set disable(AUTOEXTRACT) 0
set variables(AUTOEXTRACT) "%r"
set announce(AUTOEXTRACT) "\002AUTOEXTRACT...\002 - %r
------------------------------------------------------
위의 4줄을 추가 한다.
5. crontab -e 를 친후
*/3 * * * * /glftpd/bin/auto_extract.sh >/dev/null
를 추가한다. */3 은 3분마다 한번씩 실행 하게 한다.
PS. 이 스크립에 대한 피드백은 꼬리글로 받습니다 :P...
