Salve este script em um arquivo e torne-o executável. Em seguida, execute-o em um cronjob.
Abra o seu editor favorito e copie este script:
#!/bin/bash
# cron script for checking lan connectivity
# Ping count is set aggressively to 1, increase depending what you want.
PING_COUNT=1
#I'm assuming ping is installed.
PING="/bin/ping"
#Find the gateway IP address
GATEWAY_IP='ip route | grep default | cut -d " " -f 3'
# ping test
$PING -n -c "$PING_COUNT" "$GATEWAY_IP" &>/dev/null
if [ "$?" -ge 1 ]
then
# This will log a message in system log (see manpage).
logger "Network access DOWN"
service network restart
else
logger "Network access OK"
fi
Salve o arquivo e nomeie-o como checklan por exemplo. Torne-o executável por tipo no cmdline:
chmod +x checklan
Como root ou usando o sudo, mova o arquivo para / usr / local / bin:
mv checklan /usr/local/bin
Usando sudo ou root, abra um novo arquivo em /etc/cron.d
vi /etc/cron.d/netcheck
Pressione i Copie a seguinte linha:
*/10 * * * * root /usr/local/bin/checklan
Salve a alteração digitando : x
Reinicie o cron como root ou usando o sudo:
service crond restart
Em seguida, o script deve ser executado a cada 10 minutos. NOTA: Por favor, leia na Internet sobre cron para entender a sintaxe. Você pode aumentar a taxa até a cada minuto.
Verifique / var / log / messages ou / var / log / syslog para ver se está funcionando:
tail -f /var/log/messages
Se funcionar, você verá algo assim:
Apr 1 20:04:01 <hostname> logger: checklan OK