今の所、Let’s Encryptでの証明書は1個だけなので、実際にrenewしない限りはメールもなくて良いのならcrontabはこんな感じで大丈夫。(と思っていたが、標準出力以外へのメッセージがメールで届きますね。)
# crontab -l
20 2 * * * /usr/local/bin/certbot renew --webroot -w /usr/local/www/apache24/data/ | grep '/usr/local/etc/letsencrypt/live/www.ish.org/fullchain.pem (success)' && /usr/local/etc/rc.d/apache24 reload
でも、将来、複数の証明書を扱う場合には、ちゃんと毎回メールも出すように
# crontab -l
20 2 * * * /root/bin/certbot-renew
# cat /root/bin/certbot-renew
/usr/local/bin/certbot renew --webroot -w /usr/local/www/apache24/data/ \
| tee /tmp/certbot.tmp.$$
grep '/usr/local/etc/letsencrypt/live/www.ish.org/fullchain.pem (success)' \
/tmp/certbot.tmp.$$ && /usr/local/etc/rc.d/apache24 reload
grep '/usr/local/etc/letsencrypt/live/mail.ish.org/fullchain.pem (success)' \
/tmp/certbot.tmp.$$ \
&& chmod 400 /usr/local/etc/letsencrypt/live/mail.ish.org/privkey.pem \
&& /etc/rc.d/sendmail restart && /usr/local/etc/rc.d/dovecot reload
rm /tmp/certbot.tmp.$$
っていう感じになるかなぁ。(sendmailはprivate keyのreadパーミッションがgroup/otherにあると動かないのでchmodで直しています。)