rtorrent에서 이미 완성 된 파일 (즉, 새 파일이 아님)을 옮깁니다.


13

나는 하나의 디렉토리로 잠시 동안 rtorrent를 사용 해왔다. 이제는 다른 디렉토리를 사용하고 완성 된 다운로드를 다른 곳으로 옮길 수도 있다는 것을 알아 냈습니다. 따라서 rtorrent wiki에 따르면 다음과 같이 내 .rtorrent.rc를 편집했습니다.

# Download directory
directory = /Medias/torrents/

# Watching directories
schedule = watch_directory_1,5,60,"load_start=/path/to/dl/dir1/*.torrent,d.set_custom1=/path/to/done/dir1"
schedule = watch_directory_2,5,60,"load_start=/path/to/dl/dir2/*.torrent,d.set_custom1=/path/to/done/dir2"

# On completion, move the torrent to the directory from custom1.
system.method.set_key = event.download.finished,move_complete,"d.set_directory=$d.get_custom1= ;execute=mv,-u,$d.get_base_path=,$d.get_custom1="

그것은 새로운 급류를 위해 작동하는 것처럼 보입니다. 그러나 나는 이미 디렉토리를 분할하기 전에 다운로드 한 완성 된 파일을 가지고 있으며 작동하지 않습니다. 세션 디렉토리에서 파일을 삭제하면 rtorrent가 해시를 검사하지만 이동하지 않습니다. 그들 자신을 옮겨서 rtorrent는 그들을 보지 않고 그들을 redownload하려고 시도 할 것이다.

그렇다면 어떻게 rtorrent를 이동 시키거나 다른 디렉토리에 있다고 말할 수 있습니까?

감사.

답변:


14

Ok, 그냥 알아 냈어. rtorrent 내에서 Ctrl+를 사용하여 명령 행을 열 수 있습니다 X. 당신은 ( print=$variable=예를 들어 print=$d.get_directory=) 물건을 인쇄 execute=command하거나, 명령을 실행 하거나, 변수를 설정 하는 등 많은 것들을 거기에서 할 수 있습니다 (이것은 기본 rtorrent 관리라고 생각합니다 variable=newvalue).

이 프롬프트에서 완성 된 토렌트를 다른 곳으로 옮길 수는 있지만, 필요 충분하지는 않습니다 (아래 참조). 예를 들어 원래 질문에서 주어진 .rtorrent.rc 파일의 예제를 사용하면 다음과 같습니다.

execute=mv,-u,$d.get_base_path=,$d.get_custom1=

그러나이 명령은 rtorrent가 토런트를 계속 시드하지 못하도록하기 때문에 충분하지 않습니다. 시드를 계속 진행하려면이 명령 프롬프트에서이 토렌트의 다운로드 디렉토리를 새 위치로 설정해야합니다.

d.set_directory=/path/to/new/directory/

마지막으로, execute명령은 필요하지 않습니다. 위에서 설명한대로 새 디렉토리를 설정하는 한 원하는 토렌트 (예 : rtorrent 외부)로 이동할 수 있습니다.

그 후 Ctrl+를 사용하여 토렌트를 다시 열어야합니다 ([닫기]로 표시된 경우) R.


2
올바른 순서는 먼저 새 디렉토리를 설정 한 다음 btw로 이동하십시오. 그리고 위의 두 단계 모두를 수행하는 "method.insert"를 통해 속기 명령을 추가 할 수 있습니다.
pyroscope

@ pyroscope 왜 디렉토리가 먼저 "correct"로 설정되어 있습니까? mv디렉토리를 업데이트하기 전에 성공 했는지 기다리고 싶을 것 같습니다 .
g33kz0r

2
신경 <Fault -503: 'Cannot change the directory of an open download atter the files have been moved.'>
쓰지


0

bash 스크립트로 :

편집, mv -u $old $new실패하면 전체 명령이 실패합니다.
나는 qBitTorrent를 위해 rTorrent를 떠나는 것을 끝내었다.

#!/bin/bash
#
# move files in rTorrent
# with rtxmlrpc from pyrocore
#
# 1. select all torrents from view $view
# 2. print old d.base_path
# 3. set new d.directory
#    torrent is closed
#    d.base_path is still old d.base_path
# 4. move old files to new dir
# 5. open torrent
#    d.base_path is set to new path
# 6. save output to text file

view='complete'
dest="/home/rtorrent/$view/"

# escape double quotes
dest=$(echo "$dest" | sed 's/"/\\"/g')

rtxmlrpc d.multicall2 '' "$view" \
  'd.base_path=' \
  "d.directory.set=\"$dest\"" \
  "execute=mv,-u,(d.base_path),\"$dest\"" \
  'd.open=' \
| tee rtxmlrpc.$(date +%s).txt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.