내 운영 체제는 Linux Centos 6
ping이 손실된 후 네트워크 서비스를 다시 시작합니다.
service network restart
기본적으로 다른 IP 주소가 핑되는지 감지하고 매분마다 실행하는 감시자 또는 스크립트가 필요합니다 .
여러 가지 이유로 네트워크를 다시 시작해야 합니다.
답변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
루트로 또는 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
입력하여 변경사항 저장:엑스
cron을 루트로 다시 시작하거나 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