상세 컨텐츠

본문 제목

[AWS]EC2 리부팅 자동실행

coding/AWS

by golduny_zoo 2021. 4. 30. 01:18

본문

728x90

1. 시스템을 관리하는 init.d디렉토리로 이동

$ cd /etc/init.d

 

2. 쉘스크립트 생성

파일명은 아무거나 상관없음

$ sudo vi (파일명)

 

  •   쉘 스크립트 작성

코드 설명 : 콘다의 가상환경으로 들어가  streamlit app실행을 시키기 위한 목적

#! /bin/sh
### BEGIN INIT INFO
# Provides:          Block
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: 
### END INIT INFO


__conda_setup="$('/home/ubuntu/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"

if [ $? -eq 0 ]; then
        eval "$__conda_setup"
else
        if [ -f "/home/ubuntu/anaconda3/etc/profile.d/conda.sh" ]; then
                        . "/home/ubuntu/anaconda3/etc/profile.d/conda.sh"
        else
                export PATH="/home/ubuntu/anaconda3/bin:$PATH"
        fi
fi
unset __conda_setup

# streamlit 환경 변경
conda activate streamlit

# 위치 잡기 
cd /home/ubuntu/streamlit-car-price-app

# 백그라운드로 실행 시키기 위해 nohup &를 실행 문구에 첨가함
nohup /home/ubuntu/.conda/envs/streamlit/bin/streamlit run (실행시킬 앱의 주소) &

 

3.  권한 변경

작성한 쉘스크립트의 실행권한을 넘겨줌

$ sudo chmod +x (파일명)

 

4. 자동 실행 등록

  • 쉘 스크립트를 기본 값으로 변경하여 리부팅시 자동실행되도록 설정한다. 
$ sudo update-rc.d (파일명) defaults
  • 동작할 수 있게 enable
$ sudo update-rc.d (파일명) enable

 

더보기

만약 두번째 시도를 하는 경우 먼저했던 파일을 제거 하고 싶을땐

$ sudo update-rc.d -f (파일명) remove

5. 재부팅하면 자동실행이 되어 있다.

$ ps -ef | grep (실행코드)

백그라운드에서 실행시킨 코드 

더보기

실행 중단을 원할 경우 

$ kill -9 (PID)

'coding > AWS' 카테고리의 다른 글

[AWS] EC2 FTP통신 filezilla  (0) 2021.04.28
AWS Python 와 S3 연동(boto3)  (0) 2021.04.15
AWS IAM 사용자 생성  (0) 2021.04.15
AWS Python을 이용한 S3 버킷 만들기(boto3)  (0) 2021.04.15
AWS EC2 conda가상환경  (0) 2021.03.29

관련글 더보기