Estou executando o CentOS 5.7 e tenho um utilitário de backup que tem a opção de despejar seu arquivo de backup stdout
. O arquivo de backup é bastante grande (vários gigabytes). O destino é um sistema de arquivos SSHFS. Para garantir que eu não monopolize a largura de banda e prejudique o desempenho da rede, gostaria de limitar a velocidade com que os dados são gravados no "disco".
Como posso limitar a capacidade com stdout
base em um número de bytes? Por exemplo, limitando a capacidade de um processo de gravar para cerca de 768Bps.
stdout
, a pergunta anterior era sobre limitação de tráfego de rede. Diferentes animais ...stdout
é diferente de limitar a largura de banda. Só porque o problema subjacente é o mesmo, não significa que os futuros visitantes não considerem cada questão útil independentemente da outra. Lembre-se de que as perguntas e respostas são tanto para os googlers quanto para os que fazem perguntas reais, e é por isso que excluir perguntas respondidas é um pecado tão importante aqui.Respostas:
Você pode adicionar uma ferramenta de limitação de taxa ao seu pipeline.
Por exemplo, existe uma
pv
que tem uma opção de limitação de taxa:Uma alternativa é a ferramenta
buffer
que possui:fonte
pv (visualização em tubo)
fonte
Eu ficaria tentado a despejar isso em um disco local em vez de gravá-lo diretamente no volume remoto. Dessa forma, você pode usar
rsync
com--bwlimit
para limitar facilmente a transferência.Um dos benefícios dessa abordagem é que, se houver um problema de conectividade com a máquina remota, a transferência será interrompida, mas o backup em si não explodirá em um incêndio de glória.
fonte
rsync
seja uma solução viável nessa situação bastante limitada em que me encontro. = |