调整Let's Encrypt Certbot运行时间:删除Cron后为何仍自动执行?
排查Certbot自动运行的根源(除Cron外的常见方式)
嘿,这个问题我碰到过好多次!你已经排查了Cron任务,但Certbot还在自动跑,大概率是因为它用了systemd定时器(systemd timer)——这是现在多数主流Linux发行版(比如Ubuntu 20.04+、Debian 11+)里Certbot默认的自动续期触发方式,完全独立于Cron。
下面一步步帮你确认和调整:
1. 检查systemd定时器状态
先看看Certbot的timer是不是在活跃状态:
sudo systemctl list-timers certbot.timer
如果输出里显示certbot.timer处于active (waiting)状态,并且有对应的下次运行时间,那就是它在自动触发续期任务了。
2. 查看定时器关联的服务
可以进一步查看Certbot服务的运行记录,确认它最近的执行情况:
sudo systemctl status certbot.service
这里能看到服务的启动日志,帮你验证是不是这个服务在后台自动运行。
3. 修改定时器的运行时间(改成每日清晨一次)
如果确实是systemd timer在生效,你可以直接修改它的触发时间:
- 编辑timer的配置文件(用覆盖式编辑,不修改原始文件):
sudo systemctl edit certbot.timer - 在打开的编辑器中添加以下内容,把运行时间设为每日清晨6点(你可以改成自己需要的时间):
[Timer] OnCalendar=daily *-*-* 06:00:00 - 保存退出后,重新加载systemd配置并重启定时器:
sudo systemctl daemon-reload && sudo systemctl restart certbot.timer - 再次运行
sudo systemctl list-timers certbot.timer,确认下次运行时间已经变成你设置的清晨时间。
4. 其他可能的触发方式(比较少见)
如果上面没找到,还可以检查一下anacron——这是一种针对非24小时运行的机器设计的任务调度工具,有些老发行版可能会用它:
sudo cat /etc/anacrontab
看看里面有没有和Certbot相关的任务条目。
内容的提问来源于stack exchange,提问作者tibi
相关产品推荐
相关产品推荐

