SMALL
📌 rc.local 활성화가 필요한 이유
- 부팅 시 자동 실행
- rc.local은 서버 부팅 시 특정 스크립트를 자동으로 실행하는 전통적인 방식입니다.
- CentOS 6까지는 기본적으로 활성화되어 있었지만, CentOS 7부터는 기본적으로 비활성화되었습니다.
- 이를 다시 활성화하면, 서버 부팅 시 특정 명령어 또는 스크립트를 자동 실행할 수 있습니다.
- 간편한 관리
- 특정 작업을 실행하기 위해 복잡한 systemd 서비스를 만들 필요 없이 간단하게 스크립트 추가 가능
- 예를 들어, 서버 부팅 시 특정 서비스 시작, 네트워크 설정 적용, 마운트 자동 수행 등의 작업을 rc.local에 추가할 수 있음
- 백그라운드 프로세스 실행 가능
- nohup이나 & 기호를 사용하여 백그라운드에서 실행해야 하는 작업을 쉽게 실행 가능
🛠️ rc.local 활성화 및 설정 방법
✅ 1. rc.local 파일 확인 및 권한 부여
chmod +x /etc/rc.d/rc.local ls -l /etc/rc.local
- 실행 권한(+x)을 추가하여 rc.local 파일이 실행될 수 있도록 설정
- ls -l 명령어로 심볼릭 링크(/etc/rc.local -> rc.d/rc.local) 확인
✅ 2. rc.local 서비스 활성화
1️⃣ systemd 서비스 설정 수정
vi /usr/lib/systemd/system/rc-local.service
맨 아래줄에 다음 줄을 추가:
[Install]
WantedBy=multi-user.target
- multi-user.target은 기본적인 시스템 런레벨 3(네트워크 포함 터미널 모드)에서 rc.local을 실행하도록 지정하는 설정
✅ 3. systemd 데몬 재시작
systemctl daemon-reload
- systemd 설정 변경을 반영하기 위해 데몬을 다시 로드
✅ 4. rc.local 서비스 실행 및 자동 시작 설정
systemctl start rc-local.service systemctl enable rc-local.service
- start: 현재 세션에서 rc.local을 실행
- enable: 시스템 재부팅 시 rc.local 서비스가 자동으로 실행되도록 설정
✅ 5. rc.local 서비스 상태 확인
systemctl status rc-local.service
- active (running) 상태인지 확인
- 오류 발생 시 journalctl -xe로 로그 확인 가능
✅ rc.local을 활용한 예제 (부팅 시 자동 실행)
1️⃣ 특정 서비스 자동 실행
echo "systemctl restart nginx" >> /etc/rc.local
- 서버 부팅 후 nginx 서비스 자동 재시작
2️⃣ 네트워크 설정 적용
echo "ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up" >> /etc/rc.local
- 부팅 시 특정 네트워크 설정 적용
3️⃣ 특정 프로그램 실행
echo "/usr/local/bin/my_script.sh &" >> /etc/rc.local
- 백그라운드에서 my_script.sh 실행
📌 최종 정리
단계명령어설명
1️⃣ rc.local 실행 권한 부여 | chmod +x /etc/rc.d/rc.local | 실행 가능하도록 변경 |
2️⃣ systemd 설정 수정 | vi /usr/lib/systemd/system/rc-local.service | WantedBy=multi-user.target 추가 |
3️⃣ 데몬 재시작 | systemctl daemon-reload | systemd 설정 반영 |
4️⃣ rc.local 서비스 실행 | systemctl start rc-local.service | 현재 실행 |
5️⃣ 자동 실행 설정 | systemctl enable rc-local.service | 부팅 시 자동 실행 |
6️⃣ 서비스 상태 확인 | systemctl status rc-local.service | 활성화 여부 확인 |
📌 rc.local 파일 수정 설정
[root@jgshindb ~]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
touch /var/lock/subsys/local
[root@jgshindb ~]# chmod +x /etc/rc.d/rc.local
[root@jgshindb ~]# vi /usr/lib/systemd/system/rc-local.service
✅ rc.local 설정이 필요한 이유
- 부팅 시 특정 명령 자동 실행 가능
- 서비스 재시작, 네트워크 설정, 특정 프로세스 실행 등에 유용
- 복잡한 systemd 서비스 생성 없이 간단하게 사용 가능
- 기존의 CentOS 6 환경과 호환 유지 가능
✅ rc.local 활성화 및 자동 실행이 필요하면 위의 절차를 따르세요! 🚀
LIST
'IT > 리눅스' 카테고리의 다른 글
리눅스 PCS(Pacemaker) H/A 구축 가이드 - 1 (0) | 2025.02.17 |
---|---|
리눅스 DSR (Direct Server Return) 설정 방법 (0) | 2025.02.15 |
리눅스 tcpdump 효율적인 사용법 및 추가 설명 (0) | 2025.02.15 |
리눅스 반복 명령어 실행 (while true 반복문) (0) | 2025.02.15 |
리눅스 내부망 프록시 서버 설정 방법 (0) | 2025.02.15 |