Skip to content

Instantly share code, notes, and snippets.

@Palakis
Created October 14, 2019 15:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Palakis/bc37c177e60e11003656eb300e4a4e55 to your computer and use it in GitHub Desktop.
Save Palakis/bc37c177e60e11003656eb300e4a4e55 to your computer and use it in GitHub Desktop.
#!/bin/bash
DAILY_CHECK_AT="06:00"
DOMAIN_NAME=$1
ALERT_RECIPIENT=$2
function sendEmail() {
echo "$2" | mail -s "$1" "$ALERT_RECIPIENT"
}
DATA_FILE="/home/admin/domain_cron/${DOMAIN_NAME}"
CHECKSUM_FILE="${DATA_FILE}.sha256"
if [ ! -f "$CHECKSUM_FILE" ]; then
touch "$CHECKSUM_FILE"
fi
if [ ! -f "$DATA_FILE" ]; then
touch "$DATA_FILE"
fi
CURRENT_CHECKSUM=$(cat "$CHECKSUM_FILE")
WHOIS_DATA=$(whois "$DOMAIN_NAME" | sed '/^%%.*/d')
WHOIS_DIFF=$(echo "$WHOIS_DATA" | diff "$DATA_FILE" -)
NEW_CHECKSUM=$(echo "$WHOIS_DATA" | sha256sum)
if [ "$CURRENT_CHECKSUM" != "$NEW_CHECKSUM" ]; then
sendEmail "domain_cron: changement détecté sur $DOMAIN_NAME" $'Un changement sur le WHOIS de '"$DOMAIN_NAME"$' a été détecté.\n\nDernier WHOIS récupéré:\n\n'"$(cat $DATA_FILE)"$'\n'
fi
echo "$NEW_CHECKSUM" > "$CHECKSUM_FILE"
echo "$WHOIS_DATA" > "$DATA_FILE"
CURRENT_TIME=$(date '+%H:%m')
if [ "$CURRENT_TIME" = "$DAILY_CHECK_AT" ]; then
sendEmail "domain_cron: test cyclique" "Il est $(date +%H:%m), on est le $(LANG=fr date '+%d %B %Y'), tout va bien !"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment