RHEL 7을 다시 시작하기 전에 데이터베이스 종료 스크립트를 실행해야 합니다.

RHEL 7을 다시 시작하기 전에 데이터베이스 종료 스크립트를 실행해야 합니다.

systemd를 사용하여 스크립트를 실행하려고 합니다. 아래는 제가 사용하고 있는 서비스 정의이지만 재부팅할 때까지 스크립트가 실행되지 않습니다.

[Unit]
Description=Before Shutting Down
Before=reboot.target
RequiresMountsFor=/home

[Service]
Type=oneshot
User=oracle
ExecStart=/home/oracle/scripts/stop_db.sh
RemainAfterExit=yes

[Install]
WantedBy=reboot.target

행운이 있나요? 여러 제안 솔루션을 시도했지만 운이 없었습니다.

서비스 상태:

● dbstop.service - Before Shutting Down
   Loaded: loaded (/etc/systemd/system/dbstop.service; enabled; vendor preset: disabled)
   Active: inactive (dead)

답변1

데이터베이스를 서비스로 시작 및 중지하고 systemd가 나머지 작업을 수행하도록 하는 것은 어떨까요?

[Unit]
Description=myDB
After=network-online.target nss-lookup.target
Wants=network-online.target nss-lookup.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/home/oracle/scripts/start_db.sh
ExecStop=/home/oracle/scripts/stop_db.sh

[Install]
WantedBy=multi-user.targetYM

관련 정보