안녕하세요.
NAS 사양
- CPU : G3258 (3M Cache, 3.20 Ghz)
- Motherboard : GA-B85M-DS3H
- RAM : DDR3 8G PC3-12800
- Power : Micronics Clasic II 500W +12V Single Rail 85+
- Case : BRAVOTEC 디파이 B40 BLACK
- HDD : 128SSD + 4TB + 8TB
운영체제는 CentOS 7 이고 NAS에서 Transmission과 Flexget 조합으로 다음 콘텐츠를 자동으로 받아 사용하고 있습니다.
- 한국 TV 예능
- 한국 드라마
- 한국 영화
- 외국 영화
- 외국 드라마
상세 설명은 https://taking.kr/blog/archives/5421.html 에 포스팅 해두었습니다.
제 설정은 https://github.com/taking/transmission-flexget-setting (Github 저장소)에 업로드했습니다.
Transmission
설정은 Github를 참고하세요 :)
추가 토렌트 다운로드 완료 후, 실행되는 Transmission-done.sh 에 대한 설명입니다.
#!/bin/sh
SERVER="9091 -n TORRENT아이디:TORRENT비밀번호"
TORRENTLIST=`transmission-remote $SERVER --list | sed -e '1d;$d;s/^ *//' | awk '{print $1}'`
for TORRENTID in $TORRENTLIST
do
DL_COMPLETED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "Percent Done: 100%"`
STATE_STOPPED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "State: Seeding\|Stopped\|Finished\|Idle"`
if [ "$DL_COMPLETED" ] && [ "$STATE_STOPPED" ]; then
echo "Torrent #$TORRENTID is completed."
echo "Removing torrent from list."
transmission-remote $SERVER --torrent $TORRENTID --remove
fi
#flexget execute --tasks sort
done
find /4TB/AutoDownload/Ent/ -name '*' -mtime +29 -delete
다운로드 완료 후, 완료된 Seed를 Transmission에서 제거하는 Shell Script 입니다.
마지막 줄의 find 경로 -name '*' -mtime +29 -delete 는 다운로드 받은 파일이 현재 날짜부터 30일이 초과되면 삭제하는 명령어입니다.
Flexget
Q. 왜 Secret.yml 에 Transmission ID, PW를 작성하지 않았나?
A. 이상하게도 해당 부분은 받아오지 못하는 문제가 자주 발생합니다.
Q. 어떻게 사용하나요?
A. input에 있는 파일에 자신이 받고자하는 파일 이름을 추가합니다.
want에 있는 파일에 꼭 RSS 주소를 기입하세요.
Q. 모든 에피소드를 다운 받으려면 어떻게 하나요?
A. Discover 기능은 현재 제외했습니다. 테스트 후 업데이트하겠습니다.
현재는 RSS를 읽어 최신 에피소드만 다운로드 진행합니다.
Q. 다운로드 된 파일은 자동으로 이동되나요?
A. move_* templates를 보시면 설정된 폴더로 다운로드 된 파일이 자동으로 이동됩니다.
다운로드 폴더 → 저장 폴더 (그리고 파일 이동 후, 폴더가 비어있으면 폴더 삭제)
Q. 다운로드 파일 명은 어떻게 변경하나요?
A. '외국 드라마, 외국 영화'의 경우 다음과 같이 설정했습니다.
'외국 드라마' → ex) Kim's Convenience/Season 1/원본 파일명.원본 확장자 (이동 시, tvdb에서 시리즈, 에피소드 정보를 불러옵니다.)
'외국 영화' → ex) Iron Man (2008)/Iron Man (2008) - [1080p bluray h264].mp4 (이동 시, tmdb에서 영화 이름, 출시일 정보를 불러와 폴더 및 파일명을 변경합니다.)
Q. 사용하고 싶지 않는 기능은 어떻게 끄나요?
A. 해당 부분을 주석처리 하시면 간단합니다. 블로그 글( https://taking.kr/blog/archives/5421.html ) 보고 주석처리 진행하세요
-------------------------------------------------------------------------------------------------------------------------------------
현재 제가 사용 중인 Flexget 설정은 Transmission+Flexget+trakt 로 세팅하고 사용하고 있습니다.
trakt에서 Movies, Series 중 리스트 추가 시, 자동 다운로드 진행
movie_queue → https://trakt.tv/users/ecila_ai/lists/movie_queue
series_queue → https://trakt.tv/users/ecila_ai/lists/series_queue
현재 저장된 영화, 드라마 동기화
movies → https://trakt.tv/users/ecila_ai/lists/movies
series → https://trakt.tv/users/ecila_ai/lists/series
Kdrama → https://trakt.tv/users/ecila_ai/lists/kdrama
현재 Discover도 같이 테스트 중이니 조만간 업데이트 하겠습니다. ^^
좋은 하루 보내시고, 도움이 되면 좋겠습니다.
CentOS 7 설정 관련 글은 다음을 참고하세요.
CentOS 시리즈 :
- [정보] 1. CentOS 7 설치 후 기본 설정 따라하기 — Taking BLOG
- [정보] 2. CentOS 7 기본 설정 후 Transmission + flexget 설정하기 — Taking BLOG
- [정보] 2.1 Transmission + flexget 고급설정 편 — Taking BLOG
ps. 블로그에는 광고가 없습니다. 방문자 신경 안씁니다. 정보 공유를 위한 블로그입니다.
이치로님의 docker transmission으루설치만 해두고 사용하지 않고 있었는데
콘사인님 글을 보고 도전해봐야겠네요^^
그런데 다른건 다 잘되는거 같은데 move_* 관련되서는 동작을 안하는거 같아서 문의 글을 남깁니다.
2018-05-06 18:00 VERBOSE task move_kent REJECTED: `백종원의 골목식당.E16.180504.720p-NEXT` by require_field plugin because required field imdb_id is not present
2018-05-06 18:00 VERBOSE details move_kent Summary - Accepted: 0 (Rejected: 3 Undecided: 0 Failed: 0)
2018-05-06 18:00 VERBOSE exec move_kent Executing: find "/home/ajju/torrent/down/0/"* -type d -empty -delete
이런 로그가 남아 있던데 왜 그런지 도저히 모르겠더군요.
flexget.com 에서 이것저것 찾아서 적용해봐도 그대로 라서 이렇게 문의 드립니다.
제 로그입니다.
transmission-kent 다운로드 경로가 /home/ajju/torrent/down/0/ 로 되어있나요?
/home/ajju/torrent/down/0/ 안에 *.mp4 파일이 있나요?
제가 설정한 move_* 은 단순히 recursive 로 *.mp4 을 설정한 폴더로 move 시키는 설정인데, rquire_field 관련 문구가 왜 나오는지 모르겠네요 ㅠㅠ
move_kent:
priority: 50
filesystem:
path: "/{? folder.downssd ?}{? folder.downkent ?}"
recursive: yes
retrieve: files
regexp: '.*\.(avi|mkv|mp4)$'
accept_all: yes
move:
to: "/{? folder.root ?}{? folder.kent ?}"
exec:
on_exit:
phase: find "/{? folder.downssd ?}{? folder.downkent ?}"* -type d -empty -delete
download_kent_rss:
priority: 10
template:
- disable-seen-retry
- kent_template
- transmission-kent
- pushbullet
도저히 안되서 소스 다시 재 적용해봤는데 이제는 kent 는 move까지 잘되는데 kdrama 쪽에서 문제가 생기는군요.
Path value replacement `/home/ajju/torrent/save/korea/kdrama/{{tmdb_name|default(series_name)|pathscrub}}/` failed: (UndefinedError) 'series_name' is undefined
이게 혹시 퍼미션 문제는 아니겠죠?
제가 사용하는 계정은 ajju 이고 flexget 은 debian-transmission 인 상황인데요.
물론 debian-transmission 을 ajju 그룹으로 넣기는 한상황인데 말이죠.
아래는 kdrama 디렉토리 쪽 상태입니다.
~/flexget$ ll /home/ajju/torrent/save/korea/
drwxrwxrwx 4 ajju ajju 4096 5월 6 21:56 ./
drwxrwxrwx 4 ajju ajju 4096 5월 6 21:56 ../
drwxrwxrwx 2 ajju ajju 4096 5월 6 21:59 kdrama/
drwxrwxrwx 2 ajju ajju 4096 5월 7 12:32 kent/
move_kdrama: 에 아래 추가해서 정상적으로 move 각 제대로 동작이 됩니다.
template:
- disable-seen-retry
- series-metainfo
- series-guessit
신경써주셔서 감사합니다.