Hi
We have an Ubuntu V6.06 (Dapper Drake) . The server is set up with Bacula
v1.38.11 to backup server data files. We are trying to set up Bacula to do
a full backup each night, and have set up 5 Pools, one for each working day
of the week with one tape labelled per pool, generally per
http://dna.dbi.udel.edu/manuals/bacula/Backup_Strategies.html.
We want to insert the relevant tape in each day, which we have already
labelled, and remove last night's back up. We don't want to have to relabel
or mount tapes etc each night. Problems are that the new tape a) doesn't
mount itself, and b) even if we mount it, the backup still fails unless we
intervene.
The only way we can get the backup to work correctly is if we use bconsole
as follows, with my comments in [ ] brackets::
[at this point we had loaded, then unmounted and mounted the new tape
(tuesday2, which is in TuesdayPool), before the backup jobs start]
* status 4
"dev/st0" is mounted with Volume tuesday2
Device is BLOCKED waiting for appendable media
..........
..........
You have messages
* messages
28/11/2006 servername-dir Start Bacula job ....
28/11/2006 servername-dir Pruned 1 job on Volume tuesday from catalog
28/11/2006 servername-dir Cannot find an appendable voulme.
Please use the "label" command to create a new volume for
Storage DDS-4
Media Type DDS-4
Pool TuesdayPool
[we then issue a "mount" command again, since the volume is already
labelled]
* mount
28/11/2006 servername-dir recycling volume tuesday2
28/11/2006 servername-dir device "dev/st0" all previous data lost
* status 4
[the first backup now starts and finishes ok, but it won't start the
second (Catalog) backup, for the same reasons as the first one intitially
failed]
The bacula-dir.conf file is shown below, with email and other identifiers
changed for security.
Any help will be gratefully received. This is our first Linux server and
first use of Bacula.
Peter
---------------------------------
bacula-dir.conf file:
#
# Default Bacula Director Configuration file
#
# For Bacula release 1.36.3 (22 April 2005) -- debian testing/unstable
#
# Modified 6-11-2006 for servername Tape Drive
# Modified 16-11-2006 for Daily Full backups for servername per
# http://dna.dbi.udel.edu/manuals/bacula/Backup_Strategies.html
# PJH 24-11-06 Catalog{ changed: Password -> "" and user = bacula added
Director { # define myself
Name = servername-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 = servername-fd
FileSet = "Full Set"
Schedule = "WeeklyCycle"
Storage = DDS-4 # PJH was File
Messages = Standard
Pool = Default
Priority = 10
Max Start Delay = 22h
}
# Define the main nightly save backup job
# By default, this job will back up to disk in /tmp
Job {
Name = "Client1"
JobDefs = "DefaultJob"
Write Bootstrap = "/var/lib/bacula/Client1.bsr"
}
# 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"
# 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=servername-fd
FileSet="Full Set"
# PJH Storage was = File
Storage = DDS-4
Pool = Default
Messages = Standard
Where = /tmp/bacula-restores
}
Job {
Name = "ManualBackup"
Type = Backup
Level = Incremental
Client = servername-fd
FileSet = "Full Set"
Storage = DDS-4 # PJH was File
Messages = Standard
Pool = ManualPool
Priority = 40
}
Pool {
Name = ManualPool
PoolType = Backup
Recycle = yes
AutoPrune = yes
Accept Any Volume = yes
Volume Retention = 365 days
}
# List of files to be backed up
FileSet {
Name = "Full Set"
Include {
Options {
# signature = MD5 # PJH
}
#
# Put your list of files here, preceded by 'File =', one per line
# or include an external list with:
#
# File = <file-name>
#
# Note: / backs up everything on the root partition.
# if you have other partitons such as /usr or /home
# you will probably want to add them too.
#
# By default this is defined to point to the Bacula build
# directory to give a reasonable FileSet to backup to
# disk storage during initial testing.
#
# File = /build/buildd/bacula-1.36.3
# Files added by PJH:
File = /adsdata
File = /usr/ads
# File = /etc
File = /home
File = /vol1
}
#
# If you backup the root directory, the following two excluded
# files can be useful
#
Exclude {
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
# Insert daily schedules here -------------------
# NOTE 5 minutes past 12 noon is entered as "00:05pm" !
Schedule {
Name = "WeeklyCycle"
Run = Level=Full Pool=MondayPool Monday at 8:00pm
Run = Level=Full Pool=TuesdayPool Tuesday at 8:00pm
Run = Level=Full Pool=WednesdayPool Wednesday at 8:00pm
Run = Level=Full Pool=ThursdayPool Thursday at 8:00pm
Run = Level=Full Pool=FridayPool Friday at 8:00pm
}
# This does the catalog. It starts after the WeeklyCycle
Schedule {
Name = "WeeklyCycleAfterBackup"
Run = Level=Full Pool=MondayPool Monday at 8:15pm
Run = Level=Full Pool=TuesdayPool Tuesday at 8:15pm
Run = Level=Full Pool=WednesdayPool Wednesday at 8:15pm
Run = Level=Full Pool=ThursdayPool Thursday at 8:15pm
Run = Level=Full Pool=FridayPool Friday at 8:15pm
}
# End of daily schedules ------------------------
# This is the backup of the catalog
FileSet {
Name = "Catalog"
Include {
Options {
# signature = MD5 # PJH
}
File = /var/lib/bacula/bacula.sql
}
}
# Client (File Services) to backup
Client {
Name = servername-fd
Address = servername
FDPort = 9102
Catalog = MyCatalog
Password = "" # password for FileDaemon
File Retention = 30 days # 30 days
Job Retention = 60 days # 2 months
AutoPrune = yes # Prune expired Jobs/Files
}
# Definition of DDS tape storage device
Storage {
Name = DDS-4
## Do not use "localhost" here
Address = servername # N.B. Use a fully qualified name here
SDPort = 9103
Password = "" # password for Storage daemon
Device = DDS-4 # must be same as Device in Storage daemon
Media Type = DDS-4 # must be same as MediaType in Storage
daemon
}
# Generic catalog service
Catalog {
Name = MyCatalog
dbname = bacula
user = bacula
password = ""
}
# 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 localhost -f \"\(Bacula\)
[EMAIL PROTECTED]" -s \"Bacula: %t %e of %c %l\" [EMAIL PROTECTED]"
operatorcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\)
[EMAIL PROTECTED]" -s \"Bacula: Intervention needed for %j\" [EMAIL PROTECTED]"
mail = [EMAIL PROTECTED] = all, !skipped
operator = [EMAIL PROTECTED] = 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 [EMAIL PROTECTED] -f \"\(Bacula\)
[EMAIL PROTECTED]" -s \"Bacula daemon message %t %e of %c\" [EMAIL PROTECTED]"
mail = [EMAIL PROTECTED] = all, !skipped
console = all, !skipped, !saved
append = "/var/lib/bacula/log" = all, !skipped !terminate
}
# Default pool definition
#Pool {
# Name = Default
# Pool Type = Backup
# Recycle = yes # Bacula can automatically recycle
Volumes
# AutoPrune = yes # Prune expired volumes
# Volume Retention = 365 days # one year
# Accept Any Volume = yes # write on any volume in the pool
#}
# Backup pool defs for each day -----------------
# Pool definitions
#
# Default Pool for jobs, but will hold no actual volumes
Pool {
Name = Default
Pool Type = Backup
}
Pool {
Name = MondayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = TuesdayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = WednesdayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = ThursdayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
Pool {
Name = FridayPool
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 6d
Maximum Volume Jobs = 2
}
# End of pool defs for each day -----------------
#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
Name = servername-mon
Password = ""
CommandACL = status, .status
}
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users