Trevor Morrison wrote: > Yes, I did restart the director after the change. I am using version > 1.36.3. The Director is running on a FC 4 box and the machine I am > backing up is running RH 9. > > Let me explain what I am trying to do and then tell me where I am going > wrong (should of done this to begin with so as not to waste everyone's > time!). I am backing up three boxes to Bacula with one of the boxes is > the system which Bacula Director runs on; it's name is "Stud". I am > trying to test a restore of one of the boxes--"hailee1"-- to my testbox > to see if it works. This is where I am having problems. I take the > full backup of the "hailee" box and try to restore it on the "testbox". > When I do a restore of the "Full Backup" of the "hailee1" the "testbox" > runs out of space and when I look at the log it shows where 8.2 GB of > data was being written to the "testbox." When a Full Backup of > "hailee1" is only about "4.3GB"! I went ahead and unmounted the nfs > mount point "/mnt/hailee" ----> "/storage/hailee" on Stud, which is also > a nfs server. After I did a full backup of "hailee" and then restored > to the testbox again thinking it would work this time. No go. I could > see in the gnome-console where Bacula was still trying to restore > "/storage/hailee" even though it as unmounted! I don't get it. > > Also, while looking at the logs scrolling by on the gnome-console, I can > see where Bacula is trying to restore files from my other box "Porthos" > to the testbox! I know this because some of the files I see on the gnome > console only belong to the "Porthos" box. I don't understand that > one! I have attached my bacula-dir.conf if it can help.
OK, well, to start with, you appear to have completely misunderstood the purpose and application of JobDefs resources. You have basically duplicated each Job resource into a JobDefs resource, then included the JobDefs "DefaultJob" -- which is a complete copy of the Job "stud" -- into all of your Job resources, thus including the "Full Set Stud" fileset into every Job. You're also ending up specifying both the Fileset and the Level twice in each job, and the Level definition in your Job and your JobDefs will be overridden by your Schedule anyway. Also, you have three different Filesets which are virtually identical. This is pointless replication. Since the Filesets are so similar, if you created an empty /chroot and /storage directory on each of the machines (or even, on the machines where it's not used, created /storage and /chroot as symbolic links to somewhere harmless such as /dev/null), you could use one common Fileset for all machines. (I use a single Fileset for all of my Windows 2000 clients, for instance.) Additionally, there is no need for more than a single Restore job definition. When you run a Restore, Bacula is going to ask you what client you want to restore files from, where to restore them to, and all other applicable variables, anyway. Finally, just to make certain your Catalog backup runs last, I'd advise putting it in a separate Schedule that schedules it after the other jobs, just to play safe, as well as using a lower priority. I've rewritten your bacula-dir.conf file to incorporate most of these suggested changes. I believe that as specified here, it ought to work as you want it to. Please study the differences between this and your configuration and make sure you understand what has been changed and why, then try installing this config file instead. You OUGHT to find that you no longer need to exclude the NFS mounts; if you are still getting NFS mounts backed up on this configuration, then there's some deeper problem. And depending how concerned you are about security, you may want to change your bacula passwords. ;) (Hint: The sample passwords created during installation are randomly-generated MD5 hashes to try to ensure uniqueness, but they don't have to be so. They are not used in cleartext form from the config file anyway -- they are passed across the network only in encrypted forms. A cleartext password such as "Bacula password" will work fine, for example. The quotes are required only if the password contains spaces.) -- Phil Stracchino [EMAIL PROTECTED] Renaissance Man, Unix generalist, Perl hacker Mobile: 603-216-7037 Landline: 603-886-3518
# # 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) -- redhat (Stentz) # # 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 = stud-dir DIRport = 9101 # where we listen for UA connections QueryFile = "/usr/bacula/bin/query.sql" WorkingDirectory = "/usr/bacula/bin/working" PidDirectory = "/usr/bacula/bin" Maximum Concurrent Jobs = 1 Password = "QiL5p4zWezlcHnUWGrMzPF+tIU30zZFsi0VSIpejHsdO" # Console password Messages = Daemon } Schedule { Name = "Daily" Run = Full Fri at 10:00am Run = Differential sat-thu at 9:00am } Schedule { Name = "Catalog" Run = Full mon-sun at 11:00am } JobDefs { Name = "Defaults" Type = Backup Schedule = "Daily" Storage = 8mmDrive Messages = Standard Pool = Daily Priority = 10 } # # Define the main nightly save backup job # By default, this job will back up to disk in /tmp Job { Name = "stud" JobDefs = "Defaults" Client=stud-fd FileSet="Full Set Stud" Write Bootstrap = "/usr/bacula/bin/working/stud.bsr" } Job { Name = "Porthos" JobDefs = "Defaults" Client=porthos-fd FileSet="Full Set Porthos" Write Bootstrap = "/usr/bacula/bin/working/porthos.bsr" } Job { Name = "Hailee1" JobDefs = "Defaults" Client=hailee1-fd FileSet="Full Set Hailee1" Write Bootstrap = "/usr/bacula/bin/working/hailee1.bsr" } # Backup the catalog database (after the nightly save) Job { Name = "BackupCatalog" JobDefs = "Defaults" Client=stud-fd FileSet="Catalog" Schedule = "Catalog" # This creates an ASCII copy of the catalog RunBeforeJob = "/usr/bacula/bin/make_catalog_backup bacula bacula" # This deletes the copy of the catalog RunAfterJob = "/usr/bacula/bin/delete_catalog_backup" Write Bootstrap = "/usr/bacula/bin/working/BackupCatalog.bsr" Priority = 15 } # Standard Restore template, to be changed by Console program Job { Name = "Restore" Type = Restore Client=stud-fd FileSet="Full Set Stud" Storage = 8mmDrive Pool = Daily Messages = Standard Where = /tmp/bacula-restores } # List of files to be backed up FileSet { Name = "Full Set Stud" Include { Options { signature = MD5 onefs = no } File = / File = /var File = /usr File = /storage File = /home File = /boot } Exclude { File = /proc File = /tmp File = /.journal File = /.fsck } } # List of files to be backed up FileSet { Name = "Full Set Porthos" Include { Options { signature = MD5 onefs = no } File = / File = /var File = /usr File = /home File = /boot File = /chroot } Exclude { File = /proc File = /mnt/porthos/* File = /tmp File = /.journal File = /.fsck } } # List of files to be backed up FileSet { Name = "Full Set Hailee1" Include { Options { signature = MD5 onefs = no } File = / File = /var File = /usr File = /home File = /boot } Exclude { File = /proc File = /mnt/hailee/* File = /tmp/* File = /.journal File = /.fsck } } # This is the backup of the catalog FileSet { Name = "Catalog" Include { Options { signature = MD5 } File = /usr/bacula/bin/working/bacula.sql } } # Client (File Services) to backup Client { Name = stud-fd Address = stud.hailix.com FDPort = 9102 Catalog = MyCatalog Password = "HR1kfYn1dlc2enm1+mwg3yT3cNNfXqt9FitHbxVPmvPB" # password for FileDaemon File Retention = 8 days # 30 days Job Retention = 9 days # six months AutoPrune = yes # Prune expired Jobs/Files } Client { Name = porthos-fd # Address = porthos.hailix.com Address = 172.16.1.2 FDPort = 9102 Catalog = MyCatalog Password = "HR1kfYn1dlc2enm1+mwg3yT3cNNfXqt9FitHbxVPmvPB" # password for FileDaemon File Retention = 8 days # 30 days Job Retention = 9 days # six months AutoPrune = yes # Prune expired Jobs/Files } Client { Name = hailee1-fd # Address = hailee1.hailix.com Address = 172.16.1.3 FDPort = 9102 Catalog = MyCatalog Password = "HR1kfYn1dlc2enm1+mwg3yT3cNNfXqt9FitHbxVPmvPB" # password for FileDaemon File Retention = 8 Days # 30 days Job Retention = 9 Days # six months AutoPrune = yes # Prune expired Jobs/Files } Client { Name = testbox-fd Address = 192.168.2.8 FDPort = 9102 Catalog = MyCatalog #Password = "HR1kfYn1dlc2enm1+mwg3yT3cNNfXqt9FitHbxVPmvPB" # password for FileDaemon Password = "" # password for FileDaemon File Retention = 8 Days # 30 days Job Retention = 9 Days # six months AutoPrune = yes # Prune expired Jobs/Files } Storage { Name = "8mmDrive" # Do not use "localhost" here #Address = stud.hailix.com # N.B. Use a fully qualified name here Address = 192.168.2.10 # N.B. Use a fully qualified name here SDPort = 9103 Password = "lAskEHzAgzWVO3xgy0DAPH8rBJ5pocgaXMRiRQmmNK5u" Device = "Exabyte 8mm" MediaType = "8mm" } # 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/bacula/bin/bsmtp -h hailee1.hailix.com -f \"\(Bacula\) %r\" -s \"Bacula: %t %e of %c %l\" %r" operatorcommand = "/usr/bacula/bin/bsmtp -h hailee1.hailix.com -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 = "/usr/bacula/bin/working/log" = all, !skipped } # # Message delivery for daemon messages (no job). Messages { Name = Daemon mailcommand = "/usr/bacula/bin/bsmtp -h hailee1.hailix.com -f \"\(Bacula\) %r\" -s \"Bacula daemon message\" %r" mail = [EMAIL PROTECTED] = all, !skipped console = all, !skipped, !saved append = "/usr/bacula/bin/working/log" = all, !skipped } # Default pool definition Pool { Name = Daily Pool Type = Backup Recycle = yes # Bacula can automatically recycle Volumes Recycle Current Volume= yes AutoPrune = yes # Prune expired volumes Volume Retention = 10 days # one year 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 = stud-mon Password = "S1+f60qKA6UdtDLgmupMxConk1XefZMJ3Z2gtzFiiZjt" CommandACL = status, .status }