web-dev-qa-db-ja.com

FreeBSDで起動時に実行するスクリプトを設定するにはどうすればよいですか?

FreeBSD 9を使用していますが、イーサネットケーブルが接続されているかどうかをチェックし、接続されている場合はそれに接続するスクリプトを作成したいと考えています。マシンが起動するたび、またはログインするたびに実行されるように設定したいと思います。UNIXブック(かなり古く、一般的なUNIX用であり、特にFreeBSDではありません)を見たところ、 crontabですが、起動時にではなく、特定の時間に実行するためにのみ実行できます。誰かが私にこれをどうやって得ることができるか教えてもらえますか?

10
user23809

FreeBSDのcron@reboot時間ディレクティブを理解するので、起動時に実際にcronでスクリプトを実行できます。通常の5つの時間フィールドの代わりに、crontabエントリは次のようになります。

@reboot /path/to/script

ログイン時にチェックも実行する場合は、ログイン時にシェルが実行するファイルにスクリプトへの呼び出しを追加します。これは、シェルによっては、~/.login~/.bash_loginなどになる場合があります。 。

11
D_Bye

FreeBSD 11 for ARMv6(Raspberry Pi)では、rootユーザーでcrontab @rebootディレクティブを機能させることができず、「/etc/rc.localファイルにスクリプトを追加する」メソッドは、 /usr/local/etc/rc.d/にあるスクリプトを自動的に実行するメカニズム。

言い換えると、FreeBSD 11(または10?)以降の起動時にスクリプトを実行するには、。sh拡張子を持つ実行可能シェルスクリプトを配置します起動時に実行させるには、このフォルダー内:

/usr/local/etc/rc.d/

rc.dフォルダが存在しない場合は、作成する必要がある場合があります。

詳細は http://www.defcon1.org/html/rc-local.html を参照してください。

4
Steve HHH

起動スクリプトの別の解決策は/etc/rc.local

3
arved