AFS版本跟踪数据库
avdb的Python项目详细描述
AVDB-AFS版本跟踪数据库
avdb分批运行openafsrxdebug命令以查找 AFS服务器在野外运行。数据存储在一个小数据库中。 目前支持sqlite和mysql数据库。
安装
在安装avdb之前安装openafsrxdebug命令。这个 rxdebug命令可以从包安装,也可以从构建openafs安装 来自源的用户空间包。rxdebug是唯一使用的openafs程序 由avdb在这个时候。不需要缓存管理器(openafs客户端)。
生成文件随avdb一起提供,以便于开发和安装 从git结帐处。avdb包可以直接从git安装 使用install-user目标签出:
$ make install-user
或用于站点范围的安装:
$ sudo make install
接下来,运行avdb init子命令来创建数据库和表。 在命令行上提供连接URL以指定数据库类型和 连接凭据。连接url将保存在avdb中 配置文件~/.avdb.ini用于随后调用avdb。
创建sqlite数据库:
$ avdb init --url sqlite:////<path>/<to>/avdb.db
创建MySQL数据库:
$ avdb init --url mysql://<user>:<secret>@<hostname>/avdb \ --admin <mysql-admin-user> \ --password <mysql-admin-password>
示例用法
使用“import”子命令导入要扫描的单元格列表。:
$ avdb import --csdb https://grand.central.org/dl/cellservdb/CellServDB \ --name sinenomine.net $ avdb list
使用“scan”子命令定期扫描主机以查找版本。:
$ avdb scan --nprocs 100 --verbose
输出发现“report”子命令的版本。:
$ avdb report --output /tmp/results --format html
配置
avdb命令行选项默认值可以由ini样式配置设置 文件。站点范围的配置文件是/etc/avdb.ini,每个用户 配置文件位于$HOME/.avdb.ini。每个用户 配置文件将覆盖站点范围文件中的选项,并且 命令行参数将覆盖配置文件中的值。
配置文件包含通用选项的全局部分,其中 包括用于指定数据库连接和公用日志记录的SQL URL 选项。每个avdb子部分都有单独的部分来指定 每个子命令的默认值。有关选项名称,请参见命令行帮助。
配置文件示例:
$ cat ~/.avdb.ini [global] url = sqlite:////var/lib/avdb/example.db log = /tmp/avdb.log [scan] nprocs = 10 [report] format = html output = /var/www/html/avdb.html
在python中使用avdb
除了命令行接口之外,avdb模块还可以导入到 python程序。这允许直接调用avdb子命令 常规python函数。所有子命令函数都有一个 尾随下划线以避免命名与标准python名称冲突。为了 例如,import子命令的函数名为import_。
在调用avdb子命令之前,必须设置一次数据库连接url 功能。使用avdb.model.init_db()函数设置连接url。
如果需要,avdb config parser对象可以作为 avdb.subcmd.config。
示例:
import avdb url = avdb.subcmd.config.get('global', 'url') avdb.model.init_db(url) avdb.import_(name='sinenomine.net') avdb.scan_(nprocs=20) avdb.report_(format='html', output='myfile.html')