Hi,

I have two questions about doing backups to harddisk with bacula. I'll put
them in seperate emails to keep this clean but they are somewhat related:
1st - What is a good "volume/poll" setup? (Experience question)
2nd - Why does my solution now only use inc-0003? (Config question).

I'll use this email for the second question:

My bacula has been running fine for a couple weeks. But since a couple of days all Incrementals are added to "Inc-0003". I'm probably not doing the automatic recycling for volumes correctly but I don't understand where I made the mistake.

As you can see from the "ls" output below. It worked fine at first.
[EMAIL PROTECTED] /mnt]# ls
Cat-0002        Cat-0016        Cat-0029        Cat-0041        Full-0001
Cat-0004        Cat-0018        Cat-0030        Cat-0043        Full-0007
Cat-0005        Cat-0019        Cat-0031        Cat-0044        Full-0042
Cat-0006        Cat-0020        Cat-0033        Cat-0045        Inc-0003
Cat-0008        Cat-0021        Cat-0035        Cat-0046        Inc-0012
Cat-0009        Cat-0022        Cat-0036        Cat-0047        Inc-0015
Cat-0010        Cat-0024        Cat-0037        Cat-0048        Inc-0023
Cat-0011        Cat-0026        Cat-0038        Diff-0017       Inc-0032
Cat-0013        Cat-0027        Cat-0039        Diff-0025
Cat-0014        Cat-0028        Cat-0040        Diff-0034

I'm backing-up to a 500G harddisk attached to the storage. My site looks like this:
[CLIENT2]--+
          +--[INTERNET]--[CLIENT1/DIR/STORAGE]
[CLIENT3]--+


Client 2 and client 3 are Slackware Linux and client 1 is FreeBSD. Client 1 is also the director and storage.

J.


#
# 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 2.2.4 (14 September 2007) -- freebsd 6.2-RELEASE
#
#  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 = client1-dir
  DIRport = 9101                # where we listen for UA connections
  QueryFile = "/etc/bacula/query.sql"
  WorkingDirectory = "/var/bacula/working"
  PidDirectory = "/var/run"
  Maximum Concurrent Jobs = 1
  Password = "secret"         # Console password
  Messages = Daemon
}

  
JobDefs {
  Name = "DefaultJob"
  Type = Backup
  FileSet = "Client1 Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Full Backup Pool = Full-Pool
  Incremental Backup Pool = Inc-Pool
  Differential Backup Pool = Diff-Pool
  Priority = 10
}


#
# Backup client1
Job {
  Name = "client1-job"
  JobDefs = "DefaultJob"
  Client = client1-fd 
  FileSet = "Client1 Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Full Backup Pool = Full-Pool
  Incremental Backup Pool = Inc-Pool
  Differential Backup Pool = Diff-Pool
  Write Bootstrap = "/var/bacula/working/client1.bsr"
  Priority = 20
}


#
# Backup client2
Job {
  Name = "client2-job"
  JobDefs = "DefaultJob"
  Client = client2-fd 
  FileSet = "Client 2 Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Full Backup Pool = Full-Pool
  Incremental Backup Pool = Inc-Pool
  Differential Backup Pool = Diff-Pool
  Write Bootstrap = "/var/bacula/working/client2.bsr"
  Priority = 10
}


#
# Backup client3
Job {
  Name = "client3-job"
  JobDefs = "DefaultJob"
  Client = client3-fd 
  FileSet = "Clien3 Set"
  Schedule = "WeeklyCycle"
  Storage = File
  Messages = Standard
  Pool = Default
  Full Backup Pool = Full-Pool
  Incremental Backup Pool = Inc-Pool
  Differential Backup Pool = Diff-Pool
  Write Bootstrap = "/var/bacula/working/client3.bsr"
  Priority = 15
}


# Backup the catalog database (after the nightly save)
Job {
  Name = "BackupCatalog"
  Client = client1-fd 
  JobDefs = "DefaultJob"
  Level = Full
  FileSet="Catalog"
  Schedule = "WeeklyCycleAfterBackup"
  Storage = File
  Messages = Standard
  Pool = Cat-Pool
  Full Backup Pool = Cat-Pool
  Incremental Backup Pool = Cat-Pool
  Differential Backup Pool = Cat-Pool
  # This creates an ASCII copy of the catalog
  RunBeforeJob = "/etc/bacula/make_catalog_backup bacula bacula"
  # This deletes the copy of the catalog
  RunAfterJob  = "/etc/bacula/delete_catalog_backup"
  Write Bootstrap = "/var/bacula/working/BackupCatalog.bsr"
  Priority = 25                   # run after main backup
}

