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
                  

                    Aerya Oui effectivement, j'ai corrigé ça hier commit
                    ça sera pour la prochaine version.

                    Donnez-moi vos suggestions je vais rajouter la possibilité de log dans un fichier.

                    Merci.

                    Suggestions :

                    • Notification Email/Push en fin de cycle
                    • Cron (je pense surtout au Docker)
                    • Report en page HTML (ou PHP, j'suis pas raciste)

                      Aerya Cron (je pense surtout au Docker)

                      Pour le cron il vous suffit de rajouter une tâche cron dans votre crontab.
                      Y a des options qui le permettent, comme --assume-yes et --quiet qui vous seront utiles.

                      Aerya Report en page HTML (ou PHP, j'suis pas raciste)

                      Une interface web en gros?

                      Aerya Notification Email/Push en fin de cycle

                      Je vais voir comment je peux intégrer ça.

                      Sinon ça fonctionne bien chez vous? Vous avez pas d'erreur dans le listing des fichiers?