Outils du site

Outils pour utilisateurs


Panneau latéral

P2PFR:Wiki

p2p:rtorrent:configurer-watchdirs (lu 7281 fois)

Ceci est une ancienne révision du document !


Configurer un «watchdir»

Un répertoire «watch» ou «watchdir» est un répertoire où l'on entrepose des fichiers .torrent, qui sont alors automatiquement chargés dans notre client bittorrent sans intervention particulière de notre part.

C'est un confort d'usage, d'autant que les fichiers torrents qui attérissent dans le watchdir peuvent eux-mêmes provenir d'autres logiciels (flexget…) qui automatisent la récupération des fichiers .torrent pouvant provenir de diverses sources.

Methode classique

Doc externe :

On voit qu'il y a plusieurs approches.

Ajoutons un schedule (= une tâche planifiée) à notre fichier rtorrent.rc.

# planifier une tâche nommée 'watch_directory_1':
# 1) se déclenche 5 secondes après le démarrage de rtorrent
# 2) se déclenche toutes les 10 secondes après cela
# 3) Lorsque déclenché, essaie de charger (et démarrer) les nouveaux fichiers *.torrent situés dans le répertoire ~/téléchargements/watch/
# 4) ???
# NOTE: si vous ne souhaitez pas démarrer automatiquement le torrent, changez 'load.start' par 'load.normal'

schedule = watch_directory_1, 5, 10, "load.start=~/téléchargements/watch/*.torrent,d.directory.set=~/téléchargements/complete/"

On peut ajouter d'autres lignes schedule, pour surveiller d'autres répertoires.

# planifier une tâche nommée 'watch_directory_2':
# 1) se déclenche 10 secondes après le démarrage de rtorrent
# 2) se déclenche toutes les 10 secondes après cela
# 3) Lorsque déclenché, essaie de charger (et démarrer) les nouveaux fichiers *.torrent situés dans le répertoire ~/téléchargements/watch_musique/
# 4) ???

schedule = watch_directory_2, 10, 10, "load.start=~/téléchargements/watch_musique/*.torrent,d.directory.set=~/téléchargements/musique/"

J'aimerais pouvoir écrire :

4) Ajuste le répertoire de destination dans lequel seront déplacés les fichiers une fois le téléchargement terminé.

Ce qui me laisse dubitatif ici, c'est que :

  • avant, il fallait gérer l'évènement “finished” pour initier soi-même le déplacement des fichiers avec une commande mv.
  • ici, on n'utilise pas de variable “custom” intermédiaire, on ajuste directement d.directory.

Voir aussi : http://superuser.com/questions/410507/move-already-i-e-not-new-completed-files-in-rtorrent

Methode inotify

Sembleraient qu'ils aient voulu simplifier la chose dans les versions récentes de rtorrent.

Méthode ruTorrent+autotools

Si vous utilisez ruTorrent, celui-ci dispose d'un plugin autotools, qui gère à la fois les répertoires watch et le déplacement des fichiers, ainsi que leur étiquettage (label).

Méthode pyroscope

On peut utiliser pyrotorque, avec l'instruction job.treewatch.

Pour faire fonctionner le tout, on a besoin de plusieurs briques :

  1. on doit faire en sorte que pyrotorque soit invoqué par rtorrent
  2. pyrotorque doit être réglé pour surveiller un répertoire (ou plutôt une arborescence dans le cas présent) watch
  3. on doit ajouter un évènement dans rtorrent, pour qu'il démarre un script bash lorsque le torrent est terminé (“completion”)
  4. ce script (_event.download.finished-cequelonveut.sh) doit être écrit à la main

Invocation de Pyrotorque par rtorrent

Définir un répertoire watch

Il faut donc créer les répertoires watch, et indiquer son chemin dans torque.ini.

Gérer l'évènement «torrent terminé» dans rtorrent

Dans notre rtorrent.rc, on doit s'assurer qu'il y a une ligne :

# EVENT: Call bash completion handlers
method.set_key = event.download.finished, bash_handlers, "d.save_full_session= ; execute=~/bin/_event.download.finished,$d.hash=,$d.name=,$d.base_path="

Ce qui sous-entend que le fichier ~/bin/_event.download.finished existe. Pyroscope le fournit, donc il faut le copier.

Scripts de gestion du torrent terminé

Copiez d'abord le fichier ~/bin/_event.download.finished (mentionné plus haut).

Ce fichier est en fait incomplet. Il ne fait qu'appeller d'autres scripts dont le nom correspond à ~/bin/_event.download.finished-*.sh.

On va donc créer un fichier ~/bin/_event.download.finished-mv.sh avec ce contenu :

#/!bin/bash
#ce script reçoit plusieurs arguments, dont le hash du torrent terminé
...

Rendez-exécutable les fichiers _event.download.finished* :

chmod +x ~/bin/_event.download.finished*
p2p/rtorrent/configurer-watchdirs.1484327423.txt.gz · Dernière modification: le 13/01/2017 à 18h10 de 111110101011