
我正在運行一組基於 Debian Jessie 的伺服器,並且需要一種可靠的方法來在建立網路連結時上傳其本地網路 IP 位址。我編寫了一個腳本來執行此操作並將其註冊為 systemd 服務:
[Unit]
Description=Server Registration
Requires=network.target network-online.target
After=network.target network-online.target
[Service]
ExecStart=<script-location>
Type=simple
Restart=on-failure
WatchdogSec=21600
[Install]
WantedBy=multi-user.target
唉,如果這按預期工作,那就不是問題了。該腳本利用該route
命令來確定預設使用的網路設備,但由於網路尚未啟動導致路由退出,因此無法運作。此外,系統可能會在沒有網路連接的情況下啟動,並且只能稍後連接,因此需要在網路啟動時觸發該腳本。
網路是使用 systemd-networkd 設定的。
如何確保我的腳本在網路啟動時運行,而不是在此之前?