小编drd*_*ath的帖子

让 certbot 等待另一个实例

我在这里尝试做的事情如下:我有一个由计时器控制的 systemd 服务,该计时器负责处理 LetsEncrypt 证书的更新。这些证书的外观在配置文件中规定。

[Unit]
Description=Let's Encrypt renewal

[Service]
Type=oneshot
Environment=CONFIG_FILE=/etc/letsencrypt/test.conf
ExecStart=-/usr/bin/certbot renew --quiet --agree-tos --noninteractive --no-random-sleep-on-renew
Run Code Online (Sandbox Code Playgroud)

续订会运行一些后处理脚本,以确保部署和安装证书。

如果配置在证书生成和上次续订之间发生更改,这些脚本将找不到预期名称下的证书。然后,这些脚本会自动触发另一个脚本,以确保创建证书:

if [[ ! -d /etc/letsencrypt/live/${CERT_NAME} ]]
then
  #certificate folder we expect isn't there , request a new cert
  . /etc/letsencrypt/renewal-hooks/request-new-cert.sh
fi
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是在执行 request-new-cert.sh 期间出现错误Another Instance of Certbot is already running,导致脚本失败。

我在这件事上做错了吗?有没有更好的方法来实现我想要做的事情?

bash certificate systemd lets-encrypt certbot

1
推荐指数
1
解决办法
8295
查看次数

标签 统计

bash ×1

certbot ×1

certificate ×1

lets-encrypt ×1

systemd ×1