Thanks! I got it going. Here is what I did for anyone who might need it
in the future.
I'm using SQLite. Sorry for not posting that before. I did have a
missing table, not sure why. I did try dbcheck just for the heck of it
but as you said, it didn't work because I did actually have a missing
table.
So since I wasn't too worried about the old database -- more worried
about getting my backups running again (and I'm not sure if I could ever
salvage that database anyway) -- I just renamed the damaged database (mv
/var/lib/bacula/bacula.db) /var/lib/bacula/bacula.db.old) and created a
new one by doing:
cd /usr/share/bacula-director/
./make_sqlite_tables
chown bacula bacula.db
I rewound my tape to start fresh:
/etc/init.d/bacula-sd stop
mt -f /dev/nst0 rewind
mt -f /dev/nst0 weof
I was then off and running back-ups!
>From now on, I'll also back up the database to a different place so I
can go back to it with better ease.
Thanks again for your help!
Mike
Arno Lehmann wrote:
> Hi,
>
> On 5/10/2007 1:10 AM, Mike Toscano wrote:
>
>> I got some error messages below and am told the Bacula database may be
>> corrupt. How can I tell for sure?
>>
>
> Use the mainenance program belonging to your database... unfortunately
> you don't write which one you use.
>
> dbcheck might also reveal something, thoug, if a table is missing, that
> won't help you much.
>
>
>> Can someone tell me what I should do
>> if it is? I'm not as worried about preserving old data as I am about
>> being able to begin running back-ups again as soon as possible, so if I
>> have to do something crazy like delete and rebuild this database, that's
>> OK.
>>
>
> In that case, simply save the od database and create a new one.
>
> Arno
>
>
>> Details on my setup with config files are at the bottom of this
>> message. Thanks again for your attention and any assistance!
>>
>> Mike
>>
>> Clip from my previous message to the list:
>>
>> => Thanks, Mark! Your suggestion got rid of the Permission denied bit but
>>
>> Glad that helped.
>>
>> => I still get the below message, which is still preventing me from
>> => backing stuff up.
>> =>
>> => 09-May 14:56 bmm-s1-dir: Client1.2007-05-09_14.56.02 Fatal error:
>> => catreq.c:346 Attribute create error. sql_create.c:685 Create db
>> => Filename record INSERT INTO Filename (Name) VALUES ('') failed. ERR=no
>> => such table: Filename
>>
>> Sounds like the database is corrupt and missing the "Filename" table.
>>
>> => 09-May 14:56 bmm-s1-dir: Client1.2007-05-09_14.56.02 Error: Bacula
>> => 1.36.3 (22Apr05): 09-May-2007 14:56:18
>> =>
>> => Know what I can do to get rid of that?
>>
>> Some suggestions:
>>
>> report the problem to the bacula mailing list
>>
>> upgrade to a more current version (1.36.3 is ancient)
>>
>>
>>
>> My System:
>> OS: Ubuntu Linux 6.06
>> Bacula version: 1.36.3
>> Tape changer: Quantum Superloader 3, LTO Ultrium 3
>> Changer passes btape autochanger test.
>>
>>
>> Config files:
>> ************Bacula-dir.conf***************
>>
>> [EMAIL PROTECTED]:/etc/bacula# cat 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 = bmm-s1-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 = Full
>> Client = bmm-s1-fd
>> FileSet = "Full Set"
>> Schedule = "WeeklyCycle"
>> Storage = LTO-3
>> 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 = "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<user>
>> -p<password>"
>> # 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=bmm-s1-fd
>> FileSet="Full Set"
>> Storage = LTO-3
>> Pool = Default
>> Messages = Standard
>> Where = /tmp/bacula-restores
>> }
>>
>>
>> # List of files to be backed up
>> FileSet {
>> Name = "Full Set"
>> Include {
>> File = /home/mike
>> Options { compression=GZIP
>> signature = MD5 }
>> }
>> #
>> # 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
>> # }
>>
>> #
>> # If you backup the root directory, the following two excluded
>> # files can be useful
>> #
>> Exclude {
>> File = /proc
>> File = /tmp
>> File = /.journal
>> File = /.fsck
>> }
>> }
>>
>> #
>> # 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 = Full 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 = bmm-s1-fd
>> Address = bmm-s1
>> FDPort = 9102
>> Catalog = MyCatalog
>> Password = "" # password for FileDaemon
>> File Retention = 30 days # 30 days
>> Job Retention = 6 months # six months
>> AutoPrune = yes # Prune expired Jobs/Files
>> }
>>
>> # Definiton of file storage device
>> Storage {
>> Name = LTO-3 # Do not use "localhost" here
>> Address = bmm-s1.bmmad.internal # N.B. Use a fully qualified name here
>> SDPort = 9103
>> Password = ""
>> Device = LTO-3
>> Media Type = LTO-3
>> }
>>
>>
>> # Generic catalog service
>> Catalog {
>> Name = MyCatalog
>> dbname = bacula; password = "@db_pswd@"
>> }
>>
>> # 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\)
>> %r\" -s \"Bacula: %t %e of %c %l\" %r"
>> operatorcommand = "/usr/lib/bacula/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/lib/bacula/log" = all, !skipped
>> }
>>
>>
>> #
>> # Message delivery for daemon messages (no job).
>> Messages {
>> Name = Daemon
>> mailcommand = "/usr/lib/bacula/bsmtp -h localhost -f \"\(Bacula\)
>> %r\" -s \"Bacula daemon message\" %r"
>> mail = [EMAIL PROTECTED] = 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 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
>> }
>>
>> #
>> # Restricted console used by tray-monitor to get the status of the
>> director
>> #
>> Console {
>> Name = bmm-s1-mon
>> Password = ""
>> CommandACL = status, .status
>> }
>> ###################### fileserver Client #####################
>>
>> Job {
>> Name = "lasbmms1w03"
>> Type = Backup
>> Level = Full
>> Client = lasbmms1w03-fd
>> FileSet = "fileserver"
>> Schedule = "WeeklyCycle"
>> Storage = LTO-3
>> Messages = Standard
>> Pool = Default
>> Write Bootstrap = "/var/lib/bacula/lasbmms1w03.bsr"
>> }
>> # Client (File Services) to backup
>> Client {
>> Name = lasbmms1w03-fd
>> Address = lasbmms1w03.bmmad.internal
>> FDPort = 9102
>> Catalog = MyCatalog
>> Password = "" # password for
>> File Retention = 30d # 30 days
>> Job Retention = 180d # six months
>> AutoPrune = yes # Prune expired Jobs/Files
>> }
>>
>> # List of files to be backed up
>> FileSet {
>> Name = "fileserver"
>> Include {
>> File = d:/home/departments/bmmna_transfer
>> Options { compression=GZIP
>> signature = MD5 }
>> }
>> }
>>
>> # Standard Restore template, to be changed by Console program
>> Job {
>> Name = "fileserverrestore"
>> Type = Restore
>> Client=lasbmms1w03-fd
>> FileSet="fileserver"
>> Storage = LTO-3
>> Pool = Default
>> Messages = Standard
>> Where = /tmp/bacula-restores
>> }
>>
>> ###################### Test Client #####################
>> #Job {
>> # Name = "bmm-dsalour"
>> # Type = Backup
>> # Client = bmm-dsalour-fd
>> # FileSet = "test1"
>> # Schedule = "WeeklyCycle"
>> # Storage = File
>> # Messages = Standard
>> # Pool = Default
>> # Write Bootstrap = "/var/lib/bacula/bmm-dsalour.bsr"
>> #}
>> ## Client (File Services) to backup
>> #Client {
>> # Name = bmm-dsalour-fd
>> # Address = 10.0.3.26
>> # FDPort = 9102
>> # Catalog = MyCatalog
>> # Password = "" # password for
>> # File Retention = 30d # 30 days
>> # Job Retention = 180d # six months
>> # AutoPrune = yes # Prune expired Jobs/Files
>> #}
>>
>> ## List of files to be backed up
>> #FileSet {
>> # Name = "test1"
>> # Include {
>> # File = d:/home/departments/bmmna_transfer
>> # Options { compression=GZIP
>> # signature = MD5 }
>> # }
>> #}
>>
>> ***********bacula-sd.conf*********************
>>
>> [EMAIL PROTECTED]:/etc/bacula# cat 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 = bmm-s1-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 = bmm-s1-dir
>> Password = ""
>> }
>>
>> #
>> # Restricted Director, used by tray-monitor to get the
>> # status of the storage daemon
>> #
>> Director {
>> Name = bmm-s1-mon
>> Password = ""
>> 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 = /tmp
>> # LabelMedia = yes; # lets Bacula label unlabeled media
>> # Random Access = Yes;
>> # AutomaticMount = yes; # when device opened, read it
>> # RemovableMedia = no;
>> # AlwaysOpen = no;
>> #}
>>
>> #
>> # A Linux or Solaris tape drive
>> #
>> Device {
>> Name = LTO-3 #
>> Media Type = LTO-3
>> Archive Device = /dev/nst0
>> AutomaticMount = yes; # when device opened, read it
>> AlwaysOpen = yes;
>> RemovableMedia = yes;
>> RandomAccess = no;
>> Changer Command = "/etc/bacula/scripts/mtx-changer %c %o %S %a %d"
>> Changer Device = /dev/sg2
>> AutoChanger = yes
>> Alert Command = "sh -c 'tapeinfo -f %c |grep TapeAlert|cat'"
>> }
>> #
>> # Send all messages to the Director,
>> # mount messages also are sent to the email address
>> #
>> Messages {
>> Name = Standard
>> director = bmm-s1-dir = all
>> }
>>
>> *************bacula-fd.conf*******************
>>
>> [EMAIL PROTECTED]:/etc/bacula# cat bacula-fd.conf
>> #
>> # Default Bacula File Daemon Configuration file
>> #
>> # For Bacula release 1.36.3 (22 April 2005) -- debian testing/unstable
>> #
>> # 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 = bmm-s1-dir
>> Password = ""
>> }
>>
>> #
>> # Restricted Director, used by tray-monitor to get the
>> # status of the file daemon
>> #
>> Director {
>> Name = bmm-s1-mon
>> Password = ""
>> Monitor = yes
>> }
>>
>> #
>> # "Global" File daemon configuration specifications
>> FileDaemon { # this is me
>> Name = lasbmms1w03-fd
>> FDport = 9102 # where we listen for the director
>> WorkingDirectory = /var/lib/bacula
>> Pid Directory = /var/run/bacula
>> Maximum Concurrent Jobs = 20
>> }
>>
>> # Send all messages except skipped files back to Director
>> Messages {
>> Name = Standard
>> director = bmm-s1-dir = all, !skipped
>> }
>>
>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> Bacula-users mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/bacula-users
>>
>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users