Bacula gerando somente backup full

502 views
Skip to first unread message

Flavio Burgardt

unread,
Apr 13, 2016, 6:22:30 PM4/13/16
to Bacula Backup-Pt-Br
Boa noite. Configurei o bacula para rodar backups full no primeiro sábado do mês e diferenciais nos demais dias. Mas ele está gerando somente backups full.


Eis a saída do comando list jobs no console:

+-------+---------------+---------------------+------+-------+----------+----------------+-----------+
| JobId | Name          | StartTime           | Type | Level | JobFiles | JobBytes       | JobStatus |
+-------+---------------+---------------------+------+-------+----------+----------------+-----------+
|     7 | servidor-full | 0000-00-00 00:00:00 | B    | D     |        0 |              0 | C         |
|     1 | servidor-full | 2016-04-12 22:10:06 | B    | F     |        0 |              0 | f         |
|     2 | servidor-full | 2016-04-12 22:13:18 | B    | F     |  151,223 | 99,387,742,043 | T         |
|     3 | BackupClient1 | 2016-04-13 00:05:36 | B    | F     |        0 |              0 | f         |
|     4 | BackupCatalog | 2016-04-13 00:05:41 | B    | F     |        0 |              0 | f         |
|     5 | Restaurar     | 2016-04-13 18:00:02 | R    | F     |        0 |              0 | f         |
|     6 | servidor-diff | 2016-04-13 18:00:04 | B    | F     |        0 |              0 | R         |
+-------+---------------+---------------------+------+-------+----------+----------------+-----------+



Veja que a última linha (JobId 6) deveria ser diferencial, mas a coluna Level mostra "F" (full)

O que há de errado? Abaixo o bacula-dir.conf

#=================================== Director
Director {                          
  Name = aventador-dir
  DIRport = 9101               
  QueryFile = "/etc/bacula/scripts/query.sql"
  WorkingDirectory = "/var/lib/bacula"
  PidDirectory = "/var/run/bacula"
  Maximum Concurrent Jobs = 1
  Password = "1ZM9ENS28vxcIsi95RpqmBXgVp94HnUnW"    
  Messages = Daemon
  DirAddress = 127.0.0.1
}

