NAS & ODROID/NAS, ODROID

NAS - 트랜스미션(Transmission) 토렌트 완료 시 자동으로 분류/삭제 스크립트

awesometic 2017. 8. 31. 23:39
반응형

업데이트 됐습니다 :)
 - 
2018/01/19 - [오드로이드 XU4/Misc] - NAS - 트랜스미션 토렌트 자동 분류/삭제 스크립트 업데이트




토렌트를 NAS를 통해 받는 건 정말 편합니다. 굳이 컴퓨터를 키지 않아도 스마트폰에서 토렌트 파일을 찾아 넣으면 되니까요. 

근데 예능을 받을 때, 전 예능들을 폴더별로 정리하는 편인데 이걸 제가 직접 해줘야 하니 불편했습니다.

그래서 트랜스미션 기능 중 완료시 실행될 스크립트 파일을 활용했습니다.

구글에 쳐보면 뭐 자동 삭제 이런 건 수없이 많은데(심지어 전부 다른 코드라 신기) 자동으로 폴더별로 분류해주고 삭제하는 건 금방 찾을 수 없어 직접 만들었어요.

Bash 스크립트는 뭐 작성해본 적이 없어서, 이게 제가 지금껏 작성한 것 중 가장 긴 Bash 스크립트 코드일 듯... 이상하면 일러주세요.

/** Github Gist **/

/** Github Gist **/

"효리네 민박"이랑 "미운 우리 새끼" 부분에 뭐 자신이 분류하고픈 이름을 적으면 됩니다. "라디오스타", "Walking Dead" 등등.. 써있는 것처럼 따옴표로 감싸주기만 하면 돼요. 각 이름 사이에 스페이스 하나씩 해주시구요.

그리고 토렌트 다운로드 파일의 이름 중 분류할 그 이름이 포함되어야 합니다. 만약 "미운 우리 새끼.E47.170730.720p-NEXT.mp4" 이걸 받는다면, "미운 우리 새끼" 가 맨 앞에 포함되어 있잖아요? 만약 저렇게 똑같이 포함되어 있지 않으면 작동하지 않습니다. 띄어쓰기를 포함해서요. 아마 영어 대소문자도 똑같아야 할 듯..

간단한 로그를 기록하도록 했습니다. LOG_FILE 변수에 트랜스미션한테 권한이 있는 경로로 적절하게 설정해주세요.

버그가 있으면 알려주세요.

조만간 RSS 기능을 활용해 최신 화가 올라올 때마다 알아서 받아보기도 할 겁니다. :)


수정 1. service transmission-daemon stop 으로 중지하신 뒤 /etc/transmission-daemon/settings.json 수정, 그리고 다시 service transmission-daemon start 로 켜주시면 됩니다.

수정 2. 170904. 업데이트했습니다. 목적지에 transmission이 권한이 없을 경우가 있어, sudo 를 사용했습니다. sudo를 먹이기 위해선 visudo 명령어를 통해 debian-transmission 이 sudoers에 포함되게끔 해주세요. 참고: https://cyberstrikerblog.wordpress.com/2016/04/09/transmission-script-after-download/

수정 3. 170913. 오탈자 교정했습니다. 근데 가끔 transmission-remote에서 완료 항목들이 지워지지 않을 때가 있네요. 트랜스미션의 버그같은데, 파일이 완료될 때 무슨 일이 일어나는 건지 제대로 문서화가 안 되어 있어서 원인을 찾기가..

수정 4. 로그 내용 조금 수정하고 Github Gist로 올렸습니다.

수정 5. chown과 chmod의 -R 옵션을 없앴습니다. 오래 걸릴까봐..

# 17.10.19 오래 사용해보니, 파일 다운로드 완료 후 옮기는데 이상하게 오래 걸립니다. Recursive 옵션이 문제가 아닌 듯. 그래도 하나씩 Flexget으로 자동으로 받게 하는 거면 문제 없이 착착 옮겨주네요. 그대로 사용할 순 있지만 Flexget에서 Transmission 모듈을 쓰면 자동으로 옮기고 지워준다길래 그냥 그걸 시도해봐야겠습니다.

반응형