Database Cleaning¶
Barbican 数据库中的条目会被软删除,并可能随着时间累积。可以使用清理命令来清理这些条目。该命令可以与 cron 作业一起使用,以便以固定间隔自动清理数据库。
命令¶
可以使用命令 `barbican-manage db clean` 来清理数据库。默认情况下,它将删除自删除后至少 90 天的软删除条目
`barbican-manage db clean --min-days 180` (`-m`) 将遍历数据库并删除自删除后至少 90 天的软删除条目。默认值为 90 天。传递值 `--min-days 0` 将删除所有软删除条目,直至今天。
`barbican-manage db clean --clean-unassociated-projects` (`-p`) 将遍历数据库并删除没有关联资源的孤立项目。默认值为 False。
`barbican-manage db clean --soft-delete-expired-secrets` (`-e`) 将遍历数据库并软删除所有已过期的密钥。默认值为 False。如果将 `-e` 与 `---min-days 0` 一起使用,则所有已过期的密钥都将被硬删除。
`barbican-manage db clean --verbose` (`-V`) 将在终端中打印更多信息。
`barbican-manage db clean --log-file` (`-L`) 将设置日志文件位置。如果运行该命令的用户没有访问日志文件位置的权限,或者目标目录不存在,则日志的创建可能会失败。log_file 的默认值可以在 `/etc/barbican/barbican.conf` 中找到。日志将包含命令的详细输出。
Cron Job¶
可以在 Linux 系统上创建一个 cron 作业,以在给定的间隔运行,以清理 Barbican 数据库。
Crontab¶
1. 使用运行清理命令的用户启动 crontab 编辑器 `crontab -e` 2. 编辑 crontab 部分,以在给定的间隔运行该命令。 `<分钟 0-59> <小时 0-23,0=午夜> <日 1-31> <月 1-12> <星期 0-6, 0=星期日> 清理 命令`
Crontab 示例¶
`00 00 * * * barbican-manage db clean -p -e` -每天午夜运行作业,该作业将删除自软删除后至少 90 天的软删除条目,将清理孤立项目,并将软删除已过期的密钥。
`00 03 01 * * barbican-manage db clean -m 30` -每月 3 点运行作业,该作业将删除自删除后至少 30 天的软删除条目。
`05 01 07 * 6 barbican-manage db clean -m 180 -p -e -L /tmp/barbican-clean-command.log` -每月 7 日凌晨 1:05 运行作业,以及每个星期六。将删除自软删除后至少 180 天的条目。将删除孤立项目。将软删除已过期的密钥。日志文件将保存到 `/tmp/barbican-clean-command.log`