質問: の続きになってしまうのですが、1ヶ月前になったら自動更新されるだろうということだったのですが、自動更新されませんでした。 cronのログをみると指定時間に実行されていました。 そこで手動で下記コマンドを実行してみると証明書が更新されました。 /usr/bin/certbot-auto renew --pre-hook "service httpd stop" --post-hook "service httpd start" なぜ上記コマンドをcronに登録しても自動更新されないのでしょうか? cronの書き方の問題なのでしょうか? cronには下記のように書いています。 9 1 * * * /usr/bin/certbot-auto renew --pre-hook "service httpd stop" --post-hook "service httpd start"
回答: 上記のコマンドはどのように登録していますか? crontabコマンドで登録する場合、登録時のユーザーで実行されるため、rootで作業する必要があります。 /etc/cron.d/にファイルを置く場合、crontabとはフォーマットが異なります。時間指定とコマンドの間に実行時のユーザー名(root)が必要です。 また、コマンドの後ろに「 > /tmp/certbot-auto.log 1>&2」をつけて実行時のエラーを確認して下さい。