NAS2018. 3. 17. 17:13

아서스 ac88u로 나스를 바꾸고 나서 잘 사용중인데 한가지 아쉬웠던 부분이

트랜스미션 다운로드 완료 후 완료 토렌트 자동 삭제 후 텔레그램 알림을 받는 쉘이

동작을 안한다는 거였는데요.

ubuntu에서 잘 돌던 쉘이 실행이 안되던 이유가 두가지가 있었습니다.

하나는 transmission-remote가 설치되지 않았었구요

두번째는 cut 명령어의 옵션이 달라서 에러가 났었습니다.


웹상에 떠도는 팁을 보고 transmision을 설치하셨으면

opkg install transmission-web transmission-daemon-openssl

요 두가지만 설치하라고 안내하는 경우가 대부분인데요.

저렇게만 설치하면 트랜스미션 사용에 지장은 없지만

다운완료 후 쉘 실행하여 완료된 토렌트 삭제는 안됩니다.


추가로 트랜스미션 리모트를 설치해주셔야 가능합니다.

아래 명령어로 추가 설치해주세요.

opkg install transmission-remote-openssl



그리고 역시 웹상에 공유되어있는 쉘 스크립트에 보면 대부분 cut 부분이 아래처럼 되어있을건데요.

cut --only-delimited --delimiter=" " --fields=1`

아래와 같이 수정했습니다.

cut -s -d " " -f 1`


사용중인 sh 전체 내용입니다.

저는 저와 와이프 두명에게 텔레그램 알림을 보내기 때문에 chat_id가 두개입니다.

두번째 텔레그램 알림 보내는 부분은 주석처리 해놨습니다. ( # )

텔레그램 알림 관련은 구글링 하면 많이 나옵니다.


색칠되어있는 부분은 자신의 정보로 바꿔서 사용하시면 됩니다.


#!/bin/sh
# telegram configuration
# SERVER="[port] --auth [id]:[pass]"
SERVER="PORT --auth ID:PASSWORD"
# token
TOKEN='텔레그램봇토큰'  
# CHAT_ID
CHAT_ID="CHATID"
#CHAT_ID2="CHATID2"
URL='https://api.telegram.org/bot'$TOKEN
MSG_URL=$URL'/sendMessage?chat_id='

sleep 1s

# torrent remove

TORRENTLIST=`transmission-remote $SERVER --list | sed -e '1d;$d;s/^ *//' | cut -s -d " " -f 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
        transmission-remote $SERVER --torrent $TORRENTID --remove
        # telegram message send
        curl --data-urlencode "text=$TR_TORRENT_NAME download completed." "$MSG_URL"$CHAT_ID"&"
        #curl --data-urlencode "text=$TR_TORRENT_NAME download completed." "$MSG_URL"$CHAT_ID2"&"
    fi
done


위 내용을 원하는 경로에 파일명.sh 로 저장 후

chmod 755 * 파일명.sh

로 실행 권한을 바꿔주시고


/opt/etc/init.d/S88transmission stop

으로 트랜스미션 서비스 종료 후


nano /opt/etc/transmission/settings.json

으로 설정 파일 로 가서 아래 두가지를 바꿔주세요

    "script-torrent-done-enabled": true,
    "script-torrent-done-filename": "/sh파일있는경로/파일명.sh",


ctrl+O 저장, ctrl+X 종료 후

/opt/etc/init.d/S88transmission start 하시면 됩니다.

'NAS' 카테고리의 다른 글

asus ac88u에 tvheadend 설치 시 기본 포트 변경  (0) 2018.03.04
Posted by WJinsoo
NAS2018. 3. 4. 23:41

아서스 공유기에 멀린펌을 올린 후 entware로 tvheadend 설치 시


타 시스템에 tvheadend를 설치할 경우 기본포트로 사용해도 공유기에서 다른 포트를 9981,9982에 포워딩 시켜서 쓰면 되니 상관없지만

공유기에 직접 올리면 기본포트를 변경하지 않으면 외부에서 무작위 접근이 들어올 수 있으므로

포트를 변경해 두는게 좋습니다.


웹서핑으로 tvheadend 설치를 마치셨다면


아마도 아래와 같은 방식으로 S71tvheadend라는 파일이 생성되어 있을텐데요.


nano /opt/etc/init.d/S71tvheadend


#!/bin/sh


ENABLED=yes

PROCS=tvheadend

ARGS="-C -f -u 아이디 -g root -c /opt/etc/tvheadend --nobackup"

PREARGS=""

DESC=$PROCS

PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


. /opt/etc/init.d/rc.func


먼저

/opt/etc/init.d/S71tvheadend stop

로 서비스를 중지시키시구요


위 내용 중

ARGS="-C -f -u 아이디 -g root -c /opt/etc/tvheadend --nobackup"

이 부분을


ARGS="-C -f -u 아이디 -g root -c /opt/etc/tvheadend --nobackup --http_port 원하는포트 --htsp_port 원하는포트"


이렇게 써주시면 됩니다.


기본 http포트는 9981, htsp포트는 9982 인데 19981,19982 이런식으로 변경하시려면


ARGS="-C -f -u 아이디 -g root -c /opt/etc/tvheadend --nobackup --http_port 19981 --htsp_port 19982"


이렇게 쓰시고 저장하시고

/opt/etc/init.d/S71tvheadend start

로 서비스를 시작시켜주시면 됩니다.


이렇게 하면 관리페이지도 기존에 

192.168.1.1:9981로 접속하셨다면 

192.168.1.1:19981 로 접속하셔야 합니다


방화벽 설정 해주셨으면

거기서도 포트 변경 해주시구요.



'NAS' 카테고리의 다른 글

entware에 transmission 완료된 토렌트 자동 삭제  (0) 2018.03.17
Posted by WJinsoo