具有 USB NIC 的无头 Debian 11 服务器上的网络初始化问题

具有 USB NIC 的无头 Debian 11 服务器上的网络初始化问题

编辑

我所做的是以下(希望它不会咬我的底部):

  1. restart_network.sh在我的目录中创建了一个/root。在里面:
#!/bin/bash

while ! (grep -q "ttl" <<< "$(ping -c2 192.168.1.150)")
do
 ifup enx207bd2248c85
done
  1. 创建/etc/systemd/system/fixlan.service于:
[Unit]

Description=Fix network incase the USB-NIC does not start.
#because I want it to first try to activate the USB-NIC alone
After=networking.service
#If didn't succeed, at least wait for network before starting all
#Nextcloud services (because it's the designation of the server)
Before=snap.nextcloud.mdns-publisher.service snap.nextcloud.redis-server.service snap.nextcloud.mysql.service snap.nextcloud.renew-certs.service snap.nextcloud.apache.service snap.nextcloud.logrotate.service snap.nextcloud.nextcloud-fixer.service snap.nextcloud.php-fpm.service

[Service]

ExecStart=/root/restart_network.sh

我从未尝试过创建 systemd 服务,而且我不知道我做得是否正确。

编辑

我有一个无头 Debian 11 服务器。网卡坏了所以我安装了USB网卡。有时(例如每五次启动或其他情况)网卡无法启动。如果我登录并

ifup enx207bd2248c85

网卡获得其IP地址,然后我可以重新启动所有相关服务。

所以我们的想法是做类似的事情:

if (grep -q "ttl" <<< "$(ping -q -c2 192.168.1.151)"); then
 reboot now;
fi

作为启动脚本,我不太确定该怎么做(添加启动脚本)。现在这可能会起作用,但是机器很有可能会进入重新启动循环。那么,您认为还有更好的方法吗?也许只是

if (grep -q "ttl" <<< "$(ping -q -c2 192.168.1.151)"); then
# restart all services
fi

所以我确信我不知道该怎么做......

请帮忙。

答案1

所以,我最终使用crontab并添加了一条@reboot运行/root/restart_network.sh.如前所述,脚本是:

#!/bin/bash

while ! (grep -q "ttl" <<< "$(ping -c2 192.168.1.150)")
do
 ifup enx207bd2248c85
 systemctl restart snap.nextcloud.* #added just in case...
done

相关内容