1. 패키지센터에서 Download Station을 종료
2. ssh를 이용하여 쉘로 진입하여, Root권한을 획득한다.
#sudo -i
3. Download Station 재부팅 간 설정파일을 초기화하지 않도록 변경하기 위해, 아래 명령어로 스크립트 파일을 수정
#vi /var/packages/DownloadStation/scripts/start-stop-status
4. “rm ${PACKAGE_DIR}/etc/download/settings.json” 이라고 적혀있는 부분을 찾아서, 앞에 “#”을 붙여 주석처리해주고 저장
#rm ${PACKAGE_DIR}/etc/download/settings.json
5. 설정 변경을 위해 아래 명령어로 설정 파일 수정
위 4번에서 경로를 찾아서 변경된 경로로 접근을 해도 됩니다.(업데이트에 따라서 경로가 바뀔수도 있습니다.)
#vi /var/packages/DownloadStation/etc/download/settings.json
6. script-torrent-done-enabled, script-torrent-done-filename을 찾아서 아래와 같이 변경
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/volume1/@appstore/DownloadStation/bin/downloadComplete.sh",
7. postgresql의 계정정책 관련 설정을 변경
#vi /etc/postgresql/pg_hba.conf
8. 아래와 같이 되어 있는 부분을 변경
#Before)
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer map=pg_root
local all all peer
#After)
# TYPE DATABASE USER ADDRESS METHOD
local all postgres trust
local all all peer
이걸 안하면, OS계정과 postgresql 계정이 다른 상황에서 원격 쿼리를 날리는 경우 아래와 같은 에러가 발생하기 때문이다.
psql: FATAL: Peer authentication failed for user “postgres”
9. 설정을 변경했으니, postgresql을 재시작
#/usr/syno/etc.defaults/rc.sysv/pgsql.sh restart
10. 이제 6번 과정에서 script-torrent-done-filename 부분에 입력했던 경로로 이동하여, 쉘 스크립트 파일 새성
#vi /volume1/@appstore/DownloadStation/bin/downloadComplete.sh
downloadComplete.sh 스크립트내용)
#!/bin/sh
TOKEN='BOT Token 입력'
URL='https://api.telegram.org/bot'$TOKEN
MSG_URL=$URL'/sendMessage?disable_notification=true&chat_id='
CHAT_ID='CHAT ID 입력'
function send_message {
res=$(/usr/bin/curl --data-urlencode "text=[MYNAS] $TR_TORRENT_NAME download complete." "$MSG_URL"$CHAT_ID"&")
}
send_message
/bin/psql -U postgres -d download -c "DELETE FROM Download_queue WHERE status IN ('5','7','8')"
11. 파일 권한을 755 로 설정
chmod 755 /volume1/@appstore/DownloadStation/bin/downloadComplete.sh
12. 패키지센터에서 DownloadStation 시작
13. DownloadStation에서 다운로드 완료 후 개설한 텔레그램 방에 “[MYNAS] 토렌트명 download complete” 라고 메시지가 오고, Downloas Station 에서 목록이 사라지면은 성공