諸事情により、ドメインの有効期限についてスクリプトで取得する必要が出てきたので、取得方法について残しておく。 LinuxやMac OS Xの場合、whoisコマンドでドメインのwhois情報が得られるので、そこからドメイン有効期限を取得する。 ドメインの種類によってwhoisの出力内容は異なり、有効期限の表示方法も変わってくる。

以下、一般的によく利用されるドメインの種類別での取得方法(google.\~で確認している)。

whois google.co.jp | sed -n '/状態/s/^.*(\(.*\)).*$/\1/p'
whois google.jp | awk '/有効期限/{print $2}'
whois google.com | awk '/ Expiration Date/{print $3;exit}' | date +%Y/%m/%d -f -
whois google.net | awk '/ Expiration Date/{print $3;exit}' | date +%Y/%m/%d -f -
whois google.org | awk '/ Expiry Date/{print $4;exit}' | date +%Y/%m/%d -f -

blacknon@BS-PUB-UBUNTU-01:~$ whois google.co.jp | sed -n '/状態/s/^.*(\(.*\)).*$/\1/p'
2017/03/31
blacknon@BS-PUB-UBUNTU-01:~$ whois google.jp | awk '/有効期限/{print $2}'
2017/05/31
blacknon@BS-PUB-UBUNTU-01:~$ whois google.com | awk '/ Expiration Date/{print $3;exit}' | date +%Y/%m/%d -f -
2020/09/14
blacknon@BS-PUB-UBUNTU-01:~$ whois google.net | awk '/ Expiration Date/{print $3;exit}' | date +%Y/%m/%d -f -
2018/03/15
blacknon@BS-PUB-UBUNTU-01:~$ whois google.org | awk '/ Expiry Date/{print $4;exit}' | date +%Y/%m/%d -f -
2017/10/20