Primeiramente aconselho criar um link no init para sua inicialização. Aconselho pois tive um problema criando no 
rc.d, criando um script para iniciar via 
rc.local, pois o daemon Bacula iniciava antes do banco de dados 
MySQL e assim seu processo automático não funcionava da maneira esperada.
Primeiro aconselho criar um link para o daemon Bacula, da seguinte maneira:
# cd /etc/rc.d
# ln -s /etc/bacula/bacula bacula
Depois dar o privilégio de execução:
# chmod +x /etc/rc.d/bacula
Configurar sua inicialização no nível gráfico e multiusuário:
# chkconfig bacula on --level 35
Pronto, seu serviço será reiniciado. Agora, se lembra logo acima quando disse sobre o Bacula iniciar antes do banco de dados MySQL? Aqui está a solução.
Você precisa somente retardar o tempo para início do serviço, colocando um "sleep" da seguinte maneira:
# vim /etc/bacula/bacula
Edite o arquivo e coloque isso logo em seu início:
#! /bin/sh
#
# bacula       This shell script takes care of starting and stopping
#              the bacula daemons.
#
#   This is pretty much watered down version of the RedHat script
#   that works on Solaris as well as Linux, but it won't work everywhere.
#
# description: It comes by night and sucks the vital essence from your computers.
#
# All these are not *really* needed but it makes it
#  easier to "steal" this code for the development 
#  environment where they are different.
#  
sleep 40
SCRIPTDIR=/etc/bacula
#
#
 
Com isso, em sua inicialização ele levará 30 segundos para o início da execução do daemon bacula.
Para esse exemplo estou configurando os daemons: Bacula File, Bacula Director e Bacula Storage no servidor.
Primeiro vamos abrir o arquivo 
bacula-dir.conf somente a princípio para definir nome e senhas do Bacula Director.
Logo do início do arquivo defina seu nome e senha. Ele é essencial, pois somente através dessa senha que o Bacula Director fará contato.
Logo em seguida vamos a configuração do Storage, edite o arquivo 
bacula-sd.conf.
Storage { # definition of myself 
  Name = serverbackup-sd
  SDPort = 9103 # A porta de trabalho
  WorkingDirectory = "/var/bacula/working"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
Aqui eu aconselho deixar em padrão como vem como default, o que tem a prestar atenção é no máximo de jobs.
# List Directors who are permitted to contact Storage daemon
#
Director {
  Name = serverbackup-dir
  Password = "dasdajkshdjkahsdukhakhduihauidhuiasd"
}
Aqui você usará as credenciais e senha gerados no arquivo 
bacula-dir.conf.
Logo após você criará as devices. Nesse ponto é possível configurar o backup para ser feito em disco, DVD, fita etc. Eu aconselho criar vários devices para a organização dos arquivos em pastas diferentes.
Device {
  Name = Pastadearmazenamentons01# Esse nome você usará no arquivo do Director 
  Media Type = File
  Archive Device = /backup/ns01
  LabelMedia = yes; # lets Bacula label unlabeled media 
  Random Access = Yes;
  AutomaticMount = yes; # when device opened, read it 
  RemovableMedia = no;
  AlwaysOpen = yes;
}
Para os diferentes tipos de mídia, o 
Bacula possui exemplos de configuração.
Configuração do Bacula File:
Abra o arquivo 
bacula-fd.conf. Esse é o arquivo que você configurará nas estações cliente, onde detém os arquivos a serem copiados.
Você precisará somente colocar o nome e senha do Director para permitir a comunicação entre o Bacula File e o Director. Logo após você deve colocar o nome para a estação cliente e gerar uma senha para ser configurada no Bacula Director para então fazer a cópia dos arquivos.
Configuração do Bacula Director
Abra o arquivo 
bacula-dir.conf. Como seu nome e chave foram gerados, vamos para a próxima etapa desse arquivo.
Vamos para a sessão "Job". O arquivo default vem com um job default. Mas vamos fazer um job completo sem depender dele.
Job {
   Name = "ns01" # Nome do job
   Type = Backup
   Level = Incremental
   Schedule = "FullSexta" # Aqui é o nome da configuração de dias e horários de backup 
   Client = ns01-fd # Nome dado ao cliente do bacula-fd.conf 
   Messages = Standard
   FileSet = "pastasns01" #Localização das pastas do cliente a serem copiadas. 
   Write Bootstrap = "/var/bacula/working/ns01.bsr"
   Priority = 10 
   Storage = Storagens01 # Gerado no bacula-fd.conf, local onde será salvo ou fita 
   Pool = Poolns01 # Local onde será configurado a reciclagem, máximo do tamanho do volume etc 
}
Logo após vamos configurar a localização das pastas que vamos copiar.
FileSet {
  Name = "pastasns01" #Copiar o nome dado logo na configuração do Job 
  Include {
     Options { signature = MD5 }
     File = /etc
     File = /var/lib/named
  }
}
	
Para máquinas Windows a barra continua no padrão do shell, e não como é no Windows.
File = "C:/Backup"
Vamos para a configuração do "Schedule", que é responsável pela programação dos dias e hora a ser feito o backup.
Schedule {
  Name = "FullSexta"
  Run = Full fri at 03:00
  Run = Incremental sat-thu at 03:05
}
Nesse exemplo estou fazendo a configuração para que ele faça o backup de todo o conteúdo das pastas às sextas-feiras. Nos outros dias ele vai copiar somente as mudanças realizadas em arquivos e pastas.
Então devemos configurar o cliente, lembre dos dados gerados no arquivo 
bacula-fd.conf.
Client {
  Name = ns01-fd
  Address = 192.168.0.52 # Sempre opte pelo o IP aqui 
  FDPort = 9102
  Catalog = MyCatalog
  Password = "senhaDoFileDaemon" # password for FileDaemon 
  File Retention = 30 days # Aqui será o tempo em que seu backup ficará retido 
  Job Retention = 6 months # O tempo que o trabalho ficará retido 
  AutoPrune = yes # Prune expired Jobs/Files 
}
A linha "File Retention" vai dizer o período de tempo em que os dados gravados serão mantidos na base de dados do catálogo. É importante ressaltar isso, pois somente dentro desse período é que o administrador poderá navegar no banco de dados e fazer a restauração dos arquivos individualmente. E por outro lado tem que se prestar atenção pois quanto maior for o período, maior ficará seu banco de dados, daí a importância da um bom período para a poda desses dados com o "Job Retention".
A "Job Retention" será o tempo em que ele os registros de backup serão mantidos na base de dados. Todos os arquivos salvos estão registrados a algum "job" realizado.
Este não poderá ser apagado nem pelo sistema nem pelo usuário. Isso será o tempo em que o trabalho será apagado do catálogo mas não será apagado os arquivos que foram copiados, neste caso ficarão disponíveis somente os detalhes sobre os trabalhos que derem certo, mas não detalhes dos arquivos que foram copiados. Nesse caso, pra um trabalho de restauração será necessário a restauração de todo o volume criado. A única forma de apagar seria via console pelo comando "Purge".
 
A linha "AutoPrune" será o tempo mínimo em que o volume será mantido antes de ser reutilizado. Quando esses arquivos são substituídos, os registros antigos no catálogo também são apagados.
Logo após é hora de configurar o "Storage":
Storage {
  Name = Storagens01 # Como na sessão "Job" 
 acima
  Address = 192.168.0.2 #  Opte pelo IP 
  SDPort = 9103
  Password = "SenhaDoStorage" # Senha e nome gerados no bacula-sd.conf 
  Device = Pastadearmazenamentons01# Nome do local onde será gravado o backup, verificar em bacula-sd.conf 
  Media Type = File
E por último chegou a hora de configurar a "pool".
Pool {
  Name = Poolns01
  Pool Type = Backup
  Recycle = yes                       
  AutoPrune = yes                   
  Volume Retention = 365 days         
  Maximum Volume Bytes = 100G          
  Maximum Volumes = 10
  LabelFormat = "Sec"
}
Essas opções são essenciais para a reciclagem de volumes antigos e liberando espaço para seus backups. Essas opções são importantes pois irá dizer o tempo em que terá a versão do arquivo mais velha pra restaurar, o tamanho máximo de cada volume e o número máximo de volumes a serem criados. A linha "LabelFormat" é importante pois não é necessário fazer o trabalho de montagem de volumes manualmente. Caso o tempo de retenção seja menor do que o período declarado na sessão cliente, o que terá efeito será a reciclagem.