LinuxQuestions.org
Review your favorite Linux distribution.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 11-11-2013, 05:10 PM   #1
Learnix
Member
 
Registered: Jan 2011
Location: Montreal,Qc,Canada
Distribution: Debian/GNU
Posts: 34

Rep: Reputation: 0
Bacula error message:Could not stat "/var/lib/bacula/bacula.sql": ERR=No such file or directory


I am using Debian Wheezy (stable) with bacula 5.2.6 and Postgresql 9.1

-I Cannot Make the Catalog backup to work_
I work so many hours on this but now I am turning in circles.
I get the following error when I try to run a backup of the catalog

Could not stat "/var/lib/bacula/bacula.sql": ERR=No such file or directory


The file exists it creates it because I see it in /var/lib/bacula after the attempt.
I temporarly disabled the Run After sequence so the file won't get erased

Here is my director config:


PHP Code:

# Default Bacula Director Configuration file
#
#  For Bacula release 5.2.6 (21 February 2012) -- debian 7.0
#

Director {                            # define myself
  
Name buserver-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 
"some password"         # Console password
  
Statistics Retention 1 years
  Messages 
Daemon
 
# DirAddress = 192.168.12.101
    
}

JobDefs {
  
Name "Computer1Job"
  
Type Backup
  Level 
Incremental
  Client 
Computer1-fd
  FileSet 
"Computer1Set"
  
Schedule "WeeklyCycle"
  
Storage Computer1Device
  Messages 
Standard
  Pool 
File
  Priority 
10
  Write Bootstrap 
"/var/lib/bacula/%c.bsr"
}


#
# Define the main nightly save backup job
#   By default, this job will back up to disk in /nonexistant/path/to/file/archive/dir
Job {
  
Name "Computer1Daily"
  
JobDefs "Computer1Job"
  
Accurate yes
}

#Job {
#  Name = "BackupClient2"
#  Client = buserver2-fd
#  JobDefs = "DefaultJob"
#}

# Backup the catalog database (after the nightly save)
Job {
  
Name "BackupCatalog"
  
JobDefs Computer1Job
                                                 
#JobDefs = "DefaultJob"
  
Level Full
  FileSet 
"Catalog"
  
Schedule "WeeklyCycleAfterBackup"
  
# This creates an ASCII copy of the catalog
  # Arguments to make_catalog_backup.pl are:
  #  make_catalog_backup.pl <catalog-name>

  
RunBeforeJob "/etc/bacula/scripts/make_catalog_backup bacula bacula mydbpassword"
  
# This deletes the copy of the catalog
  #                         RunAfterJob /etc/bacula/scripts/delete_catalog_backup
  
Write Bootstrap "/var/lib/bacula/%n.bsr"
  
Priority 11                   # 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 
Computer1-fd
  FileSet
"Computer1Set"                  
  
Storage Computer1Device    
  Pool 
File
  Replace 
Always
  Messages 
Standard
  Where 
= /var/lib/bacula/bacula-Restores
}


# List of files to be backed up
FileSet {
  
Name "Computer1Set"
  
Include {
    
Options {
    
Compression=GZIP6
    signature
=SHA1
    Sparse 
no
    
}
#    
#  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 partitions such as /usr or /home
#    you will probably want to add them too.
#
#  By default this is defined to point to the Bacula binary
#    directory to give a reasonable FileSet to backup to
#    disk storage during initial testing.
#
    
File = /
    
File = /boot    
  
}

#
# If you backup the root directory, the following two excluded
#   files can be useful
#
  
Exclude {
    
File = /var/lib/bacula
    File 
= /dev
    File 
= /run
    File 
= /sys
    File 
= /proc
    File 
= /media
    File 
= /proc
    File 
= /tmp
    File 
= /.journal
    File 
= /.fsck
    File 
= /home/username/.icedove
    File 
= /home/MyUserName/.google
  
}
}

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

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

# 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 Computer1-fd
  Address 
Computer1
  FDPort 
9102
  Catalog 
Catalog
  Password 
"some password"            # password for FileDaemon
                                      # Original Default Values 
 # File Retention = 70 days            # 30 days
  
Job Retention 70 days            # six months

  
AutoPrune yes                     # Prune expired Jobs/Files
}

#
# Second Client (File Services) to backup
#  You should change Name, Address, and Password before using
#
#Client {
#  Name = buserver2-fd
#  Address = localhost2
#  FDPort = 9102
#  Catalog = MyCatalog
#  Password = "some password"          # password for FileDaemon 2
#  File Retention = 30 days            # 30 days
#  Job Retention = 6 months            # six months
#  AutoPrune = yes                     # Prune expired Jobs/Files
#}


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



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



