다운로드 완료 알림 및 다운로드목록 자동 삭제
다운로드가 완료되면 텔레그램봇으로 다운로드 완료 여부를 안내하고. Transmision에서 다운로드 완료 항목에 대한
리스트를 자동삭제하는 스크립입니다.
"tr.sh"라는 파일명으로 아래 스크립트를 작성 합니다.
텔레그램봇에 대한 부분은 설명을 생략하며 구글을 검색하시면 많은 정보들이 있습니다.
#!/bin/sh
# telegram bot
SERVER="9091 --auth ID:PW"
TOKEN='텔레그램_TOKEN'
CHAT_ID="텔레그램챗_ID"
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
FILENAME=`/usr/bin/transmission-remote $SERVER --torrent $TORRENTID --info | grep Name | cut -c 9-60`
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
/usr/bin/curl --data-urlencode "text=Download Complete : $FILENAME" "$MSG_URL"$CHAT_ID"&"
fi
done
"tr.sh" 파일을 Mapping 할 수 있는 볼륨을 Docker에 추가해 줘야 합니다.
Docker 볼륨 설정에서 "파일 추가"를 누르고, 죄측은 "tr.sh" 파일이 있는 경로 및 파일명을 넣어주고, 우측은 "/config/tr.sh" 라고 넣어 줍니다. 형식은 "읽기/쓰기"로 선택해 줍니다. (Portainer의 "Duplicate/Edit"로도 볼륨 추가가 가능합니다.)
작성한 "tr.sh"를 Transmission에 등록이 필요 합니다.
Transmission GUI 페이지로 접속 후 "Settings"로 이동합니다.
"Torrets" 탭을 보면 "Run script when complete"라는 항목이 있고, 이 옵션을 활성화 합니다.
활성화 후 작성된 "tr.sh"를 등록해 주시고, docker를 재시작 합니다.
또는 "settings.json"에 아래 내용출 추가하여 "tr.sh" 파일을 적용 시켜 줄수도 있습니다.
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/volume1/data/경로/tr.sh",