Je le fais déjà via un outil externe mais ce serait plus simple de le mettre dans le Docker en effet.
https://mondedie.fr/d/11071-docker-rutorrent-auto-delete-selon-seedtime-et-ou-ratio-et-espace-disponible/3
rtorrent-cleaner un outil pour libérer de la place sur votre seedbox !
- Modifié
Salut @Magicalex
J'ai tenté de faire fonctionner mais il me dit que xmlrpc est absent...
J'ai tenté de trouver des solutions mais rien ...
Je peux le configurer en cron ? De quelle manière ?
Dans le même temps si qqn peut m'aider sur cette demande https://mondedie.fr/d/7099-script-de-suppression-hardlinks-files/7 ce ne serait pas de refus
Alandil Je peux le configurer en cron ? De quelle manière ?
Comme une tâche cron standard. Tu peux installer rtorrent-cleaner dans /usr/local/bin
Alandil J'ai tenté de faire fonctionner mais il me dit que xmlrpc est absent...
L'erreur semble claire non? il faut installer l'extension php xmlrpc. Tu n'as pas du bien chercher un exemple ici https://github.com/Magicalex/rtorrent-cleaner/issues/4
La version 0.9.8 est sortie
Cette nouvelle version par rapport à la 0.9.7 améliore quelques points.
ça reste une version mineur qui corrige un bug.
- Mise à jour du Dockerfile. Je compile directement rtorrent-cleaner avec la technique du multi stage.
- bugfix: rtorrent-cleaner fonctionne maintenant quand il y a aucun torrent dans rtorrent.
- Mise en place de github action pour build l'image docker avec un cron tous les mois.
- Mise à jour des libs symfony.
Bonsoir,
Est-ce que c'est possible de faire fonctionner ce script quand on utilise des symlinks ? J'ai une erreur qui je pense vient de la.
SplFileInfo::getSize(): stat failed for ***
Salut,
Non ce n'est pas lié.
Quand on fouille un peu le net on voit très vite le rapport avec php.ini. Donc, d'après moi, la mémoire que tu alloues (ou pas, justement) à PHP.
https://github.com/Magicalex/rtorrent-cleaner#usage-with-docker
- Modifié
Bonsoir,
J'utilise l'image docker rutorrent de mondedié ; j'ai voulu tester le rtorrent-cleaner version docker, mais sans succès:
docker run -it --rm \
--link rutorrentjl:rtorrent \
--network compose_compose \
-e PHP_MEMORY_LIMIT=128M \
-e PHP_TIMEZONE=Europe/Paris \
-v /home/jeanluc/compose/rutorrent/rutorrentjl/data/downloads:/data/downloads \
-v /run/rtorrent:/run/rtorrent \
magicalex/rtorrent-cleaner:latest report /run/rtorrent/rtorrent.sock
┌───────────────────────────┐
│ rtorrent-cleaner - report │
└───────────────────────────┘
In Rtorrent.php line 21:
Unable to connect to rtorrent. No such file or directory (code: 2)
report [-f|--exclude-files EXCLUDE-FILES] [-d|--exclude-dirs EXCLUDE-DIRS] [-l|--log [LOG]] [--] <scgi>
Mon container "rutorrentjl" tourne pourtant:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e2db668cbd8 mondedie/rutorrent:latest "/usr/local/bin/star…" 11 hours ago Up 11 hours 8080/tcp, 0.0.0.0:45752->45752/tcp rutorrentjl
--link rutorrentjl:rtorrent ==> rutorrentjl est bien le nom du container
--network compose_compose ==> le nom du réseau sous lequel tourne aussi rutorrentjl
-v /home/jeanluc/compose/rutorrent/rutorrentjl/data/downloads:/data/downloads ==> mon path local vers le path de down du container
-v /run/rtorrent:/run/rtorrent ==> path local vers path container contenant rtorrent.sock
J'ai eu beau relire le github, je ne comprends pas.
Merci pour vos lumières.
Il faut que tu rajoutes un point de montage à ton image rutorrent, pour que le socket apparaisse sur l'hôte :
-v /run/rutorrent:/run/rutorrent
tu dois voir le fichier /run/rutorrent/rtorrent.sock sur ton hôte si tu veux que ça marche, avant de lancer rtorrent-cleaner
- Modifié
Salut MagicAlex,
après 2 ans d'usage de ma seedbox, j'essaie de faire un cleaning de celle-ci mais je me retrouve confronter à une erreur que j'ai du mal à corriger.
root@Debian-103-buster-64-minimal ~ # rtorrent-cleaner report --exclude-dirs=Musique 127.0.0.1:5001
┌───────────────────────────┐
│ rtorrent-cleaner - report │
└───────────────────────────┘
████████████████████████████ 100%
remaining time: < 1 sec
status: completed successfully!st from rtorrent...
In RecursiveDirectoryIterator.php line 48:
RecursiveDirectoryIterator::__construct(/home/username/torrents/Musique/sonicbrat - Stranger to my room (2013) [FLAC] {AMIP-0037}): Failed to open directory: Too many open files
report [-f|--exclude-files EXCLUDE-FILES] [-d|--exclude-dirs EXCLUDE-DIRS] [-l|--log [LOG]] [--] <scgi>
J'essaie de contourner la difficulté en excluant le dossier "Musique" que je ne souhaite pas vérifier dans tous les cas mais l'argument n'a pas l'air d'être pris en compte.
Pour un info le dossier mis en cause n'a a priori pas de différences avec les autres.
Est-ce que tu aurais une piste ?
Merci d'avance,
Caserio
10-20 000 environ
- Modifié
Merci pour ta réponse. Je pensais que c'était seulement pour l'utilisation sous docker. J'ai fait une install classique avec l'archive de type Phar.
En vérifiant mon fichier php.ini (version 8.1 mais c'est pareil pour la v.7 et les autres) j'ai ceci
; Maximum amount of memory a script may consume
; https://php.net/memory-limit
memory_limit = -1
Et en me référant à la doc php, il n'y a donc pas de limite à l'utilisation de la mémoire par un script.
Est-ce que c'est cette valeur qui est prise en compte ou je dois modifier autre chose ?
Merci de ton aide.
Caserio ça marche.
C'est une limite du système tu peux régler le problème de cette manière je pense (voir le lien) https://support.axway.com/kb/101749/language/en
Je mets l'explication ici :
Le système a des limites de sécurité pour pas ouvrir trop de fichier en même temps.
Pour voir les limites ulimit -aS
Pour connaitre la limite maximum ulimit -aH
Pour augmenter la limite à 30000 par exemple
# vim /etc/security/limits.conf
soft nofile 30000
hard nofile 30000
Bonjour,
petite réponse tardive, j'étais pris ailleurs.
j'ai modifié autrement la limite autrement, de manière temporaire de la façon suivante :
- Connaître la soft limit
ulimit -n
- La modifier
ulimit -n 30000
J'ai mis 30.000 dans mon cas pour être large. Cette commande ne modifie la limite que pour le temps où le terminal est ouvert et revient à sa valeur initiale par la suite. J'ai pu vérifier ça.
Sinon l'outil fonctionne impecc (500 Go de nettoyé !). Merci beaucoup !
jean-luc
J'ai essaye la commande mais je n'arrive pas a le faire marcher
$ docker run -it --rm \
--link rt_batis:rtorrent \
--network rutorrent-net \
-e PHP_MEMORY_LIMIT=256M \
-e PHP_TIMEZONE=Europe/Paris \
-v /home/batis/rutorrent/data/downloads:/data/downloads \
-v /run/rtorrent:/run/rtorrent \
-v /run/rutorrent:/run/rutorrent \
magicalex/rtorrent-cleaner:latest report /run/rtorrent/rtorrent.sock
┌───────────────────────────┐
│ rtorrent-cleaner - report │
└───────────────────────────┘
In Rtorrent.php line 21:
Unable to connect to rtorrent. No such file or directory (code: 2)
report [-f|--exclude-files EXCLUDE-FILES] [-d|--exclude-dirs EXCLUDE-DIRS] [-l|--log [LOG]] [--] <scgi>
Sachant que mon instance rt_batis
de mondedie/rutorrent
tourne en mode swarm, j'ai essaye de lancer rt-cleaner
en mode swarm egalement mais links
n'est pas supportee!!
rt-cleaner-batis:
image: magicalex/rtorrent-cleaner:latest
environment:
PHP_MEMORY_LIMIT: '256M'
PHP_TIMEZONE: 'Europe/Paris'
networks:
- rutorrent-net
volumes:
- "/home/batis/rutorrent/data/downloads:/data/downloads"
- "/run/rtorrent:/run/rtorrent"
- "/run/rutorrent:/run/rutorrent"
# links: # pas dispo en mode swarm :x
# - "rt_batis:rtorrent" # nom du contenair rutorrent
Qulqu'un aurait une idee comment faire autrement ?
Il faut exposer ton /run/rutorrent du container rutorrent sur ton hôte (par exemple avec - v /run/rutorrent:/run/rtorrent)
Il faut ensuite monter ça dans le /run/php du container rtorrent cleaner (-v /run/rutorrent:/run/php) et appeler rtorrent cleaner en rajoutant le parametre /run/php/rtorrent.sock :
docker run -it --rm \
-v /home/seed/local/rutorrent:/home/seed/local/rutorrent \
-v /run/rutorrent:/run/php \
magicalex/rtorrent-cleaner report /run/php/rtorrent.sock
tu change le "report" dans la commande que tu veux (rm, torrents, etc...)
Merci Merrick, j'ai pige maintenant
Bonsoir,
Merci @Magicalex pour cet outil, excellente idée !
J'ai un petit souci.
Quand je tape la commande : rtorrent-cleaner report ~/.config/rtorrent/socket
Il me liste bien les fichiers qui ne sont plus rattachés à un torrent, mais aussi des fichiers encore seedés...
Je pensais que ça venait de certains dossiers que j'ai nommé ainsi : -TV_SHOWS
(avec un tiret devant) mais ça le fait avec des fichiers dans mon dossier de download et nommés en anglais, donc sans caractères spéciaux.
Peut-être un rapport avec mon fichier socket
ou parce que j'ai trop de sous dossier...
Quelqu'un a déjà eu ce souci ?