Bon bah excellent, ça marche impeccable...
J'ai cru à un nouveau bug tellement j'ai de trucs qui servent à rien mais non, cette fois-ci le ton script a raison ! Total recoverable space: 505.13 Go haha il était temps que je m'y mette 🙂
Le coup des missing files très bon aussi, ça m'a permis de capter que certains symlinks avaient sauté lors de ma dernière migration hative...
Bref merci à toi ça tue, et ça va plutôt vite en plus !

    kokogakayui t'as mis combien de temps et avec combien de torrents?

    Vous avez l'option -v pour que le temps s'affiche sur la barre de progression.

    Maintenant tu peux tester la suppression des fichiers si tu veux.

    rtorrent-cleaner rm --url-xmlrpc=http://localhost:8888/RPC --home=/home/user/torrents

    et y a l'option --assume-yes pour les têtes brulées, ça supprime tous les fichiers qu'il trouve en trop sans confirmation. Vous avez intérêt à vérifier que le rapport ne dit pas n'importe quoi avant!!

    @kokogakayui et @Banip d'après vous sur les fichiers manquant (missing file)

    Je devrais arrêter le torrent et lancer une vérification forcé, ou alors supprimer le torrent dans rtorrent, ou tout simplement juste arrêter le torrent?

      Magicalex

      Alors chez moi ça a mis un peu moins de 7 minutes pour 4300+ torrents avec ton vhost nginx.
      Pour la fonction rm par contre je vais mabstenir et faire ça manuellement, vu que y'a pas mal de trucs que je veux récup en local avant, et d'autres que je garde pour mon plex même sans seed. Et le --assume-yes du coup ça sera sans moi aussi.

      Pour les missing files, moi la config report juste informative ça me va très bien. En l'occurence chez moi c'est certains torrents que j'avais rename en symlink pour pouvoir les crossseeder sur des trackers qui n'ont pas les mêmes normes. Les symlinks ont pété lors de ma dernière migration, j'ai juste à les remettre et c'est reparti.

      Par contre un truc qui pourrait être cool, c'est de pouvoir spécifier un nom de fichier, genre unseeded.txt, dans lequel on retrouverait l'output de ton script plutôt que directement dans le shell. Parce que dans mon cas, y'avait tellement de unnecessary files que je dépasse la limite d'affichage de mon shell, et je peux pas remonter jusqu'au début.
      Un autre truc qui pourrait être cool, qui s'applique uniquement aux boxs multi-users, ce serait une fonction qui permette de comparer mon dossier torrents avec celui de l'autre user de ma box. On a pas mal de goûts musicaux en commun, et du coup on a pas mal de doublons sur la box. Un truc qui supprime les fichiers de l'user2, et qui créée des symlinks ou hardlinks vers ceux de l'user principal ça pourrait être très cool. J'avais essayé de faire ça moi même à une époque, mais je maitrise pas assez et ça n'a jamais donné quelque chose de fonctionnel.

      EDIT : A la limite un truc qui pourrait être bien aussi, c'est une fonction qui permettre de déplacer tous les unnecessary dans un dossier donné, histoire de tous les centraliser et de les virer des dossiers de seed, sans pour autant les supprimer 🙂

        kokogakayui Par contre un truc qui pourrait être cool, c'est de pouvoir spécifier un nom de fichier, genre unseeded.txt, dans lequel on retrouverait l'output de ton script plutôt que directement dans le shell. Parce que dans mon cas, y'avait tellement de unnecessary files que je dépasse la limite d'affichage de mon shell, et je peux pas remonter jusqu'au début.

        Alors je comprend la partie ou tu as trop d'affichage, par contre j'ai pas compris ce que tu veux dire par : "spécifier un nom de fichier, genre unseeded.txt, dans lequel on retrouverait l'output de ton script plutôt que directement dans le shell"

        kokogakayui Un autre truc qui pourrait être cool, qui s'applique uniquement aux boxs multi-users, ce serait une fonction qui permette de comparer mon dossier torrents avec celui de l'autre user de ma box. On a pas mal de goûts musicaux en commun, et du coup on a pas mal de doublons sur la box. Un truc qui supprime les fichiers de l'user2, et qui créée des symlinks ou hardlinks vers ceux de l'user principal ça pourrait être très cool. J'avais essayé de faire ça moi même à une époque, mais je maitrise pas assez et ça n'a jamais donné quelque chose de fonctionnel.

        Ouais, y a pas besoin vraiment de se connecter à rtorrent pour faire ça.
        Je pense que cette fonction sera utilisé pas vraiment très très peu de personne.
        Sauf si la demande est forte je me vois pas coder ça.

        kokogakayui EDIT : A la limite un truc qui pourrait être bien aussi, c'est une fonction qui permettre de déplacer tous les unnecessary dans un dossier donné, histoire de tous les centraliser et de les virer des dossiers de seed, sans pour autant les supprimer 🙂

        Ah ça je valide, j'aime bien l'idée 😅
        je vois bien une commande du genre :

        rtorrent-cleaner mv --folder=/path/to/folder

          Magicalex
          Alors pour mon histoire d'affichage d'output, j'avoue c'était pas clair, mais l'idée est très simple. Juste un truc genre

          rtorrent-cleaner report --url-xmlrpc=http://localhost:8888/RPC --home=/home/koko/torrents --file=/home/koko/unseeded.txt -v

          qui permettrait de mettre tout le résultat du script (la liste des unecessary et des missing files) dans le fichier unseeded.txt.

          Pour ton rtorrent-cleaner mv --folder=/path/to/folder ouais je valide à fond!

          Et pour mon truc de comparaison de dossiers de plusieurs users, c'est sûr que c'est assez spécifique, mais comme ça reste dans l'idée de nettoyage et optimisation de la place sur la box je me disais que c'était cohérent héhé 🙂

          J'ai testé, la fonction rm fonctionne bien.

          Par contre dans le cas d'une série il faut supprimer chaque épisode et une fois fait le dossier existe toujours dans le système

          avant suppression : 
          /home/user/torrents/serie/episode
          Après suppression : 
          /home/user/torrents/serie/
          

          Du coup au lieu de supprimer chaque fichier d'un sous dossier, ne peut on pas supprimer le dossier ?

            Banip le script ne supprime que les fichiers en trop par rapport à rtorrent. Et il ne supprime que les dossiers vide. Si le dossier episode dans ton exemple n'est pas supp c'est qu'il reste des fichiers dedans.

            @Magicalex Je jure solennellement que le script ne supprime pas un dossier vide 🙁 peut être les espaces dans le nom de dossier ?

            root@server:/home/user/torrents# rtorrent-cleaner rm --url-xmlrpc=http://localhost:8888/RPC --home=/home/user/torrents -v
            ============================
            = REMOVE UNNECESSARY FILES =
            ============================
            
             -> Retrieving the list of concerned files.
            
             100/100 [============================] 100% 2 secs Completed!
            
            Are you sure you want to delete the /home/user/torrents/Space Colony Steam Edition - PLAZA/plaza.nfo file? [y|n] y
             -> file: /home/user/torrents/Space Colony Steam Edition - PLAZA/plaza.nfo has been removed
            Are you sure you want to delete the /home/user/torrents/Space Colony [...]laza-space.colony.steam.edition.iso file? [y|n] y
             -> file: /home/user/torrents/Space Colony [...]laza-space.colony.steam.edition.iso has been removed
            Are you sure you want to delete the /home/user/torrents/The.Elder.Scr[...]crolls.V.Skyrim.FRENCH-PiSTOLET.iso file? [y|n] ^C
            
            root@server:/home/user/torrents# ls Space\ Colony\ Steam\ Edition\ -\ PLAZA/ -la
            total 8
            drwxr-xr-x  2 mylene mylene 4096 Nov 28 14:41 .
            drwxr-xr-x 18 mylene mylene 4096 Nov 28 14:41 ..
            

              kris06800 tu peux essayer en php5 pour voir.

              Tu utilises quel version de php5? php -v

              Banip^C tu as arrêtés le script avant la fin avec ctrl+c
              Il faut que tu répondes à toutes les questions, tu peux faire entrer, entrer.. par défaut le script ne supprime pas le fichier.

                @Magicalex

                root@krisboxx:~# php -v
                PHP 5.6.38-1~dotdeb+7.1 (cli) (built: Sep 14 2018 10:54:46)
                Copyright (c) 1997-2016 The PHP Group
                Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
                with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies

                du coup tu penses faire aussi pour php 5 ?
                ensuite c'est un serveur avec plusieurs utilisateurs sa le fait pour tous les utilisateurs ou sa demande pour chaque utilisateurs ?

                  kris06800 non faut faire utilisateur par utilisateur.

                  Tente le coup en php 5.6, si tu as une erreur je vais voir ce que je peux faire.

                  @Magicalex voila le message d'ereur que j'obtiens dès le début :

                  root@krisboxx:~# mkdir /root/.composer && composer install -d /root/.composer
                  mkdir: cannot create directory `/root/.composer': File exists
                  root@krisboxx:~# composer install -d /root/.composer
                  Do not run Composer as root/super user! See https://getcomposer.org/root for details
                  Composer could not find a composer.json file in /root/.composer
                  To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
                  root@krisboxx:~#

                    kris06800 c'est bizarre ça.

                    tu peux essayer ça?

                    rm -Rf /root/.composer
                    mkdir /root/.composer && composer install -d /root/.composer
                    echo 'export PATH="$PATH:/root/.composer/vendor/bin"' >> /root/.bashrc
                    source /root/.bashrc

                    ensuite continue le tuto

                    5 jours plus tard

                    @Magicalex Tiens j'ai aussi une petite question par rapport à ton script. Je me suis rendu compte qu'une grand partie de mes unecessary files, c'était des fichiers sous-titre que plex me rajoute dans mes dossiers... Du coup les fichiers que je voudrais vraiment virer sont noyés dans la masse...Est-ce que tu vois un moyen simple qui permettrait d'ignorer certain types de fichiers, dans mon cas des .srt et .sub ?

                      kokogakayui J'ai ajouter ce que tu m'as demandé, une commande pour déplacer les fichiers et une option pour exclure certains fichiers

                      J'ai testé ça fonctionne
                      En gros l'option s'utilise comme ça --exclude=*.sub,*.str

                      Pour mettre à jour :

                      composer global remove magicalex/rtorrent-cleaner
                      composer global require magicalex/rtorrent-cleaner

                      Pour déplacer tous les fichiers en trop (il faut pas oublier de rajouter à chaque fois les option --url-xmlrpc et --home)

                      rtorrent-cleaner mv /path/to/your/folder

                      Il manque l'option pour demander des logs, je fais ça bientôt

                      Salut,

                      J'ai sortie une nouvelle version, la 0.2.1 qui supporte désormais php 5.6
                      La seul limitation c'est pour l'option --exclude=*.sub on peut utiliser que un seul pattern. Vous ne pouvez pas en indiquer plusieurs en les séparent par une virgule.

                      Pour mettre à jour

                      composer global update

                      Salut, il est très efficace, merci 🙂
                      Y'a juste une petite coquille dans le how to concernant mv & rm

                      Available commands:
                        help    Displays help for a command
                        list    Lists commands
                        mv      delete unnecessary files
                        report  create a report on unnecessary files
                        rm      delete unnecessary files