#缓存 #命令行工具 #输出 #运行 #运行中 # #

app cmd_cache

运行命令并缓存其输出的命令行工具

2 个版本

使用旧的 Rust 2015

0.1.1 2020年6月24日
0.1.0 2020年5月9日

#14 in #days

GPL-3.0 许可协议

19KB
170

cmd_cache 是一个命令行工具,可以运行命令并缓存其输出。如果输出未超过环境变量 CMD_CACHE_MAX_DAYS 的天数,则不会运行命令,而是显示缓存的输出。

它方便缓存长时间运行或耗资源的命令的输出,无需手动处理临时文件。

简单的使用方法,直到缓存过期都会显示相同的日期

cmd_cache date

一个现实生活中的例子,一个懒惰的管理员想要检索多个服务器的 dmesg

cat hosts | parallel cmd_cache ssh -n {} dmesg | grep -i segfault
cat hosts | parallel cmd_cache ssh -n {} dmesg | grep -i oom
[...]

CMD_CACHE_MAX_DAYS 默认为 7 天。它是一个浮点数的天数。将其设置为 0 将强制再次运行命令并刷新缓存。

只缓存 stdoutstderr 不会被捕获,但会在首次运行命令时显示。

缓存的输出存储在 ~/.cmd_cache 中,永远不会被删除,因为 cmd_cache 被设计为尽可能快地运行(遍历大目录是耗时的),并且可能以不同的 CMD_CACHE_MAX_DAYS 值运行 cmd_cache。

可以使用简单的命令清理缓存目录

find ~/.cmd_cache/ -type f -mtime +90 -delete

Rust

依赖项

~6–15MB
~174K SLoC