● Korben
📅 28/04/2026 à 08:35
parallel-rsync - Empiler les rsync en parallèle sans galère - Korben
Géopolitique
👤 Korben ✨
parallel-rsync - Empiler les rsync en parallèle sans galère28 avril 2026 / PAR KORBEN ✨ / 3 MIN DE LECTURE /Catégories connexesCe qu’il faut retenirparallel-rsync est un utilitaire Python qui parallélise plusieurs jobs rsync via un ThreadPoolExecutor avec des caps globaux (--workers) et par hôte (--max-per-host) pour éviter de saturer un serveur uniqueLa config YAML centralisée remplace plusieurs scripts shell pour les synchros récurrentes, et le binaire universel généré par cosmofy s'exécute sur Windows, macOS et Linux sans installer Python, mais rsync doit rester présent sur la machine sourcePas de retry automatique en cas de déconnexion SSH : faut relancer manuellement, contrairement à des outils comme msrsync ou parsyncfp qui offrent d'autres stratégies de parallélisationRésumé généré par IAVous synchronisez 4 ou 5 dossiers vers plusieurs serveurs avec rsync ? Alors vous connaissez ce sketch quand un job mouline pendant que les autres font la queue, parce que rsync de base c'est mono-thread et ça avance en file indienne.Hé bien y'a un petit utilitaire Python qui dégoupille tout ça, pondu par overflowy. Ça s'appelle parallel-rsync et le nom annonce la couleur !L'idée c'est de pouvoir empiler plusieurs jobs rsync en parallèle, avec une config YAML pour piloter le tout. Vous décrivez vos sources et destinations dans sync.yml, vous lancez parallel-rsync -c sync.yml --workers 4 --max-per-host 2, et hop, ça parallélise.Le bougre tourne sur un ThreadPoolExecutor Python 3 qui spawn N processus rsync système avec un cap global et un cap par hôte. Et pendant ce temps, des barres de progression vous affichent l'avancement de chaque transfert sans que la console parte en sucette.La dernière fois, je vous parlais de rsyncy qui collait juste une barre de progression à un rsync solo mais là, on monte clairement d'un cran avec une orchestration multi-cibles.--workers cap c'est donc le nombre total de processus rsync simultanés (4 par défaut). --max-per-host limite la concurrence par destination (2 par défaut, histoire de ne pas saturer un seul serveur, parce que oui, balancer 8 rsync sur la même machine c'est juste se tirer une balle dans le pied côté I/O).--timeout met une laisse à chaque rsync, --dry-run ajoute le flag à toutes les commandes pour tester avant de tirer, et --no-progress débraye les barres si vous voulez juste les logs. Côté logging, --log-file et --log-level font également le job.Par contre y'a pas de retry automatique donc si une session SSH coupe en plein transfert, faudra relancer à la main. C'est logique mais un peu dommage.Sur un homelab, ce genre de config YAML permet de résoudre le problème des synchros récurrentes avec un seul fichier centralisé au lieu de 8 scripts shell. Votre navigateur ne supporte pas la lecture de vidéos HTML5. Voici un lien vers la vidéo. Notez aussi que le repo build un binaire universel via cosmofy , qui empaquette le tout en un exécutable cross-platform Windows, macOS et Linux d'un coup. Du coup, pas besoin d'installer Python sur la machine cible. Carrément pratique pour distribuer sur des serveurs où vous n'avez pas envie de gérer un environnement Python complet avec pip et un venv.Petit point d'attention quand même : rsync lui-même doit être installé sur la machine qui lance le binaire, ce qui est natif sous macOS et Linux mais nécessite WSL ou Cygwin sous Windows.Y'avait déjà msrsync qui découpe les transferts en buckets, parsyncfp qui s'appuie sur fpart pour grouper par taille, et la classique combine find . -type f | parallel -j10 rsync que tout sysadmin a bricolée un jour pour gratter de la bande passante. De son côté, overflowy se place plutôt sur le créneau "config déclarative" pour orchestrer plusieurs rsync entre sources et cibles.Le code est sous licence MIT et tout se passe sur le repo GitHub . A tester si vous orchestrez régulièrement plusieurs rsync à la main.Cet article peut contenir des images générées à l'aide de l'IA - J'apporte le plus grand soin à chaque article, toutefois, si vous repérez une boulette, faites-moi signe !Vous avez aimé cet article ?Alors rejoignez ma communauté sur Patreon et accédez à des articles exclusifs, des tutos avancés et plein d'autres surprises que je réserve à mes soutiens. C'est grâce à vous que je peux continuer à partager ma passion depuis 20 ans !Rejoindre l'aventure La clé de la réussite pour votre TPE/PME : les nouvelles offres o2switchContenu partenaireVous cherchez un hébergement web professionnel pour propulser votre entreprise ? Ne cherchez plus.Avec les nouvelles offres de o2switch, offrez à votre TPE/PME l'hébergement qu'elle mérite pour viser les sommets.Choisissez l'offre qui vous convient : Cloud avec 12 CPU et 48 Go de RAM à 1,86 € HT/mois, ou Pro avec 24 CPU et 64 Go de RAM à 6,25 € HT/mois. Stockez sans compter grâce à l'espace disque illimité en NVMe. Soyez serein avec des sauvegardes jusqu'à 90 jours (selon l'offre) et un support prioritaire 24/7 (N2 à N2+3 selon l'offre).Pilotez votre activité en ligne du bout des doigts, sans connaissances techniques, via l'interface cPanel. Site web, outils, emails... tout est centralisé !Le meilleur dans tout ça ? Les offres démarrent à seulement 1,86 € HT/mois. C'est le moment d'offrir à votre entreprise l'hébergement qu'elle mérite pour décoller. Avec o2switch, dites adieu aux problèmes techniques et bonjour à la croissance !Découvrez les nouvelles offres o2switch📬 La newsletter Korben — Un concentré de tech, d'actu et de bidouille dans votre boite mail. S'inscrire
🔗 Lire l'article original
👁️ 0 lecture