Let’s Encrypt の自動更新が失敗して、httpd (pid ~) already running と出てた。

apache logo Apache

 

事象

crontabに

00 03 * * * /usr/bin/certbot renew --post-hook "systemctl restart httpd.service"

と書いて、Let’s Encrypt自動更新するようにしているが、

失敗していた。

 

手動で

/usr/bin/certbot renew --post-hook "systemctl restart httpd.service"

実行してみたが、失敗。

 

以下のメッセージを吐いた。

httpd (pid ~) already running

既に起動している…だと…?

 

 

原因

結局原因はわからずだった。

httpd -k start

 

で起動していたのではないか?

と疑った。

多分正解だったと思う。

 

対処

httpd -k stop && systemctl start httpd.service

 

を実行。

しかし、再度

httpd (pid ~) already running

のメッセージ出力。

 

 

httpd -k stop

したが、既に停止していた。

 

systemctl start httpd.service

でApache起動した。

 

 

crontab に登録したLet’s Encryptの更新コマンドが正常に動くことを確認できた。

 

まとめ

apache の起動を

systemctl コマンド使って運用する場合は、

httpd -k start してはならない

 

 

 

 

 

 

コメント

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