世の中systemdなので無用の長物になりそうですがメモ。
公式に記載がある通りです。
Ubuntuだと14.10以降は override が利用できるようですが、 CentOS6 や Amazon Linux の場合、 提供されている upstart のバージョンが古く、 override は利用できないようです。
公式
With Upstart 0.6.7, to stop Upstart automatically starting a job, you can either:
- Rename the job configuration file such that it does not end with ".conf".
- Edit the job configuration file and comment out the "start on" stanza using a leading '#'.
version 1.3 以上では、override ファイルが利用可能
With Upstart 1.3, you can make use of an "override file" and the manual stanza to achieve the same result in a simpler manner [31]:
# echo "manual" >> /etc/init/myjob.override
Note that you could achieve the same effect by doing this:
# echo "manual" >> /etc/init/myjob.conf
公式の Override の説明リンクが切れてますが、 アーカイブがありました。 upstart.at が既に無いようです。
検証
Amazon Linux の ssm-agent が upstart での起動なので、そちらで検証してみます。
- 環境
$ grep PRETTY_NAME /etc/os-release PRETTY_NAME="Amazon Linux AMI 2018.03" $ initctl --version initctl (upstart 0.6.5)
a) リネーム
効きました。
$ ls -l /etc/init/amazon-ssm-agent.* -rw-r--r-- 1 root root 760 8月 3 2018 /etc/init/amazon-ssm-agent.conf_
b) コメントアウト
効きました。
$ diff /etc/init/amazon-ssm-agent.conf.org /etc/init/amazon-ssm-agent.conf 17c17 < start on (runlevel [345] and started network) --- > #start on (runlevel [345] and started network) $
c) overrideファイルへ "manual"
効きません。
$ ls -l /etc/init/amazon-ssm-agent.* -rw-r--r-- 1 root root 760 8月 3 2018 /etc/init/amazon-ssm-agent.conf -rw-r--r-- 1 root root 7 3月 15 01:10 /etc/init/amazon-ssm-agent.override $ sudo cat /etc/init/amazon-ssm-agent.override manual $
- reboot 後
$ uptime 01:11:17 up 0 min, 1 user, load average: 0.08, 0.02, 0.01 $ ps -ef | grep [s]sm-agent root 2266 1 0 01:11 ? 00:00:00 /usr/bin/amazon-ssm-agent $
d) confファイルへ "manual"
効きました。
$ diff /etc/init/amazon-ssm-agent.conf.org /etc/init/amazon-ssm-agent.conf 22a23 > manual $