我希望我的计算机在启动时 telnet 到远程计算机(直接连接到以太网)。我feedback.service
在/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
feeback.sh:
#!/bin/bash
telnet 192.180.0.60 9000
exit 0
我使用该选项After=network-online.target
确保此脚本在网络配置完成后运行。但是,重启后systemctl status feedback
仍然显示错误。似乎路由表在激活No route to host
时设置不正确。feedback.sh
我已经检查过远程主机是否已启动并且网络可以访问。ping
重启完成后我就可以远程主机了。我尝试sleep 10
在脚本顶部添加,然后它运行良好。
#!/bin/bash
sleep 10
telnet 192.180.0.60 9000
exit 0
但这只是权宜之计。我需要一个真正的解决方案。
=====================2019/08/22 更新=============================
root@host# systemctl list-dependencies network-online.target
network-online.target
● └─networking.service