网络连接成功后执行脚本

网络连接成功后执行脚本

如何在成功建立互联网连接后自动执行脚本。

我尝试将脚本放在 if-up.d 中,但它不起作用,我找不到有关如何执行此操作的任何文档。如果我手动执行,该脚本就可以正常工作。

有人可以帮忙吗?

答案1

斯蒂芬·波士顿 (Stephen Boston) 提到您可以使用 systemd 服务来实现自动化。

在 /etc/systemd/system 下创建一个服务文件,并将其命名为 FILENAME.service

将其粘贴到您的文件中:

[Unit]
Description=YOUR DESCRIPTION
Requires=network-online.target 
After=network-online.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/YOUR/PATH/TO/SCRIPT

[Install]
WantedBy=multi-user.target

Type=oneshot 表示只会执行一次。

线路需要=网络在线.目标表示该服务需要服务网络在线,并且只执行之后=网络在线.目标

可以看到network.service之后启动了服务(test.service)

可以看到network.service之后启动了服务(test.service)

要完成此操作,您需要使用以下命令启用该服务

sudo systemctl enable FILENAME.service

检查您的服务是否已启用

sudo systemctl is-enabled FILENAME.service

当然,您也可以手动启动或停止该服务

sudo systemctl start/stop/restart/status FILENAME.service

提示:图片由systemd-analyze plot > output.svg

相关内容