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
. 그런 다음 종료하거나 중지하기 전에 자동으로 실행됩니다.