Esta é a maneira mais rápida, fácil, automatizada e econômica de fazer backup quente de aplicações específicas: PostgreSQL, MySQL, Firebird, LDAP e VMs Xen e KVM; pacotes TAR com vários arquivos; e mais!
O plugin bpipe, escreve e lê e escreve a partir de um FIFO, sendo capaz de restaurar informações diretamente para a sua aplicação. Por exemplo: restaurar um banco de dados diretamente do Bacula, sem a necessidade de fazer qualquer outra operação. E você pode fazer isso com Bacula Comunidade ou Enterprise.
Este é um exemplo simples e intuitiva do que estou falando:
Plugin = "bpipe:/mnt/fifo/test.txt:/bin/echo fifo_teste:/usr/bin/tee /tmp/test.txt"
Qualquer informação que eu enviar embora o eco que vai, mas não é realmente armazenados no FIFO (/mnt/fifo/test.txt); ele é lido diretamente pelo Bacula e escrito em volume de backup. Você não usa o espaço em disco para isso.
Outro exemplo (empacotar a pasta /etc e descompactar automaticamente na restauração, em /tmp):
Plugin = "bpipe:/mnt/fifo/test.tar:/bin/tar -cf - /etc:/bin/tar -C /tmp -xvf -"
Para dumps do MySQL e restauração automatizada direto no serviço de banco:
Plugin = "bpipe:/mnt/fifo/heitorfaria.sql:mysqldump -u root -p123456 --databases heitorfaria:mysql -u root -p123456"
Exemplos práticos estão disponíveis nas minhas vídeo aulas Bacula bpipe no udemy.com (com desconto aqui), mas você também pode tentar a documentação oficial:
O plugin bpipe é fornecido no diretório src/plugins/fd/bpipe-fd.c da distribuição fonte Bacula. Quando o plugin é compilado e ligando para o objeto dinâmico resultante partilhado (DSO), que terá o nome bpipe-fd.so. Por favor note que este é um plugin muito simples que foi escrita para fins de demonstração e teste. É e pode ser utilizado na produção, mas que nunca foi realmente destinado.
O objetivo do plugin é fornecer uma interface para qualquer programa de sistema de backup e restauração. Tal como acima especificado o plugin bpipe é especificado na seção de recurso Incluir FileSet do seu trabalho. A sintaxe completa da directiva plugin como interpretado pelo plugin bpipe (cada plugin é livre para especificar o sytax como quiser) é:
Plugin = “field1: field2: field3: field4”
Ondefield1 é o nome do plugin sem o sufixo -fd.so, portanto, neste caso, colocaríamos bpipe neste campo.
field2 especifica o caminho para o fifo, que para bpipe é o caminho eo nome do arquivo pseudo em que o backup será salvo. Este caminho é o nome que será visto pelo usuário na árvore de restauração do arquivo. Por exemplo, se o valor for /MYSQL/regress.sql, os dados de backup pelo plugin será colocado sob esse caminho. Você deve ter cuidado para escolher uma convenção de nomenclatura que é exclusivo para evitar um conflito com um caminho e nome que realmente existe no seu sistema.
field3 para o plugin bpipe especifica o programa “leitor” que é chamado pelo plugin durante o backup para ler os dados. bpipe irá chamar este programa, fazendo um popen nele.
field4 para o plugin bpipe especifica o programa “escritor” que é chamado pelo plugin durante a restauração para gravar os dados de volta para o sistema de arquivos.
Por favor, note que durante dois itens acima descrevendo o “leitor” e campos “escritor”, esses programas são “executados” por Bacula, que significa que não há interpretação shell de quaisquer argumentos de linha de comando que você pode usar. Se você quiser usar caracteres shell (redirecionamento de entrada ou de saída, …), então nós recomendamos que você coloque o seu comando ou comandos em um shell script e executar o script. Além disso, se você backup de um arquivo com o programa do leitor, ao executar o programa escritor durante a restauração, Bacula não criará automaticamente o caminho para o arquivo. Ou o caminho deve existir, ou você deve fazê-lo explicitamente com seu comando ou em um script shell.O plugin bpipe é um programa genérico de tubo, que simplesmente transmite os dados de um programa especificado para Bacula para backup, e depois de Bacula para um programa específico para restauração.
Usando diferentes linhas de comando para bpipe, você pode fazer backup de qualquer tipo de dados (ASCII ou binário), dependendo do programa chamado.
Disponível em: PortuguêsEnglish (Inglês)Español (Espanhol)