こんにちは、納戸工房です!
今回はcrontab
を使った方法から systemd Timer
に移行する方法をletsencryptの証明書の更新に使っていたcrontabスクリプトを元に説明します!
今回の課題
毎日深夜0時にSSL証明書を更新するスクリプトを実行したい!
もともとは以下のようなcrontab
設定で動かしていました:
この設定を systemd Timer
に変更し、さらに柔軟で便利な管理ができるようにしていきます。
手順:Timerを使った設定方法
サービスファイルを作成する
まず、スクリプトを実行するための「サービスファイル」を作ります。以下の内容を /etc/systemd/system/letsencrypt-renew.service
という名前で保存します。
タイマーファイルを作成する
次に、実行スケジュールを定義する「タイマーファイル」を作ります。/etc/systemd/system/letsencrypt-renew.timer
に以下の内容を記述します。
ここでの OnCalendar=*-*-* 00:00:00
が「毎日深夜0時」の実行を指定しています。
設定を反映してタイマーを有効化
以下のコマンドを順に実行して設定を反映します。
設定が正しく反映されているか確認するには以下を実行:
完成!
これで、毎日深夜0時になると自動的にLet’s Encryptの証明書更新スクリプトが実行されるようになりました! systemd Timer
を使うと、失敗時の再実行やログ確認が簡単になるので便利です。
コメント