使用 crontab 启动时不运行脚本

使用 crontab 启动时不运行脚本

我一直尝试使用 rc.local 和 crontab 方法在启动时启动我的脚本,但都不起作用

这是我的脚本内容:

#!/bin/bash
sudo hue spectrum 2
exit 0

以下是我的 crontab 内容(减去注释):

@reboot /home/ben/Documents/startup_scripts/hue+.sh

编辑:我尝试使用 echo 命令来模拟我在一行中输入密码,但遗憾的是,这也不起作用。以下是该版本的脚本:

#!/bin/bash
echo <mypassword> | sudo -S hue spectrum 2
exit 0

编辑 2:我确实使用了 sudo crontab 文件,hue 命令启动了 NZXT CAM 软件的开源版本,让我可以控制计算机中的 NZXT 设备(冷却器、风扇、LED 等),这里还有“hue.log”文件,供那些要求它的人使用

/home/ben/Documents/startup_scripts/hue+.sh: line 2: hue: command not found

我不知道为什么它说没有找到命令,这个命令 100%适用于 sudo

编辑 3:我将自己添加到组“dialout”,现在该命令无需 sudo 即可运行,但不幸的是,日志文件与之前完全相同,并且脚本在启动时仍然不起作用

/home/ben/Documents/startup_scripts/hue+.sh: line 2: hue: command not found

答案1

将脚本添加到root的 crontab。

sudo crontab -e

您现在可以省略sudo脚本中的。

答案2

这个解决方案可能对我来说很特殊,但我在 crontab 文件中添加了 sleep 命令,以便为计算机提供更多时间,它奇迹般地起作用了,没有理由它不应该在没有 sleep 命令的情况下起作用,但它似乎已经解决了这个问题

相关内容