1 个稳定版本
| 1.0.0 | 2023年1月31日 |
|---|
#356 在 日期和时间
6KB
55 行
stampiotic
检查 stampfile 新鲜度的轻量级工具。
安装
使用以下命令从源安装
$ cargo install stampiotic
您可以使用 Nightly 的 build-std 功能构建优化后的二进制文件,节省约 200 KiB。
$ cargo +nightly build --release
-Z build-std=std,panic_abort
-Z build-std-features=panic_immediate_abort
--target x86_64-unknown-linux-gnu
为什么?
启动一个 shell(或者更糟糕的是,一个 Python 或 Perl 脚本)比调用一个小二进制文件要长得多,为什么要费那个劲?某些容器甚至可能默认不包含 shell。 stampiotic 有一个依赖项:libc。
stampiotic 是在 Kubernetes 中实现看门狗定时器的特别有用的工具。旧服务可以定期修改 stampfile,然后可以使用 stampiotic 作为定期 Kubernetes 健康检查来检查它。
用法
$ stampiotic max-age stampfile [...]
例如。
$ stampiotic 60s /run/foo/foo-server.stamp 60s
$ stampiotic '30 min' make.stamp
$ stampiotic 1d long-process-1.stamp long-process-2.stamp
File "long-process-2.stamp" is too old (12345s > 86400s)
$ echo $?
1
最大年龄解析
持续时间由 humantime 解析。
| 单位 | 支持的后缀 | 定义 |
|---|---|---|
| 纳秒 | nsec/ns |
10−9 秒 |
| 微秒 | usec/us |
10−6 秒 |
| 毫秒 | msec/ms |
10−3 秒 |
| 秒 | seconds/second/sec/s |
1 秒 |
| 分钟 | minutes/minute/min/m |
60 秒 |
| 小时 | hours/hour/hr/h |
3600 秒 = 60 分钟 |
| 天 | days/day/d |
86,400 秒 = 24 小时 |
| 周 | weeks/week/w |
604,800 秒 = 7 天 |
| 月 | months/month/M |
30.44 天 = 2630016 秒 |
| 年 | years/year/y |
365.25 天 = 31557600 秒 |
依赖项
~43KB