どうにも定期的にウェブサーバが停止しているようで、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
これで、もう一度、様子を見ることにする。


コメント