atelle's Space

My private space on the web

Projects/bash-website-monitoring

Go back to projects


This script automatically check a list of URL's and sends a Telegram notification if a website isn't reachable.

Check it out on GitHub!


Example output of all websites up:

atelle@homelab-proxy:~$ ./telegram.sh
21/01/2023 01:22:53 Success! Status of aksel.telle.at: 200 OK
21/01/2023 01:22:53 Success! Status of aksel.telle.pw: 200 OK
21/01/2023 01:22:53 Success! Status of notes.akseltelle.com: 200 OK
21/01/2023 01:22:53 Success! Status of hellofriend.no: 200 OK
21/01/2023 01:22:53 Success! Status of cloud.aksel.telle.at/s/grrnoL47oTx8YHJ/download: 200 OK
21/01/2023 01:22:53 Success! Status of fawdaw.com: 200 OK
21/01/2023 01:22:53 Success! Status of mirror.fawdaw.com: 200 OK
21/01/2023 01:22:53 Success! Status of norhood.com: 200 OK
21/01/2023 01:22:53 Success! Status of buildnorge.no: 200 OK
21/01/2023 01:22:53 Success! Status of hobbyrack.no: 200 OK
21/01/2023 01:22:53 Success! Status of hobbyserver.no: 200 OK
21/01/2023 01:22:53 Success! Status of privatebin.fawdaw.com: 200 OK
In the example above, all websites responds, and are reachable.


Example output of a website that is down:

atelle@homelab-proxy:~$ ./telegram.sh
21/01/2023 01:22:53 Success! Status of aksel.telle.at: 200 OK
21/01/2023 01:22:53 Success! Status of aksel.telle.pw: 200 OK
21/01/2023 01:22:53 Success! Status of notes.akseltelle.com: 200 OK
21/01/2023 01:22:53 Success! Status of hellofriend.no: 200 OK
21/01/2023 01:22:53 Success! Status of cloud.aksel.telle.at/s/grrnoL47oTx8YHJ/download: 200 OK
{"ok":true,"result":{"message_id":1,"from":{"id":*ID*,"is_bot":true,"first_name":"BOTNAME","username":"BOTUSERNAME"},"chat":{"id":*ID*,"first_name":"USER","last_name":"NAME","type":"private"},"date":1674263644,"text":"[21/01/2023 01:22:53] Status of fawdaw.com: Timeout","entities":[{"offset":42,"length":10,"type":"url"}]}}
21/01/2023 01:22:53 Success! Status of mirror.fawdaw.com: 200 OK
21/01/2023 01:22:53 Success! Status of norhood.com: 200 OK
21/01/2023 01:22:53 Success! Status of buildnorge.no: 200 OK
21/01/2023 01:22:53 Success! Status of hobbyrack.no: 200 OK
21/01/2023 01:22:53 Success! Status of hobbyserver.no: 200 OK
21/01/2023 01:22:53 Success! Status of privatebin.fawdaw.com: 200 OK
In the example above, fawdaw.com is not responding, and a message have been successfully sent to Telegram.



A demo of how fast the script is to check websites: