crontab 重启不起作用

crontab 重启不起作用

我尝试在每次计算机重启时运行我的脚本。我发现最简单的方法是使用 crontab。

我的 crontab 文件如下所示: 在此处输入图片描述

当我尝试检查日志时,我得到了这个 在此处输入图片描述

但脚本仍然不起作用。

任何想法 ?

答案1

这是我以前也遇到过的问题。我能够使用 systemd 而不是 crontab 来解决这个问题。

如果您查看 systemd.service 手册页,您通常会看到如何配置 systemd 来管理服务。 中可能存在适用于您的系统的示例/usr/lib/systemd/system或类似内容。

对于您所需要的,服务可能看起来像这样:

[Unit]
Description=Reboot Processes

[Install]
WantedBy=multi-user.target

[Service]
ExecStart=/bin/bash /home/{account}/reboot.sh
Type=simple
User={account}
Group={group}
WorkingDirectory=/home/{account}
Restart=on-failure

将其放入名为 的文件中/etc/systemd/system/reboot-script.service。然后运行systemctl daemon-reload(一次,每当您更改时reboot-script.service告诉 systemd 重新读取配置),然后systemctl start reboot-script.service启动该过程。

如果一切按预期工作,您可以使用它systemctl enable reboot-script.service来确保它在启动时启动。

一些说明:

  1. 确保将上例中的{account}和字符串更改为适合您系统的正确用户/组值{group}
  2. WantedBy在 Install 部分中,告诉 systemd 哪个“目标”(参见man systemd.target)在你使用以下命令启用该服务时将其拉入systemctl enable
  3. Restart定义在什么情况下 systemd 将自动重启服务。还有更多与重启相关的选项,您可能想要或不想更改这些选项;请参阅 systemd.service 手册页。

希望这可以帮助。

答案2

我使用类似的东西让我的备用计算机在挂起后的特定时间唤醒。对于关机或重启,脚本将进入 /lib/systemd/system-shutdown

相关内容