J'utilise CentOS 5.7 et j'ai un utilitaire de sauvegarde qui a la possibilité de vider son fichier de sauvegarde sur stdout
. Le fichier de sauvegarde est plutôt volumineux (plusieurs gigaoctets). La cible est un système de fichiers SSHFS. Pour ne pas monopoliser la bande passante et dégrader les performances du réseau, je voudrais limiter la vitesse d'écriture des données sur le "disque".
Comment puis-je limiter la capacité de stdout
basé sur un nombre d'octets? Par exemple, limiter la capacité d'un processus à écrire à environ 768 bits / s.
stdout
, la question précédente concernait la limitation du trafic réseau. Différentes bêtes ...stdout
est différente de la limitation de la bande passante. Ce n'est pas parce que le problème sous-jacent est le même que les futurs visiteurs ne trouveront pas chaque question utile indépendamment de l'autre. N'oubliez pas que les questions et réponses sont tout autant pour les googleurs que pour les véritables demandeurs, c'est pourquoi la suppression des questions répondues est un tel péché cardinal ici.Réponses:
Vous pouvez ajouter un outil de limitation de débit à votre pipeline.
Par exemple, il y a
pv
qui a une option de limitation de débit:Une alternative est l'outil
buffer
qui a:la source
Je serais tenté de vider cela sur un disque local au lieu de l'écrire directement sur le volume distant. De cette façon, vous pouvez utiliser
rsync
avec--bwlimit
pour limiter facilement le transfert.L'un des avantages de cette approche est que s'il y a un hoquet de connectivité avec la machine distante, le transfert est interrompu, mais la sauvegarde elle-même n'explose pas dans un éclat de gloire.
la source
rsync
soit une solution viable dans cette situation plutôt limitée dans laquelle je me trouve. = |pv (vue tuyau)
la source