如果不是Running,请运行Bash脚本



我有bash脚本坐在linux设备在外地。我想这个脚本是运行24/7。有时候,我的脚本会因为我无法控制的原因而中断。因此,在这种情况下,我希望这个脚本在它死亡时重新启动。

有什么想法或示例代码让我去吗?

您的目标正是服务管理器的功能,而systemd是Raspbian附带的功能。您可以为脚本创建systemd服务,将其重启模式设置为always(只能手动停止)或on-failure(失败退出时重启)。

创建/etc/systemd/system/my-script.service的内容如下:

[Unit]
Description=My Script
[Service]
Type=simple
ExecStart=/bin/bash /path/to/script.sh
#WorkingDirectory=somewhere if you need
Restart=on-failure
RestartSec=2
[Install]
WantedBy=multi-user.target

然后运行systemctl daemon-reloadsystemctl start my-script

如果您需要更多的定制,您可以查看Restart=附近的手册页。

我会看看Cron。这是一种使脚本按照时间表自动运行的方法。几乎每台Linux机器都有Crontab,所以用几个例子来入门应该不难。

相关内容

  • 没有找到相关文章

最新更新