# Generic catalog service
Catalog {
  
Name Catalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport = 5432 
  
dbname "bacula"DB Address ""dbuser "bacula"dbpassword "mydb 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 'no-reply@mydomain.com', is better since that tends to
#  tell (most) people that its coming from an automated source.

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


#
# Message delivery for daemon messages (no job).
Messages {
  
Name Daemon
  mailcommand 
"/usr/sbin/bsmtp -h localhost -f \"\(Bacula\) \<%r\>\" -s \"Bacula daemon message\" %r"
  
mail root all, !skipped            
  console 
all, !skipped, !saved
  append 
"/var/log/bacula/bacula.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
}

# File Pool definition
Pool {
  
Name File
  Pool Type 
Backup
  Maximum Volume Jobs 
2
  Action On Purge 
Truncate
  Recycle 
yes                       # Bacula can automatically recycle Volumes
  
Recycle Oldest Volume yes
  AutoPrune 
yes                     # Prune expired volumes
  
Volume Retention 70 days         # Default was one year
  
Maximum Volume Bytes 0       # Limit Volume size to something reasonable
  
Maximum Volumes 100              # Limit number of Volumes in Pool
  
LabelFormat "Computer1Vol_"
}


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

#
# Restricted console used by tray-monitor to get the status of the director
#
Console {
  
Name buserver-bat
    Password 
"some password" 
        
CommandACL status, .status
}



Console {
  
Name buserver-mon
  Password 
"some password"   
  
CommandACL status, .status
    
}

 
Console {
 
Name Computer1-bat
 Password 
"some password"  
 
CommandACL status, .clients, .jobs, .pools, .storage, .filesets, .messagesrun
 ClientACL 
= *all# you can restrict to a specific host
 
CatalogACL = *all*
 
JobACL = *all*
 
StorageACL = *all*
 
ScheduleACL = *all*
 
PoolACL = *all*
 
FileSetACL = *all*
 } 
I like this software but I found it was hard to make it work ... but after this issue is solved
I know it will work for years without a glitch !

Please, any idea I can try ?

Last edited by Learnix; 11-11-2013 at 05:16 PM. Reason: Put a clearer title
 
Old 11-12-2013, 11:37 AM   #2
Learnix
Member
 
Registered: Jan 2011
Location: Montreal,Qc,Canada
Distribution: Debian/GNU
Posts: 34

Original Poster
Rep: Reputation: 0
I caught something

I found something important: I see that the statement (last line here is wrong as the JobDefs = Computer1Job references Computer1-fd later on.
Job {
Name = "BackupCatalog"
JobDefs = Computer1Job

...
...

JobDefs {
Name = "Computer1Job"
Type = Backup
Level = Incremental
Client = Computer1-fd
FileSet = "Computer1Set"
Schedule = "WeeklyCycle"
Storage = Computer1Device
Messages = Standard
Pool = File
Priority = 10
Write Bootstrap = "/var/lib/bacula/%c.bsr"
}

Which is pointing to //Computer1/var/lib/bacula/bacula.sql >> Which does not exist

So in my Catalog backup statement I tried to write:

Job {
Name = "BackupCatalog"
Client = MyLocalMachineName # <<< HERE #JobDefs = "DefaultJob"
Level = Full
FileSet = "Catalog"
Schedule = "WeeklyCycleAfterBackup"
# This creates an ASCII copy of the catalog
# Arguments to make_catalog_backup.pl are:
# make_catalog_backup.pl <catalog-name>

RunBeforeJob = "/etc/bacula/scripts/make_catalog_backup bacula bacula mydbpassword"
# This deletes the copy of the catalog
# RunAfterJob /etc/bacula/scripts/delete_catalog_backup
Write Bootstrap = "/var/lib/bacula/%n.bsr"
Priority = 11 # run after main backup
}

This is not accepted by the Director upon startup.

So there I went again I created a file device on that server Let's call it "buserv"
so started the file daemon on the server and re-allign everything so the director will take it as a normal client.
It is then then asking for a catalog for this task -- I don't want this


So my question is changed by this one:

How to have this catalog backed up . What would be the corrections to make in the Director's config?
It is probably very simple but so far I didn't get it.

Thank you in advance !
 
Old 11-18-2013, 10:39 AM   #3
Learnix
Member
 
Registered: Jan 2011
Location: Montreal,Qc,Canada
Distribution: Debian/GNU
Posts: 34

Original Poster
Rep: Reputation: 0
Problem solved [SOLVED]

I thought there was a built in function in the software so that bacula would recognize the catalog to be any *.sql in /var/lib/bacula
There is no such a thing.

To backup the catalog:
The solution is to configure a local bacula client on the server to do the job.
A good idea is to put full compression using GZIP9 on the "BackupCatalog" job the Catalog is not a gigantic file (Normally few hundred of Megs)
so it will compress in a reasonable amount of time.

Cheers,
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Bacula "Fatal error: VSS was not initialized properly" on Windows 7 backup garydale Linux - Server 10 02-25-2019 01:09 PM
[SOLVED] Bacula: bacula director does not start knilux Linux - Server 13 12-15-2012 12:30 AM
[SOLVED] Bacula + vchanger: bconsole "label barcodes" does not find the autochanger catkin Linux - Software 1 02-28-2010 08:16 AM
/bin/cp cannot stat "filename" no such file name or directory fcfury Linux - Newbie 2 07-01-2009 09:21 AM
cannot stat ... "modules.order" ... No such file or directory shogun1234 Linux - Kernel 1 11-27-2008 02:12 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 09:33 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration