ValueSSL
ACME マニュアル(Sectigo)

Sectigo Cron(定期実行)

デフォルトのsystemd timer

Certbotのご利用のバージョンによりましてはインストール時にデフォルトでsystemd timerを自動配置します。
・タイマー:snap.certbot.renew.timer(12時間ごと)
・サービス:snap.certbot.renew.service
・確認:systemctl list-timers | grep certbot
・次回実行時刻:systemctl status snap.certbot.renew.timer

本来はユーザー側でcronを設定する必要はありません。
複数ドメインや特殊な環境では、処理をスクリプト化してcronを手動で設定すると便利です。(任意)

デフォルトタイマーの有効化(任意)

必要に応じてデフォルトタイマーを有効化して下さい。
・sudo systemctl enable --now certbot.timer (有効化)
・systemctl list-timers | grep certbot (確認)

デフォルトタイマーの無効化(任意)

必要に応じてデフォルトタイマーを無効化して下さい。
・sudo systemctl disable --now certbot.timer (無効化)
・systemctl list-timers | grep certbot (確認)

処理をスクリプト化してcronを手動で設定する(任意)

Linux 標準で利用可能な cron を利用した自動運用について説明します。

(1) cron 編集コマンド呼び出し:

crontab -e

(2) cron 編集内容:

[minute] [hour] [day] [month] [day of week] [command]



項番 項目 説明
1 minute 実行する分を 0-59 までの任意の整数で指定します
2 hour 実行する時間を 0-23 までの任意の整数で指定します
3 day 実行する日を 1-31 までの任意の整数で指定します
4 month 実行する月を 1-12 までの任意の整数で指定します
5 day of week 実行する曜日を 0-7 までの任意の整数で指定します(0 と 7 は日曜日)
0=日, 1=月, 2=火, 3=水, 4=木, 5=金, 6=土, 7=日
または、曜日を表す英語名でも指定可能です
sun, mon, tue, wed, thu, fri, sat
6 command 実行するコマンドを指定します


項番 項目 説明
1 アスタリスク(/*) すべての有効な値を指定できます。
[day]にアスタリスク(*)を指定すると毎日実行されます
2 ハイフン(-) 範囲を指定します。
1-3 の場合、1,2,3 を指定ことになります。
3 カンマ(,) 一覧を指定します。指定した整数すべてが対象となります。
1,4,7 の場合、指定した3つの整数を指定したことになります。
4 スラッシュ(/) ステップ値を指定します。範囲の後に「/」がある場合、その範囲で指定した整数値 をスキップします。[minute]で 0-59/3 の場合、0-59 分の間で 3 分ごとに実行され ます。
5 ハッシュ記号(#) コメント行

cron 設定例

■定期発行(renew)の設定例

毎月1回各月の1日午前2時30分頃に実行する。

# [minute] [hour] [day] [month] [day of week] [command]
30 2 1 * * /cert-renew.sh > /dev/null

cert-renew.sh:

#!/bin/sh

/usr/bin/certbot certbot certonly --standalone --register-unsafely-without-email --non-interactive --config-dir /etc/sectigo/certificate --key-type rsa --server https://acme.sectigo.com/v2/DV --eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -d example.com,www.example.com