#
# Standard Restore template, to be changed by Console program
#  Only one such job is needed for all Jobs/Clients/Storage ...
#
Job {
  Name = "RestoreFiles"
  Type = Restore
  Client=client1-fd                 
  FileSet="Client1 Set"                  
  Storage = File                      
  Pool = Default
  Messages = Standard
  Where = /tmp/bacula-restores
}



# List of files to be backed up
FileSet {
  Name = "Client1 Set"
  Include { 
    Options { 
      signature=SHA1; 
      compression=GZIP9 
    }
    File = /
    File = /usr
    File = /var
    File = /home
  }
  Exclude {
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
    File = /mnt
  }
}

#
# List of files to be backed up
FileSet {
  Name = "Client 2 Set"
  Include { 
    Options { 
      signature=SHA1; 
      compression=GZIP9 
    }
    File = /
    File = /boot
    File = /usr
    File = /var
    File = /home
  }
  Exclude {
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
    File = /mnt
  }
}


#
# List of files to be backed up
FileSet {
  Name = "Clien3 Set"
  Include { 
    Options { 
      signature=SHA1; 
      compression=GZIP9 
    }
    File = /
    File = /boot
    File = /usr
    File = /var
    File = /home
  }
  Exclude {
    File = /proc
    File = /tmp
    File = /.journal
    File = /.fsck
    File = /mnt
  }
}

#
# 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 2:05
  Run = Differential 2nd-5th sun at 2:05
  Run = Incremental mon-sat at 2:05
}

# This schedule does the catalog. It starts after the WeeklyCycle
Schedule {
  Name = "WeeklyCycleAfterBackup"
  Run = Full sun-sat at 2:10
}

# This is the backup of the catalog
FileSet {
  Name = "Catalog"
  Include {
    Options {
      signature = MD5
    }
    File = /var/bacula/working/bacula.sql
  }
}

# Client (File Services) to backup
Client {
  Name = client1-fd
  Address = client1
  FDPort = 9102
  Catalog = MyCatalog
  Password = "secret"          # password for FileDaemon
  File Retention = 60 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

# Client (File Services) to backup
Client {
  Name = client2-fd
  Address = client2.mydomain.nl
  FDPort = 9102
  Catalog = MyCatalog
  Password = "secret"          # password for FileDaemon
  File Retention = 60 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}

# Client (File Services) to backup
Client {
  Name = client3-fd
  Address = client3.mydomain.nl
  FDPort = 9102
  Catalog = MyCatalog
  Password = "secret"          # password for FileDaemon
  File Retention = 60 days            # 30 days
  Job Retention = 6 months            # six months
  AutoPrune = yes                     # Prune expired Jobs/Files
}


# Definition of file storage device
Storage {
  Name = File
# Do not use "localhost" here    
  Address = client1                # N.B. Use a fully qualified name here
  SDPort = 9103
  Password = "secret"
  Device = FileStorage
  Media Type = File
}



# Definition of DDS tape storage device
#Storage {
#  Name = DDS-4    
#  Do not use "localhost" here
#  Address = client1                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "secret"          # 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
#  Autochanger = yes                   # enable for autochanger device
#}

# Definition of 8mm tape storage device
#Storage {
#  Name = "8mmDrive"
#  Do not use "localhost" here
#  Address = client1                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "secret"
#  Device = "Exabyte 8mm"
#  MediaType = "8mm"
#}

# Definition of DVD storage device
#Storage {
#  Name = "DVD"
#  Do not use "localhost" here
#  Address = client1                # N.B. Use a fully qualified name here
#  SDPort = 9103
#  Password = "secret"
#  Device = "DVD Writer"
#  MediaType = "DVD"
#}


# 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.
#  What this does is, it sets the email address that emails would display
#  in the FROM field, which is by default the same email as they're being
#  sent to.  However, if you send email to more than one address, then
#  you'll have to set the FROM address manually, to a single address. 
#  for example, a '[EMAIL PROTECTED]', is better since that tends to
#  tell (most) people that its coming from an automated source.

#
  mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula: 
%t %e of %c %l\" %r"
  operatorcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s 
\"Bacula: Intervention needed for %j\" %r"
  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/bacula/working/log" = all, !skipped
}


#
# Message delivery for daemon messages (no job).
Messages {
  Name = Daemon
  mailcommand = "/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula 
daemon message\" %r"
  mail = [EMAIL PROTECTED] = all, !skipped            
  console = all, !skipped, !saved
  append = "/var/bacula/working/log" = all, !skipped
}



    
# 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
}

