因此我尝试以特定用户@boot 的身份运行脚本。
我曾经遇到过将@reboot 与 crontab 结合使用的情况。
我发现用户和 root 都支持 @reboot
@reboot echo "hello" > /root/hello.sh
对于普通用户来说也是一样,重启后就会出现 hello.sh 文件
但如果我尝试(尝试使用根 crontab 和用户 crontab)
@reboot ~/.reboot.sh
或者
@reboot /home/user/.reboot.sh
或者
@reboot user /home/user/.reboot.sh
没有什么!
脚本也可以通过
~/.reboot.sh
&
/home/user/.reboot.sh
在 CLI 环境中。同样,这不能以 root 身份运行,需要由用户运行!
[更新]
我想要运行的具体命令是
VBoxHeadless --startvm VMNAME
通过 crontab 可以实现
*/1 * * * * VBoxHeadless --startvm VMNAME
但事实并非如此?!
@reboot VBoxHeadless --startvm VMNAME
[更新2]
这有效
@reboot /home/user/.reboot.sh
当 .reboot.sh 包含
echo "hello" > /home/user/hello.sh
所以这是 VboxManage 命令的一个问题。也许它在启动时会滞后?任何想法都值得赞赏,但我认为我需要特别研究命令 VboxManage,尽管我今天确实以用户身份运行了命令 @ boot!刚刚发现这个命令不起作用!
答案1
我认为 vbox 模块在执行时不可用。你为什么不创建一个服务?请参阅你的 init 系统的相应文档。