종료 시 실행할 스크립트

종료 시 실행할 스크립트

rc.local시작하는 동안 마지막으로 실행하고 종료하는 동안 먼저 실행하는 것과 동일한 것을 만들려고 합니다 .

/etc/init.d/rc.local기본적 으로 기본 템플릿을 복사/붙여넣고 제목을 다음과 같이 업데이트했습니다.

#! /bin/sh
### BEGIN INIT INFO
# Provides:          rc.shutdown
# Required-Start:
# Required-Stop:     $all
# Default-Start:
# Default-Stop:      0
# Short-Description: Executes rc.shutdown if exists
# Description:
### END INIT INFO

그러나 내가 달릴 때 update-rc.d rc.shutdown enable나는 얻는다.

update-rc.d: 오류: rc.shutdown 기본 시작에는 런레벨이 포함되어 있지 않으며 중단됩니다.

이는 종료 스크립트이므로 기본 시작이 없습니다. 흥미롭게도 파일의 /etc/init.d/halt헤더는 동일하지만 문제는 없는 것 같습니다.

데비안 8.1을 사용하고 있습니다

답변1

8.1을 사용하고 있다는 점을 고려하면 systemd를 사용하여 원하는 것을 얻을 수 있습니다(이것이 허용되는지 확실하지 않지만 작업이 완료될 것입니다).

다음은 종료 시 원하는 모든 작업을 수행하고 일반적인 종료 작업을 수행하는 유닛 파일의 예입니다.

[Unit]
Description=Run first at shutdown
DefaultDependencies=no
Before=shutdown.target halt.target


[Service]
ExecStart=/usr/local/bin/runme
Type=oneshot

이 파일을 넣고 /etc/systemd/system/runme.service를 사용하여 활성화 할 수 있습니다 systemctl enable /etc/systemd/system/runme.service. 그런 다음 종료하거나 중지하기 전에 자동으로 실행됩니다.

관련 정보