Pular para o conteúdo

Plugin BACULA

INTRODUÇÃO:

Pequena contribuição de três scripts para auxiliar de forma organizada e fácil na CRIAÇÃO e REMOÇÃO de CLIENTES para o SERVIDOR de backup BACULA.

SCRIPT 1:

criar_cliente.sh: este script gera um novo cliente ou gera e instala se usado com a opção "--instalar".

Ao executar, serão solicitadas informações do novo cliente como: nome, IP do cliente, IP do storage e o diretório do cliente que será backupeado. Após, serão criados dois arquivos .conf, um com a configuração padrão do cliente e outro com a configuração de storage.

Obs.: Os arquivos .conf gerados só serão vistos se a opção "--instalar" NÃO for usada. Se a opção "--instalar" for usada, os arquivos serão movidos para os respectivos diretórios.

Obs. 2: Caso um cliente seja instalado mais de uma vez (duplicando do nome) com mesmo nome, um erro será exibido ao reiniciar o Bacula. Se isso acontecer, basta executar o script "remover_cliente.sh" para limpar a duplicação.

Sintaxe:

# sh criar_cliente.sh (somente gera)
# sh criar_cliente.sh --instalar (gera e instala)

SCRIPT 2:

instalar_cliente.sh: somente instala (move para os devidos diretórios) os arquivos gerados pelo script "criar_cliente.sh".

Sintaxe:

# sh instalar_cliente.sh:

SCRIPT 3:

remover_cliente.sh: remove um ou mais clientes criado pelos scripts.

Sintaxe:

# sh remover_cliente.sh (mostrará opções para exclusão de clientes).

ESTRUTURA DE DIRETÓRIOS PADRÃO:

1 - /etc/bacula
2 - /etc/bacula/criar_cliente/
3 - /etc/bacula/clientes/
4 - /etc/bacula/storage_clientes/
5 - /etc/bacula/clientes.conf
6 - /etc/bacula/clientes_storage.conf

1 - bacula: /etc/bacula/ (padrão da instalação)
2 - criar_cliente: /etc/bacula/criar_cliente/ (local home dos scripts)
3 - clientes: /etc/bacula/clientes/ (local dos arquivos .conf com a configuração de cada novo cliente gerado pelo script)
4 - storage_clientes: /etc/bacula/storage_clientes/ (local dos arquivos .conf com as informações de onde será armazenado o backup de cada cliente).
5 - clientes.conf: /etc/bacula/clientes.conf (é a ligação entre o Bacula e os scripts)
6 - clientes_storage.conf: /etc/bacula/clientes_storage.conf (indica o diretório de armazenamento de cada cliente)

Aviso: Os scripts correspondem ao diretório de instalação padrão do Bacula, caso sua instalação seja diferente, deve alterar o valor das variáveis contida no cabeçalho de cada script, indicando o diretório correto da instalação.

ADICIONANDO O PLUGIN AO BACULA

Para instalar:

# sh INSTALAR_PLUGIN.sh

Obs.: Caso execute mais de uma vez a instalação do plugin, ligações duplicadas serão criadas causando erro na inicialização do Bacula. Se isso ocorrer, simplesmente execute o script abaixo para limpar as ligações, então volte e execute novamente o instalador.

Para remover:

# sh REMOVER_PLUGIN.sh

Obs.: A remoção não apaga arquivos, somente desfaz a ligação.

Nota:

- Os scripts usam dois arquivos modelo para gerar os novos clientes.
- Antes da utilização é necessário que o arquivo "nome_storage.conf" que fica em "/etc/bacula/criar_cliente/modelo/" seja alterado com o diretório de backup de sua preferência, acrescentando no final do diretório a palavra chave "nome", veja a seguir:

# vim /etc/bacula/criar_cliente/modelo/nome_storage.conf

Arhive Device = /MEU_DIRETORIO_DE_BACKUP/nome

Obs.: Repare que no final do diretório acima há a palavra chave "nome", ela é extremamente fundamental para a criação das pastas e arquivos de backup dos clientes.

Feito isso, entre no diretório "/etc/bacula/criar_cliente" e faça os testes.

# cd /etc/bacula/criar_cliente

Gerar:

# sh criar_cliente.sh

ou

Gerar e instalar:

# sh criar_cliente.sh --instalar

Instalar:

# sh instalar_cliente.sh

Remover:

# sh remover_cliente.sh

