#directory #directory-structure #hash #keep #legacy #time #system

app legdur

保留您的旧版耐久性,检测目录随时间的变化

7 个版本

0.3.4 2023年12月9日
0.3.2 2023年8月27日
0.3.0 2022年8月14日
0.2.2 2022年6月25日
0.1.0 2022年5月4日

#177文件系统

AGPL-3.0

26KB
136

legdur - 保留您的旧版耐久性

legdur 是一个简单的CLI程序,用于计算大型目录结构中大量文件的哈希值,并与之前的快照进行比较。想象一下,随着时间的推移,您收集的照片集合可能会出现比特腐蚀的问题。

安装

cargo install legdur --force 应该能让已经安装了Rust的系统安装它。

尝试不安装使用

如果您有启用nix-flakes的系统:nix run git+https://git.cyplo.dev/cyplo/legdur.git

使用方法

legdur 路径//一个/目录/

工作

legdur ~/documents
2022-06-25T06:45:51.000214Z  INFO legdur: scanning '/home/cyryl/documents'
2022-06-25T06:45:51.044471Z  INFO legdur: list of files acquired, calculating hashes...
█████████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░ 2788/3190

完成

2022-06-25T06:49:23.776229Z  INFO legdur: hash calculation complete
2022-06-25T06:49:23.784499Z  INFO legdur: /home/cyryl/documents/legdur.db saved
2022-06-25T06:49:23.792585Z  INFO legdur: comparing /home/cyryl/documents/legdur.db with /home/cyryl/documents/legdur.old
2022-06-25T06:49:23.826548Z  WARN legdur: /home/cyryl/documents/legdur.db: 395f65f5727f946c0208f79cfe1f3de1bd81e491bb7631ba6f41fc578d3db368 -> 7d1b9748ed291eb6874c91917b5619eb8e1410e7cbfd37a517c5bd4ddf8c7895
2022-06-25T06:49:23.826715Z  WARN legdur: /home/cyryl/documents/legdur.old: e56cf4f6b7fdc2daa3ca3430e8e64bf9d042f1c0e465dcd452986709cb25f7d8 -> 395f65f5727f946c0208f79cfe1f3de1bd81e491bb7631ba6f41fc578d3db368

工作原理

  • 它将计算目录结构中每个现有文件的哈希值(它是递归的)。
  • 如果之前已计算过的 legdur.db 存在,它将比较当前世界状态与 legdur.db 所代表的状态,并输出任何差异。只有更改或被删除的文件会被打印出来,目录中任何地方的添加或文件移动都不会。
  • 它将当前 legdur.db 移动到 legdur.old,并将新世界状态写入新的 legdur.db

联系 & 贡献

  • 如果您想对此进行黑客攻击,请通过 legdur@cyplo.dev 或通过 Fediverse 上的 cyplo@peninsula.industries 与我联系。

源代码

git clone https://git.cyplo.dev/cyplo/legdur.git

依赖关系

~8–18MB
~236K SLoC