728x90
Amazon Linux 2에서 rc-local(rc.local) 서비스를 활성화하는 방법
rc-local 서비스 상태 확인
$ systemctl status rc-local.service
● rc-local.service - /etc/rc.d/rc.local Compatibility
Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static; vendor preset: disabled)
Active: inactive (dead)
rc-local.service(/lib/systemd/system/rc-local.service) 파일 확인
- 이 스크립트가 부팅 중에 실행되도록 하려면 'chmod +x /etc/rc.d/rc.local'을 실행해야 합니다.
cat /lib/systemd/system/rc-local.service
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.d/rc.local is executable.
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
1. rc-local.service(/lib/systemd/system/rc-local.service) 파일 편집
- [Install]
- WantedBy=multi-user.target
sudo vim /lib/systemd/system/rc-local.service
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.d/rc.local is executable.
[Unit]
Description=/etc/rc.d/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.d/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.d/rc.local start
TimeoutSec=0
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
728x90
2. rc-local 스크립트 생성
sudo vim /etc/rc.d/rc.local
rc.local 스크립트 내부에 원하는 명령어를 추가합니다.
#!/bin/bash
echo "Hello, this is rc.local script" > /var/log/rc.local.log
3. rc.local(/etc/rc.d/rc.local) 실행 권한 부여
sudo chmod +x /etc/rc.d/rc.local
4. rc-local 서비스 활성화 및 시작
systemctl --now enable rc-local.service
5. rc-local 서비스 상태 확인
sudo systemctl status rc-local.service
$ sudo systemctl status rc-local.service
● rc-local.service - /etc/rc.d/rc.local Compatibility
Loaded: loaded (/usr/lib/systemd/system/rc-local.service; enabled; vendor preset: disabled)
Active: active (exited) since Sat 2021-10-30 23:07:17 KST; 1min 15s ago
Process: 4250 ExecStart=/etc/rc.d/rc.local start (code=exited, status=0/SUCCESS)
Oct 30 23:07:17 vamocha-01 systemd[1]: Starting /etc/rc.d/rc.local Compatibility...
Oct 30 23:07:17 vamocha-01 systemd[1]: Started /etc/rc.d/rc.local Compatibility.
6. 로그 확인
rc.local 스크립트의 출력 또는 로그는 /var/log/rc.local.log 또는 다른 지정한 파일에 저장될 것입니다. 필요한 경우 해당 로그 파일을 확인하여 스크립트의 실행 결과를 확인할 수 있습니다.
rc-local 스크립트는 시스템 부팅 시 자동으로 실행되는 사용자 정의 스크립트를 추가하는데 유용합니다. 하지만 주의할 점은 스크립트가 부팅 시간을 늘릴 수 있으며, 에러가 발생하면 부팅 프로세스를 중단할 수 있으므로 스크립트를 신중하게 작성하고 디버깅하는 것이 중요합니다.
728x90
'퍼블릭 클라우드' 카테고리의 다른 글
Amazon Linux 2에서 goofys 설치 및 S3 마운트하기 (0) | 2021.11.08 |
---|---|
AWS S3 버킷의 액세스를 IP 주소로 제한하는 방법 (0) | 2021.11.03 |
[aws] EC2 접속 시 슬랙으로 알림 보내기 (0) | 2021.10.30 |
[draft] Amazon EC2 인스턴스에 정적 호스트 이름을 할당하는 방법 (0) | 2021.10.30 |
AWS 리소스의 네이밍 규칙(태그 이름) (0) | 2021.10.30 |