2 mois plus tard

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.
un an plus tard

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 ***

3 mois plus tard

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

      Merrick
      Salut,
      Merci Merrick, effectivement, ça marche ...
      Je suis con quand même, comment veux tu que le container rtorrent-cleaner puisse joindre le sock du container rtorrent autrement !!!
      A++ et merci encore de m'avoir fait retrouver la vue..

      9 mois plus tard

      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

        12 jours plus tard
        5 jours plus tard

        Caserio ah ouais tu devrais augmenter la limite de mémoire à utiliser pour php. C’est écrit dans la doc pour modifier.

        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
          un mois plus tard

          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 :

          1. Connaître la soft limit

          ulimit -n

          1. 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 !

            Caserio 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.

            Top, ta solution est plus élégante.

            5 mois plus tard

            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 😅

            22 jours plus tard

            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 ?