在certbot证书续订后,Cron拒绝重新加载ngix

30byixjq  于 2022-10-06  发布在  Nginx
关注(0)|答案(1)|浏览(175)

操作系统:Debian GNU/Linux 10(Buster)
Certbot:certbot 1.11.0

我正试着利用这个裙带关系:

{ certbot renew; nginx -t && service nginx reload; } &>/dev/null

certbot renew工作正常-我看到证书是新的。但ngix不会被重新加载。

如果我在命令行中输入certbot renew; nginx -t && service nginx reload,则一切工作正常。

我读到过我可以使用certbot挂钩。我在/etc/letsencrypt/renewal-hooks/deploy/001-restart-nginx.sh中写了一个,权限如下:

drwxr-xr-x 88 root root 4096 Jan 31  2021 /etc/
drwxr-xr-x 9  root root 4096 Sep 20 19:37 /etc/letsencrypt/
drwxr-xr-x 5  root root 4096 Jan 29  2021 /etc/letsencrypt/renewal-hooks/
drwxr-xr-x 2  root root 4096 May 17 06:10 /etc/letsencrypt/renewal-hooks/deploy/
-rwxr-xr-x 1  root root 21   May 17 06:10 /etc/letsencrypt/renewal-hooks/deploy/001-restart-nginx.sh

001-restart-nginx.sh的内容为:

service nginx reload

即使有了钩子,ngix仍然不能重新加载。

mrphzbgm

mrphzbgm1#

Cron不填充PATH环境变量,因此您必须始终为每个命令提供完整路径。在您的案例中,它们是:

1.CertBot二进制文件的路径
1.nginx二进制文件的路径
1.“服务”Bash脚本的路径

相关问题