GNU/Linux >> Linux の 問題 >  >> Linux

rc.local でスクリプトを実行します:スクリプトは機能しますが、起動時には機能しません

一部の 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 ) 期待どおりに実行されました。


最終的に成り上がりましたが、うまくいきました。


Linux
  1. utorrent起動スクリプト/起動時にutorrentを実行– Ubuntu 14.04 / 14.10

  2. Linux – Kali Linuxはインストールされていますが、ブートマネージャーに表示されませんか?

  3. スクリプトは実行可能であるが読み取り可能ではありませんか?

  1. Bashscriptはターミナルからは機能しますが、Crontabからは機能しませんか?

  2. Init.dスクリプトが起動時に実行されていませんか?

  3. BashスクリプトのRmコマンドは変数では機能しませんか?

  1. ユーザーとして引数を使用してスクリプトを実行しますか?

  2. -i オプションを指定した sed コマンドは Mac では失敗するが、Linux では機能する

  3. Wget で保存せずにファイルを要求するにはどうすればよいですか?