Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
BAREOS-DBCHECK(8)   Backup Archiving REcovery Open Sourced   BAREOS-DBCHECK(8)

NAME
	bareos-dbcheck - Bareos's Catalog Database Check/Clean program

SYNOPSIS
       dbcheck	[options] working-directory bareos-database user password [db-
       host] [dbport]

DESCRIPTION
       This manual page	documents briefly the bareos-dbcheck command.

       bareos-dbcheck will not repair your database if it  is  broken.	Please
       see your	vendor's instructions for fixing broken	database.

       bareos-dbcheck  is a simple program that	will search for	logical	incon-
       sistencies in the Bareos	tables in your database,  and  optionally  fix
       them.   It  is a	database maintenance routine, in the sense that	it can
       detect and remove unused	rows, but it is	not a database repair routine.
       To repair a database, see the tools furnished by	the  database  vendor.
       Normally	dbcheck	should never need to be	run, but if Bareos has crashed
       or  you have a lot of Clients, Pools, or	Jobs that you have removed, it
       could be	useful.

OPTIONS
       A summary of options is included	below.

       -h,--help,-?
	      Show version and usage of	program.

       -b,--batch
	      If specified, dbcheck will run in	batch mode, and	it  will  pro-
	      ceed  to examine and fix (if -f is set) all programmed inconsis-
	      tency checks. By default,	dbcheck	will  enter  interactive  mode
	      (see below).

       -B,--print-catalog
	      print catalog configuration and exit.

       -c,--config config
	      If  the  -c  option  is given with the Director's	configuration,
	      there is no need to enter	any of the command line	arguments,  in
	      particular  the working directory	as dbcheck will	read them from
	      the configuration.

       -C,--catalog catalog
	      catalog name in the director configuration.

       -d,--debug-level	nnn
	      set debug	level to nnn.

       --dt,--debug-timestamps
	      print timestamp in debug output.

       -D,--driver drivername
	      Specify the database driver name (default	NULL) <postgresql>.

       -f,--fix
	      If specified, dbcheck will repair	(fix) the  inconsistencies  it
	      finds.  Otherwise, it will report	only.

       -v,--verbose
	      Set verbose mode.

