起動時にスクリプトを起動する必要があります。 /etc/init.d および /etc/profile.d 以下のスクリプトは、システムの起動時に取得されるという内容を読みました。これらのディレクトリの違いは何ですか?
上記の2つの方法に加えて、@reboot /path/toスクリプトなどのエントリを使用してサービスを開始するようにcronを設定することもできます。
システム起動時にスクリプトを実行する正確で効率的な方法を提案します。
答え1
/etc/profile.d
PATH
通常、デーモンの起動と独立してシェルセッション環境(設定など)をカスタマイズするベンダー固有の方法です。一部の人々は、デーモンの始まりが絶対に含まれてはなら/etc/profile.d
ないと主張する人もいます。無効な設定(タイムゾーン、ロケールなど)でロードまたはロードします。
/etc/init.d
Linux で実装された SystemV init システムの一部です(逆に、Digital UNIX ではこれを に入れます/sbin/init.d
)。デーモンプログラムを起動するには、適切なinitスクリプト(これを正しく実行する方法を学ぶために既存のスクリプトを学んでください)を作成できます。これはRHEL6とRHEL7と互換性があります。
cron ジョブは@reboot
デーモンを起動できますが、systemd
RHEL7 は cron の実行後に忘れてしまうよりも優れた管理機能を提供します (デーモンがクラッシュした場合はどうなりますか? 自動的に再起動する必要がありますか? 複数のインスタンスを起動するとどうなりますか?そうではない場合、1つのインスタンスのみを起動するにはどのようなロックが必要ですか?