본문 바로가기

사용기/리뷰/우분투사용

Transmission 다운로드 후 자동이동

위의 내용을 그래도 복사해 놓은 것입니다.
자료 보관용으로 옮겨놓은것이니 오해는 말아 주세요~

그리고 아직 본인도 적용해서 테스트 해보지는 못했음

------------------------------------------------------------------------------------------------------------------

Transmission에서 다운로드 완료 시 자동으로 파일 이동하고, torrent 목록에서도 제거하는 스크립트입니다.
그러니까 다운만 쏙 받고 다 받은 다음에는 시딩을 하지 않기를 원할 때 쓰는 것입니다.
이게 인터넷에서 찾아보면 물어보는 사람은 많은데, 대답해주는 사람은 없더군요.
"다운만 받고 시딩을 하지 않는 것은 공유정신에 위배된다"라는 답변만 많습니다.
뭐...선택은 각자가 하는 것입니다.

거의 제대로 동작하는 것 같기는 한데 초기에 이상하게 동작하는 경우가 몇번 있었습니다.
그래서 로그 찍는 부분이 들어있습니다. 이상하게 로그 찍은 다음부터 잘 동작하네요.
사용해보시고 문제 있으면 알려주시기 바랍니다.

그리고, 파일을 이동한 다음에 기존 디렉토리가 찌꺼기로 남는 문제가 있습니다.
찌꺼기 디렉토리 지우는 기능은 동작의 안정성이 검증되면 나중에 넣기로 하겠습니다.
찌꺼기인줄 알고 지워버렸는데, 받가 만 자료라면 곤란하죠.

WD MY Cloud 기준으로 설명을 드리자면
/etc/transmission-daemon/settings.json을 다음과 같이 편집해줍니다.
이렇게 되어있던 부분을...
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",

요렇게 바꿔줍니다.
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/shares/torrent/info/done.sh",

/shares/torrent/info/done.sh 스트립트 파일은 다음과 같습니다.
적당한 에디터로 편집하여 저장해주세요.

#!/bin/sh

# the folder to move completed downloads to
MOVEDIR=/shares/torrent/done

# logfile
LOG_FILE=/shares/torrent/info/done_log

# port, username, password
SERVER="9091 --auth username:passwd"

# log
echo $TR_TORRENT_ID $TR_TORRENT_NAME>> $LOG_FILE
transmission-remote $SERVER --list >>$LOG_FILE

# move the files and remove the torrentfrom Transmission
transmission-remote $SERVER --torrent$TR_TORRENT_ID --move $MOVEDIR
transmission-remote $SERVER --torrent$TR_TORRENT_ID --remove

# log
transmission-remote $SERVER --list >>$LOG_FILE
echo finished >> $LOG_FILE


빨간부분의 username:password는 transmission에서 설정한 username과 password를 넣어주시면 됩니다.
MOVEDIR과 LOG_FILE은 각자의 환경에 맞게 바꿔주세요.

권한 설정 해주시고
chmod a+rx /shares/torrent/info/done.sh

/shares/torrent/done 디렉토리를 만들어 주시고
mkdir /shares/torrent/done
chmod a+rx /shares/torrent/done

다시 실행해주시면 됩니다.
/etc/init.d/transmission-daemon restart