certbotのcron設定をtimer設定へ変更する

Let's Encrypt

certbotのcron設定をsystemd-timer設定へ変更する手順です.なお,利用しているOSはfedora 35(2022/4/19現在)です.

certbotをインストールするとタイマー用のファイル/usr/lib/systemd/system/certbot-renew.timerもインストールされるので,以下のコマンドで有効にします.

systemctl enable --now certbot-renew.timer

つづいて,/etc/sysconfig/certbotの以下の行を,

POST_HOOK=""

次のように変更します.

POST_HOOK="--post-hook 'systemctl restart httpd'"

systemctl list-timersを実行して,次のように次回実行時刻が表示されていれば設定完了です.

NEXT                        LEFT          LAST                        PASSED       UNIT                         ACTIVATES
(途中略)
Sun 2022-04-03 05:21:26 JST 14h left      Sat 2022-04-02 13:10:58 JST 2h 4min ago  certbot-renew.timer          certbot-renew.service
(途中略) 

11 timers listed.
Pass --all to see loaded but inactive timers, too.

最後にcronからcertbotジョブを削除します.

参考までにcertbot-renew.timerとcertbot-renew.serviceの内容を以下に示します.(certbotインストール時のままです)

# cat /usr/lib/systemd/system/certbot-renew.timer
[Unit]
Description=This is the timer to set the schedule for automated renewals

[Timer]
OnCalendar=*-*-* 00/12:00:00
RandomizedDelaySec=12hours
Persistent=true

[Install]
WantedBy=timers.target
# cat /usr/lib/systemd/system/certbot-renew.service
[Unit]
Description=This service automatically renews any certbot certificates found

[Service]
EnvironmentFile=/etc/sysconfig/certbot
Type=oneshot
ExecStart=/usr/bin/certbot renew --noninteractive --no-random-sleep-on-renew $PRE_HOOK $POST_HOOK $RENEW_HOOK $DEPLOY_HOOK $CERTBOT_ARGS

コメント

タイトルとURLをコピーしました