본문 바로가기

유용한 정보

transmission 다운로드 완료시 자동 제거 스크립트

사용하던 iptime NAS 가 다운되는 현상이 반복되더군요. 그래서, 조그마한 아톰(atom) 본체를 가지고 NAS 를 구성하였습니다. OpenMediaVault (이하 OMV) 로 쉽게 구성이 가능했습니다.


extra 플러그인을 활성화 시키고 , transmission 을 설치하였습니다. 여러 NAS 에 있는 기능입니다. NAS를 torrent 다운로드 머신으로 사용할 수 있게 해주는 것이지요.


동작도 잘 되고 좋더군요. 헌데 iptime NAS 처럼 torrent 다운로드 종료후 자동으로 torrent 가 제거되는 기능이 없더군요. 그래서 해당 스크립트를 찾아보았더니 몇개의 소스가 돌고 돌던데... 결론은 제대로 동작하는 스크립트가 아니었습니다.


찾고 또 찾고 그래서 해보고를 반복해도 제대로 되는 스크립트가 없더군요..

그래서 어찌할까하다가... 그냥 직접 수정해서 완성했습니다. 필요하신 분들은 저처럼 고생하시 마십시오.


#!/bin/sh


TORRENTLIST=`transmission-remote --auth=아이디:비밀번호 --list | sed -e '1d;$d;s/^ *//' | cut --delimiter=' ' --fields=1`


for TORRENTID in $TORRENTLIST

do

echo "* * * * * Operations on torrent ID $TORRENTID starting. * * * * *"


DL_COMPLETED=`transmission-remote --auth=아이디:비밀번호 --torrent $TORRENTID --info | grep "Percent Done: 100%"`

STATE_STOPPED=`transmission-remote --auth=아이디:비밀번호 --torrent $TORRENTID --info | grep "State: Stopped\|Seeding\|Finished\|Idle"`

if [ "$DL_COMPLETED" != "" ] && [ "$STATE_STOPPED" != "" ]; then

echo "Torrent #$TORRENTID is completed."

echo "Removing torrent from list."

transmission-remote --auth=아이디:비밀번호 --torrent $TORRENTID --remove

else

echo "Torrent #$TORRENTID is not completed. Ignoring."

fi

echo "* * * * * Operations on torrent ID $TORRENTID completed. * * * * *"

done



위의 내용중 '아이디:비밀번호' 부분은 transmission 연결시 이용되는 계정 정보로 입력하시면 됩니다.

작성 후 업로드 하시거나 ssh 로 접속하셔서 vi 나 nano 등으로 작성해 주시면 됩니다. 확장자는 .sh 로 해서 저장해 주시고요.


각 서버 환경별로 적용 방법은 다릅니다.

linux 에서 직접 설치하셨다면 transmission 설정파일에서 스크립트 활성화시키시고, 다운로드 완료후 실행 스크립트를 지정하시면 됩니다. 물론 위의 스크립트를 .sh 확장자의 파일로 저장하여 지정하셔야 합니다.


OMV 에서 지정하시는 경우 transmission 설정 화면의 아래부분에 스크립트 활성화 시키시고 위 파일을 저장해둘 경로를 입력해주시면 됩니다.


위 내용을 스크립트 파일로 저장시 해당 파일의 권한을 확인해서 설정 해주시고요.