前些时间弄了个lets encrypt的证书,后来由于期末考试等原因证书过期了也没再更新。刚才查了下相关资料,利用crontab实现了自动更新证书,在这记录下。
关于certbot的各种模式可以参考这篇文章
首次申请证书可以使用
certbot certonly --standalone -d blog.site26.cn
更新:
#!/bin/bash
# 先关掉nginx
systemctl stop nginx
# 更新TLS证书
certbot renew --force-renewal
# 重启Web服务器
systemctl start nginx
注意要先关掉nginx防止端口占用,再更新证书;bash的首行#!/bin/bash
定义了bash的解释器。关于如何写bash脚本参考这里
然后用crontab定义一个每月1号早上0300运行的任务
crontab -e
0 3 1 * * /root/***/CertAutoRenew/AutoRenew.sh &>> /root/***/CertAutoRenew/AutoRenewLog.log