Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt

Sometimes servers need to update its status or reboot by the condition to return its status to the best working environment to remove junk process or something like that. You can check that status by shell script.


Below script makes server to reboot if ping does not work:

Code Block
#!/bin/bash
:Begin
ping -c 10 google.com
If %errorlevel% == 1 (
        echo noreply
        shutdown -r -t 0
)
If %errorlevel% == 0 (
        GoTo :End
)
:End

...

If you want to run above script at AsusWRT, you will need to modify the first line as following

Code Block
#!/bin/sh


Below code works more accurately at AsusWRT

Code Block
languagebash
title/jffs/scripts/reboot_if_ping_does_not_work
#!/bin/ash

if [ $( ping -c 1 google.com | grep ttl | wc -l ) -eq 0 ]
then
        echo noreply
        /sbin/reboot
else
        echo "google.com is reachable"
fi