본문으로 건너뛰기
BIMMER MAC BIMMER MAC

맥, 홈 서버, BMW 코딩 전문가 되기

BIMMER MAC BIMMER MAC

맥, 홈 서버, BMW 코딩 전문가 되기

  • 전체 글
  • 💾 BMW 코딩
  • 🚗 BMW 라이프
  • 주식 투자 방법
  • 비머맥 소개
  • 전체 글
  • 💾 BMW 코딩
  • 🚗 BMW 라이프
  • 주식 투자 방법
  • 비머맥 소개
닫기

검색

💻 개발 · 서버

Synology/Xpenology Download Station 다운로드 완료된 항목 자동 정리하기

By jihunx
2017-06-21 4 Min Read
1

개요

시놀로지 혹은 헤놀로지의 다운로드 스테이션에서 토렌트 다운로드가 완료된 항목을 매번 수동으로 지우고 있었는데, 자동으로 정리하는 방법을 발견하여 공유합니다.크게 두 가지의 방법이 있는데 시놀로지에서 제공하는 작업 스케줄러를 이용하여 정해진 시간에 반복적으로 실행하는 방법이 있고, 다운로드 스테이션에서 다운로드 완료 이벤트가 발생한 경우에만 작업을 수행하도록 하는 방법이 있습니다.

전자는 완료된 항목을 주기적으로 제거할 수 있다는 장점이 있는 반면에 스케줄러로 인해 절전 모드가 계속 해제되는 문제가 있습니다(절전 모드가 필요하다면 전자는 적합한 솔루션이 아닙니다). 후자는 전자의 단점이 없는 반면에, 다운로드 완료 이벤트가 발생해야만 작업을 수행하므로 타이밍의 이슈로 서버가 꺼지거나 하는 등의 시점에 이벤트를 놓치면 한참 동안 다운로드가 제거되지 않을 수도 있다는 단점이 있습니다.

그래도 전반적으로 후자가 좀 더 스마트하게 동작한다고 볼 수 있겠습니다. 대신 후자가 설정하기도 좀 더 복잡합니다.

 

1. 작업 스케줄러를 이용하는 방법

제어판 > 작업 스케줄러 > 생성 > 예약된 작업 > 사용자 정의 스크립트를 선택합니다.

 

일반 탭에서 아래와 같이 입력합니다.

  • 작업 : Clear Torrent(원하는 작업명)
  • 사용자 : root(다른 사용자를 선택하셔도 됩니다)
  • 활성화됨 체크 상태 유지

 

스케줄 탭을 아래와 같이 설정합니다.

  • 다음 일수 후 실행 : 매일
  • 첫 실행 시간 : 08:00(원하는 시간을 선택하시면 됩니다. 저는 서버가 8시에 켜지고 24시에 꺼지게 설정돼 있어서 이렇게 설정했습니다.)
  • 주기 : 매 5 분마다(원하는 주기 선택)
  • 마지막 실행 시간 : 23:55

 

작업 설정 탭에 아래와 같이 입력합니다. 사용자 정의 스크립트란에 아래 코드를 입력합니다.

6.0 버전 이상인 경우

su - postgres -c 'psql -U postgres -d download -c "delete from Download_queue where status in ('5','7','8')"'

 

5.0 버전대인 경우

/usr/syno/pgsql/bin/psql -U postgres -d download -c "DELETE from Download_queue WHERE status in ('5','7','8')"

Download_queue status 값의 의미
1 : 대기 중
2 : 다운로드 중
3 : 일시 정지
4 : 종료 중
5 : 다운로드 완료
6 : 해시 체크
7 : 시딩 중
8 : 파일 호스팅 대기
9 : 압축 해제 중

 

아래 방법은 Download Station 업데이트 이후로 더 이상 동작하지 않는 것으로 보입니다.

2. 다운로드 완료 이벤트를 이용하는 방법

이 작업을 위해서는 먼저 DSM의 SSH 기능을 활성화해야 합니다. 제어판 > 터미널 및 SNMP에서 SSH 서비스 활성화에 체크한 후 적용을 누릅니다.

 

SSH 클라이언트 프로그램인 putty를 실행하여 DSM에 관리자 계정으로 SSH 접속합니다.

 

스크립트 파일 생성

touch 명령을 이용하여 원하는 경로에 원하는 파일 이름으로 스크립트 파일을 생성합니다.

# 형식
touch 생성할디렉토리/파일이름.sh

# 예시
touch /volume1/documents/script/clearDownloadedTorrent.sh

 

스크립트 파일 편집

vi로 해당 파일 편집 모드에 진입합니다.

vi /volume1/documents/script/clearDownloadedTorrent.sh

아래 코드를 입력하고 저장합니다.

#!/bin/sh

su - postgres -c 'psql -U postgres -d download -c "delete from Download_queue where status in ('5','7','8')"'

5.0 버전대인 경우 위에서 설명드렸듯이 /usr/syno/pgsql/bin/psql -U postgres -d download -c "DELETE from Download_queue WHERE status in ('5','7','8')"라고 입력해 주시면 됩니다.

 

스크립트 파일에 실행 권한 부여

해당 파일에 실행 권한을 부여하기 위해 아래와 같이 입력하고 엔터키를 누릅니다.

chmod +x /volume1/documents/script/clearDownloadedTorrent.sh

chmod에 대해서는 이 글을 참고하시기 바랍니다.

만약 정상적으로 실행 권한이 부여됐다면 ls 명령어를 입력해서 리스트를 확인할 때 해당 파일이 녹색으로 변해 있어야 합니다(예시 이미지이므로 파일 이름이 다릅니다).

 

스크립트 정상 동작 여부 테스트

정상적으로 실행되는지 스크립트를 실행해 봅니다. 스크립트가 정상이라면 현재 완료된 토렌트 목록이 제거되어야 합니다.

/volume1/documents/script/clearDownloadedTorrent.sh

 

Download Station 설정 변경

아래 명령어로 settings.json 파일을 엽니다.

vi /usr/syno/etc/packages/DownloadStation/download/settings.json

만약 이 파일이 보이지 않는다면 아무 토렌트나 다운로드를 시작하시기 바랍니다. 그러면 파일이 생성될 것입니다.
만약 vi에서 권한이 없다고 나온다면 sudo vi로 실행하시기 바랍니다.

script-torrent-done-enabled, script-torrent-done-filename 두 곳을 아래와 같이 각각 수정해야 합니다.

  • script-torrent-done-enabled : false를 true로 수정
  • script-torrent-done-filename : "" 부분을 "/디렉토리/스크립트 파일"로 수정
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/volume1/documents/script/clearDownloadedTorrent.sh",

 

start-stop-status 설정 변경

위와 같이 settings.json 파일을 수정하였는데, Download Station이 켜고 꺼질 때 이 파일이 초기화되도록 설정되어 있습니다. 따라서 초기화되지 않도록 start-stop-status를 수정해야 합니다. 아래와 같이 입력합니다.

vi /var/packages/DownloadStation/scripts/start-stop-status