# Scratch pool definition
Pool {
  Name = Scratch
  Pool Type = Backup
}


Pool {
  Name = Full-Pool
  Pool Type = Backup
  Recycle = yes           # automatically recycle Volumes
  AutoPrune = yes         # Prune expired volumes
  Volume Retention = 6 months
  Maximum Volume Jobs = 3
  Label Format = Full-
  Maximum Volumes = 9
}

Pool {
  Name = Inc-Pool
  Pool Type = Backup
  Recycle = yes           # automatically recycle Volumes
  AutoPrune = yes         # Prune expired volumes
  Volume Retention = 20 days
  Maximum Volume Jobs = 18
  Label Format = Inc-
  Maximum Volumes = 7
}

Pool {
  Name = Diff-Pool
  Pool Type = Backup
  Recycle = yes
  AutoPrune = yes
  Volume Retention = 40 days
  Maximum Volume Jobs = 3
  Label Format = Diff-
  Maximum Volumes = 10
}

Pool {
  Name = Cat-Pool
  Pool Type = Backup
  Recycle = yes           # automatically recycle Volumes
  AutoPrune = yes         # Prune expired volumes
  Volume Retention = 6 months
  Maximum Volume Jobs = 1
  Label Format = Cat-
  Maximum Volumes = 183
}



#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  Name = client1-mon
  Password = "secret"
  CommandACL = status, .status
}
#
# Default  Bacula File Daemon Configuration file
#
#  For Bacula release 2.2.4 (14 September 2007) -- freebsd 6.2-RELEASE
#
# There is not much to change here except perhaps the
# File daemon Name to
#

#
# List Directors who are permitted to contact this File daemon
#
Director {
  Name = client1-dir
  Password = "secret"
}

#
# Restricted Director, used by tray-monitor to get the
#   status of the file daemon
#
Director {
  Name = client1-mon
  Password = "secret"
  Monitor = yes
}

#
# "Global" File daemon configuration specifications
#
FileDaemon {                          # this is me
  Name = client1-fd
  FDport = 9102                  # where we listen for the director
  WorkingDirectory = /var/bacula/working
  Pid Directory = /var/run
  Maximum Concurrent Jobs = 20
}

# Send all messages except skipped files back to Director
Messages {
  Name = Standard
  director = client1-dir = all, !skipped, !restored
}
#
# Default Bacula Storage Daemon Configuration file
#
#  For Bacula release 2.2.4 (14 September 2007) -- freebsd 6.2-RELEASE
#
# 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 = client1-sd
  SDPort = 9103                  # Director's port      
  WorkingDirectory = "/var/bacula/working"
  Pid Directory = "/var/run"
  Maximum Concurrent Jobs = 20
  Heartbeat Interval = 15 seconds
}

#
# List Directors who are permitted to contact Storage daemon
#
Director {
  Name = client1-dir
  Password = "secret"
}

#
# Restricted Director, used by tray-monitor to get the
#   status of the storage daemon
#
Director {
  Name = client1-mon
  Password = "secret"
  Monitor = yes
}

#
# Devices supported by this Storage daemon
# To connect, the Director's bacula-dir.conf must have the
#  same Name and MediaType. 
#

Device {
  Name = FileStorage
  Media Type = File
  Archive Device = /mnt
  LabelMedia = yes;                   # lets Bacula label unlabeled media
  Random Access = Yes;
  AutomaticMount = yes;               # when device opened, read it
  RemovableMedia = no;
  AlwaysOpen = no;
}

#
# An autochanger device with two drives
#
#Autochanger {
#  Name = Autochanger
#  Device = Drive-1
#  Device = Drive-2
#  Changer Command = "/home/kern/bacula/bin/mtx-changer %c %o %S %a %d"
#  Changer Device = /dev/sg0
#}

#Device {
#  Name = Drive-1                      #
#  Drive Index = 0
#  Media Type = DLT-8000
#  Archive Device = /dev/nst0
#  AutomaticMount = yes;               # when device opened, read it
#  AlwaysOpen = yes;
#  RemovableMedia = yes;
#  RandomAccess = no;
#  AutoChanger = yes
#  #
#  # Enable the Alert command only if you have the mtx package loaded
#  # Note, apparently on some systems, tapeinfo resets the SCSI controller
#  #  thus if you turn this on, make sure it does not reset your SCSI 
#  #  controller.  I have never had any problems, and smartctl does
#  #  not seem to cause such problems.
#  #
#  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#  If you have smartctl, enable this, it has more info than tapeinfo 
#  Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}

