僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
自動更新が失敗していた。更新に実行した日は前過ぎで撥ねられていた。
その後、certbotが自分でやっていた更新も失敗し続けていた。
ファイアウォールや既存のWebサーバが邪魔になった模様。
スクリプトの手動更新は問題なく動いたが、試さないほうが良かったかも。
certbot はsystemd で実行されるものだった。
毎日2回、問い合わせていたらしい。ログがえらく膨れ上がっていた。
問い合わせスクリプトは /lib/systemd/system/certbot.serviceと/lib/systemd/system/certbot.timer
でやっていたらしい。
/lib配下を書き換えずに動作を変更する方法を思いつかず、我流スクリプトを修正。
cert.pemのタイムスタンプを見て、さしあたり70日待って更新することにする。
CFILE="/etc/letsencrypt/live/$DOMAIN/cert.pem" STAMP=`stat -c "%Z" $CFILE` EXP=`echo $STAMP + 6048000 | bc` NOW=`date "+%s"` LOGFILE=$LOGFILE if [ $NOW -gt $EXP ]; then iptables -P INPUT ACCEPT certbot renew --pre-hook "service apache2 stop" --post-hook "service apache2 start" iptables -P INPUT DROP else echo $(date) is too early to certbot renew > $LOGFILE fi
systemd のcertbotはdiableに。/etc/crontabを書き換えてcron 再起動。
さて上手く動くか。既に更新はかけたので、70日待って。
--force-renewalはやめとく。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。