ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ubuntu 자동실행 스크립트 만들기
    Infra 2023. 5. 1. 15:41

    1. 실행하려는 스크립트를 작성하십시오. 예를 들어, /home/user/myscript.sh 경로에 다음과 같은 스크립트 파일을 만들어보겠습니다.

    #!/bin/bash
    echo "Hello, world!"

    2. 이 스크립트가 실행 가능하도록 하십시오. chmod +x /home/user/myscript.sh 명령어를 입력하여 스크립트에 실행 권한을 부여합니다.

    3. systemd 서비스 파일을 생성합니다. /etc/systemd/system 디렉토리에 새 파일을 만들어야 합니다. 예를 들어, /etc/systemd/system/myscript.service 경로에 다음과 같은 내용의 파일을 만듭니다.

    [Unit]
    Description=My Script
    After=network.target
    
    [Service]
    ExecStart=/home/user/myscript.sh
    Restart=always
    User=root
    
    [Install]
    WantedBy=multi-user.target
    • Description : 서비스에 대한 설명을 입력합니다.
    • After : 서비스가 시작될 때 어떤 서비스가 먼저 시작되어야 하는지 지정합니다. 이 경우, 네트워크가 연결된 후 시작되도록 지정합니다.
    • ExecStart : 실행할 스크립트의 경로를 지정합니다.
    • Restart : 서비스가 실패하거나 중지되면 다시 시작하도록 지정합니다.
    • User : 스크립트를 실행할 사용자를 지정합니다.
    • WantedBy : 서비스를 자동 시작하도록 지정합니다.

     

    4. systemctl 명령어를 사용하여 서비스를 등록하고 활성화합니다.

    sudo systemctl enable myscript.service

    5. 이제 시스템을 다시 시작하면 myscript.sh 스크립트가 자동으로 실행됩니다. journalctl -u myscript.service 명령어를 사용하여 로그를 확인할 수 있습니다.

     

    6. 혹시 root 권한으로 service를 시작하기 원하지만 실제 script를 user로 실행하기 원한다면 아래와 같이 스크립트를 작성하면 됩니다.

    #!/bin/bash
    su - user -c 'echo "Hello, world!"'

     

    'Infra' 카테고리의 다른 글

    Jenkins build 강제종료 방법  (0) 2023.05.28
    Cassandra Cluster 3.x Installation  (0) 2023.04.22
Designed by Tistory.