/etc/init/start_swift.conf
以下を使用してファイルを作成する必要があります。
description "mount swift drives"
start on runlevel [234]
stop on runlevel [0156]
exec /opt/swift/bin/mount_devices
しかし、問題はinitディレクトリさえないということです。start_swift.conf
投資したのに/etc/init.d/
無駄ですね。 CentOS7でこれらの起動ファイルを作成する方法は?
答え1
この質問には2つの答えがあります。
CentOS 7 systemdでは、起動時にサービスまたはスクリプトを実行できます。次のように、.serviceファイルを/ etc / systemd / systemの下に配置します。
; /etc/systemd/system/swift.service
[Unit]
Description=Swift
[Service]
Type=notify
ExecStart=myscript
[Install]
; Runlevel here:
WantedBy=multi-user.target
ただし、スクリプトの意図に応じて、実際にsystemdを使用してデバイスを直接マウントできます。
(非rpmパッケージ)サービスの場合は、/etc/systemd/systemの下に ".mount"ファイルを配置できます(例:/etc/systemd/system/var-lib-docker.mount)。 systemdの自動マウントオプションを確認したい場合があります。参考資料をご覧ください。
ファイルをロードするには、以下を使用します。systemdデーモンの再ロード。
; /etc/systemd/system/var-lib-docker.mount
[Unit]
Description="Mount a volume"
Before=network.service
[Mount]
What=/dev/sdb1
Where=/var/lib/docker
;Options=
調整できる場所がたくさんあります。以下を参照してください。
引用する -https://www.freedesktop.org/software/systemd/man/systemd.service.html -https://www.freedesktop.org/software/systemd/man/systemd.mount.html -https://www.freedesktop.org/software/systemd/man/systemd.automount.html
答え2
CentosはUpstartではなくsystemdを使用します。 SystemdはSysV initスクリプトと逆互換です。 LSB 3.1によると、initスクリプトにはスクリプトの開始/停止が必要な時期と、スクリプトの開始/停止に必要な事項を定義する情報コメント規則が必要です。これを確認することをお勧めしますガイドそして、起動スクリプトをシステム単位で書き直します。