私のオペレーティングシステムはLinux Centos 6
pingが失われた後にネットワークサービスを再起動します。
service network restart
デフォルトでは、他のIPアドレスがpingされているかどうかを検出し、毎分実行するウォッチャーまたはスクリプトが必要です。
さまざまな理由でネットワークを再起動する必要があります。
答え1
このスクリプトをファイルに保存し、実行可能にします。次に、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
ファイルを保存して名前を付けます。チェックランド例えば。 cmdline と入力して実行可能にします。
chmod +x checklan
root または sudo を使用してファイルを /usr/local/bin に移動します。
mv checklan /usr/local/bin
sudoまたはrootを使用して/etc/cron.dで新しいファイルを開きます。
vi /etc/cron.d/netcheck
~によると私 次の行をコピーします。
*/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