SSH 연결이 bash 프로세스를 시작하지만 Amazon EC2 인스턴스에서 인스턴스를 시작한 후 즉시 프로세스를 시작하려고 합니다.

SSH 연결이 bash 프로세스를 시작하지만 Amazon EC2 인스턴스에서 인스턴스를 시작한 후 즉시 프로세스를 시작하려고 합니다.

AWS에서 내 인스턴스의 AMI를 생성하고 나와 똑같은 구성을 사용하여 서버를 시작하려는 팀원과 공유했습니다. 또한 백그라운드에서 tmux를 시작하고 Python 스크립트를 트리거하는 bash 스크립트를 작성했습니다. 그러나 팀원이 인스턴스를 시작하면 필요한 구성을 통해 그의 서버에 액세스할 수 있습니다. 그러나 bash 스크립트는 새로 빌드된 인스턴스에 대해 ssh를 수행하지 않는 한 실행되지 않습니다. 이 접근 방식에 어떤 문제가 있는지 알 수 있나요? 어떤 제안이나 답변이라도 주시면 감사하겠습니다. 티아

답변1

AMI를 생성하기 전에 Crontab에서 bash 스크립트를 정의할 수 있습니다. 따라서 새 이미지가 생성되고 열릴 때 Crontab bash 스크립트가 실행됩니다. crontab 파일에 다음 매개변수를 추가할 수 있습니다.

nano /etc/crontab

맨 윗줄에 다음 줄을 추가합니다.

PATH=/bin:/usr/local/bin

결론적으로 다음을 추가할 수 있습니다.

@reboot /dir/to/your-script.sh >> /home/user/logs/crontab.log 2> & 1

맨 윗줄은 다음과 같습니다: PATH=/bin:/usr/local/bin

마지막 줄에 다음을 추가할 수 있습니다: @reboot /dir/to/your-script.sh >> /home/user/logs/crontab.log 2> & 1

">>" 기호를 사용하면 crontab 작업 결과를 시스템의 기본 이메일 대신 관련 디렉터리의 .log 파일로 보낼 수 있습니다.

관련 정보