'systemctl'에 해당하는 글 2건

 

부제: Tomcat multiple instances 자동 실행

 

작성해 놓은 스크립트를 부팅시 실행시키려면 rc.local 파일을 이용하면 된다. 하지만 rc.local 의 기본값은 부팅시 실행되지 않는다. rc.local 파일이 부팅시 실행되도록 먼저 설정하고, 원래 부팅시 실행하려던 스크립트들을 rc.lcoal 파일에 추가하도록 한다.

 

 

1. rc.local 파일 실행 권한 설정

 

 

# chmod +x /etc/rc.d/rc.local

 

 

2. runlevel3 환경이 셋업될 때 rc.local 이 실행되도록 스크립트 추가

 

# vi /usr/lib/systemd/system/rc-local.service

[Install]
WantedBy=multi-user.target

 

 

3. 부팅시 서비스 자동 실행 설정

 

# systemctl enable rc-local.service

 

 

4. rc.local 파일로 실행할 스크립트 추가

 

su - tomcat /app/tomcat/instance1/start.sh
su - tomcat /app/tomcat/instance2/start.sh
su - tomcat /app/tomcat/instance3/start.sh

 

 

5. 재부팅 후 자동 실행된 데몬들 확인

 

# shutdown -r now

 

$ ps -ef | grep tomcat

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,

systemctl 는 RHEL 7 에 도입된 systemd 를 관리/제어하는 명령어이다. /usr/lib/systemd/system/ 디렉토리에 .service 파일을 만들어 서비스를 추가할 수 있다. Oracle 구동에 필요한 lsnrctl 과 dbstart 역시 직관적으로 사용할 수도 있지만 부팅시 자동실행을 위해 서비스에 등록해 본다.

 

  • /usr/lib/systemd/system/oracle_listener.service
  • /usr/lib/systemd/system/oracle_instance.service

 

 

1. listener 서비스 작성

 

# vi /usr/lib/systemd/system/oracle_listener.service

[Unit]
Description=oracle listener
After=network.target

[Service]
Type=forking
User=oracle
Group=dba
Environment=ORACLE_BASE=/app/oracle
Environment=ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
Environment=ORACLE_SID=orcl
ExecStart=/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start
ExecStop=/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl stop

[Install]
WantedBy=multi-user.target

 

 

2. instance 서비스 작성

 

# vi /usr/lib/systemd/system/oracle_instance.service

[Unit]
Description=oracle instance
After=network.target syslog.target

[Service]
Type=forking
User=oracle
Group=dba
Environment=ORACLE_BASE=/app/oracle
Environment=ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
Environment=ORACLE_SID=orcl
ExecStart=/app/oracle/product/11.2.0/dbhome_1/bin/dbstart ORACLE_HOME
ExecStop=/app/oracle/product/11.2.0/dbhome_1/bin/dbshut ORACLE_HOME

[Install]
WantedBy=multi-user.target

 

 

3. systemd 에 등록 후 자동실행 설정

 

# systemctl daemon-reload
# systemctl enable oracle_listener.service
# systemctl enable oracle_instance.service

 

 

4. /etc/oratab 수정

 

orcl:/app/oracle/product/11.2.0/dbhome_1:Y

 

부팅시 dbstart 유틸리티를 사용하도록 설정(Y)

 

 

5. 재부팅 후 프로세스 확인

 

 

 


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,