RSS 설정에 관한 글.......역시 뽐뿌에 있다가 삭제된 글...
http://egloos.zum.com/mizane/v/5892524
OMV에 transmission을 설치해서 토렌트를 받게하는 건 좋은데, 아쉽게도 rss 기능이 없다. rss 기능을 쓰면 원하는 영상을 알아서 받아주므로 손 안대고 코푸는 격..!!
Flexget은 rss에서 .torrent 파일을 다운받아 watch폴더로 쏴주는 역할을 한다.
좀 더 잉여로운 생활을 위해서 힘을 냈다.
공유 폴더에 다운로드 폴더를 지정해준다. 이러면 다운로드 폴더 바로 아래에 watch 폴더가 생성되며, transmission은 watch폴더에서 .torrent파일을 자동으로 감지하고 토렌트를 추가해준다. 이 watch폴더의 경로는 추후 필요하니 미리 알아두자. 다음 커맨드를 입력한다.
cd /media
ls
복잡한 이름의 폴더가 나오면 메모장에 복붙해둔다. 아, SSH 사용은 필수다.
watch폴더의 경로는 다음과 같다.
/media/[복잡한 이름]/[다운로드 폴더 이름]/watch/
이제 flexget을 설치하자. root 계정으로 로그인 후 먼저 업데이트부터.
apt-get update
파이썬을 설치한다.
apt-get install python
파이썬 설치 후 버전 확인.
python -V
2.7.3이 나왔다.
마저 설치한다.
apt-get install python-pip
apt-get install flexget
flexget이 제대로 설치되었는지 확인한다.
flexget -V
The 'functools32' distribution was not found and is required by jsonschema 오류가 나서 다음 커맨드를 입력했다.
pip install functools32
다시 제대로 설치되어있는지 확인했다.
flexget -V
1.2.354가 떴다. (2015년 9월 현재)
이제부터는 루트계정 사용하지 말라고 한다. 새 유저를 만들자. 이것저것 설정해줄..필요는 없고 아이디와 비번만 설정하면 된다.
adduser [사용자명]
사용자 등록이 끝나면 사용자 계정으로 로그인한다.
su [사용자명]
flexget이 실행되려면 설정파일이 필요하다. 홈디렉토리에 설정 파일을 만든다.
우선 설정 파일 저장용 디렉토리를 만든다. 홈디렉토리는 ~이고, 숨김폴더라 폴더 이름 앞에 .이 붙었다.
mkdir ~/.flexget
설정 파일을 만들고 편집한다. nano 에디터를 사용했다.
nano ~/.flexget/config.yml
Flexget은 3단계로 실행된다. input > filter > output
input 단계에서는 말 그대로 뭐든 불러들여서 entries로 만든다. 이 상태에서 불러들여온 entries는 undecided 상태이다. rss가 대표적이지만 그 외에도 여럿 있다.
filter 단계에서는 여러가지 필터를 통해 undecided 상태의 entries를 accept할지, reject할지 정한다. accept도, reject도 안 하면 output단계에서 ignore 해버리니 주의.
output 단계에서는 filter 단계에서 accept된 파일을 어떻게 할지 정한다. 다운로드하거나 트랜스미션으로 전송하거나 등등. Reject되거나 Undecided 상태의 entries는 이 단계에서 Ignore된다.
간단하게 예제를 만들어보았다.
tasks: #일을 만든다
[feeds]: #그 일의 이름은 feeds다. (한글이나 기호로도 할 수 있지만 비추.)
rss: [url] #rss를 url에서 받아온다.
regexp: #Regular Expression(=regexp) 필터를 생성한다.
accept: #다음 단어만 accept 한다.
- [단어] #필터용 단어 입력
download: [경로] #해당 파일을 받아 지정한 경로에 다운로드한다.
* 필터에 관한 자세한 설명은 다음 링크를 참조. http://flexget.com/wiki/Plugins#Filters
나는 다음과 같이 만들었다.tasks: feeds: rss: http://www.leopard-raws.org/rss.php regexp: accept: - gangsta - gintama content-size: min: 200 max: 1000 download: /media/123-34-1231-14-24-123456/Downloads/watch/*들여쓰기를 한 단계 추가할 때마다 탭이 아니라 스페이스 두 번을 치면 된다. 스페이스 한 번도 아니다.
leopard-raws의 rss는 최근 30개만을 알려주는데, 그 중에서 gangsta와 gintama를 accept하여 200-1000MB 사이의 파일만 다운로드했다. rss에 해당 단어가 없으면 전부 undecided상태로 남아 output단계에서 ignore되고 아무 일도 일어나지 않는다.
저장경로는 아까 구한 watch 폴더 경로에 저장한다. (/media/[복잡한 이름]/[다운로드 폴더 이름]/watch/) 붙여넣기는 PuTTY에서 오른쪽 클릭, 저장은 Ctrl+O, 종료는 Ctrl+X
저장이 끝나고 문법에 맞는지 확인해본다.
flexget check
제대로 돌아가는지 테스트해본다.
flexget --test execute
제대로 작동하는 걸 확인하면 데몬 모드로 돌리고 세 시간마다 실행되도록 바꾼다.
다시 한 번 설정 파일을 편집한다.
nano ~/.flexget/config.yml
맨 아래에 다음과 같이 추가했다.schedules: - tasks: '*' interval: hours: 3'*'는 모든 tasks를 지칭한다. 특정 task만을 지칭할 경우 아까 적은 task 이름을 적는다. 나같은 경우는 feeds.
hours대신에 minutes/hours/days/weeks 등이 쓰인다.
데몬 모드로 돌린다.
flexget daemon start -d
잘 돌아가는지 확인한다.
flexget daemon status
그냥 한 번 실행해보려면
flexget execute
데몬모드로 안 돌리고 cron으로 매 시간마다 실행되게 할 수 있다. 터미널에서 해도 되지만 omv 관리웹의 Scheduled Jobs에서 편하게 할 수 있다.
시스템 -예약된 작업:: 작업을 추가하고 다음 이미지에 나온대로 설정하면 된다. Minute에 0은 매시 0분에 실행된다는 뜻이다. 매시 10분에 실행하려면 10으로 고치면 된다. 옆에 Every N Minute는 말 그대로 N분마다 실행하라는 뜻이다. 나같은 경우는 한 시간마다 매시 0분에 실행하도록 설정해놨다. 그리고 중요한 건 아래 user부분. root가 아닌 아까 만들었던 사용자로 설정하면 되고, 그 아래는 어떤 작업을 반복할 것인가를 묻는 말이다. Flexget은 데비안의 경우 대부분 /usr/local/bin/flexget 경로에 설치되므로/usr/local/bin/flexget --cron execute라고 적어준다. 혹시라도 flexget의 위치를 확인하고자 한다면 터미널에서 which flexget이라고 입력하면 된다.
+ 뽐뿌의 상냥한 누군가가 flexget글을 올렸는데, 해킹사태로 탈퇴하셨는지 글이 날아갔다. 여기에 그 분의 닉네임은 삭제하고 백업만 모셔둔다 ㅜㅜ flexget.txt
+ 그리고 참고한 글 세 개
Flexget 홈페이지의 위키. http://flexget.com/wiki
Transmission에서 RSS를 받아보자!! http://ti.5mango.com/1
Flexget을 통한 RSS기능 연동하기 http://sea8529.blog.me/100191148222
+ 직접적인 관련은 없지만 이번 건으로 리눅스를 처음 접한 나에게 아주 도움이 됐던 글 ㅜㅜ
리눅스의 기본 명령어들 http://www.emh.co.kr/content.pl?linux_basic_commands
댓글 없음:
댓글 쓰기