CentOSの起動時にバックグラウンドでシェルスクリプトを実行する方法は? [コピー]

CentOSの起動時にバックグラウンドでシェルスクリプトを実行する方法は? [コピー]

次のループを含むシェルスクリプトがあります。

while true
do
  if ... ; then
    ...
  else
    ...
    break
  fi
done

OSの起動時にこのスクリプトにバックエンドを実行させたいと思います。このスクリプトを起動スクリプトとして/etc/rc.d/local.rcに追加してみました。ただし、オペレーティングシステムの起動時間が長すぎます。オペレーティングシステムが起動した後、このスクリプトはもう存在しません。

それでは、OSの起動時にこのスクリプトをバックエンドに追加するにはどうすればよいですか?バックエンドでもこのスクリプトを手動で起動する必要があります。ありがとうございます〜

ベストアンサー1

起動時にスクリプトを実行するには、次から始める必要があります。

/etc/cron.d/myrebootscript

内容がある

@reboot <user> <command>

例:

@reboot joe /usr/local/bin/myscript

スクリプトは、起動中に予測できない時間に実行されます。たとえば、スクリプトがネットワークが表示されるのを待つ必要がある場合は、ループを追加する必要があります/usr/local/bin/myscript

#! /bin/bash
# wait for 10.1.2.3 is pong'ing
while ! ping -c1 -W1 10.1.2.3 > /dev/null ; do
  sleep 1
done
do_my_command_here

/etc/rc.local今は廃止されました。

おすすめ記事