在 rtorrent 中移动已经(即非新的)完成的文件

在 rtorrent 中移动已经(即非新的)完成的文件

我已经使用 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 移动它们或者它们在另一个目录中?

谢谢。

答案1

好的,我刚刚搞明白了。在 rtorrent 中,您可以使用Ctrl+打开命令行X。您可以从那里做很多事情(我猜这是基本的 rtorrent 管理),例如打印内容(print=$variable=例如print=$d.get_directory=)、执行命令(execute=command)或设置变量(variable=newvalue)。

从此提示中,您可以将完成的 torrent 移到其他地方,但请注意,这既不是必要的也不是充分的(见下文)。例如,使用原始问题中给出的 .rtorrent.rc 文件中的示例:

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

但是,此命令将阻止 rtorrent 继续播种 torrent,这就是为什么它是不够的。为了继续播种,您仍然应该从此命令提示符中将此 torrent 的下载目录设置为新位置:

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

最后,该execute命令不是必需的:您可以按照您想要的方式移动 torrent(即在 rtorrent 之外),只要您按照上面的说明设置新目录即可。

此后,可能需要使用Ctrl+重新打开该种子(如果它标记为 [CLOSED]) R

答案2

作为 bash 脚本:

编辑,当mv -u $old $new失败时,整个命令就会失败。
我最终离开 rTorrent 而选择 qBitTorrent。

#!/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

答案3

如果你对符号链接不过敏,一种方法是韓國電視

相关内容