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 >> Bacula-users@lists.sourceforge.net >> 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 Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users