Espero de verdade que isso seja útil, nem que seja só para terem novas idéias.

Paz e bem, fiquem com Deus.

Marcelo Viana marceloviana
Hits: 5.827 Categoria: Shell Script Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

INTRODUÇÃO:

Pequena contribuição de três scripts para auxiliar de forma organizada e fácil na CRIAÇÃO e REMOÇÃO de CLIENTES para o SERVIDOR de backup BACULA.

SCRIPT 1:

criar_cliente.sh: este script gera um novo cliente ou gera e instala se usado com a opção "--instalar".

Ao executar, serão solicitadas informações do novo cliente como: nome, IP do cliente, IP do storage e o diretório do cliente que será backupeado. Após, serão criados dois arquivos .conf, um com a configuração padrão do cliente e outro com a configuração de storage.

Obs.: Os arquivos .conf gerados só serão vistos se a opção "--instalar" NÃO for usada. Se a opção "--instalar" for usada, os arquivos serão movidos para os respectivos diretórios.

Obs. 2: Caso um cliente seja instalado mais de uma vez (duplicando do nome) com mesmo nome, um erro será exibido ao reiniciar o Bacula. Se isso acontecer, basta executar o script "remover_cliente.sh" para limpar a duplicação.

Sintaxe:

# sh criar_cliente.sh (somente gera)
# sh criar_cliente.sh --instalar (gera e instala)

SCRIPT 2:

instalar_cliente.sh: somente instala (move para os devidos diretórios) os arquivos gerados pelo script "criar_cliente.sh".

Sintaxe:

# sh instalar_cliente.sh:

SCRIPT 3:

remover_cliente.sh: remove um ou mais clientes criado pelos scripts.

Sintaxe:

# sh remover_cliente.sh (mostrará opções para exclusão de clientes).

ESTRUTURA DE DIRETÓRIOS PADRÃO:

1 - /etc/bacula
2 - /etc/bacula/criar_cliente/
3 - /etc/bacula/clientes/
4 - /etc/bacula/storage_clientes/
5 - /etc/bacula/clientes.conf
6 - /etc/bacula/clientes_storage.conf

1 - bacula: /etc/bacula/ (padrão da instalação)
2 - criar_cliente: /etc/bacula/criar_cliente/ (local home dos scripts)
3 - clientes: /etc/bacula/clientes/ (local dos arquivos .conf com a configuração de cada novo cliente gerado pelo script)
4 - storage_clientes: /etc/bacula/storage_clientes/ (local dos arquivos .conf com as informações de onde será armazenado o backup de cada cliente).
5 - clientes.conf: /etc/bacula/clientes.conf (é a ligação entre o Bacula e os scripts)
6 - clientes_storage.conf: /etc/bacula/clientes_storage.conf (indica o diretório de armazenamento de cada cliente)

Aviso: Os scripts correspondem ao diretório de instalação padrão do Bacula, caso sua instalação seja diferente, deve alterar o valor das variáveis contida no cabeçalho de cada script, indicando o diretório correto da instalação.

ADICIONANDO O PLUGIN AO BACULA

Para instalar:

# sh INSTALAR_PLUGIN.sh

Obs.: Caso execute mais de uma vez a instalação do plugin, ligações duplicadas serão criadas causando erro na inicialização do Bacula. Se isso ocorrer, simplesmente execute o script abaixo para limpar as ligações, então volte e execute novamente o instalador.

Para remover:

# sh REMOVER_PLUGIN.sh

Obs.: A remoção não apaga arquivos, somente desfaz a ligação.

Nota:

- Os scripts usam dois arquivos modelo para gerar os novos clientes.
- Antes da utilização é necessário que o arquivo "nome_storage.conf" que fica em "/etc/bacula/criar_cliente/modelo/" seja alterado com o diretório de backup de sua preferência, acrescentando no final do diretório a palavra chave "nome", veja a seguir:

# vim /etc/bacula/criar_cliente/modelo/nome_storage.conf

Arhive Device = /MEU_DIRETORIO_DE_BACKUP/nome

Obs.: Repare que no final do diretório acima há a palavra chave "nome", ela é extremamente fundamental para a criação das pastas e arquivos de backup dos clientes.

Feito isso, entre no diretório "/etc/bacula/criar_cliente" e faça os testes.

# cd /etc/bacula/criar_cliente

Gerar:

# sh criar_cliente.sh

ou

Gerar e instalar:

# sh criar_cliente.sh --instalar

Instalar:

# sh instalar_cliente.sh

Remover:

# sh remover_cliente.sh

Espero de verdade que isso seja útil, nem que seja só para terem novas idéias.

Paz e bem, fiquem com Deus.

Download plugin_bacula.tar.gz Enviar nova versão

Esconder código-fonte

##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Use o script 'instalar_cliente.sh' para completar a operacao" fi } instalar (){ mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome.conf $clientes/ cp  $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome gerado e instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit } if [ -z $parametro ]; then parametro=1 gerar else if [ $parametro = "--instalar" ]; then parametro=0 gerar else echo "O parametro correto é: --instalar" fi fi # É o Senhor que mostra os caminhos. ##SCRIPT 2 (INSTALAR_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP/ clientes=/etc/bacula/clientes clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf conf=.conf echo "Nome do cliente:" read novo_nome if [ -e $novo_nome$conf ]; then mkdir $bkp_home/$novo_nome > /etc/null cp $novo_nome$conf $clientes/ cp $novo_nome$storage $clientes_storage/ echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente $novo_nome instalado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" echo "Reinicie o bacula." rm $home/*.conf exit else echo "
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Cliente $novo_nome nao encontrado!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m" fi # É o Senhor que mostra os caminhos. ##SCRIPT 3 (REMOVER_CLIENTE.SH): #!/bin/bash home=/etc/bacula/criar_cliente bkp_home=/MEU_DIRETORIO_DE_BACKUP clientes=/etc/bacula clientes_storage=/etc/bacula/storage_clientes storage=_storage.conf opc=d listar (){ echo "Listando clientes..." sleep 3 leitura } leitura (){ grep -n $ $clientes/clientes.conf echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)" read num remover } remover (){ linhas=`grep -cv $= $clientes/clientes.conf` if [ $num -le $linhas ]; then num1=$num$opc sed -i $num1 $clientes/clientes.conf sed -i $num1 $clientes/clientes_storage.conf echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[32;1m Cliente removido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar else echo '
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[31;1m Numero ivalido!
##SCRIPT 1(CRIAR_CLIENTE.SH):

#!/bin/bash
parametro=$1
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
cd $home
gerar (){
echo "Nome do novo cliente:"
read novo_nome
echo "IP do novo cliente:"
read ip
echo "IP do storage (normalmente o IP do Bacula):"
read novo_ip_storage
echo "Senha do diretor - bacula-dir):"
read senha
echo "Diretorio do cliente a ser backupeado"
echo "Exemplos:"
echo "Para Windows: C:\\\\\\\\/pasta\\\\\\\/bkp"
echo "Para Linux: \\\\\\\\/home\\\\\\\\/user"
read caminho
cp $home/modelo/nome.conf $novo_nome.conf
cp $home/modelo/nome_storage.conf $novo_nome$storage
grep -l nome $novo_nome* | xargs sed -i s/nome/$novo_nome/g
grep -l ip $novo_nome* | xargs sed -i s/ip/$ip/g
grep -l endereco_storage $novo_nome.conf | xargs sed -i s/endereco_storage/$novo_ip_storage/g
grep -l 123456 $novo_nome* | xargs sed -i s/123456/$senha/g
grep -l caminho $novo_nome* | xargs sed -i s/caminho/$caminho/g
if [ $parametro = 0 ]; then
instalar
else
echo "{FONTE}33[32;1m Cliente $novo_nome gerado! {FONTE}33[m"
echo "Use o script 'instalar_cliente.sh' para completar a operacao"
fi
}
instalar (){
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome.conf $clientes/
cp  $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome.conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome gerado e instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
}
if [ -z $parametro ]; then
parametro=1
gerar
else
if [ $parametro = "--instalar" ]; then
parametro=0
gerar
else
echo "O parametro correto é: --instalar"
fi
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 2 (INSTALAR_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP/
clientes=/etc/bacula/clientes
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
conf=.conf
echo "Nome do cliente:"
read novo_nome
if [ -e $novo_nome$conf ]; then
mkdir $bkp_home/$novo_nome > /etc/null
cp $novo_nome$conf $clientes/
cp $novo_nome$storage $clientes_storage/
echo "@$clientes/$novo_nome$conf" >> $home/../clientes.conf
echo "@$clientes_storage/$novo_nome$storage" >> $home/../clientes_storage.conf
echo "{FONTE}33[32;1m Cliente $novo_nome instalado! {FONTE}33[m"
echo "Reinicie o bacula."
rm $home/*.conf
exit
else 
echo "{FONTE}33[31;1m Cliente $novo_nome nao encontrado! {FONTE}33[m"
fi
# É o Senhor que mostra os caminhos.




##SCRIPT 3 (REMOVER_CLIENTE.SH):

#!/bin/bash
home=/etc/bacula/criar_cliente
bkp_home=/MEU_DIRETORIO_DE_BACKUP
clientes=/etc/bacula
clientes_storage=/etc/bacula/storage_clientes
storage=_storage.conf
opc=d
listar (){
echo "Listando clientes..."
sleep 3
leitura
}
leitura (){
grep -n $ $clientes/clientes.conf
echo "Digite o numero do cliente que deseja remover:(ctrl+c para sair)"
read num
remover
}
remover (){
linhas=`grep -cv $= $clientes/clientes.conf`
if [ $num -le $linhas ]; then
num1=$num$opc
sed -i $num1 $clientes/clientes.conf
sed -i $num1 $clientes/clientes_storage.conf
echo '{FONTE}33[32;1m Cliente removido! {FONTE}33[m'
listar
else
echo '{FONTE}33[31;1m Numero ivalido! {FONTE}33[m'
listar
fi
}
listar
# É o Senhor que mostra os caminhos.




## OS ARQUIVOS MODELO:

##Modelo1 “nome_storage.conf”:
Device {
  Name = nome_storage_files
  Media Type = File
  Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome
  LabelMedia = yes;
  Random Access = Yes;
  AutomaticMount = yes;
  RemovableMedia = no;
  AlwaysOpen = yes;
}

##Modelo2 “nome.conf”:
Job {
  Name = "nome"
  Type = Backup
  Level = Incremental
  Client = nome-fd
  FileSet = "nome_fileset"
  Schedule = "WeeklyCycle"
  Storage = nome_storage
  Messages = Standard
  Pool = File
  Priority = 10
  Write Bootstrap = "/var/bacula/working/%c.bsr"
}
FileSet {
  Name = "nome_fileset"
  Include {
    Options {
      signature = MD5
    }
    File = "caminho"
  }
   Exclude {
   File = .tmp
}
}
Client {
  Name = nome-fd
  Address = ip
  FDPort = 9102
  Catalog = MyCatalog
  Password = "123456"
  File Retention = 30 days
  Job Retention = 6 months
  AutoPrune = yes
}
Storage {
  Name = nome_storage
  Address = endereco_storage
  SDPort = 9103
  Password = "123456"
  Device = nome_storage_files
  Media Type = File
}
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }
33[m' listar fi } listar # É o Senhor que mostra os caminhos. ## OS ARQUIVOS MODELO: ##Modelo1 “nome_storage.conf”: Device {   Name = nome_storage_files   Media Type = File   Archive Device = /MEU_DIRETORIO_DE_BACKUP/nome   LabelMedia = yes;   Random Access = Yes;   AutomaticMount = yes;   RemovableMedia = no;   AlwaysOpen = yes; } ##Modelo2 “nome.conf”: Job {   Name = "nome"   Type = Backup   Level = Incremental   Client = nome-fd   FileSet = "nome_fileset"   Schedule = "WeeklyCycle"   Storage = nome_storage   Messages = Standard   Pool = File   Priority = 10   Write Bootstrap = "/var/bacula/working/%c.bsr" } FileSet {   Name = "nome_fileset"   Include {     Options {       signature = MD5     }     File = "caminho"   }    Exclude {    File = .tmp } } Client {   Name = nome-fd   Address = ip   FDPort = 9102   Catalog = MyCatalog   Password = "123456"   File Retention = 30 days   Job Retention = 6 months   AutoPrune = yes } Storage {   Name = nome_storage   Address = endereco_storage   SDPort = 9103   Password = "123456"   Device = nome_storage_files   Media Type = File }

VPN automática entre sites

Script - Shell

Firewall utilizando iptables

Converter Arquivo RMVB para AVI

Instalador de programas

#1 Comentário enviado por danniel-lara em 05/11/2012 - 18:00h
Muito Bom o Script

Contribuir com comentário

Entre na sua conta para comentar.