**ssl証明書の有効期限が指定期間内で切れるか判定し、切れている場合メールを飛ばす
/test.sh
if [[ `openssl x509 -in <証明書のパス> -checkend 86400` = "Certificate will expire" ]];then echo "-----証明書は24時間以内に失効します-----" MAIL_ADDRESS=***********@gmail.com SUBJECT="Warning" BODY="証明書は24時間以内に失効します。再発行してください。" echo ${BODY} | mail -s ${SUBJECT} ${MAIL_ADDRESS} else echo "-----証明書は有効です-----" fi
openssl x509 -in <証明書のパス> -checkend <期限切れまでの秒数> 実行時点から指定した秒数後(この場合、1d=24h×60m×60s=86400s)に 対象の証明書の有効期間が終了しているかどうか判定され まだ有効であったら”Certificate will not expire” 証明書が切れていたら”Certificate will expire” と出力される
**毎日12時に実行するようにする
/cron.d
0 12 * * * . /bin/bash test.sh
これでssl証明書が切れる24時間以内にはアラートのメールがくるようになる