Obs.: Algumas distros possuem em seus repositórios o mbuffer para instalação. No Debian basta executarmos “apt install mbuffer” e teremos o mbuffer instalado. Não sendo necessário seguir a compilação abaixo.
mbuffer é uma ferramenta escrita em C para realizar buffering em stream de dados e possui uma grande quantidade de opções. Dentre elas:
- Suporte direto para conexão com outros alvos(target) via rede TCP
- habilidade de envio para vários targets em paralelo
- Limitação de taxa de I/O
- configurar tamanho do buffer
- multi-thread
Obs.: Objetivo final desse tutorial é apenas complementar os artigos que já publicamos falando sobre znapzend.
No site oficial o criador diz que fez para uso próprio esse programa. Ele usava para realização de backups em fita dat. Após implementar o suporte a conexão via rede passou a usar para transferir uma pastas e suas subpastas de uma máquina para outra.
Baixando mbuffer
- Acesse a página e baixe a versão atual que nesse momento é a “Version 20210209”. Irei baixar usando o wget.
Acesso minha pasta de downloadselder@server01:~$ cd downloads/
baixando usando wget
elder@server01:~/downloads$ wget http://www.maier-komor.de/software/mbuffer/mbuffer-20210209.tgz
- Extrairemos o conteúdo o arquivo(tarball) baixado
elder@server01:~/downloads$ tar xf mbuffer-20210209.tgz
- Acesse a pasta gerada
elder@server01:~/downloads$ cd mbuffer-20210209/
- Execute os comandos “./cocnfigure”, “make” e “make install” para compilarmos o programa mbuffer
elder@server01:~/downloads/mbuffer-20210209$ sudo ./configure
elder@server01:~/downloads/mbuffer-20210209$ sudo make
elder@server01:~/downloads/mbuffer-20210209$ sudo make install
Exemplos de Uso do mbuffer
Os exemplos abaixo foram tirados do manual(man mbuffer) do comando mbuffer e é os dados são enviados para fita dat, identificado nos exemplos pela variável $TAPE. Não uso Fita Dat há bastante tempo e acho que muitas pessoas também não. está caindo em desuso? Então mesmo assim deixo aqui os exemplos apenas por motivo de curiosidade.
- Fazer backup em uma fita fat($TAPE) usando tar. Nesse exemplo é usada arquivo de memória mapeada temporária(-t) com tamanho de 10 mega bytes(-m 10M) e começa após o buffer está preenchido com 80%(-P 80).
tar cf - minhaPasta | gzip | mbuffer -t -m 10M -P 80 -f -o $TAPE
- Usando mbuffer com 3 fitas para inserir(input) dados e extrair conteúdo na pasta corrente/atual
mbuffer -n 3 -i $TAPE | gzip -dc | tar xf -
- Usando mbuffer para escrever em múltiplos volumes de fita
tar cf - /usr | mbuffer -f -o $TAPE
Conclusão
mbuffer pode ser útil para outras ferramentas como tar ou até mesmo znapzend que é um programa escrito em perl para backups de sistemas de arquivos zfs.