kernalzero
Dabbler
- Joined
- Apr 26, 2018
- Messages
- 16
This morning I noticed my pihole DNS running on an ubuntu server VM was down and I figured this would be a good time to make a cron job to email me when that server fails.
swap out your details and modify the code where you want.
Some things to know:
1) I keep my scripts in /mnt/freenas/resources/scripts
2) I made a temp folder in this directory to save the log file that is emailed to me
3) Thanks to Hazimil for some of the code below - original post https://www.ixsystems.com/community/resources/how-to-install-clamav-on-freenas-v11.66/
swap out your details and modify the code where you want.
Some things to know:
1) I keep my scripts in /mnt/freenas/resources/scripts
2) I made a temp folder in this directory to save the log file that is emailed to me
3) Thanks to Hazimil for some of the code below - original post https://www.ixsystems.com/community/resources/how-to-install-clamav-on-freenas-v11.66/
Code:
#!/bin/bash HOSTS="PUT THE IP ADDRESS HERE" COUNT=1 for myHost in $HOSTS do count=$(ping -c $COUNT $myHost | grep 'received' | awk -F',' '{ print $2 }' | awk '{ print $1 }') if [ $count -eq 0 ]; then # 100% failed # echo "Host : $myHost is down (ping failed) at $(date)" ### email address ### to_email="YOUREMAIL@WHATEVER.COM" ### prepare the email ### ## Set email headers ## ( echo "To: ${to_email}" echo "Subject: pihole is DOWN $(date)" echo "MIME-Version: 1.0" echo "Content-Type: text/html" echo -e "\\r\\n" ) > /mnt/freenas/resources/scripts/tmp/piholeemail.tmp # Set email body ## ( echo "<pre style=\"font-size:14px\">" echo "${started}" echo "" echo "" echo "--------------------------------------" echo "Host : $myHost is down (ping failed) $(date)" echo "--------------------------------------" echo "</pre>" ) >> /mnt/freenas/resources/scripts/tmp/piholeemail.tmp ## email the log ## sendmail -t < /mnt/freenas/resources/scripts/tmp/piholeemail.tmp ## Delete the log file ## rm /mnt/freenas/resources/scripts/tmp/piholeemail.tmp fi done