在负责了 DevOps 之后,面临的直接问题就是各个证书的续期问题。虽然有一些方案可以帮助监控并提醒证书的到期时间,比如 Better Stack 等。但是基于邮件或者其它通知的告警形式很容易被淹没在消息洪流中。而且没有什么是比自己实现一个解决方案更酷的事情了。
在构思的时候,希望解决方案是一个 CLI
,同时要尽量避免各种分发问题,因此自然而然采用了 Rust
。同时充分使用了多线程。程序在运行的时候会根据命令参数来获取域名列表。然后返回列表中所有域名的到期时间。
+-------------------+-------------+-------------+
| Domain | Expire Days | Expire Date |
+-------------------+-------------+-------------+
| cheng.im | 33 | 2024-12-21 |
+-------------------+-------------+-------------+
| stackoverflow.com | 76 | 2025-02-02 |
+-------------------+-------------+-------------+
| cheng.sh | 79 | 2025-02-05 |
+-------------------+-------------+-------------+
| github.com | 109 | 2025-03-07 |
+-------------------+-------------+-------------+
| microsoft.com | 155 | 2025-04-22 |
+-------------------+-------------+-------------+
| rust-lang.org | 186 | 2025-05-23 |
+-------------------+-------------+-------------+
由于是 CLI
,很容易实现 /ect/motd
的效果,只需要将命令放在对应 shell
的配置文件中即可,例如 zsh
的 ~/.zshrc
等。这样一登录上服务器就能看到结果了。