인스턴스 시작/초기화 스크립트를 통해 서버가 인스턴스 재시작 시 작업을 실행하도록 활성화

인스턴스 시작/초기화 스크립트를 통해 서버가 인스턴스 재시작 시 작업을 실행하도록 활성화

서버가 다시 시작될 때 사용자로 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은 수동 시작에 의존하는 것 같습니다.

최종 용도는 동일한 작업을 수행하기 위해 많은 수의 서버를 가동하는 것이므로 이 모든 작업은 상호 작용 없이 수행되어야 합니다.

관련 정보