我有一个通过以太网线连接到路由器的linux盒子。 电缆永远不会拔掉,linux盒子一直打开。 我的目标是每次重启路由器时都在linux机器上执行命令。
这个问题与this question非常相似,但建议的解决方案似乎不起作用。 更具体地说:
inotifywait -e modify /sys/class/net/eth0/carrier; echo 'Change detected'
永远不会检测到更改(即使是从电脑上拔下电缆的情况),因为根据this answer命令inotifywait
在/sys
中不起作用inotifywait -e modify /etc/network/if-up.d/avahi-daemon
在重新启动路由器时未检测到任何更改答案 0 :(得分:1)
您可以在使用up
连接linux框后启动脚本
(需要安装ifplugd
)
#/etc/network/interfaces
auto eth0
iface eth0 inet dhcp
up /etc/network/yourscript.sh
但是,请记住,如果断开电缆(并在一段时间后插入电源),即使路由器可能尚未重新启动,脚本也会启动。
- 编辑 -
或者,将脚本放在
中 /etc/network/if-up.d/
(确保它是可执行的,并在更改后重新启动网络。)
答案 1 :(得分:0)
根据该路由器上的Linux发行版,在启动/重启时运行命令的正确方法是创建启动脚本,或将命令添加到/etc/rc.local