Linux Centos 6:ping 丢失后重新启动网络服务

Linux Centos 6:ping 丢失后重新启动网络服务

我的操作系统是Linux Centos 6. ping 丢失后重新启动网络服务

基本上,我需要一个观察器或脚本来检测是否对另一个 IP 地址进行 ping 操作,并且service network restart 每隔一分钟左右运行一次。

由于各种原因我需要重新启动网络。

答案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

以 root 身份或使用 sudo 重新启动 cron:

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

相关内容