Ubuntu

安裝成功後找不到 certbot cron 作業

  • August 27, 2021

我在 Node 中開發了一個 REST API,並在其前面安裝了 nginx 作為反向代理,以便處理來自 Letsencrypt 的 SSL 證書。這是我第一次設置 nginx,但一切似乎都按預期工作。certbot 的安裝很順利,證書已經到位並且可以正常工作。我唯一擔心的是我看不到任何自動續訂的證據。

Certbot 文件說:

更新 certbot 的命令安裝在以下位置之一:

/etc/crontab/
/etc/cron.*/*
systemctl list-timers

我已經檢查了上述所有位置,但任何地方都沒有 certbot 的痕跡。執行sudo certbot renew --dry-run工作沒有任何錯誤消息,但據我所知,沒有創建 cron 作業或計時器。文件是過時的還是我缺乏 Linux 技能的問題?

伺服器正在執行 Ubuntu 20.04.1 LTS 和 nginx/1.18.0 (Ubuntu)。

預設情況下,在 Ubuntu 18.04+ 上,certbot 應該/etc/cron.d/certbot每 12 小時添加和執行一次(*/12)。如果您在那裡看不到文件,您可以通過執行sudo crontab -e 並添加一個遵循模闆說明的簡單作業來創建自己的 cronjob。您需要確保 cron 了解 certbot 所在的位置,或使用完整路徑。通常,完整路徑比希望 cron 知道您的PATH. 預設情況下 certbot 應該在/usr/local/bin/certbot

您可以通過以下方式驗證 certbot 的位置which certbot

您應該在 cron 作業中輸入的命令是/path/to/certbot renew

要在每個月的每一天、每個月、一周的每一天執行午夜更新,如果一切都是預設的並且您使用的是 Ubuntu,那麼您在 cron 中添加的完整行將是:

# m h DoM Mon DoW        command:
 0 0 *   *   *          /usr/local/bin certbot renew

引用自:https://serverfault.com/questions/1037028