Je viens de déménager et j'ai découvert après quelques essais et erreurs que quelque part entre ma maison et mon serveur distant, il y avait une limitation en cours ... mais la limitation n'est pas très intelligente. Il limite uniquement les connexions individuelles. Donc, si je copie un fichier de 1 Go, il se déroulera gaiement à 150 kbps. Mais si j'initialise 10 copies, chacune d'entre elles ira à 150 kBps (c'est-à-dire que j'obtiens une bande passante agrégée beaucoup plus élevée sur plusieurs connexions).
J'utilise rsync assez souvent pour synchroniser certains grands ensembles de données du travail à la maison (heureusement sous la forme de nombreux fichiers). Existe-t-il un moyen de dire à rsync de télécharger en utilisant plusieurs connexions? Théoriquement, cela devrait être possible car, pour autant que je sache, rsync effectue d'abord une passe pour déterminer les changements nécessaires, puis effectue la transmission réelle. Points bonus s'il existe un moyen magique de dire à rsync de découper des fichiers individuels en N morceaux, puis de les recoller. Je crois que CuteFTP est en fait assez intelligent pour réussir cela.
la source
GNU Parallel a une solution .
J'ai déplacé 15 To à 1 Gbps et cela peut saturer le lien à 1 Gbps.
Ce qui suit démarrera un rsync par gros fichier dans src-dir vers dest-dir sur le serveur fooserver:
Les répertoires créés peuvent se retrouver avec des autorisations incorrectes et les fichiers plus petits ne sont pas transférés. Pour corriger ceux qui exécutent rsync une dernière fois:
la source
Oui. Une telle fonctionnalité existe.
Il existe un utilitaire appelé pssh qui fournit les fonctionnalités décrites.
Je ne sais pas à quel point il est facile à installer, mais cela pourrait bien faire l'affaire!
la source
Je ne peux pas commenter, j'ai donc ajouté une nouvelle réponse, avec un code un peu meilleur que le code précédent (agréable et intelligent).
Vérifiez la
rsync
ligne, car elle contient unionice
ajustement facultatif .la source
On dirait que quelqu'un a écrit cet utilitaire pour vous. Il rompt le transfert en morceaux parallèles. C'est une meilleure implémentation que la version "gros fichier parallèle" répertoriée sous GNU Parallel:
https://gist.github.com/rcoup/5358786
De plus, lftp peut paralléliser les transferts de fichiers via ftp, ftps, http, https, hftp, fish, sftp. Souvent, l'utilisation de lftp présente certains avantages, car la gestion des autorisations, des accès restreints, etc. pour rsync peut être difficile.
la source
Non. Une telle fonctionnalité n'existe pas. Vous pouvez diviser la synchronisation en plusieurs appels
rsync
si vous le souhaitez vraiment.Je vous suggère de trouver tout ce qui fait cette limitation de débit et d'avoir une conversation sérieuse avec celui qui l'entretient / le gère.
la source
Je voulais transférer plusieurs répertoires (avec de nombreux fichiers) en même temps, j'ai donc créé ce petit script:
J'ai fait ce script assez rapidement, alors veuillez le réviser et le tester avant de l'utiliser dans un environnement de production.
la source
J'ai créé le script suivant pour télécharger de nombreux dossiers avec des images en parallèle. Vous l'exécutez avec d'abord la cible de synchronisation, puis tous les noms de dossier à copier.
Il préfixe le nom du dossier en jaune sur toutes les sorties de la console rsync pour le rendre joli.
la source
Aria2 est un bon programme client pour télécharger des données en utilisant de nombreuses connexions à partir de nombreux miroirs. Il ne prend pas en charge SFTP. J'ai donc installé un serveur FTP - vsftpd . Ma connexion 3G fonctionne à pleine puissance avec 5 connexions au serveur FTP.
la source