起動時に実行されるスクリプトがあり、ログファイルにエラーが表示されます。手動で実行すると正常に実行されます。環境が変更された可能性があります。
再起動せずに起動時にこのようなスクリプトを実行する方法はありますか?
スクリプトは/etc/init.d
シンボリックリンクと共に配置されます/etc/rc5.d/S97mounter.sh
。
ベストアンサー1
ルートとして実行できます
env - scriptname
これにより、スクリプトを実行する前に環境が消去されますが、環境を消去してshell
シェルを次に設定するにはsh
。
env -i /bin/sh -c scriptname
これはスクリプトを実行するために使用されます/bin/sh
。ただし、この時点で実行されない可能性がある他のサービスは考慮されていないため、ブート環境を完全にシミュレートしません。
crontab環境シミュレーションに関する同様の質問を見つけ、非常に便利なソリューションを公開しました。ええと。
これにより、スクリプトで実行してホストを再起動し、環境ファイルを使用して環境をロードできます。
起動スクリプトの一部:
env > /var/tmp/bootenv
その後、通常の操作中に同じブート環境を設定するには、次の手順を実行します。
env - `cat /var/tmp/bootenv` /bin/sh -c scriptname