• 돌아가기
  • 아래로
  • 위로
  • 목록
  • 댓글

완료된 토렌트 Seeding 자동으로 제거하기 (feat. Transmission 도커)

배뚱이 1216

2

20

안녕하세요.

최근에 서버포럼 게시글을 통해

오라클 클라우드를 이용하여 VPN 경유로 토렌트 사용하는 방법을 알게되어 성공적으로 구축을 완료하였습니다.

 

아래 게시글이 정말 큰 도움이 되었네요.

 

구축을 완료하고나서 한 가지 추가로 필요했던 부분이

다운로드가 완료된 파일의 Seeding을 자동으로 제거하는 부분이었습니다.

해당 부분의 내용을 공유하고자 글 작성합니당.

 

transmission 도커에는 기본적으로 다운로드가 완료된 파일의 배포를 자동으로 제거시켜주는 기능이 없습니다.

그래서 스크립트를 사용해야하는데요

스크립트는 아래와 같습니다.

#!/bin/bash

# transmission 설정 정보
HOST=localhost
PORT=9091  #transmission web 포트
USER=ID  #transmission 아이디
PASS=Password  #transmission 패스워드

# transmission-remote로 현재 토렌트 목록 가져오기 (상태 정보 포함)
TORRENTLIST=`transmission-remote $HOST:$PORT --auth $USER:$PASS -l | sed -e '1d;$d;s/^ *//'`

# 각 토렌트에 대해 반복문 실행
while read -r line; do 
    # 해당 라인에서 토렌트 ID와 상태 추출하기 
    TORRENTID=$(echo $line | awk '{print $1}')
    STATE=$(echo $line | awk '{print $9}')

    # 상태가 'Seeding'이면 해당 토렌트 삭제하기 (--remove 옵션 사용)
    if [ "$STATE" == "Seeding" ] || [ "$STATE" == "Paused" ] || [ "$STATE" == "Finished" ]; then 
        transmission-remote $HOST:$PORT --auth=$USER:$PASS -t $TORRENTID --remove 
    fi 

done <<< "$TORRENTLIST"

 

이 스크립트를 파일로 저장하여 실행시켜주는게 핵심입니다.

저는 이 파일을 /volume1/docker/transmission/config/autoDelete.sh 파일로 저장하였습니다.

 

트랜스미션 GUI에 톱니바퀴를 눌러 설정화면에 들어가면

Execute the following script when the torrent download is complete 라는 옵션을 보실 수 있습니다.

0.png.jpg

1.png.jpg

 

이 옵션에 좀 전에 만든 autoDelete.sh 파일을 넣어주면

다운로드가 완료되었을 때 해당 .sh 파일이 실행되면서

다운이 완료된 후에 배포를 하지 않도록 막아줍니다.

 

기존 작업스케쥴러보다 이 방법이 훨씬 좋은 것 같아서 수정하였습니다.ㅎ

 

transmission의 설정파일인 settings.json 에 보면

"script-torrent-done-enabled": false,
"script-torrent-done-filename": "" 라는 부분이 있어서

여기에 등록을 해주면 파일 다운로드가 완료되었을때 스크립트를 실행하는 기능은 있는 것 같아요.

그런데 도커로 구동을 하다보니 저 부분에 설정을 넣을 수가 없더라고요;;

설정을 반영하려면 재기동을 해야하는데 재기동하면 설정이 날아가버리더군요;;

 

그래서 작업 스케쥴러에 등록하여 실행해주면 문제없이 잘 실행됩니다.

아래 그림과 같이 설정하시면 5분 간격으로 완료된 파일이 있는지 확인해서 있으면 제거시켜줍니다.

사진과 완전히 똑같이 하시면 안되고 도커 ID값(5bd25~)과 파일 경로는 확인하셔서 변경해주셔야 합니다.

 

도커 ID값은 시놀로지 ssh 접속 후 docker ps 입력하시면 조회가 가능하며

 

파일 경로는 도커기준으로 경로를 작성해주셔야 합니다.

저의 경우 /volume1/docker/transmission/config 를 도커의 /config 경로에 마운트하였으므로

실제 파일위치는 /volume1/docker/transmission/config/autoDelete.sh 이지만

스크립트에는 /config/autoDelete.sh 로 입력하였습니다.

 

 

신고공유스크랩
20
profile image 1등
달소 2023.10.08. 16:43
크,,, 이런정보글 너무좋습니다.
트랜스미션 소개글과함께 가이드에 포함시켜야겠네요~~
2등
앨런임더 2023.10.08. 18:55
qBittorrent는 설정 > BitTorrent > 배포 제한에서 비율 제한, 시간 제한 둘 다 켜시고 값을 0으로 한 다음 제한 도달 시 토렌트 제거하기 해 두시면 알아서 삭제됩니다.
3등
각시수 2023.10.08. 18:56

트랜스미션 도커.... 설정 들어가서
레이쇼 리밋을 0로 하면 완료 되면 시딩 중지 바로 될 건데요?

 

스크린샷 2023-10-08 오후 6.56.25.png.jpg

 

똥쓰똥쓰 2023.10.09. 07:35
각시수
맞아요...이렇게 옵션주던가 json에 아래 내용 넣으면 됩니다....

"ratio-limit": 0,
"ratio-limit-enabled": true,

원래 이런 비슷한 스크립트는 시딩멈추는 것보다는 다운로드 완료 후 목록 지우는 목적으로 많이 사용되는듯 합니다.... 텔레그램도 연동시켜 주고요....
배뚱이 글쓴이 2023.10.09. 11:36
똥쓰똥쓰
settings.json 설정을 변경하고 싶은데
변경해도 도커를 재시작하면 설정이 돌아가버려요ㅠ
환경변수로 설정하는 매뉴얼도 따로 안보이는데 혹시 방법이 없을까요?
똥쓰똥쓰 2023.10.09. 12:41
배뚱이

