# Flexget

Flexget은 여러가지 일을 자동화하는 툴이다.

RSS feed로 부터 특정 키워드가 포함된 토렌트를 검색하여 원하는 위치에 다운로드 받을 것이다. flexget에서 `transmission`연동을 지원하기 때문에 이전 장 설치 `transmission` 을  연동시킬 것이다.

## 설치 <a href="#undefined" id="undefined"></a>

설치 준비

```
$ sudo apt-get update
$ sudo apt-get install python3.5
$ sudo apt-get install python-pip
$ sudo pip install --upgrade setuptools
```

flexget 설치

```
$ sudo pip install flexget
```

트랜스미션 플러그인 설치

```
$ sudo pip install transmissionrpc
```

확

```
$ flexget --version
2.21.18
Latest release: 3.1.1
```

## 설정 파일 작성 <a href="#undefined" id="undefined"></a>

내 설정은 아래와 같다.

* **secrets.yml : 계정 정보같은 개인정보 저**
* **config.yml : Flexget 설정**
* **wish.yml : 다운로드할 목**

하나씩 살펴보겠다.

### **secrets.yml**

{% embed url="<https://gist.github.com/jkpark/e0a6df7e6a67146c483cd65a1ed238aa>" %}

`transmission` 과 연동하기 위해 username과 password 를 알맞게 입력한다.

```
$ mkdir -p ~/.config/flexget
$ vi ~/.config/flexget/config.yml
```

```
$ mkdir ~/.config/flexget/wish
$ vi ~/.config/flexget/wish/list.yml
```

```
series:
  KTV:
    - '검색어'
```

## 스케줄링 <a href="#undefined" id="undefined"></a>

원하는 시간대에 다운로드하도록 `/etc/crontab` 에 추가한다.

```
# 2019-03-12 | jkpark | added below 2 line.
10 0-2,6,18-23 * * *    jkpark  /usr/local/bin/flexget --cron execute --tasks download_*
12 6,18,0 * * * jkpark  /usr/local/bin/flexget --cron execute --tasks download2_movie
```

> crontab 작성 참고 <https://crontab.guru/>

```
$ sudo systemctl restart cron
```
