Outils du site

Outils pour utilisateurs


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

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
p2p:rtorrent:configurer-watchdirs [le 13/01/2017 à 18h10]
111110101011 [Méthode pyroscope]
p2p:rtorrent:configurer-watchdirs [le 21/01/2017 à 22h27] (Version actuelle)
111110101011 [Scripts de gestion du torrent terminé]
Ligne 69: Ligne 69:
   * Documentation : https://pyrocore.readthedocs.io/en/latest/advanced.html#rtorrent-queue-manager   * Documentation : https://pyrocore.readthedocs.io/en/latest/advanced.html#rtorrent-queue-manager
  
-Pour faire fonctionner le tout, on a besoin de plusieurs briques :+Suivez la documentation officielle. Elle est cependant un peu incomplète. 
 + 
 +Pour bien comprendre, afin de faire fonctionner le tout, on a besoin de plusieurs briques :
   - on doit faire en sorte que pyrotorque soit invoqué par rtorrent   - on doit faire en sorte que pyrotorque soit invoqué par rtorrent
   - pyrotorque doit être réglé pour surveiller un répertoire (ou plutôt une arborescence dans le cas présent) watch   - pyrotorque doit être réglé pour surveiller un répertoire (ou plutôt une arborescence dans le cas présent) watch
Ligne 83: Ligne 85:
 ==== Gérer l'évènement «torrent terminé» dans rtorrent ==== ==== Gérer l'évènement «torrent terminé» dans rtorrent ====
  
-Dans notre rtorrent.rc, on doit s'assurer qu'il y a une ligne :+1) Dans notre rtorrent.rc, on doit s'assurer qu'il y a une ligne :
  
 <code> <code>
Ligne 90: Ligne 92:
 </code> </code>
  
-Ce qui sous-entend que le fichier ''~/bin/_event.download.finished'' existe. Pyroscope le fournit, donc il faut le copier.+2) Le code ci-dessus montre qu'on a besoin d'un fichier ''~/bin/_event.download.finished''Vous devez le copier à la main, Pyroscope le fournit
 + 
 +3) Pyrotorque ne tourne que si le fichier ''~/.pyroscope/run/pyrotorque'' existe. 
 +<code>touch ~/.pyroscope/run/pyrotorque</code>
  
 ==== Scripts de gestion du torrent terminé ==== ==== Scripts de gestion du torrent terminé ====
  
-Copiez d'abord le fichier ''~/bin/_event.download.finished'' (mentionné plus haut).+rtorrent va appeller le script ''_event.download.finished'' en fournissant quelques arguments, dont le hash du torrent qui vient d'être completé.
  
-Ce fichier est en fait incomplet. Il ne fait qu'appeller d'autres scripts dont le nom correspond à ''~/bin/_event.download.finished-*.sh''. +Hélas, le fichier ''_event.download.finished'' fourni par pyroscope est 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 :+
  
 +On va donc créer un fichier ''~/bin/_event.download.finished-mv.sh'' avec ce contenu (basé sur [[https://pyrocore.readthedocs.io/en/latest/howto.html#moving-all-data-for-selected-items-to-a-new-location|cette doc]]) :
 <file _event.download.finished-mv.sh> <file _event.download.finished-mv.sh>
-#/!bin/bash +#!/bin/bash 
-#ce script reçoit plusieurs arguments, dont le hash du torrent terminé + 
-...+Remplacez "rtorrentuser" par le nom de l'utilisateur qui possède les outils pyroscope 
 +RTBIN="/home/rtorrentuser/bin" 
 + 
 +function rt_create_targetdir() { 
 +        targetdir=$($RTBIN/rtcontrol "hash=$1" -qo custom_targetdir) 
 +        mkdir -p "$targetdir" 
 +
 + 
 +function rt_mv_then_restart() { 
 +        $RTBIN/rtcontrol "hash=$1" --stop 
 +        $RTBIN/rtcontrol "hash=$1" --exec "directory.set={{item.custom_targetdir}}" -o custom_targetdir --yes 
 +        $RTBIN/rtcontrol "hash=$1" --spawn "mv {{item.path}} {{item.custom_targetdir}}" -o custom_targetdir 
 +        sleep 1 
 +        $RTBIN/rtcontrol "hash=$1" --start 
 +
 + 
 +rt_create_targetdir "$1" 
 +rt_mv_then_restart "$1"
 </file> </file>
  
-Rendez-exécutable les fichiers _event.download.finished* :+Que fait ce script ? 
 + 
 +D'abord, il créé le répertoire de destination. Ce n'est pas nécessaire si vous en avez un nombre défini que vous pouvez créer à la main. 
 + 
 +Dans la seconde fonction, il met en arrêt le téléchargement. Ensuite, il indique à rtorrent que les fichiers du téléchargement sont situés ailleurs (dans le targetdir qu'on a écrit dans torque.ini). 
 + 
 +Puis il déplace le fichier, et redémarre le téléchargement qui sera donc en seed, tout en ayant ses fichiers situés à leur emplacement final. 
 + 
 +On pourrait aussi utiliser ''rtmv'' pour laisser les fichiers dans /work/. Et puisque le fichier dans /work/ existerait toujours en tant que lien symbolique, il n'est pas utile de signaler à rtorrent que son emplacement a changé. 
 + 
 +N'oubliez pas de rendre exécutables les fichiers _event.download.finished* :
 <code> <code>
 chmod +x ~/bin/_event.download.finished* chmod +x ~/bin/_event.download.finished*
 </code> </code>
- 
- 
p2p/rtorrent/configurer-watchdirs.1484327423.txt.gz · Dernière modification: le 13/01/2017 à 18h10 de 111110101011