トップ «前の日記(2019-04-04(Thu)) 最新 次の日記(2019-04-19(Fri))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2019-04-16(Tue) 一応うららか

certbot自動更新

自動更新が失敗していた。更新に実行した日は前過ぎで撥ねられていた。
その後、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や内容が変った場合はあしからず。

index.htmlは ここから。