一部の Linux (Centos &RH など) では、/etc/rc.local
最初は /etc/rc.d/rc.local
への単なるシンボリックリンクです .これらのシステムで、シンボリック リンクが壊れている場合、/etc/rc.local
別のファイルで、/etc/rc.local
に変更されます 起動時に表示されません -- 起動プロセスは /etc/rc.d
のバージョンを実行します . (/etc/rc.local
を実行すると動作します) 手動で実行しますが、起動時には実行されません)
ディマディマのシステムのように聞こえますが、それらは別々のファイルですが、 /etc/rc.d/rc.local
/etc/rc.local
を呼び出します
/etc/rc.local
からのシンボリック リンク /etc/rc.d
の「本当の」ものに rc.local
移動すると迷子になる可能性があります /etc
の元のディレクトリを認識せずに、バックアップ ディレクトリにコピーして戻すか、ゼロから作成します。 は単なるシンボリック リンクでした。
この rc.local スクリプトの例では、実行の最初の行で自分のログ ファイルへの io リダイレクトを使用しています。
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exec 1>/tmp/rc.local.log 2>&1 # send stdout and stderr from rc.local to a log file
set -x # tell sh to display commands before execution
/opt/stuff/somefancy.error.script.sh
exit 0
Ubuntu では、2 つのファイルがあることに気付きました。本物は /etc/init.d/rc.local
です;他の /etc/rc.local
のようです 偽物ですか?
正しいものを修正したら (/etc/init.d/rc.local
) 期待どおりに実行されました。
最終的に成り上がりましたが、うまくいきました。