通过实例启动/初始化脚本使服务器在实例重新启动时运行作业

通过实例启动/初始化脚本使服务器在实例重新启动时运行作业

我想在服务器重新启动时以用户身份运行 python 脚本。服务器本身通过 terraform 在 azure 上运行。

我已经有了一个名为的启动脚本startup.sh。它对服务器执行各种需要重新启动的操作。在脚本中,我想添加一行,让它执行我的 python 脚本它重新启动。这是它现在的样子,其中包含我要运行的命令的占位符:

#!/bin/bash

# fix cuda for azure.  for some reason their instances have cuda installed wrong and this fixes it
sudo rm /usr/local/cuda
sudo ln -sf /usr/local/cuda-10.2 /usr/local/cuda

# pip install a few things.  TF, for instance
pip install tensorflow

# HERE'S WHERE I NEED HELP:
some_command_to_make_something_run_on_next_startup --as_this_user nonRootUser --run_this_command "python myscript.py"

sudo reboot # the reboot is needed to make the cuda changes work

我尝试过向 中添加内容/etc/rc.local,但没有成功。我不知道为什么。同样的 cron.从我在网上收集到的信息来看,这两个似乎都没有在这个新启动的实例上启用,并且 cron 似乎依赖于手动启动。

最终用途将是启动大量服务器来执行相同的工作,因此所有这一切都需要在没有任何交互的情况下发生。

相关内容