Merci !!!! @Magicalex 🙂

Je sais pas si je dois sourire ou pleurer... En tous cas je dois revoir mes scripts !

Total recoverable space | 1.85 To

    Aerya Dis moi si tu vois des erreurs dans les fichiers manquant et en trop, ça m'intéresse les utilisateurs comme toi qui ont beaucoup de données à traiter.

    Le script s'est exécuté assez rapidement?

    Ça va oui surtout que la machine en question est déjà bien occupée. J'ai pas d'erreur dans les fichiers qui sont à effacer.

       | Total recoverable space        | 1.84 To    |
    +------+---------------------------------------------------------------------------------------------------------+------------+
    
    No missing files.
    
    time: 8min 49sec 343ms, torrents: 439, free space: 3.1 To
    

    Les gens j'ai besoin de votre avis. Les options --scgi= et --port je ne peux pas les rendre obligatoire puisque comme leurs nom l'indique c'est des options... 😅
    Le problème c'est que sans ses options rtorrent-cleaner ne fonctionne, donc elles sont... obligatoire.

    Soit je crée un système de fichier de configuration par exemple ~/.rtorrent-cleaner.yml et on renseigne le hostname scgi/port/socket. Soit on passe tout en argument ou les deux.

    Par exemple

    rtorrent-cleaner report 127.0.0.1 5000 # cette syntaxe je l'a trouve pas très claire...
    rtorrent-cleaner report 127.0.0.1:5000
    rtorrent-cleaner report /run/php/.rtorrent.rc
    rtorrent-cleaner report --config=~/.rtorrent-cleaner.yml

    Voilà, j'aimerai bien avoir votre avis sur la question.

    Autant le passer en arguments, si jamais certains modifient le port voir l'IP (pour du distant).

      Aerya en distant rtorrent-cleaner ne fonctionne pas dans la mesure ou j'ai besoin d'avoir accès aux fichiers localement.
      A moins de me connecter en ssh mais bon...

        Magicalex Effectivement... mybad. Je l'aurais quand même passé en argument, ça me semble être le plus ouvert pour que chacun puisse l'adapter si besoin.

        Aerya ça m'a intrigué cette histoire de rtorrent-cleaner à distance.

        Du coup j'ai fais des tests et pour se connecter en sftp via php il existe une extension php-ssh2
        Voici un bout de code qui fonctionne avec la lib symfony/finder

        #!/usr/bin/env php
        <?php
        
        require 'vendor/autoload.php';
        
        use Symfony\Component\Finder\Finder;
        
        $session = ssh2_connect('domain.tld', 22);
        ssh2_auth_pubkey_file(
            $session,
            'username',
            '/home/username/.ssh/id_rsa.pub',
            '/home/username/.ssh/id_rsa'
        );
        
        $sftp = ssh2_sftp($session);
        
        $finder = new Finder();
        $finder->in('ssh2.sftp://'.intval($sftp).'/path/to/folder')->files()->depth(0);
        
        foreach ($finder as $file) {
            echo 'filename: '.$file->getPathname().PHP_EOL;
        }

        Je laisse ça ici, ça peut inspirer du monde. Mais perso je vais pas le rajouter au code sauf si quelqu'un fait une PR sur github.
        Je préviens, les performances sont pas folles en sftp et ça va complexifier grandement le fonctionnement de rtorrent-cleaner.

        Sinon je pense que tu as raison @Aerya je vais passer le paramètre en argument ça sera plus logique et élégant.

        🎉 J'ai sorti la version 0.9.4 🎉

        Cette nouvelle version par rapport à la 0.9.3 améliore quelques points

        • Le message d'erreur de connexion à rtorrent est plus explicite.
        • Suppression des options --scgi= et --port= par un argument.

        Pour la dernière amélioration ça peut paraître inutile mais en réalité c'était des options que je ne pouvais pas vous forcer à renseigner. Comme j'utilise symfony/console j'essaye de me conformer un maximum à la norme.

        Quelques exemples pour vous montrer ce qui change.

        rtorrent-cleaner report 127.0.0.1:5000 # hostname:port
        rtorrent-cleaner report --exclude-dirs=movies 127.0.0.1:5000
        rtorrent-cleaner report --exclude-files=*.srt /run/php/.rtorrent.sock
        
        rtorrent-cleaner rm /run/php/.rtorrent.sock
        
        rtorrent-cleaner torrents localhost:5000
        
        rtorrent-cleaner mv /run/php/.rtorrent.sock /home/user/old
        rtorrent-cleaner mv localhost:5000 /home/user/old

        Si vous avez des difficultés pour refaire fonctionner le script n'hésitez à vous manifester ici.

        Pour les boulets comme bibi il manque une option pour Quitter quand tu lances le rm sans le forcer... Parce que confirmer à la main 6000+ suppressions c'est long ^^ '

          Aerya tu parles de l'option --assume-yes ?

          rtorrent-cleaner rm --assume-yes /run/php/.rtorrent.sock

          Sinon tu fais ctrl+ c ou alors j'ai pas compris ta question.

          Le ctrl+C n'ayant pas fonctionné chez moi, j'ai pensé qu'il était opportun d'ajouter un Quit au Yes/No. Mais ça devait venir de la latence entre mon PC et le serveur.

            Aerya oui pourquoi pas c’est pas compliqué à ajouter. Je ferai ça pour la prochaine version. J’attends un peu les retours de tout le monde.

            21 jours plus tard

            🎉 La version 0.9.5 est sortie 🎉

            Cette nouvelle version par rapport à la 0.9.4 améliore quelques points

            • Refactorisation du code pour améliorer les performances
            • Ajout de la commande debug pour m'aider à trouver les bug à l'avenir
            • Ajout de la date à la fin du rapport
            • Ajout de l'option quit pour quitter le script @Aerya
            • Ajout d'un lien sur github pour me soutenir 💰😅

            Pour la commande debug, c'est un outil pour moi. Lorsque vous avez des résultats incohérents avec un torrent, donnez moi le retour de cette commande. Vous pouvez trouver le hash du torrent dans rutorrent (onglet General).

            rtorrent-cleaner debug 127.0.0.1:5000 <hash_du_torrent>

            🎉 La version 0.9.6 est sortie 🎉

            Cette nouvelle version par rapport à la 0.9.5 améliore quelques points

            • Changement du dépôt docker: docker pull magicalex/rtorrent-cleaner
            • Modification de la gestion des erreurs
            • Ajout de la variable d'environnement PHP_TIMEZONE pour avoir la bonne date à la fin du rapport
            • Petit fix de la fonction redownload() pour les torrents avec des fichiers manquants.

            ⚠️ Le dépôt de l'image docker a changé: https://hub.docker.com/r/magicalex/rtorrent-cleaner ⚠️

            docker pull magicalex/rtorrent-cleaner
            docker run -it --rm \
              -e PHP_MEMORY_LIMIT=128M \
              -e PHP_TIMEZONE=Europe/Paris \
              -v /path/to/rutorrent/downloads:/downloads \
              -v /run/php:/run/php \
              magicalex/rtorrent-cleaner:latest report /run/php/.rtorrent.sock

            Maintenant pour chaque version de rtorrent-cleaner il y aura un tag latest, 0.9.6, 0.9.7, etc.

            magicalex/rtorrent-cleaner:latest
            magicalex/rtorrent-cleaner:0.9.6
            4 jours plus tard

            Bonjour,
            Je l'ai installé mais j'ai ce message d'erreur quand je lance ne serait-ce que rtorrent-cleaner -h
            PHP Parse error: syntax error, unexpected '?', expecting variable (T_VARIABLE) in phar:///usr/local/bin/rtorrent-cleaner/vendor/symfony/console/Output/Output.php on line 40
            Je suis sous Debian 9, avec PHP 7
            Vous avez une idée de ce qui ne va pas ?
            Un grand merci !

              Merci beaucoup, fonctionne nickel et rend bien service !!!!

              Magicalex En fait, je n'avais pas installé la bonne version 😉 Marche très bien à présent, et merci !

                StillAlive Ok super, j'ai restauré ton message. Ca va servir à d'autre.

                Si tu repères des erreurs merci de me le faire remonter 😉