Quero que meu computador faça telnet para uma máquina remota (conectada diretamente à Ethernet) durante a inicialização. Eu adiciono feedback.service
abaixo/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
Usei a opção After=network-online.target
para garantir que esse script fosse executado após a configuração da rede. No entanto, systemctl status feedback
ainda mostra No route to host
erro após a reinicialização. Parece que a tabela de roteamento não estava bem configurada no momento em que feedback.sh
foi ativada.
Já verifiquei que o host remoto está ativo e a rede está acessível. Posso ping
hospedar remotamente após a conclusão da reinicialização. Tentei adicionar sleep 10
no topo do script e funcionou bem.
#!/bin/bash
sleep 10
telnet 192.180.0.60 9000
exit 0
Mas é apenas uma solução alternativa. Eu preciso de uma solução real.
==================== Atualização de 22/08/2019 ======================== ====
root@host# systemctl list-dependencies network-online.target
network-online.target
● └─networking.service