Bash脚本,域名到期日期与电子邮件发送

时间:2018-04-19 13:52:40

标签: bash whois domainexpiration

我正在尝试在找到超过过期日期的域时实施自动邮件发送的解决方案。我真的很陌生,所以我设法得到下面的代码,它显示了到期日期并发送包含输出的电子邮件。

我正在寻找的那种帮助至少是如何将过期日期与当前日期进行比较并获得结果作为天数的线索。我真的很感激任何帮助。

#!/bin/bash
DOM="onet.pl wp.pl"
for d in $DOM
do
  echo -n "$d - "
  whois $d | egrep -i 'Expiration|Expires on' | head -1
   whois $d | egrep -i 'Expiration|Expires on' | head -1 >> /tmp/domain.date
  echo ""
done
#[ -f /tmp/domain.date ] && mail -s 'Domain renew / expiration date' myemail@gmail.com < /tmp/domain.date || :

1 个答案:

答案 0 :(得分:1)

只需date命令即可​​,它拥有您需要的一切!

以下是使用date -d解析日期的直接解决方案:

# Get the expiration date
expdate="$(whois $d | egrep -i 'Expiration|Expires on' | head -1)"
# Turn it into seconds (easier to compute with)
expdate="$(date -d"$expdate" +%s)"
# Get the current date in seconds
curdate="$(date +%s)"
# Print the difference in days
printf "Number of days to expiration : %s\n" "$(((expdate-curdate)/86400))"
祝你好运!