#Device {
#  Name = Drive-2                      #
#  Drive Index = 1
#  Media Type = DLT-8000
#  Archive Device = /dev/nst1
#  AutomaticMount = yes;               # when device opened, read it
#  AlwaysOpen = yes;
#  RemovableMedia = yes;
#  RandomAccess = no;
#  AutoChanger = yes
#  # Enable the Alert command only if you have the mtx package loaded
#  Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
#  If you have smartctl, enable this, it has more info than tapeinfo 
#  Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}

#
# A Linux or Solaris tape drive
#
#Device {
#  Name = DDS-4                        # 
#  Media Type = DDS-4
#  Archive Device = /dev/nrsa0
#  AutomaticMount = yes;               # when device opened, read it
#  AlwaysOpen = yes;
#  RemovableMedia = yes;
#  RandomAccess = no;
## Changer Command = "/etc/bacula/mtx-changer %c %o %S %a %d"
## Changer Device = /dev/sg0
## AutoChanger = yes
#  # Enable the Alert command only if you have the mtx package loaded
## Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
## If you have smartctl, enable this, it has more info than tapeinfo 
## Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}

#
# A FreeBSD tape drive
#
#Device {
#  Name = DDS-4 
#  Description = "DDS-4 for FreeBSD"
#  Media Type = DDS-4
#  Archive Device = /dev/nsa1
#  AutomaticMount = yes;               # when device opened, read it
#  AlwaysOpen = yes
#  Offline On Unmount = no
#  Hardware End of Medium = no
#  BSF at EOM = yes
#  Backward Space Record = no
#  Fast Forward Space File = no
#  TWO EOF = yes
#  If you have smartctl, enable this, it has more info than tapeinfo 
#  Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}

#
# A OnStream tape drive. 
# You need the kernel osst driver 0.9.14 or later, and
#   do "mt -f /dev/nosst0 defblksize 32768" once as root.
#
#Device {
#  Name = OnStream
#  Description = "OnStream drive on Linux"
#  Media Type = OnStream
#  Archive Device = /dev/nrsa0
#  AutomaticMount = yes;               # when device opened, read it
#  AlwaysOpen = yes
#  Offline On Unmount = no
## The min/max blocksizes of 32768 are *required*
#  Minimum Block Size = 32768
#  Maximum Block Size = 32768
#  If you have smartctl, enable this, it has more info than tapeinfo 
#  Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}
 
#
# A DVD device
#
#Device {
#  Name = "DVD Writer"
#  Media Type = DVD
#  Device Type = DVD
#  Archive Device = /dev/hdc
#  LabelMedia = yes;                   # lets Bacula label unlabeled media
#  Random Access = Yes;
#  AutomaticMount = yes;               # when device opened, read it
#  RemovableMedia = yes;
#  AlwaysOpen = no;
#  MaximumPartSize = 800M;
#  RequiresMount = yes;
#  MountPoint = /mnt/cdrom;
#  MountCommand = "/bin/mount -t iso9660 -o ro %a %m";
#  UnmountCommand = "/bin/umount %m";
#  SpoolDirectory = /tmp/backup;
#  WritePartCommand = "/etc/bacula/dvd-handler %a write %e %v"
#  FreeSpaceCommand = "/etc/bacula/dvd-handler %a free"
#}

#
# For OpenBSD OS >= 3.6
#
#Device {
#  Name = DDS-3
#  Media Type = DDS-3
#  Archive Device = /dev/nrst0
#  Use MTIOCGET= no
#  BSF at EOM = yes
#  TWO EOF = no
#  AutomaticMount = yes;
#  AlwaysOpen = yes;
#  RemovableMedia = yes;
#  RandomAccess = no;
#  If you have smartctl, enable this, it has more info than tapeinfo 
#  Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}

#
# A very old Exabyte with no end of media detection
#
#Device {
#  Name = "Exabyte 8mm"
#  Media Type = "8mm"
#  Archive Device = /dev/nrsa0
#  Hardware end of medium = No;
#  AutomaticMount = yes;               # when device opened, read it
#  AlwaysOpen = Yes;
#  RemovableMedia = yes;
#  RandomAccess = no;
#  If you have smartctl, enable this, it has more info than tapeinfo 
#  Alert Command = "sh -c 'smartctl -H -l error %c'"  
#}

# 
# Send all messages to the Director, 
# mount messages also are sent to the email address
#
Messages {
  Name = Standard
  director = client1-dir = all
}
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to