システムタイマーを奇数と特定の日数に設定

システムタイマーを奇数と特定の日数に設定

私はCentOS 7サーバーでsystemd.timersを使用しており、Certbotが管理するLet's Encrypt Webサイト証明書を自動的に更新するようにタイマーを設定しました。

自動更新。サービス:

[Unit]
Description=certbot certificate auto-renewal service file

[Service]
Type=simple
ExecStart=/usr/local/sbin/certbot-auto renew

[Install]
WantedBy=multi-user.target

自動更新。タイマー:

[Unit]
Description=Renew certs every 10th every 3 months

[Timer]
OnCalendar=*-2,5,8,11-10 08:00:00
Persistent=true
Unit=certbotautorenewal.service

[Install]
WantedBy=multi-user.target

問題は、私が知っている限り、OnCalendarイベントの場合、タイマーを特定の日付(たとえば、毎月15日または3ヶ月ごと)に設定できますが、Let's Encrypt証明書は一定期間が経過すると期限切れになることです。特定の日数(90)。証明書をより早く、例えば83日ごと、または2ヶ月半ごとに更新したいと思います。 Let's Encryptの有効期限ボットは60日ごとに更新することをお勧めしますが、証明書が30日ではなく20日後に期限切れになると、期限切れの通知メッセージが表示され始めるため、あまり信頼できません。有効期限が切れると証明書を更新したくありませんが、更新コマンドは無視され、1ヶ月後に最終的に必要なときに証明書がないため、まだ期限切れになっていません。今では、各更新後数日前に「3ヶ月ごとにいつか」更新時間を設定しなければならない薄暗い解決策を使用しています。実用的な解決策はありますか?何らかの理由で、certbotはCentOS 7でcronの代わりにsystemdタイマーを強制的に使用するためです。たぶんタイマー構文に減算オプションが隠されていますか?または、たとえば bash を使用してカレンダーを日付と同期します。

ベストアンサー1

おすすめ記事