Wake-On-LAN (WOL) is a very useful feature if you have got a LAB at home and want to make it energy efficient. I have written a small BASH script to automate the Wake-On-LAN (WOL) procedure which can be used in an instance where there is a ESXi server which can turned on as and when required and then shutdown when not needed. Believe me it saves a lot on electric bills as the Servers are not running 24/7 and powered on only when required.
Make sure you install WOL package on your RaspberryPi by running the below command.
# apt-get install wakeonlan
The below script will work as follows.
- Check the status of the host via PING (“hppl-1″ is the hostname)
- If available then send a message its already powered ON.
- If not,then send a wakeonlan command to the mac address of the host.
- Wait 3 Minutes (sleep)
- Again check the status og the host using PING.
- If available, then send a message on the screen displaying its now powered ON.
- If PING fails then send a message on the screen its failed and to check the network connections.
#!/bin/bash
VAR=`ping -s 1 -c 2 hppl-1 > /dev/null; echo $?`
if [ $VAR -eq 0 ];then
echo -e "hppl-1 is UP as on $(date)"
elif [ $VAR -eq 1 ];then
wakeonlan 9c:b6:44:98:6d:42 | echo "hppl-1 not turned on. WOL packet sent at $(date +%H:%M)"
sleep 3m | echo "Waiting 3 Minutes"
PING=`ping -s 1 -c 4 hppl-1 > /dev/null; echo $?`
if [ $PING -eq 0 ];then
echo "hppl-1 is UP as on $(date +%H:%M)"
else
echo "hppl-1 not turned on - Please Check Network Connections"
fi
fi
Please let us know if you come across any issues and we will try to help you out.