Dec 29, 2016

토렌트 다운로드 완료 후 토렌트 리스트 자동삭제


토렌트 다운로드 후 토렌트 리스트에서 제거하는 방법


*아래 파일을 아무리 수정해도 데몬을 재시작하면 파일이 수정 전으로 돌아간다. 이 문제때문에 한시간을 소비해서 찾은 답은.. 간단했다.
파일 수정하기 전에 데몬은 stop하고 수정하면 된다.
jkpark@cactus:/storages/storage1/public/torrent$ sudo service transmission-daemon stop
꼭 데몬은 stop한 후 아래 작업을 수행한다.


/etc/transmission-daemon/settings.json 파일을 열어 다음과 같이 수정한다.

    "script-torrent-done-enabled": true,
    "script-torrent-done-filename": "/storages/storage1/public/torrent/auto_delete.sh",



/storages/storage1/public/torrent/auto_delete.sh 파일을 만들고 아래 내용을 입력한다.

#!/bin/sh
# Transmission script to remove torrent from lists

# The file for logging events from this script
LOGFILE=/storages/storage1/public/torrent/auto_delete_log

# Remote login details.
TR_HOST="9091 --auth=아이디:비밀번호"

echo "`date '+%Y-%m-%d %H:%M:%S'`  removed from list : $TR_TORRENT_NAME" >> $LOGFILE
transmission-remote $TR_HOST -t $TR_TORRENT_ID --remove


저장 후 권한설정
jkpark@cactus:/storages/storage1/public/torrent$ chmod 777 auto_delete.sh
jkpark@cactus:/storages/storage1/public/torrent$ sudo chown debian-transmission:debian-transmission auto_delete.sh


데몬 시작
jkpark@cactus:/storages/storage1/public/torrent$ sudo service transmission-daemon start



다운로드가 완료되면 리스트에서 토렌트가 제거되고 다음과 같이 로그가 남는다.

jkpark@cactus:/storages/storage1/public/torrent$ cat auto_delete_log
2016-12-29 22:05:48  removed from list : 제거된토렌트명
jkpark@cactus:/storages/storage1/public/torrent$

토렌트 서버 구축 (Transmission-daemon)


1. 다운로드 디렉토리 생성

downloads, incomplete 디렉토리 생성


jkpark@cactus:/storages/storage1/public/torrent$ ls -al
합계 16
drwxrwxr-x  4 jkpark jkpark  4096 10월 29 01:26 .
drwxrwxrwx 13 nobody nogroup 4096 12월 28 21:43 ..
drwxrwxrwx 12 jkpark jkpark  4096 12월 28 12:51 downloads
drwxrwxrwx  2 jkpark jkpark  4096 10월 29 01:26 incomplete
jkpark@cactus:/storages/storage1/public/torrent$

원래 목적은 incomplete 디렉토리에 토렌트용 HDD를 마운트하고 이 위치에 다운로드해서 저장소의 부담을 줄이고 싶었지만 토렌트용 HDD가 고장났는지 인식이 안된다..
그러므로 다운로드를 downloads 디렉토리에 하도록 설정한다.


jkpark@cactus:/storages/storage1/public/torrent$ sudo apt-get install transmission-daemon
[sudo] password for jkpark:
패키지 목록을 읽는 중입니다... 완료
의존성 트리를 만드는 중입니다
상태 정보를 읽는 중입니다... 완료
The following additional packages will be installed:
  transmission-cli
다음 새 패키지를 설치할 것입니다:
  transmission-cli transmission-daemon
0개 업그레이드, 2개 새로 설치, 0개 제거 및 12개 업그레이드 안 함.
606 k바이트 아카이브를 받아야 합니다.
이 작업 후 3,104 k바이트의 디스크 공간을 더 사용하게 됩니다.
계속 하시겠습니까? [Y/n] y


2. 설정파일이 생성되도록 데몬을 한번 실행하고 중지한다.

jkpark@cactus:/storages/storage1/public/torrent$ sudo service transmission-daemon start
jkpark@cactus:/storages/storage1/public/torrent$ sudo service transmission-daemon stop


3. 설정

"cache-size-mb": 256,
 캐쉬 사이즈를 높게 설정할수록 IO작업이 줄어든다. 너무 높게 설정하면 RAM에 부담이 되므로 적당히 설정하자.

"download-dir": "/storages/storage1/public/torrent/downloads",
다운로드할 위치

"download-queue-enabled": true,
"download-queue-size": 4,
한번에 몇개의 다운로드를 진행할 것인지


"incomplete-dir": "/sotrages/storage1/public/torrent/incomplete",
"incomplete-dir-enabled": false,
앞에서 말했듯이 토렌트용HDD가 고장나서 비활성화 한다.


"rpc-password": "비밀번호",
"rpc-username": "아이디",

"rpc-whitelist-enabled": false,
아무곳에서나 접속할 수 있게

"umask": 0,
디폴트는 18인데 삼바에서 파일 엑세스 시 오류나서 0으로 바꿈

기타 설정방법은 https://github.com/transmission/transmission/wiki/Editing-Configuration-Files 을 보고 참고한다.

*로그인 없이 접속하고 싶으면 "rpc-authentication-required"를 false



4. 실행

jkpark@cactus:/etc/transmission-daemon$ sudo service transmission-daemon start

인터넷 브라우저에서 확인한다.

아이디/비밀번호 입력


동작되는 것을 확인할 수 있다.





* 안드로이드용 앱도 있다.

Dec 28, 2016

hdd 마운트



1. HDD 인식되는지 확인


jkpark@cactus:~$ sudo fdisk -l


Disk /dev/sdb: 1.8 TiB, 2000365289472 bytes, 3906963456 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00021365

Device     Boot Start        End    Sectors  Size Id Type
/dev/sdb1        4096 3906963455 3906959360  1.8T 83 Linux


새HDD의 경우 파티션설정과 포맷을 해야하지만,
이미 파일시스템이 있는 HDD를 인식한 것이기 때문에 파티션설정과 포맷은 생략한다.




2. 마운트할 UUID 확인

jkpark@cactus:~$ ls -l /dev/disk/by-uuid/
합계 0

lrwxrwxrwx 1 root root 10 12월 28 21:00 6defc19e-35d6-43a9-92c4-7240a90cc914 -> ../../sdb1


3. 마운트할 경로
jkpark@cactus:~$ sudo mkdir /storages
jkpark@cactus:~$ cd /storages/
jkpark@cactus:/storages$ sudo mkdir storage1


4. fstab 편집


jkpark@cactus:/storages$ sudo vi /etc/fstab

...
# /storages/storage1 was pm /dev/sdb1, jkpark mounted
UUID=6defc19e-35d6-43a9-92c4-7240a90cc914       /storages/storage1      ext4    defaults        0       1

5. 마운트 확인
jkpark@cactus:/storages$ sudo mount -a
jkpark@cactus:/storages$ ls storage1/
public
jkpark@cactus:/storages$

6. 권한변경
jkpark@cactus:/storages$ sudo chown jkpark:jkpark storage1/
jkpark@cactus:/storages$ ls -al
합계 12
drwxr-xr-x  3 root   root   4096 12월 28 21:11 .
drwxr-xr-x 25 root   root   4096 12월 28 21:10 ..
drwxr-xr-x  3 jkpark jkpark 4096 11월 16 16:35 storage1
jkpark@cactus:/storages$

7. 확인

jkpark@cactus:/storages$ df -h
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/sdb1       1.8T  199G  1.6T  12% /storages/storage1
jkpark@cactus:/storages$