Flux RSS des billets

Derniers billets

Utiliser le daemon Bittorrent

Voyons un peu comment utiliser le daemon Bittorrent avec le fichier exécutable (Python) btlaunchmany, en ligne de commande donc, toujours sur une Debian Etch. Nous supposerons que le programme Bittorrent est installé (s’il ne l’est pas : # apt-get install bittorrent).

Préparation du terrain

Pour commencer nous allons créer deux répertoires : active et attente qui respectivement serviront comme dépôt des fichiers .torrent actuellement en téléchargement et des fichiers en attente d’être téléchargés. Le principe étant que lorsque l’on bascule toto.torrent dans active, le script l’ajoute automatiquement et le téléchargement débute. Pratique.
J’ai crée les miens à la racine de mon home.

Exécution de btlaunchmany

Nous pouvons maintenant lancer btlaunchmany (vous pouvez le trouver sur votre système avec l’extension python btlaunchmany.py parfois) qui va scruter le répertoire active et commencer le téléchargement des torrents présents :

$ ./btlaunchmany ~/torrents/active/ > torrent.log &

Pour éviter que le process ne s’arrête lorsque vous vous déconnectez, il suffit de doubler l’exécution en tâche de fond, comme ceci :

$ (./btlaunchmany ~/torrents/active/ > torrent.log 2>&1 &) &

Le deuxième &permet de dire au système que l’on désire que ce programme soit exécuté en tout temps, même lorsque l’utilisateur n’est plus connecté. Ceci en quelque sorte déconnecte le process du terminal en cours, le reléguant au process parent INIT. Le 2>&1 redirige la sortie d’erreur vers la sortie standard qui est redirigée vers le fichier torrent.log.
ps x vous montrera que le process btlaunchmany tourne bien.

Un petit tail torrent.log vous permet de voir l’évolution de vos téléchargements en cours, l’option -f continue d’afficher le contenu du fichier torrent.log tant qu’il s’accroît.

$ tail torrent.log
/home/fabien/p2p/active/a-torrent-currently-downloading.avi:
Spd: 0  B/s:146  B/s Tot: 56.8  M:18.5  M [4:41:33 38%]
All: Spd: 0  B/s:146  B/s Tot: 56.8  M:18.5  M
/home/fabien/p2p/active/a-torrent-currently-downloading.avi:
Spd: 0  B/s:139  B/s Tot: 56.8  M:18.5  M [4:41:33 38%]
All: Spd: 0  B/s:139  B/s Tot: 56.8  M:18.5  M
/home/fabien/p2p/active/a-torrent-currently-downloading.avi:
Spd: 0  B/s:132  B/s Tot: 56.8  M:18.5  M [4:41:33 38%]
All: Spd: 0  B/s:132  B/s Tot: 56.8  M:18.5  M

script de gestion du daemon

Voici le petit script que j’utilise pour gérer le daemon plus facilement :

#!/bin/sh
# Gestion du daemon btlaunchmany
# fabien a. [fabien@feub.net]
# avril 2007
PIDFILE="/home/fabien/p2p/btlaunchmany.pid"
DIR_P2P="/home/fabien/p2p"
DIR_ACTIVE="$DIR_P2P/active"
MAX_UPLOAD_RATE=0
torrents_start() {
echo "DEMARRAGE de btlaunchmany..."
(btlaunchmany $DIR_ACTIVE --max_upload_rate
$MAX_UPLOAD_RATE > $DIR_P2P/torrent.log 2>&1
& echo $! $PIDFILE) &
}
torrents_stop() {
echo "ARRET de btlaunchmany..."
if [ -r $PIDFILE ]; then
PID=`cat $PIDFILE`
kill $PID 2> /dev/null
fi
}
torrents_view() {
echo "TELECHARGEMENTS en cours :"
tail $DIR_P2P/torrent.log
}
case "$1" in
start)
torrents_start
;;
stop)
torrents_stop
;;
restart)
torrents_stop
torrents_start
;;
force-reload)
torrents_stop
torrents_start
;;
view)
torrents_view
;;
*)
echo "Usage: $0 {start|stop|restart|
force-reload|view}"
;;
esac

Note : Les anti-slash () indiquent juste que ce qui suit est sur la même ligne, ne pas le taper.

^.^

Les commentaires sont fermés.
eXTReMe Tracker