certbot renewでのSSL/TLS証明書更新でrandom sleepを無効にする

certbot renewコマンドをcronで自動実行されるよう設定していたのですが、うまく実行できていないようでした。

cronのログなど調べていたところ、random sleepなる機能が原因で実行されなかったことに気づきました。

Certbotのrandom sleep機能について

最近のcertbotはrandom sleepという機能が実装されています。

コマンド実行後、ランダムで算出された時間分、処理を遅らせて実行する機能です。

これがそこそこ長く(100~500sくらい)、cronでタイムアウトしてしまったと推測しています(軽く調べたがcronのデフォルトのタイムアウト時間が分からず、別の原因の可能性もある)。

解決策

certbotのrandom sleepを無効にするか、cronのtimeoutを長めに設定すればOKですね。

# random sleepを無効にしてcertbot renewを実行
certbot renew --no-random-sleep-on-renew
# cronでtimeoutを設定(1000s)
30 *  *  *  * timeout 1000 hogehoge.sh

まとめ

これでrandom sleepに悩まされずにすみそうです。やったぜ。

コメントを残す

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.