하드 재부팅 후 항상 일부 명령을 실행하는 방법(우분투 서버)?

하드 재부팅 후 항상 일부 명령을 실행하는 방법(우분투 서버)?

서버를 다시 시작할 때마다(메모리 부족, Ddosed 등으로 인해 바나나가 작동할 수 있음) 감독자가 실행되지 않는 문제에 직면해 있습니다. 그리고 그 이유를 파악하고 간단히 /var/run/supervisor 디렉토리를 삭제합니다.

하드 재부팅 시(예를 들어 강제 중지 후 시작을 위한 ec2 패널을 통해) /var/run 폴더가 삭제된다는 것을 알게 되었기 때문에 겸손한 질문은 다음과 같습니다.

mkdir /var/run/supervisor하드 재부팅할 때마다 이를 어떻게 실행할 수 있습니까 ? 그러한 논리를 추가하기에 완벽한 장소는 어디입니까? 확실히 /etc/profile이 아닌 것 같아요

(나머지는 잘 작동합니다. 감독자는 서비스로 구성되어 있으며 var/run/supervisor/supervisor.sock에서 unix 양말을 사용합니다.)

내 우분투 버전:

lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.2 LTS
Release:        20.04
Codename:       focal

답변1

Ubuntu 20에서는 감독자가 시스템 서비스 단위로 시작될 것으로 예상합니다.

감독자의 서비스 단위에서 디렉토리가 생성되도록 지정해야 합니다. (단위 이름은 다를 수 있음)

https://serverfault.com/a/779648&https://serverfault.com/a/840999

sudo systemctl edit --full supervisor

지시문을 추가합니다.

RuntimeDirectory=supervisor 

관련 정보