どうにも定期的にウェブサーバが停止しているようで、cronのスクリプトを改良したはずなのだが、Nginxが再起動していないみたい。
再度ぐぐって、自動更新のスクリプトをアップしている記事を探した。
このスクリプトと入れ替えてみた。ただし、メール通知はしていない。
#!/bin/bash MAILTO=通知先メールアドレス LOGFILE=/var/log/renew_sslcert.log CERTBOT=/bin/certbot WEB_START="/bin/systemctl start nginx" WEB_STOP="/bin/systemctl stop nginx" WEB_RELOAD="/bin/systemctl reload nginx" echo "===== Start renew sequence Let's Encrypt SSL Cert `date` =====" >> $LOGFILE ### test setting ### # --standalone option test setting #$CERTBOT renew --pre-hook "$WEB_STOP" --post-hook "$WEB_START" --dry-run >> $LOGFILE # --webroot option test setting #$CERTBOT renew --webroot --post-hook "$WEB_RELOAD" --dry-run >> $LOGFILE ### renew setting ### # --standalone option setting $CERTBOT renew --pre-hook "$WEB_STOP" --post-hook "$WEB_START" >> $LOGFILE # --webroot option setting #$CERTBOT renew --webroot --post-hook "$WEB_RELOAD" >> $LOGFILE STATUS=$? if [ "$STATUS" != 0 ]; then echo "Failed renew SSL cert." >> $LOGFILE echo "Failed renew SSL cert. " |\ mail -s "Faild renew SSL cert in `hostname`" $MAILTO else echo " Complete renew SSL cert." >> $LOGFILE echo " Complete renew SSL cert." |\ mail -s "Complete renew SSL Cert in `hostname`" $MAILTO fi echo "===== End renew sequence Let's Encrypt SSL Cert `date` ======" >> $LOGFILE
これで、もう一度、様子を見ることにする。
コメント