Let's Encrypt证书自动更新

Let’s Encrypt证书自动更新

Let’s Encrypt免费SSL证书用起来非常方便,但每次申请只有三个月有效期,在每次到期之前都需要重新申请,不过重新申请并不麻烦,只需要一行命令就完事:certbot renew

即便是一条命令就OK,也不想每隔三个月就需要登录到机器上执行更新命令,所以我在第一次申请之后就配置了crontab每隔两个月重新申请一次。

愿景是美好的,但过了一段时间后,我网站证书竟然过期了,也就是说crontab没有生效或者任务失败了,此文就是来找到这个问题所在以及修复它。

history

v1

最开始我配置了一条这样的crontab:

0 0 1 */2 * certbot renew --force-renewal

然后发现不生效,鉴于之前的经验知道crontab执行命令的路径应该是$HOME,而且不会加载环境变量,所以在这里改了一下。

v2

通过which certbot查找到命令的完整路径,然后配置到crontab中:

0 0 1 */2 * /usr/bin/certbot renew --force-renewal

但过了一段时间后发现网站的证书没有更新,自己依旧没当回事,觉得可能是month: */2这个写法不对。

v3

虽然之前在crontab文档里面是见过*/2这种写法的,但这次没去深究,遂改成1,3,5…逗号的写法:

0 0 1 1,3,5,7,9,11 * /usr/bin/certbot renew --force-renewal

结果依旧悲催。

v4

悲催后,我又改了下:

0 0 1 1,3,5,7,9,11 * /usr/bin/certbot renew --quiet --force-renewal 1>/dev/null 2>/dev/null

写这篇文章就是发生在第四次瞎B试失败后,受不了了…

now

crontab日志

为了验证,这次就不再是配置两个月间隔的crontab,就看着时间配置,比如现在是13:57,那么crontab里面就配置成:

0 14 * * * /usr/bin/certbot renew --quiet --fo
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值