templates-zabbix-itguys/deploy_package/extras/externalscripts/check_domain.py

36 lines
776 B
Python

#!/usr/bin/env python3
# Zabbix External Script: Domain Expiration Check
# Usage: check_domain.py <domain>
# Requires: pip3 install python-whois
import sys
import whois
from datetime import datetime
if len(sys.argv) < 2:
print("-1") # Missing argument
sys.exit(1)
domain = sys.argv[1]
try:
w = whois.whois(domain)
# Handle list of dates (some registries return list)
expiration_date = w.expiration_date
if isinstance(expiration_date, list):
expiration_date = expiration_date[0]
if expiration_date is None:
print("-2") # Retrieval failed
sys.exit()
now = datetime.now()
delta = expiration_date - now
print(delta.days)
except Exception as e:
# print(e) # Debug
print("-1") # Error