FreeBSD 9を使用していますが、イーサネットケーブルが接続されているかどうかをチェックし、接続されている場合はそれに接続するスクリプトを作成したいと考えています。マシンが起動するたび、またはログインするたびに実行されるように設定したいと思います。UNIXブック(かなり古く、一般的なUNIX用であり、特にFreeBSDではありません)を見たところ、 crontabですが、起動時にではなく、特定の時間に実行するためにのみ実行できます。誰かが私にこれをどうやって得ることができるか教えてもらえますか?
FreeBSDのcron
は@reboot
時間ディレクティブを理解するので、起動時に実際にcron
でスクリプトを実行できます。通常の5つの時間フィールドの代わりに、crontab
エントリは次のようになります。
@reboot /path/to/script
ログイン時にチェックも実行する場合は、ログイン時にシェルが実行するファイルにスクリプトへの呼び出しを追加します。これは、シェルによっては、~/.login
、~/.bash_login
などになる場合があります。 。
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 を参照してください。
起動スクリプトの別の解決策は/etc/rc.local
。