-
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