如何在成功建立互联网连接后自动执行脚本。
我尝试将脚本放在 if-up.d 中,但它不起作用,而且我找不到任何有关如何执行此操作的文档。如果我手动执行该脚本就可以工作。
有人可以帮忙吗?
小智 6
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
Run Code Online (Sandbox Code Playgroud)
type=oneshot 表示只会执行一次。
require=network-online.target这一行表明该服务需要服务网络在线,并且仅在=network-online.target之后执行
可以看到network.service之后启动了服务(test.service)
要完成它,您需要使用以下命令启用该服务
sudo systemctl enable FILENAME.service
Run Code Online (Sandbox Code Playgroud)
检查您的服务是否已启用
sudo systemctl is-enabled FILENAME.service
Run Code Online (Sandbox Code Playgroud)
您当然可以手动启动或停止服务
sudo systemctl start/stop/restart/status FILENAME.service
Run Code Online (Sandbox Code Playgroud)
提示:图片创建于systemd-analyze plot > output.svg
归档时间: |
|
查看次数: |
4414 次 |
最近记录: |