INTERACTIVE MODE
       In interactive mode dbcheck will	prompt with the	following:

       Hello,  this  is	the database check/correct program.  Please select the
       function	you want to perform.
	    1) Toggle modify database flag
	    2) Toggle verbose flag
	    3) Repair bad Filename records
	    4) Repair bad Path records
	    5) Eliminate duplicate Filename records
	    6) Eliminate duplicate Path	records
	    7) Eliminate orphaned Jobmedia records
	    8) Eliminate orphaned File records
	    9) Eliminate orphaned Path records
	   10) Eliminate orphaned Filename records
	   11) Eliminate orphaned FileSet records
	   12) Eliminate orphaned Client records
	   13) Eliminate orphaned Job records
	   14) Eliminate all Admin records
	   15) Eliminate all Restore records
	   16) All (3-15)
	   17) Quit Select function number:

       By entering 1 or	2, you can toggle the modify database flag (-f option)
       and the verbose flag (-v).  It can be helpful and  reassuring  to  turn
       off  the	 modify	 database flag,	then select one	or more	of the consis-
       tency checks (items 3 through 9)	to see what will be done, then	toggle
       the modify flag on and re-run the check.

       The inconsistencies examined are	the following:

       Duplicate  filename  records.   This can	happen if you accidentally run
       two
	  copies of Bareos at the same time, and they are  both	 adding	 file-
       names
	  simultaneously.  It is a rare	occurrence, but	will create an
	  inconsistent database.  If this is the case, you will	receive	error
	  messages  during Jobs	warning	of duplicate database records.	If you
       are
	  not getting these error messages, there is no	 reason	 to  run  this
       check.

       Repair  bad  Filename records.  This checks and corrects	filenames that
       have
	  a trailing slash.  They should not.

       Repair bad Path records.	 This checks and corrects path names  that  do
       not
	  have a trailing slash.  They should.

       Duplicate  path	records.   This	can happen if you accidentally run two
       copies
	  of Bareos at the same	time, and they are both	adding filenames
	  simultaneously.  It is a rare	occurrence, but	will create an
	  inconsistent database.  See the item above for why this  occurs  and
       how
	  you know it is happening.

       Orphaned	JobMedia records.  This	happens	when a Job record is deleted
	  (perhaps by a	user issued SQL	statement), but	the corresponding Job-
       Media
	  record  (one for each	Volume used in the Job)	was not	deleted.  Nor-
       mally,
	  this should not happen, and even if it does, these records generally
       do
	  not take much	space in your  database.   However,  by	 running  this
       check,
	  you can eliminate any	such orphans.

       Orphaned	File records.  This happens when a Job record is deleted (per-
       haps
	  by  a	 user issued SQL statement), but the corresponding File	record
       (one
	  for each Volume used in the Job) was not deleted.   Note,  searching
       for
	  these	 records  can be very time consuming (i.e.  it may take	hours)
       for a
	  large	database.  Normally this should	not  happen  as	 Bareos	 takes
       care to
	  prevent it.  Just the	same, this check can remove any	orphaned File
	  records.   It	is recommended that you	run this once a	year since or-
       phaned
	  File records can take	a large	amount of space	in your	database.  You
	  might	want to	ensure that you	have indexes on	JobId, FilenameId, and
	  PathId for the File table in your catalog before running  this  com-
       mand.

       Orphaned	Path records.  This condition happens any time a directory is
	  deleted from your system and all associated Job records have been
	  purged.  During standard purging (or pruning)	of Job records,	Bareos
	  does not check for orphaned Path records.  As	a consequence, over a
	  period  of time, old unused Path records will	tend to	accumulate and
       use
	  space	in your	database.  This	check will eliminate them.  It is
	  recommended that you run this	check at least once a year.

       Orphaned	Filename records.  This	condition happens any time a file is
	  deleted from your system and all associated Job records have been
	  purged.  This	can happen quite frequently as there are quite a large
	  number of files that are created and then deleted.  In addition,  if
       you
	  do  a	 system	 update	 or delete an entire directory,	there can be a
       very
	  large	number of Filename records that	remain in the catalog but  are
       no
	  longer used.

	  During standard purging (or pruning) of Job records, Bareos does not
	  check	 for  orphaned Filename	records.  As a consequence, over a pe-
       riod of
	  time,	old unused Filename records will accumulate and	use  space  in
       your
	  database.   This  check  will	eliminate them.	 It is strongly	recom-
       mended
	  that you run this check at least once	a year,	and for	large database
	  (more	than 200 Megabytes), it	is probably better to  run  this  once
       every
	  6 months.

       Orphaned	Client records.	 These records can remain in the database long
	  after	you have removed a client.

       Orphaned	 Job records.  If no client is defined for a job or you	do not
       run
	  a job	for a long time, you can accumulate old	job records.  This op-
       tion
	  allow	you to remove jobs that	are not	attached to  any  client  (and
       thus
	  useless).

       All Admin records. This command will remove all Admin records,
	  regardless of	their age.

       All Restore records. This command will remove all Restore records,
	  regardless of	their age.

       By  the	way,  I	 personally run	dbcheck	only where I have messed up my
       database	due to a bug in	developing Bareos code,	so normally you	should
       never need to run dbcheck inspite of the	recommendations	 given	above,
       which  are  given  so that users	don't waste their time running dbcheck
       too often.

SEE ALSO
       bls(1), bextract(1).

AUTHOR
       This   manual	page	was    written	  by	Jose	Luis	Tallon
       <jltallon@adv-solutions.net>.

Kern Sibbald		       26 September 2009	     BAREOS-DBCHECK(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=bareos-dbcheck&sektion=8&manpath=FreeBSD+Ports+14.3.quarterly>

home | help