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


10

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

回答:


11

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

@reboot /path/to/script

これは可能性があり、自分の殻に応じて、 -あなたはまた、ログイン時にファイルにシェルの実行をスクリプトへの呼び出しを追加し、あなたは、ログインチェックを実行したい場合は~/.login~/.bash_loginなど


4

FreeBSD 11 for ARMv6(Raspberry Pi)では@reboot、rootユーザーでcrontab ディレクティブを機能させることができず、「スクリプトを/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を参照してください。


3

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


1
しかしman rc、「一般的に、/usr/local/etc/rc.d/メカニズムではなく、rc.localに、これらの日の使用されている指示しますが、あなたはrc.localを使用したい場合は、それはまだサポートされています。この場合は、ソースすべき/ etc / rc.confには、システム用の追加のカスタム起動コードが含まれています。rc.localを処理する最善の方法は、それをrc.d /スタイルのスクリプトに分離して、/ usr / local / etc / rcの下に配置することです。 .d /。」
zezollo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.