Сохраните этот сценарий в файл и сделайте его исполняемым. Затем запустите его в cronjob.
Откройте свой любимый редактор и скопируйте этот сценарий:
#!/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
Сохраните файл и назовите его, например, checklan . Сделайте его исполняемым, набрав в cmdline:
chmod +x checklan
Как root или используя sudo, переместите файл в / usr / local / bin:
mv checklan /usr/local/bin
Используя sudo или root, откройте новый файл в / etc / cron.d
vi /etc/cron.d/netcheck
Нажмите i Скопируйте следующую строку:
*/10 * * * * root /usr/local/bin/checklan
Сохраните изменение, набрав : x
Перезапустите cron как root или с помощью sudo:
service crond restart
Затем скрипт должен запускаться каждые 10 минут. ПРИМЕЧАНИЕ. Прочтите в Интернете о cron, чтобы понять синтаксис. Вы можете увеличивать скорость до каждой минуты.
Проверьте / var / log / messages или / var / log / syslog, чтобы узнать, работает ли он:
tail -f /var/log/messages
Если он работает, вы увидите что-то вроде этого:
Apr 1 20:04:01 <hostname> logger: checklan OK
Я бы попробовал это:
sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
Затем попробуйте переформатировать диск, если он работает отлично, если нет, то диск, скорее всего, неисправен/перегорел(только в том случае, если его невозможно заставить работать в другой системе).