#============================================================== JobDefs: Opcional
JobDefs {
  Name = "JobsPadrao"
  Type = Backup
  #Level = Differential ---------> Deixei comentado de propósito, já que o Level é definido no Job. Será que tem algo a ver??

  Client = aventador-fd
  FileSet = "ArquivosServidor"

  Schedule = "AgendaPadrao"

  Storage = MeuDestino
  Messages = Standard

  Priority = 10
  Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

#============================================================== FileSet
FileSet {
  Name = "ArquivosServidor"
  Include {
    Options {
      signature = MD5
      onefs = yes
    }
  File = /mnt/servidor/arquivos/
  }

}

#============================================================== Storage
Storage {
  Name = MeuDestino
  Address = localhost              
  SDPort = 9103
  Password = "FDUc5e0WbkSlVah0dFS0jKljOgT-ewGEU"
  Device = Destino
  Media Type = File
}

#============================================================== Agenda
Schedule {
  Name = "AgendaPadrao"
  Run = Differential Pool=Diario mon-fri at 18:00 #-------------> aqui, eu deveria por Level=Differential ou só escrever Differential já basta?
  Run = Level=Full Pool=Mensal 1st sat at 19:00
}

#============================================================== Pool
# backup diario
Pool {
  Name = Diario
  Pool Type = Backup
  Recycle = yes                      
  AutoPrune = yes                   
  Volume Retention = 31 days        
  LabelFormat = "Dif_Dia-"          
  Storage = MeuDestino
  Use Volume Once = yes
}


# backup mensal
Pool {
  Name = Mensal
  Pool Type = Backup
  Recycle = yes                   
  AutoPrune = yes                    
  Volume Retention = 365 days      
  LabelFormat = "Full_Mes-"
  Storage = MeuDestino
  Use Volume Once = yes
}

#============================================================== Jobs

Job {
  Name = "servidor-diff"
  JobDefs = "JobsPadrao"
  Schedule = "AgendaPadrao"
  Pool = Diario
  Level = Differential #---------------> Veja, defini o Level Differential aqui, mas ele faz backup full


}


Job {
  Name = "servidor-full"
  JobDefs = "JobsPadrao"
  Schedule = "AgendaPadrao"
  Pool = Mensal
  Level = Full
 
}


#================================================== F I M ====================

Que passa?

Abs.

Wanderlei

unread,
Apr 13, 2016, 7:19:24 PM4/13/16
to Bacula Backup-Pt-Br
Olá Flávio

Não é necessário configurar o Level no Job, mas recomendável colocar no JobDefs somente para fins de executar um backup manual por exemplo e ter um Level padrão.
Se você colocar o Level no Schedule ele vai sobrescrever o Level do Job quando executar o backup.

As 2 formas do schedule são aceitas com a palavra Level ou sem ele.

Sempre que fazer alguma alteração é preciso fazer um reload no bconsole para atualizar as configurações. Você fez isso?

Quando alterar Pools, é necessario executar o comando update
* update
2: Pool from resource

* update
1: Volume parameters
14: All Volumes from all Pools

Att Wanderlei

Flavio Burgardt

unread,
Apr 13, 2016, 7:40:14 PM4/13/16
to Bacula Backup-Pt-Br
Boa noite Wanderlei.

Eu não usei o reload no bconsole, mas reiniciei o fd, sd e director. Seria a mesma coisa?

Eu mandei cancelar este último job. E em seguida ele iniciou outro:

+-------+---------------+---------------------+------+-------+----------+----------------+-----------+
| JobId | Name          | StartTime           | Type | Level | JobFiles | JobBytes       | JobStatus |
+-------+---------------+---------------------+------+-------+----------+----------------+-----------+
|     1 | servidor-full | 2016-04-12 22:10:06 | B    | F     |        0 |              0 | f         |
|     2 | servidor-full | 2016-04-12 22:13:18 | B    | F     |  151,223 | 99,387,742,043 | T         |
|     3 | BackupClient1 | 2016-04-13 00:05:36 | B    | F     |        0 |              0 | f         |
|     4 | BackupCatalog | 2016-04-13 00:05:41 | B    | F     |        0 |              0 | f         |
|     5 | Restaurar     | 2016-04-13 18:00:02 | R    | F     |        0 |              0 | f         |
|     6 | servidor-diff | 2016-04-13 18:00:04 | B    | F     |        0 |              0 | A         |
|     7 | servidor-full | 2016-04-13 19:36:03 | B    | D     |       60 |    238,009,088 | T         |
+-------+---------------+---------------------+------+-------+----------+----------------+-----------+

Desta vez um o job que deveria (jobid 7) ser full (coluna Name) mas com o level Diferencial (coluna Level).
E o job anterior (jobid6, que eu cancelei) o contrário. É um job diferencial, mas com level Full.

Eu removi o Level dos Jobs e deixei apenas no Schedule. Vamos ver o que acontece.

Mas não entendi esse relatório do listjobs todo invertido :S

Não estou entendendo o que

Wanderlei Huttel

unread,
Apr 13, 2016, 8:27:14 PM4/13/16
to bacula-ba...@googlegroups.com
Olá Flávio

Alterações no bacula-dir.conf não precisa reiniciar, geralmente o reload recarrega as configurações certinho.
Se for no bacula-sd.conf ou bacula-fd.conf é necessário reiniciar os daemons.

Não tem nada invertido na lista de jobs.
A única coisa "estranha" é o nome dos teus Jobs, que não vão seguir o schedule, por isso eu disse para você dar um nome mais apropriado para o backup.

Tabela de JobStatus
+-----------+---------------------------------+
| JobStatus | JobStatusLong                   |
+-----------+---------------------------------+
| A         | Canceled by user                |
| B         | Blocked                         |
| C         | Created, not yet running        |
| D         | Verify found differences        |
| E         | Terminated with errors          |
| F         | Waiting for Client              |
| I         | Incomplete Job                  |
| M         | Waiting for media mount         |
| R         | Running                         |
| S         | Waiting for Storage daemon      |
| T         | Completed successfully          |
| a         | SD despooling attributes        |
| c         | Waiting for client resource     |
| d         | Waiting on maximum jobs         |
| e         | Non-fatal error                 |
| f         | Fatal error                     |
| i         | Doing batch insert file records |
| j         | Waiting for job resource        |
| m         | Waiting for new media           |
| p         | Waiting on higher priority jobs |
| s         | Waiting for storage resource    |
| t         | Waiting on start time           |
+-----------+---------------------------------+


Atenciosamente 

Wanderlei Hüttel

--
Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-p...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/674cf680-df57-470e-95d4-5ba70656e0bf%40googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.

Norberto Aquino

unread,
Apr 14, 2016, 12:51:47 AM4/14/16
to bacula-ba...@googlegroups.com


Configure 1 job apenas com um nome apropriado. Não é necessário configurar 2 Jobs.

O schedule é que tem que ser configurado com os levels correspondentes

> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/CADOApSA3dJ1axFjZh8-bWtSg5cq98xNMc4kUYzw5Tr%3DRLdTBGg%40mail.gmail.com.

Flavio Burgardt

unread,
Apr 14, 2016, 7:43:20 AM4/14/16
to Bacula Backup-Pt-Br
Bom, eu fiz a alteração. Deixei somente um job chamado "servidor". Ao reiniciar o director, ele me dá uma mensagem dizendo que este job não tem pool. Parece que é obrigatório definir uma Pool no Job. É isso?

Coloquei uma pool (Diario) só para consegui reiniciar o director.

Aí o Schedule que ficou responsável pelos Levels e Pools.

Veja:
Schedule {
 
Name = "AgendaPadrao"
 
Run = Level=Differential Pool=Diario mon-fri at 08:22

 
Run = Level=Full Pool=Mensal 1st sat at 19:00
}


Fiz um teste para um diferencial para as 08:22. Mas ele fez um Full. A Label saiu direitinho (Dia-Diff, que foi o nome que dei para Diário-Diferencial). Isso significa que pegou a Pool certinha. Mas o Level não pegou corretamente. Fez Full ao invés de diferencial. Por que?

No log, uma linha diz assim:

  Backup Level:           Full (upgraded from Differential)
 
Client:                 "debian-testes-fd" 5.2.6 (21Feb12) x86_64-pc-linux-gnu,debian,jessie/sid
 
FileSet:                "ArquivosServidor" 2016-03-28 19:37:47
 
Pool:                   "Diario" (From Run pool override)


Diz que o "Backup Level" foi atualizado para full do diferencial?

>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-pt-br+unsub...@googlegroups.com.


>> Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
>> Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.
>> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/674cf680-df57-470e-95d4-5ba70656e0bf%40googlegroups.com.
>>
>> Para mais opções, acesse https://groups.google.com/d/optout.
>
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.

> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-pt-br+unsub...@googlegroups.com.

Norberto Aquino

unread,
Apr 14, 2016, 9:07:18 AM4/14/16
to bacula-ba...@googlegroups.com

Quando não existe um full anteriormente criado ele sempre vai fazer um full

Roda um full primeiro e depois roda um diferencial

>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-p...@googlegroups.com.


>> Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
>> Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.
>> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/674cf680-df57-470e-95d4-5ba70656e0bf%40googlegroups.com.
>>
>> Para mais opções, acesse https://groups.google.com/d/optout.
>
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.

> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-p...@googlegroups.com.

--
Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-p...@googlegroups.com.

Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.

Flavio Burgardt

unread,
Apr 14, 2016, 9:53:48 AM4/14/16
to Bacula Backup-Pt-Br
Na verdade ele já tinha gerado outros Full anteriormente

>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-pt-br+unsub...@googlegroups.com.


>> Para postar nesse grupo, envie um e-mail para bacula-ba...@googlegroups.com.
>> Acesse esse grupo em https://groups.google.com/group/bacula-backup-pt-br.
>> Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/bacula-backup-pt-br/674cf680-df57-470e-95d4-5ba70656e0bf%40googlegroups.com.
>>
>> Para mais opções, acesse https://groups.google.com/d/optout.
>
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.

> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-pt-br+unsub...@googlegroups.com.

--
Você recebeu essa mensagem porque está inscrito no grupo "Bacula Backup-Pt-Br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para bacula-backup-pt-br+unsub...@googlegroups.com.

Flavio Burgardt

unread,
Apr 15, 2016, 10:24:04 AM4/15/16
to Bacula Backup-Pt-Br
Bom dia!

Acho que o problema era realmente o reload. Usei este comando pelo bconsole e ele fez os backups full e diferenciais corretamente. Achei que reiniciando o deamon director já era suficiente.

Sobre ele gerar o full no lugar do diferencial, acontece que mudei o nome do Job. Então, pelo que entendi, o bacula não encontra uma sequencia de backups com o nome novo e começa a partir de um full. Depois deste full o bacula passou a gerar os diferenciais.

Creio que seja isto, não?

Abs.
Reply all
Reply to author
Forward
0 new messages