web-dev-qa-db-fra.com

Déplacez déjà (c'est-à-dire non neuf) Fichiers terminés dans RTorrent

J'utilise Rtorrent pendant un moment avec un répertoire unique. Maintenant, j'ai compris qu'il était possible d'utiliser différents répertoires et même de déplacer les téléchargements terminés ailleurs, donc selon le Wiki Rtorrent, j'ai édité mon .RTorrent.rc comme suit:

# 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="

Il semble travailler pour de nouveaux torrents. Cependant, j'ai un tas de fichiers remplis que j'ai déjà téléchargés avant de diviser les annuaires et pour eux, cela ne fonctionne pas: si je supprime leur fichier dans le répertoire de session, RTorrent vérifiera le hachage mais ne les déplacera pas, et si je Déplacez-les par moi-même, RTorrent ne les verra pas et essaierai de les rejoindre.

Alors, comment puis-je dire à RTorrent pour les déplacer ou qu'ils sont dans un autre répertoire?

Merci.

14

en tant que script Bash:

éditer, quand mv -u $old $new échoue, alors toute la commande échoue.
[.____] J'ai fini par quitter Rtorrent pour 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
1
Mila Nautikus

Si vous n'êtes pas allergique aux symboles, une solution est RTMV .

0
pyroscope