文件系统访问监视守护程序
pyflogd的Python项目详细描述
PyFlogd是一个监视工具,可以在跟踪潜在客户时为您提供支持 文件系统瓶颈。它使用inotify内核api。
pyflogd使用开发友好的json输出格式。每行将包含 一个具有类型和路径属性的json对象。你可以分析这些行 分析访问和写入最多的文件。
要求
- 守护进程
- 多克普特
- 哈希库
- json格式
- 锁文件
- pyinotify
- 模式
- 信号
关于在ubuntu
上使用pyflogd的说明当pyinotify通过apt安装时,您将得到一个旧版本 关于递归监视的已知错误。使用此版本时 无法跟踪创建的文件夹中的文件和文件夹 在Pyflogd启动之后。要解决这个问题,你可以跑 pip install --upgrade pyinotify。
python 3兼容性
pyflogd依赖于当前与 Python3。如果不这样做,将pyflogd作为守护进程运行是行不通的,但是 run命令应该可以正常工作。
安装
要安装pyflog,请运行以下命令:
git clone https://github.com/mkzero/pyflogd python2 setup.py install
之后,您应该可以使用来自您的pyflod命令 命令线。
用法
Usage: pyflogd run [-f | --only-files] [-r | --recursive] [-o <file> | --outfile=<file>] <folder> ... pyflogd start [-f | --only-files] [-r | --recursive] [-o <file> | --outfile=<file>] <folder> ... pyflogd stop <folder> ... pyflogd -h | --help pyflogd -v | --version Options: -h --help Show this screen -v --version Show version -r --recursive Watch a folder recursivly -f --only-files Don't report events for folders -o FILE --outfile=FILE Write to file instead of stdout
运行
run命令在前台启动pyflogd并将事件输出到 不提供outfile时执行stdout。
示例:
pyflogd run --outfile=/tmp/pyflogd.log --recursive /path/to/folder1 \ /path/to/folder2 /path/to/folder3
启动/停止
start命令在后台启动pyflogd守护进程,然后 将事件输出到提供的outfile。要停止守护进程,请使用 与start命令的文件夹相同,并省略所有其他选项,如 outfile或recursive。
示例:
pyflogd start --outfile=/tmp/pyflogd.log --recursive /path/to/folder1 \ /path/to/folder2 /path/to/folder3 pyflogd stop /path/to/folder1 /path/to/folder2 /path/to/folder3