Pour mes téléchargements, notamment de séries, j’utilise le logiciel rTorrent installé sur mon NAS (un D-Link DNS-320 avec fun_plug par-dessus).
Cependant il convient de pouvoir le laisser tourner en tâche de fond, d’autant plus que je récupère les torrents des derniers épisodes de séries avec FlexGet.
Configuration de rTorrent
Il s’agit ici de présenter simplement les éléments de configuration nécessaires au téléchargement des nouveaux torrents, au déplacement des fichiers vers un dossier surveillé par mon serveur media MediaTomb (désormais Gerbera)...
Surveillance des nouveaux fichiers torrent
# Watch a directory for new torrents, and stop those that have been deleted.schedule = watch_directory,5,5,load_start=/mnt/HD/HD_b2/torrent/*.torrent
schedule = untied_directory,5,5,stop_untied=
Déplacement des fichiers téléchargés
# Répertoire pour téléchargementdirectory = /mnt/HD/HD_b2/torrent/incomplete/
# On déplace les fichiers dont le téléchargement est fini
system.method.set_key = event.download.finished,move_complete,"execute=mv,-u,$d.get_base_path=,/mnt/HD/HD_b2/torrent/complete/;d.set_directory=/mnt/HD/HD_b2/torrent/complete/"
Daemon rTorrent
Il s’agit de pouvoir lancer rTorrent « encapsulé » dans un « multiplexeur de terminaux » comme screen
; le script est basé sur celui proposé dans la documentation d’ubuntu-fr et celui-ci. Cependant, j’ai décidé de ne pas lancer rTorrent au démarrage du NAS mais à la demande.
J’ai donc créé le fichier /bin/drtorrent
:
sudo nano /bin/drtorrent
avec ce script :
#!/ffp/bin/sh# Start/Stop rtorrent sous forme de daemon.
NAME=drtorrent
SCRIPTNAME=/ffp/bin/$NAME
PATH=/ffp/bin:/ffp/sbin:/usr/sbin:/usr/bin:/bin:/opt/bin:/opt/sbin
case $1 in
start)
echo "Starting rtorrent... "
/ffp/bin/screen -fn -dmS rtd /opt/bin/rtorrent
echo "Terminated"
;;
stop)
if [ "$(ps aux | grep -e '.*rtorrent$' -c)" != 0 ]; then
{
echo "Shutting down rtorrent... "
killall -r "^.*rtorrent$"
echo "Terminated"
}
else
{
echo "rtorrent not yet started !"
echo "Terminated"
}
fi
;;
restart)
if [ "$(ps aux | grep -e '.*rtorrent$' -c)" != 0 ]; then
{
echo "Shutting down rtorrent... "
killall -r "^.*rtorrent$"
echo "Starting rtorrent... "
/ffp/bin/screen -fn -dmS rtd /opt/bin/rtorrent
echo "Terminated"
}
else
{
echo "rtorrent not yet started !"
echo "Starting rtorrent... "
/ffp/bin/screen -fn -dmS rtd /opt/bin/rtorrent
echo "Terminated"
}
fi
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart}" >&2
exit 2
;;
esac
Attention : il vous faudra sans doute modifier quelques lignes, notamment pour ce qui est des chemins vers les exécutables (remplacer /ffp/bin/
par /bin/
par exemple).
Une fois enregistré, il doit falloir le rendre exécutable :
sudo chmod +x /bin/drtorrent
Usage
Pour lancer rTorrent en background, il suffit de lancer la commande :
drtorrent start
Vous devriez avoir ce message :
Starting rtorrent...Terminated
Pour suivre nos téléchargement, il faut alors ouvrir le screen dans lequel le script a lancé rTorrent :
screen -x
Si vous avez plusieurs sessions screen, il convient de préciser le nom de la session utilisée par le script, rtd :
screen -x rtd
[En savoir plus sur screen sur la documentation d’ubuntu-fr].
Pour « quitter » cet écran, ou plutôt pour le « détacher », il faut utiliser la combinaison de touches Ctrl+a d. Pour véritablement quitter, c’est-à-dire arrêter rTorrent, on peut utiliser la combinaison Ctrl+q ou après l’avoir détaché, lancer la commande :
drtorrent stop
Un message, un commentaire ?