본문 바로가기
LINUX

우분투 부팅시 자동실행 시키기

by Rainbound-IT 2022. 9. 6.
반응형

목차

     

    vm에 elasticsearch를 설치하여 운영해보는데

     

    종료할때마다 ssh와 ES를 다시 실행시켜줘야해서 귀찮았다. 

     

    그래서 자동실행을 한번 해보자

     

    1. 자동실행할 sh 파일 만들기

    먼저 /etc/init.d 에 들어가자

     

    거기서 원하는 sh파일을 생성한다. 

    나의 경우는 autostart.sh 로 생성하였다.

     

    vi /etc/init.d/autostart.sh

     

     

    2. 스크립트 작성

     

    #!/bin/bash
    
    nohup systemctl start ssh &
    
    sh /home/ubuntu/start-node-1.sh

     

    처음에 무조건 #!/bin/bash를 붙여 줘야한다.

     

    그리고  작성하면되는데

    백그라운드에서 실행하려면 nohup을 붙여주고 실행한다. 

     

    그리고 sh파일을 실행하려면 sh 를 붙여 줘야한다.

     

    스크립트 관련하여 더 알고싶으면

    아래 사이트 참조

    https://mywiki.wooledge.org/BashGuide

     

    BashGuide - Greg's Wiki

    Commands and Arguments -> Introduction You are invited to make additions or modifications so long as you can keep them accurate. Please test any code samples you write. All the information here is presented without any warranty or guarantee of accuracy. Us

    mywiki.wooledge.org

     

    3. 작성한 스크립트 적용

     

    sudo chmod 755 /etc/init.d/autostart.sh

    작성한 스크립트를 실행할수 있는 권한으로 변경해준다.

     

    그리고 부팅시 스크립트 실행하도록 rc.d에 등록해준다.

     

    update-rc.d autostart.sh defaults

     

    update-rc.d에 대해 아래 사이트에 설명되어 있다.

    https://wiki.debianusers.or.kr/index.php?title=Update-rc.d 

     

    Update-rc.d - 한국 데비안 사용자 모임

    이 프로그램은 시스템의 부팅과 종료에 관여하는 스크립트 관리기이다. 이 문서에서는 레드햇과의 차이점에 대해 다루지 않으므로 다른 서적이나 문서를 참조하기 바란다. 데비안에서는 기본

    wiki.debianusers.or.kr

     

     

    안될경우 profile 수정

    위와 같이 했는데 안됨.. 

    update-rc.d 가 /etc/rc번호 디렉토리에 소프트링크로 파일 생성하여 실행시키는데

    다뒤져봐도 생성을 안함 

    sudo로 해도 안되고 원인은.. 질문을 해보기로하고

    계정별로 자동실행될수 있도록 설정을 해보자

     

     

    vi ~/.profile

    이파일 끝에 원하는 스크립트를 작성하면 됩니다.

    권한은 해당 유저의 권한이라 루트권한이 필요할경우 시작시 비밀번호를 물어봅니다.

     

     

     

    반응형

    댓글