自动重新加载Nginx的certboot更新成功?

每隔三个月,我的Let's Encrypt证书过期,我的客户将收到一个无效的https证书。

所以我最近放了下面的cron任务:

@weekly certbot renew --quiet && service nginx reload 

根据我的理解,当certbot renew成功时更新证书,它返回一个成功的状态(exit(0)),所以跟随&& ,所以nginx被重新加载。

是的,但不起作用。 我最近有我的服务器再次显示过期的证书,所以我当然误解了一些东西,和/或我的cron任务不好。

你能告诉我path吗? 🙂

更好的方法就是使用--renew-hook可以调用脚本。 另外--no-self-upgrade是自动更新的好select,这个选项防止更新期间更新,可以打破一些事件

cronlogging可以

 certbot renew --quiet --no-self-upgrade --renew-hook /path/to/hook.sh 

hook.sh

 #!/bin/sh set -e nginx -t -q && nginx -s reload exit 0 

只有在更新行为发生时才会调用此脚本,而不是每周都会调用

完整的解释是在手册页或文档中