안되시면 트렌스미션 설정 가셔서 아래 시딩 stop 옵션을 체크하고 값을 0으로 주시면 되니다.

json의 "ratio-limit": 0, "ratio-limit-enabled": true, 와 동일한 기능입니다.

값이 0이면 다운끝나면 시딩을 멈춥니다.

 

제목 없음.jpg

 

배뚱이 글쓴이 2023.10.09. 13:21
똥쓰똥쓰
이런 화면이 어딨는지 모르겠네요ㅠ
혹시 따로 접속포트나 그런게 있을까요?
다운로드 리스트나 그런거 보는 기본포트는 9091인데 여기랑은 화면이 다른 것 같아요ㅠ
똥쓰똥쓰 2023.10.09. 16:06
배뚱이

제 경우 스킨이 적용되어서 ui가 다를겁니다....

화면 구석구석 보시면 셋팅이 어딘가에 있을껍니다....

제목 없음.jpg

 

배뚱이 글쓴이 2023.10.09. 16:25
똥쓰똥쓰

암만 뒤져봐도 저 옵션은 안보이네요ㅠ

대신 GUI 상에서 다운로드 완료 시 실행할 스크립트 경로 입력하는 부분을 찾아 적용하였습니다.

작업 스케쥴러로 주기적으로 돌리는 것보다는

이 옵션으로 다운되자마자 제거하는게 더 좋네용

감사합니다.

 

1.png.jpg

똥쓰똥쓰 2023.10.09. 16:29
배뚱이

음.... 위 스크립트를 보니 이건 시딩 멈추는 목적 스크립트가 아닌 다운로드가 완료되어 시딩 상태일때 완료된 토렌트 목록을 삭제해 주는 스크립트 입니다.

제 경우 ExpressVPN하고 같이 쓰는데 개인용도로 정리해논 위키가 있어 링크를 추가해 드립니다.
다운이 완료되면 텔레크램으로 완료 목록을 전송해주고, 트랜스미션 리스트에서 삭제해 줍니다.

위키의 손쉬운 사용항목 보시면 됩니다.

https://wiki.dhcloud.me/books/torrent-vpn-torrent

배뚱이 글쓴이 2023.10.09. 16:32
각시수
오 이건 옵션에 보이네요. 이렇게 설정하니 다운로드가 완료되면 시딩하지 않고 중지탭에 들어가는군요
감사합니다ㅎ
똥쓰똥쓰 2023.10.09. 16:33
배뚱이
다운로드 완료 목록은 지워지지 않습니다. 별도 스크립트 돌려 주우셔야 합니다.
profile image
꾀지남편 2023.10.11. 10:58
아무래도 done.sh을 설정하는게 편리하지 않을까요?
환경변수에 TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME=/config/transmission-home/done.sh
위처럼 경로를 지정해두면 다운로드 완료시 확실하게 트리거 되니까요!
내용은 다르지만 아래의 내용에서 쉘 파일을 참고하셔도 됩니다.
https://svrforum.com/blog/883418?member_srl=176199
배뚱이 글쓴이 2023.10.11. 12:40
꾀지남편
위처럼 환경변수 넣어봤었는데 안되더라고요;;
근데 GUI상에서 설정이 가능해서 환경변수로 안해도 되어보입니다.
감사합니다ㅎ
미라 2023.10.14. 09:34
참고로 도커에서 트랜스미션 컨테이너를 중지하고 settings.json 수정해야 수정한 내용이 유지됩니다

댓글 쓰기 권한이 없습니다. 로그인

취소 댓글 등록

cmt alert

신고

"님의 댓글"

이 댓글을 신고하시겠습니까?

댓글 삭제

"님의 댓글"

삭제하시겠습니까?


목록

공유

facebooktwitterpinterestbandkakao story
번호 분류 제목 글쓴이 날짜 조회 추천
가이드 Ubuntu 24.04 LTS Desktop 원격 접속 설정하기(SSH,RDP) 3 달소 21시간 전18:33 76 +1
가이드 Ubuntu 24.04 LTS Server 설치해보기 달소 22시간 전17:40 151 +2
잡담 Ubuntu 24 가 정식출시되었습니다~~ 8 달소 1일 전10:37 263 +2
3870 잡담
normal
kmw_ 18시간 전21:52 287 0
3869 후기
normal
ljr10 18시간 전21:18 90 0
3868 가이드
image
달소 21시간 전19:06 54 0
3867 가이드
image
달소 21시간 전18:33 76 +1
3866 가이드
image
달소 22시간 전18:09 82 0
3865 가이드
image
달소 22시간 전17:40 151 +2
3864 질문
normal
까칠한나그네 1일 전15:44 77 0
3863 잡담
image
달소 1일 전10:37 263 +2
3862 가이드
image
달소 1일 전23:10 82 +1
3861 가이드
image
달소 1일 전22:54 84 0
3860 질문
normal
감자칩 1일 전18:56 203 0
3859 질문
image
게르노 2일 전16:08 73 0
3858 질문
image
동도리군 2일 전12:14 91 0
3857 정보
image
달소 2일 전08:21 173 +1
3856 잡담
image
달소 2일 전07:46 294 +1
3855 가이드
image
달소 2일 전07:24 278 0
3854 질문
normal
서버구축하자 3일 전13:09 423 0
3853 질문
image
미스터빈 3일 전20:09 227 0
3852 질문
image
초보나스 4일 전08:05 268 +1
3851 질문
normal
웹서버구축관심 5일 전02:22 334 0