项目简介
本项目是一个守护进程,可在指定目录生成Merkle树,并在文件系统有更改通知时更新Merkle树的根哈希值。借助D - Bus消息传递系统,能将Merkle树的最新哈希值变化通知给其他服务,适用于需实时监控文件系统完整性和确保数据一致性的场景。
项目的主要特性和功能
- 实时监控指定目录下的文件系统变化。
- 在指定目录生成Merkle树并计算根哈希值。
- 文件系统变化时自动更新Merkle树的根哈希值。
- 通过D - Bus发送更新消息,通知其他服务最新哈希值变化。
- 支持Blake3和SHA - 256两种哈希算法。
- 支持x86和ARM架构,针对不同架构优化了Blake3的实现。
安装使用步骤
1. 安装依赖
确保系统已安装以下依赖:
- C++17编译器
- libsystemd-dev
(用于D - Bus和日志)
- libcrypto++-dev
(用于SHA - 256实现)
2. 编译项目
在项目根目录使用Makefile编译:
bash
make
若需编译Blake3库,Makefile会自动处理。
3. 运行程序
编译成功后,可直接运行守护进程:
bash
./fsCheckDaemon &
也可将其配置为系统服务。
4. 配置系统服务
编辑fsCheck.service
文件,指定ExecPath
和WorkingDirectory
路径,然后使用以下命令启用并启动服务:
bash
systemctl --user enable /path/to/the/daemon/fsCheck.service
systemctl --user start fsCheck.service
5. 监控日志
使用以下命令查看守护进程的日志:
bash
journalctl -n20 | grep fsCheck
或通过systemctl
查看服务状态:
bash
systemctl --user status fsCheck.service
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】