説明
オン は、指定されたイベントがトリガーされると、コマンドを実行します。これは、サーバーの起動時にスクリプトを実行するかバックグラウンドプロセスを開始してサイトのサービス提供の準備をしたり、サーバーが終了するときにサイトのサービスを停止したりするのに役立ちます。
実行される各コマンドはブロックされますが、コマンドにスペースと & を追加することで、コマンドがバックグラウンドで実行されます。(サーバーが終了する場合はこれを行わないでください。コマンドは親プロセスが終了する前に終了しない可能性があります)。コマンドの出力とエラーは、それぞれ標準出力と標準エラーに送られます。標準入力はありません。
コマンドはCorefile に表示されるたびに一度しか実行されません。つまり、このディレクティブが複数のゾーンによって共有されている場合でも、コマンドは Corefile内での出現ごとに一度だけ実行されます。
再起動などの理由により、CoreDNSが強制終了された場合、シャットダウンイベントで実行されるように予定されたコマンドは実行されません。However、Ctrl+Cコマンドを実行すると、通常シャットダウンコマンドを実行できます。
構文
on EVENT COMMAND
イベントは、コマンドを実行するイベントの名前です。コマンドは実行するコマンドです。引数をつけることができます。
イベント
次のイベントでコマンドを実行できます。
startup
- サーバーインスタンスが開始中か起動中shutdown
- サーバーインスタンスがシャットダウン中(再起動しない)
例
サーバーがリッスンを開始する前にphp-fpmを起動します。
on startup /etc/init.d/php-fpm start
サーバーが終了するとphp-fpmを停止します。
on shutdown /etc/init.d/php-fpm stop
Windowsでは、コマンドパスにスペースが含まれている場合、引用符を使用する必要があります。
on startup "\"C:\Program Files\PHP\v7.0\php-cgi.exe\" -b 127.0.0.1:9123" &