Ich möchte, dass mein Computer beim Booten per Telnet mit einem Remote-Rechner (direkt über Ethernet verbunden) verbunden wird. Ich füge feedback.service
unter/etc/systemd/system/
[Unit]
Description=Feedback relay daemon
Wants=network-online.target network.target
After=network-online.target network.target
[Service]
Type=oneshot
WorkingDirectory=/usr/local/
ExecStart=/usr/local/bin/feedback.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
feedback.sh:
#!/bin/bash
telnet 192.180.0.60 9000
exit 0
Ich habe die Option verwendet After=network-online.target
, um sicherzustellen, dass dieses Skript nach Abschluss der Netzwerkkonfiguration ausgeführt wird. Nach dem Neustart wird jedoch systemctl status feedback
immer noch ein Fehler angezeigt No route to host
. Es scheint, dass die Routing-Tabelle zum Zeitpunkt der feedback.sh
Aktivierung nicht richtig eingestellt war.
Ich habe bereits überprüft, ob der Remote-Host aktiv und das Netzwerk erreichbar ist. Ich kann den Remote-Host nach dem Neustart aktivieren. Ich habe versucht , es oben im Skript ping
hinzuzufügen, dann hat es gut funktioniert.sleep 10
#!/bin/bash
sleep 10
telnet 192.180.0.60 9000
exit 0
Aber das ist nur ein Workaround. Ich brauche eine echte Lösung.
======================Aktualisierung vom 22.08.2019===========================
root@host# systemctl list-dependencies network-online.target
network-online.target
● └─networking.service