启动时 ping 中继器,永不停止

启动时 ping 中继器,永不停止

我有一个无线中继器,不知为何,它总是喜欢进入睡眠模式,即使它不应该这样。制造商发誓这不是缺陷,而且当它工作时,效果很好。

我注意到,当我连续 ping 它时,只要 ping 继续,它就会保持唤醒状态,如果 2-3 分钟内没有 ping,它就会进入睡眠状态并且不会唤醒。

长话短说,我在办公室有一台 Linux 服务器,我想知道我是否可以设置一个命令,在服务器启动后立即连续 ping ip 地址,并且在我关闭服务器之前永不停止。

我需要做什么来设置它?

谢谢!

答案1

这可以通过使用 cron 和一些特定的 ping 参数轻松实现。

创建一个名为 /etc/cron.d/ping-my-repeater 的文件。对于内容,请选择以下之一。

如果每分钟一次就足够了,请尝试以下操作:

* * * * * root ping -n -c 1 -W 1 $REPEATER_IP_ADDRESS

如果需要每分钟两次,请尝试以下操作:

* * * * * root ping -n -c 2 -i 30 -W 1 $REPEATER_IP_ADDRESS

如果需要每 15 秒一次,请尝试以下操作:

* * * * * root ping -n -c 4 -i 15 -W 1 $REPEATER_IP_ADDRESS

指定计数-c-i指定回显请求之间的间隔(以秒为单位),并-W指定等待每个答复的时间(以秒为单位)。-n表示仅数字输出,并且特别抑制远程 IP 地址反向名称解析。* * * * *表示每分钟执行一次命令,并且root是用户以何种身份执行该命令。

未经远程主机所有者的同意,请不要将此类内容指向不在您物理控制范围内的 IP 地址。

一旦您对它的工作感到满意,您可以通过添加如下行来抑制生成的电子邮件输出

MAILTO=""

在文件顶部。

其工作方式是,ping 发送一个 ICMP 回显请求并等待-W数秒以获得响应,然后如果需要发送更多回显请求,则等待-i数秒再发送另一个。因此,第一个请求会立即发送,第二个请求(例如)在收到第一个请求的响应或超时后 15 秒发送,第三个请求再等 15 秒发送,第四个请求再等 15 秒发送,总运行时间约为 45 秒。在下一分钟的开始,ping 会再次启动并重复该过程。

您还可以通过例如 /etc/rc.local(您的系统上可能有不同的名称)启动 ping,跳过该-c N选项并让 ping 无限期运行;但是,这有时会对启动顺序产生不良影响,并且如果某些原因导致 ping 终止,除非您采取特定步骤检查它,否则它不会自动重新启动。

相关内容