For some reason, my backups suddenly failed after I set up two storage
sections pointing at the same storage client (the idea was that one was
for clients to back up using the VPN and the order for clients to use
directly). I might have made some other changes as well.
My backup directory is an SMB mount owned by bacula and is writable. I
can create files in it by hand, even bacula can create a file when I run
label in the console.
My questions:
1. Below is the debug info. How do I determine why the device is not
visible to bacula? What could be going on here?
2. How do I re-initiase my bacula database (without wiping my backups).
I am on an ubuntu feisty system.
Thanks,
Pieter
debug in bacula console increased for file storage:
==============================================
Device status:
Archive "FileStorage" is not open or does not exist.
Configured device capabilities:
EOF BSR BSF FSR FSF EOM REM RACCESS AUTOMOUNT LABEL !ANONVOLS !
ALWAYSOPEN
Device status:
!OPENED !TAPE !LABEL MALLOC !APPEND !READ !EOT !WEOT !EOF !NEXTVOL !
SHORT !MOUNTED
Device parameters:
Archive name: /backup Device name: FileStorage
File=0 block=0
Min block=0 Max block=0
/etc/bacula-sd.conf
=======================
#
# Default Bacula Storage Daemon Configuration file
#
# For Bacula release 1.36.3 (22 April 2005) -- debian testing/unstable
#
# You may need to change the name of your tape drive
# on the "Archive Device" directive in the Device
# resource. If you change the Name and/or the
# "Media Type" in the Device resource, please ensure
# that dird.conf has corresponding changes.
#
Storage { # definition of myself
Name = raid1-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
}
#
# List Directors who are permitted to contact Storage daemon
#
Director {
Name = raid1-dir
Password = ""
}
#
# Restricted Director, used by tray-monitor to get the
# status of the storage daemon
#
Director {
Name = raid1-mon
Password = ""
Monitor = yes
}
Device {
Name = FileStorage
Media Type = File
Archive Device = /backup
LabelMedia = yes; # lets Bacula label unlabeled
media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = yes;
AlwaysOpen = no;
}
#
# Send all messages to the Director,
# mount messages also are sent to the email address
#
Messages {
Name = Standard
director = raid1-dir = all
}
/etc/bacula/bacula-dir.conf
===========================================
# Default Bacula Director Configuration file
#
# The only thing that MUST be changed is to add one or more
# file or directory names in the Include directive of the
# FileSet resource.
#
# For Bacula release 1.36.3 (22 April 2005) -- debian testing/unstable
#
# You might also want to change the default email address
# from root to your address. See the "mail" and "operator"
# directives in the Messages resource.
#
Director { # define myself
Name = raid1-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/scripts/query.sql"
WorkingDirectory = "/var/lib/bacula"
PidDirectory = "/var/run/bacula"
Maximum Concurrent Jobs = 1
Password = "" # Console password
Messages = Daemon
}
JobDefs {
Name = "DefaultJob"
Type = Backup
Level = Incremental
Client = raid1-fd
# FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = File
Messages = Standard
Pool = Default
Priority = 10
}
#
# Define the main nightly save backup job
# By default, this job will back up to disk in /tmp
Job {
Name = "raid1"
Client=raid1-fd
JobDefs = "DefaultJob"
FileSet = "raid1"
Write Bootstrap = "/var/lib/bacula/raid1.bsr"
}
Job {
Name = "mac"
FileSet = "McFiles"
Client = mac-fd
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/mac.bsr"
}
#Job {
# Name = "mail"
# FileSet = "mail"
# Client = mail-fd
# JobDefs = "DefaultJob"
# Write Bootstrap = "/var/lib/bacula/mail.bsr"
#Storage = "File-vpn"
# Storage = "File"
#}
# Backup the catalog database (after the nightly save)
Job {
Name = "BackupCatalog"
JobDefs = "DefaultJob"
Level = Full
FileSet="Catalog"
Schedule = "WeeklyCycleAfterBackup"
# This creates an ASCII copy of the catalog
RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup -u bacula
-ppostcode"
# This deletes the copy of the catalog
RunAfterJob = "/etc/bacula/scripts/delete_catalog_backup"
Write Bootstrap = "/var/lib/bacula/BackupCatalog.bsr"
Priority = 11 # run after main backup
}
# Standard Restore template, to be changed by Console program
Job {
Name = "RestoreFiles"
Type = Restore
Client=raid1-fd
FileSet="raid1"
Storage = File
Pool = Default
Messages = Standard
Where = /tmp/bacula-restores
}
FileSet {
Name = "mail"
Include {
Options {
signature = MD5
}
File = /home/pieter
}
}
FileSet {
Name = "McFiles"
Include {
Options {
signature = MD5
}
File = /
}
Exclude {
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
# List of files to be backed up
FileSet {
Name = "raid1"
Include {
Options {
signature = MD5
}
File = /
File = /home
}
Exclude {
File = /proc
File = /tmp
File = /.journal
File = /.fsck
File = /backup
File = /home/movies
File = /home/test
File = /home/music
File = /home/freevo
File = /home/books
}
}
#
# When to do the backups, full backup on first sunday of the month,
# differential (i.e. incremental since full) every other sunday,
# and incremental backups other days
Schedule {
Name = "WeeklyCycle"
Run = Full 1st sun at 1:05
Run = Differential 2nd-5th sun at 1:05
Run = Incremental mon-sat at 1:05
}
# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Full sun-sat at 1:10
}
# This is the backup of the catalog
FileSet {
Name = "Catalog"
Include {
Options {
signature = MD5
}
File = /var/lib/bacula/bacula.sql
}
}
# Client (File Services) to backup
Client {
Name = raid1-fd
Address = raid1
FDPort = 9102
Catalog = MyCatalog
Password = "" # password for FileDaemon
File Retention = 30d
Job Retention = 30d
AutoPrune = yes # Prune expired Jobs/Files
}
Client {
Name = mac-fd
Address = mac.claassen.co.uk
FDPort = 9102
Catalog = MyCatalog
Password = ""
File Retention = 30d
Job Retention = 30d
AutoPrune = yes
}
Client {
Name = mail-fd
Address = monkey.musmato.com
FDPort = 9102
Catalog = MyCatalog
Password = ""i
File Retention = 30d
Job Retention = 30d
AutoPrune = yes
}
#Storage {
#Name = File-vpn
#address = raid1.musmato.com #vpn address
#SDPort =9103
#Password = ""
#Device = FileStorage
#Media Type = File
#
#}
# Definiton of file storage device
Storage {
Name = File
# Do not use "localhost" here
Address = raid1 # local network address
SDPort = 9103
Password = ""
Device = FileStorage
Media Type = File
}
# Generic catalog service
Catalog {
Name = MyCatalog
dbname = bacula; user = "bacula"; password = xxxxxxx
}
# Reasonable message delivery -- send most everything to email address
# and to the console
Messages {
Name = Standard
#
# NOTE! If you send to two email or more email addresses, you will need
# to replace the %r in the from field (-f part) with a single valid
# email address in boTH the mailcommand and the operatorcommand.
#
mailcommand = "/usr/lib/bacula/bsmtp -h xxxxx -f \"%r\" -s \"Bacula: %
t %e of %c %l\" %r"
operatorcommand = "/usr/lib/bacula/bsmtp -h xxxxxx -f \"%r\" -s
\"Bacula: Intervention needed for %j\" %r"
mail = xxxxxx = all, !skipped
operator = xxxxx = mount
console = all, !skipped, !saved
#
# WARNING! the following will create a file that you must cycle from
# time to time as it will grow indefinitely. However, it will
# also keep all your messages if they scroll off the console.
#
append = "/var/lib/bacula/log" = all, !skipped
}
#
# Message delivery for daemon messages (no job).
Messages {
Name = Daemon
mailcommand = "/usr/lib/bacula/bsmtp -h xxxxxxxxxxx -f \"%r\" -s
\"Bacula daemon message\" %r"
mail = xxxxxxxxxxxxx = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped
}
# Default pool definition
Pool {
Name = Default
Pool Type = Backup
Recycle = yes # Bacula can automa Volumes
AutoPrune = yes # Prune expired volumes
Maximum Volume Bytes = 5GB
#Volume Use Retention = 23h
Volume Retention = 60 days # one year
LabelFormat = "Vol"
Accept Any Volume = yes # write on any volume in the pool
}
#
# Restricted console used by tray-monitor to get the status of the
director
#
Console {
Name = raid1-mon
Password = ""
CommandACL = status, .status
}
