Database Cleaning
Entries in the Barbican database are soft deleted and can build up
over time. These entries can be cleaned up with the clean up command.
The command can be used with a cron job to clean the database
automatically on intervals.
Commands
The command `barbican-manage db clean
` can be used to
clean up the database. By default, it will remove soft deletions that
are at least 90 days old since deletion
`barbican-manage db clean --min-days 180
(-m
) will
go through the database and remove soft deleted entries that are at
least 90 days old since deletion. The default value is 90 days. Passing
a value of --min-days 0
` will delete all
soft-deleted entries up to today.
`barbican-manage db clean --clean-unassociated-projects
(-p
`) will go through the
database and remove projects that have no associated resources. The
default value is False.
`barbican-manage db clean --soft-delete-expired-secrets
(-e
) will
go through the database and soft delete any secrets that are past their
expiration date. The default value is False. If
-e
is used along with
---min-days 0
` then all the expired secrets will be
hard deleted.
`barbican-manage db clean --verbose
(-V
`) will print more information
out into the terminal.
`barbican-manage db clean --log-file
(-L
) will
set the log file location. The creation of the log may fail if the user
running the command does not have access to the log file location or if
the target directory does not exist. The default value for log_file can
be found in /etc/barbican/barbican.conf
` The log
will contain the verbose output from the command.
Cron Job
A cron job can be created on linux systems to run at a given interval
to clean the barbican database.
Crontab
1. Start the crontab editor `crontab -e
with the user that runs the clean up command 2. Edit
the crontab section to run the command at a given interval.
<minute 0-59> <hour 0-23,0=midnight> <day 1-31> <month 1-12> <weekday 0-6, 0=Sunday> clean up command
`
Crontab Examples
`00 00 * * * barbican-manage db clean -p -e
` -Runs a
job everyday at midnight which will remove soft deleted entries that 90
days old since soft deletion, will clean unassociated projects, and will
soft delete secrets that are expired.
`00 03 01 * * barbican-manage db clean -m 30
` -Runs a
job every month at 3AM which will remove soft deleted entries that are
at least 30 days old since deletion.
`05 01 07 * 6 barbican-manage db clean -m 180 -p -e -L /tmp/barbican-clean-command.log
-Runs a job every month at 1:05AM on the 7th day of
the month and every Saturday. Entries that are 180 days old since soft
deletion will be removed from the database. Unassociated projects will
be removed. Expired secrets will be soft deleted. The log file will be
saved to /tmp/barbican-clean-command.log
`