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はそれらを表示せず、再ダウンロードを試みます。

では、rtorrentにそれらを移動するように、またはそれらが別のディレクトリにあることをどのように伝えることができますか?

ありがとう。

回答:


14

わかりました、これを理解しました。rtorrent内では、Ctrl+ を使用してコマンドラインを開くことができますX。そこから多くのことを行うことができます(これは基本的なrtorrent管理だと思います)。print=$variable=たとえば、物事の印刷(などprint=$d.get_directory=)、コマンドの実行(execute=command)、変数の設定(variable=newvalue)などです。

このプロンプトから、完成したトレントを別の場所に移動できますが、必要でも十分でもないことに注意してください(以下を参照)。たとえば、元の質問で指定された.rtorrent.rcファイルの例を使用します。

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

ただし、このコマンドはrtorrentがtorrentをシードし続けることを防ぎます。これが不十分な理由です。シードを続行するには、このコマンドプロンプトから、このトレントのダウンロードディレクトリを新しい場所に設定する必要があります。

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

最後に、executeコマンドは必要ありません。上記で説明したように新しいディレクトリを設定する限り、トレントを希望の方法で(つまり、rtorrentの外に)移動できます。

その後、Ctrl+ を使用してトレントを再度開く必要がある場合があります([CLOSED]とマークされている場合)R


2
正しい順序は、最初に新しいディレクトリを設定してから移動します。また、上記の両方の手順を実行する「method.insert」を使用して、簡略コマンドを追加できます。
パイロスコープ

@pyroscopeディレクトリを最初に「正しく」設定するのはなぜですか?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.