rm ${PACKAGE_DIR}/etc/download/settings.json 부분을 주석 처리(줄 맨 앞에 #을 입력)합니다.

만약 read only라고 저장이 되지 않는다면, 마찬가지로 sudo vi로 실행하시기 바랍니다.

 

pkg_DownloadStation 파일 수정

아래와 같이 입력합니다.

vi /etc/apparmor.d/pkg_DownloadStation

#transmissiond라고 표기된 부분의 맨 아래줄에 /volume*/share/script/synology/{,**} rix,을 추가합니다.

#transmissiond
    /dev/crypto                                         rw,
    /usr/share/samba/codepages/upcase.dat               r,
    /usr/share/samba/codepages/lowcase.dat              r,
    /usr/syno/smb.conf                                  r,
    /volume*/share/script/synology/{,**}                rix,
    /volume1/documents/script/{,**}                     rix,

 

DSM 재부팅

SSH에 sudo reboot를 입력하거나 웹 관리 페이지에서 재부팅을 선택합니다.

 

참고

  • Synology Download Station 완료 토렌트 자동 삭제
  • Download Station
  • [NAS] Synology DownloadStation 완료시 알림 메시지 전송 및 목록 삭제
  • [NAS] 시놀로지 파일삭제 스케쥴러 등록
  • 시놀로지 DS Download(DS Get) 작업이 완료되었을 경우, 메신저로 알림 받기
  • [질문추가]시놀로지 DS Download(DS Get) 다운완료시 자막파일 이동 스크립트 (작업중)
  • NAS의 토렌트 활용팁

관련 글

  1. 윈도우에서 Markdown 파일 내용 색인하여 검색하기
  2. Synology/Xpenology 알림을 텔레그램으로 받는 방법
  3. Synology/Xpenology에 무료 SSL 인증서 발급하여 HTTPS 사용하기
  4. Synology/Xpenology 운영 체제 및 업데이트 파일 다운로드하는 방법

Tags:

SynologyXpenology
작성자

jihunx

IT, Planning

Follow Me
다른 기사
Previous

윈도우 VMware Workstation에 Xpenology(헤놀로지) 6.2 버전 가상 머신 만들기

Next

리눅스 find 명령 사용 방법

댓글 1개
  1. 타라민드 댓글:
    2018-09-11, 3:08 오후

    /sbin/sysctl -w vm.min_free_kbytes=131072

    위 명령어의 6.0 이상 버전에서는 어찌해야 할까요?

    답글

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

글 카테고리

  • 🍎 맥 · IT 기기 (21)
  • 💻 개발 · 서버 (52)
  • 💾 BMW 코딩 (80)
  • 📈 재테크 · 퀀트 (2)
  • 📝 일상 · 생각 (1)
  • 🚗 BMW 라이프 (33)
  • 🛠️ 생산성 · 도구 (45)

추천 글

  • BMW 코딩 입문서
  • BMW 코딩 백서
  • BMW 코딩 자료실
  • 홈 서버 구축 백서

최근 댓글

  1. BMW 코딩 입문서의 익명2026-08-02

    좋은내용 공유해주셔서 감사합니다 ^^

  2. ISTA로 시트 초기화하기의 ㅇㅇ2026-07-02

    내용은 찾았는데 시행을 어떻게하는지 여쭤봐도 될까요 서비스 플랜에 추가만 되네오

  3. BMWAiCoder로 BMW 내비게이션 맵 업데이트 FSC 코드 얻는 방법의 김성규2026-04-11

    차량과 연결된 이후에 fsc tools 창이 안뜨는데 이유를 모르겠네요

  4. E-Sys Launcher Premium v2.6.2 완전 삭제해서 날짜 제한 초기화하는 방법의 방랑자2025-09-07

    오래전이긴 하나, 혹시 해당 배치 파일을 다시 받을수 있을까요? 아니면 배치의 내용과 원리를 알려주시면 직접 만들수도 있을거 같아요~

  5. E-Sys Launcher Premium v2.6.2 완전 삭제해서 날짜 제한 초기화하는 방법의 익명2025-09-07

    ㅇㅇㅇ

  1. 홈
  2. 💻 개발 · 서버
  3. Synology/Xpenology Download Station 다운로드 완료된 항목 자동 정리하기

Alfred AxureRP BMWAiCoder BMW맵업데이트 CoreTraining DrGini ESXi ETK E시리즈코딩 FSC git GitHub gracenote Hotkeys Intro ISTA-D ISTA-list Markdown OpenClaw OpenVPN Scrivener Sketch Study Synology Visual Studio Code VMwareWorkstation VO코딩 WindowsServer2016 wordpress Xpenology 리눅스 리눅스기초 맥서버 차량용거치대 코딩치트코드 코딩튜토리얼 펌웨어업데이트 홈서버구축

메타

  • 로그인
  • 입력 내용 피드
  • 댓글 피드
  • WordPress.org
Copyright 2026 — BIMMER MAC. All rights reserved.